title: Shortcode do tego samego shortcode

text:
Pracuję nad motywem dla frameworka i używając shortcode do dzielenia układu, znalazłem następujący problem: Na treść mogę podzielić kontener na 12 różnych części, dotyczy to również treści wewnątrz treści ( i wtedy pojawia się problem), co oznacza, że dla próbki, jeśli zdecyduję się ustawić 8 i 4 kolumny, a następnie 8 kolumn chcę podzielić na 2 części, potrzebuję struktury takiej: [treść] [8 kolumny] [treść] <-- PROBLEM JEST TUTAJ [6 kolumn] połowa z ośmiu części 1. [/6 kolumn] [6 kolumn] połowa z ośmiu części 2. [/6 kolumn] [/treść] [/8 kolumn] [4 kolumny] trochę treści tutaj [/4 kolumny] [/content] Kiedy próbuję wykonać tę logikę, druga treść nie jest pobierana i jest wyświetlana jako tekst ... więc ... Myślałem, że shortcode to shortcode logika zadziała, jednak... nie działa działa, jeśli SC jest taki sam, w skrócie działa ten (mój kod) nie działa dla mnie. function content_sc($atts, $content = null){ return '
'.do_shortcode($content).'
'; } add_shortcode('treść', 'content_sc'); Jakieś zgadywanie??? Z góry dziękuję!!!


title: pętla wordpress dla określonej kategorii

text:
mam ten fragment dla określonej kategorii, działa idealnie, ale chcę trochę modyfikacji, aby wyświetlać posty w kolejności rosnącej. <?php // Zapytanie query_posts( array ( 'category_name' => 'A', 'posts_per_page' => -1 ) ); // Pętla while ( have_posts() ): the_post(); ?>
 <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?>
 <?php endwhile; // Zresetuj zapytanie wp_reset_query(); ?>


title: Pętla Wordpress: Wyświetl <div>, jeśli posty istnieją

text: W szablonie pojedynczego posta próbuję wyprowadzić jakiś tekst nagłówka w `<div>` i wyświetlić linki do powiązanych postów w `<ul>`, jeśli pokrewne posty istnieją (na podstawie tagów). Jeśli nie ma postów, nic nie powinno być wyświetlane. `$idspost[] = $post->ID` pobiera posty, które powinny zostać wyświetlone. Pętla jest jedną z serii pętli, a odzyskane identyfikatory postów są również przekazywane do następnej pętli, aby uniknąć pojawiania się zduplikowanych postów. Jak dotąd wszystko działa dobrze. Wysłałem echem identyfikatory do przetestowania, ale z moimi podstawowymi umiejętnościami nie zdaję sobie sprawy, jak wyświetlić `<div>,<ul>` i pobrać identyfikatory postów w standardowy sposób: <?php if (have_posts( )) : ?> <div> <?php while (have_posts()) : the_post(); ?> … //pobierz permalink, tytuł itp... <?php endwhile; ?> </div> <?php endif; ?> Pobierane są identyfikatory postów: <?php $tags = wp_get_post_tags($post->ID); if ($tags) { $second_tag = $tags[1]->term_id; $args=array( 'tag__in' => array($second_tag), 'post__not_in' => array($post->ID), 'showposts'=>5, //Wyświetl tę liczbę powiązanych postów 'ignore_sticky_posts'=> 1); $my_query = nowe WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $moje_zapytanie->the_post(); if (!in_array($post->ID, $ids)) {; $idspost[] = $post->ID; ?> <?php } $id[]= $post->ID; $idspost[] = $post->ID; koniec; } } ?> Byłbym bardzo wdzięczny za pomoc!


title: Tłumaczenia nie zwracają przetłumaczonych ciągów

text:
Mam następującą funkcję do wyświetlania formularza komentarza w moim motywie potomnym function pietergoosen_comment_form_fields( $args = array(), $post_id = null ) { if ( null === $post_id ) $post_id = get_the_ID(); w przeciwnym razie $id = $post_id; $ komentator = wp_get_current_commenter(); $użytkownik = wp_get_current_user(); $user_identity = $user->exists() ? $user->display_name : ''; $args = wp_parse_args ($args ); if ( ! isset( $args['format'] ) ) $args['format'] = current_theme_supports( 'html5', 'comment-form' ) ? 'html5' : 'xhtml'; $req = get_option( 'require_name_email' ); $aria_req = ( $req ? " aria-required='prawda'" : '' ); $html5 = 'html5' === $args['format']; $fields = array( 'author' => '
' . '' . __( 'Name', 'pietergoosen') . ( $req ? ' *' : '' ). ' ' . '<input id="author" name="author" placeholder="'.__( '* Wymagane* Podaj prawidłowe imię i nazwisko', 'pietergoosen' ).'" type="text" value="' .esc_attr( $commenter['comment_author']) .'" size="30"' . $aria_req . ' />
', 'email' => '
' .__( 'Email', 'pietergoosen') . ( $req ? ' *' : '' ). ' ' . '<input id="email" name="email" placeholder="'.__( '*Wymagane* Wpisz poprawny adres e-mail', 'pietergoosen' ).'" ' . ( $html5 ? 'type="email"' : 'type="text"' ). 'value="' .esc_attr( $commenter ['comment_author_email'] ). '" size="30"' . $aria_req . ' />
', 'referer' =>'
<label for= „polecający”” . __( 'Gdzie byłeś tutaj w sprawie tej strony?', 'pietergoosen' ) . '' . '<input id="referer" name="referer" placeholder="'.__( 'Facebook, Twitter, znajomi, Google itp...', 'pietergoosen' ).'" type="text" size="30" />
', ); $required_text = sprintf( ' ' . __( 'Wymagane pola są oznaczone %s'), '*' ); $arg = array( 'fields' => apply_filters( 'comment_form_default_fields', $fields ), 'comment_field' => '
' . _x( 'Comment', 'Comments field name', 'pietergoosen' ). ' <textarea id="comment" name="comment" placeholder="'.__( '*Wymagane* Wpisz tutaj swój komentarz. Minimum 20 znaków, proszę', 'pietergoosen' ).'" cols="45" rows="8" aria-required="true"></textarea>
', 'must_log_in' => '
' . sprintf( __( 'Musisz być zalogowany, aby dodać komentarz.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink ( $post_id ) ) ) ). '
', 'logged_in_as' => '
' .sprintf( __( 'Zalogowany jako %2$s. Wyloguj się?' ), get_edit_user_link(), $user_identity, wp_logout_url( apply_filters( 'permalink', get_permalink( $post_id ) ) ) . '
', 'comment_notes_before' => '
' . __( 'Twoj adres e-mail nie bedzie opublikowany.' ) . ( $req ? $required_text : '' ) . '
', 'comment_notes_after' => '
' . sprintf( __( 'Możesz użyć tych tagów i atrybutów HTML: %s' ), ' ' . allow_tags() . '' ) . '
', 'id_form' => 'commentform', 'id_submit' => 'prześlij', 'title_reply' => __( 'Zostaw odpowiedź', 'pietergoosen' ), 'title_reply_to' => __( 'Zostaw odpowiedź %s', 'pietergoosen' ), 'cancel_reply_link' => __( 'Anuluj odpowiedź', 'pietergoosen' ), 'label_submit' => __( 'Opublikuj komentarz', 'pietergoosen' ), 'format ' => 'xhtml', ); return $arg; } add_filter('comment_form_defaults', 'pietergoosen_comment_form_fields'); Wszystkie możliwe do przetłumaczenia ciągi są zbierane i wyświetlane w moim pliku af_AF.po. Problem polega na tym, że niektóre ciągi nie zwracają przetłumaczonych tekstów, a niektóre zwracają. Oto niektóre z ciągów, które zwracają przetłumaczony tekst 'author' => '
' . '' . __( 'Nazwa', 'pietergoosen' ) . ( $req ? ' *' : '' ). ' ' . '<input id="autor" name="autor" symbol zastępczy="'.__( '*Wymagane* Wprowadź prawidłowe imię i nazwisko', 'pietergoosen' ).'" type="text" value="' . esc_attr( $komentarz['komentarz_autor']) '" size="30"' . $aria_req . ' />
', 'email' => '
' . __( 'E-mail', 'pietergoosen' ) . ( $req ? ' *' : '' ). ' ' . '<input id="email" name="email" placeholder="'.__( '*Wymagane* Wprowadź poprawny adres e-mail', 'pietergoosen' ).'" ' . ( $html5 ? 'type="email"' : 'type="text"'). 'value="' .esc_attr( $komentarz['comment_author_email'] ). '" size="30"' . $aria_req . ' />
', 'referer' =>'
' . __( 'Gdzie byłeś tutaj w sprawie tej strony?', 'pietergoosen' ) . '' . '<input id="referer" name="referer" placeholder="'.__( 'Facebook, Twitter, znajomi, Google itp...', 'pietergoosen' ).'" type="text" size="30" />
', a oto te ciągi, które nie chcą wyświetlać przetłumaczonego tekstu 'comment_field' => '
' . _x( 'Komentarz', 'Nazwa pola komentarzy', 'pietergoosen' ) . ' <textarea id="komentarz" name="komentarz" placeholder="'.__( '*Wymagane* Wpisz tutaj swój komentarz. Minimum 20 znaków', 'pietergoosen' ).'" cols=" 45" rows="8" aria-required="true"></textarea>
', 'must_log_in' => '
' . sprintf( __( 'Musisz być zalogowany, aby dodać komentarz.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id )) ) ). '
', 'logged_in_as' => '
' . sprintf( __( 'Zalogowany jako %2$s. Wyloguj się ?' ), get_edit_user_link(), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id )) ) ). '
', 'comment_notes_before' => '
' . __( 'Twoj adres e-mail nie bedzie opublikowany.' ) . ( $req ? $required_text : '' ) . '
', 'comment_notes_after' => '
' . sprintf( __( 'Możesz użyć tych tagów i atrybutów HTML: %s' ), ' ' . allow_tags() . '' ) . '
', to jest kod, który skopiowałem z podstawowych plików Wordpress. Czy czegoś mi brakuje? Jakieś sugestie


title: Opcja motywu wybierz wartości

text: Tworzę panel opcji motywu i jak dotąd udało mi się, z wyjątkiem opcji typu „Wybierz”. Oto mój kod: array( "name" => "Transition", "desc" => "Wybierz typ przejścia.", "id" => $shortname."_transition", "type" => "select" , "std" => '1', "options" => array("0" => "Brak", "1" => "Zanikanie", "2" => "Góra slajdów", "3" => "Slide Right"), teraz mój kod wyboru jest następujący: <select name="<?php echo $wartość['id']; ?>" id="<?php echo $value['id']; ? >"> <?php foreach ($wartość['opcje'] as $opcja) { ?><opcja <?php if ( get_settings( $wartość['id'] ) == $opcja) { echo ' selected=" selected"'; } elseif ($option == $value['std']) { echo ' selected="selected"'; } ?>><?php echo $option; ?></option><?php } ?> Teraz, kiedy wciągam opcję do motywu, wyświetla nazwę opcji (fade, Slide Top...itd) zamiast wartości (0, 1, 2, 3). Zgaduję, że być może brakuje "value=""" w kodzie "/option>"? Każda pomoc będzie mile widziana, dziękuję. **Edytuj: rozgryzłem, edytowałem drugi kod t o this:** <?php foreach ($wartość['opcje'] as $klucz=>$opcja) { ?><opcja wartość="<?php echo $klucz; ?>" <?php if ( get_settings( $wartość['id'] ) == $opcja) { echo 'select="wybrano"'; } elseif ($opcja == $wartość['std']) { echo ' selected="selected"'; } ?>><?php echo $option; ?></option><?php } ?></select>


title: Wygląda na to, że wykonywanie plików js nie działa

text: Opracowałem stronę internetową, która wykorzystuje "Royal Slider". Post ładuje niestandardowe pola z bazy danych bez problemu i zapętla obrazy i tworzy piękny pokaz slajdów, jak można zobaczyć na http://www.ccmediaservices.co.uk/property/2-bedroom-apartment-to-rent/ Problem polega na tym, że chcę przekazać niektóre niestandardowe ustawienia, aby dostosować suwak. Zwykle osiąga się to za pomocą tego bloku js na dole HTML, tuż przed tagiem. Oto ustawienia kodu inicjującego js <skrypt> jQuery(document).ready(function($) { $('.royalSlider').royalSlider({ fullscreen: { enabled: true, nativeFS: true }, controlNavigation: 'thumbnails' , autoScaleSlider: true, autoScaleSliderWidth: 960, autoScaleSliderHeight: 850, loop: false, imageScaleMode: 'fit-if-smaller', navigationByClick: true, numImagesToPreload:3,sNavAutoHide: true, arrows , globalCaption: true, globalCaptionInside: false, thumbs: { appendSpan: true, firstMargin: true, paddingBottom: 4 } }); }); </script> W wordpressie nie jest to możliwe, o czym dobrze wiem, więc wykonałem standardową procedurę umieszczania dwóch haków akcji w pliku funkcyjnym. Jeden do zarejestrowania skryptu i drugi do wydrukowania go ze stopki. To jest mój kod /* Royal Slider Hooks */ add_action ('init', 'register_my_royal_slider_script'); add_action ('wp-footer', 'print_my_royal_slider_script'); /* Królewskie funkcje suwaka */ function register_my_royal_slider_script() { wp_register_script('my-script', get_template_directory_uri() . '/royalslider/custom-slider-settings.js', array('jquery'), '1.0', true) ; } funkcja print_my_royal_slider_script() { global $add_my_script; if (! $add_my_script) return; wp_print_scripts('mój-skrypt'); } Niestety nie przynosi to żadnego efektu. Czy jest coś nie tak z którymś z powyższych kodów, które widzisz? Jestem trochę zdezorientowany, nie otrzymuję żadnych błędów


title: Powiadom autora komentarza po odpowiedzi

text: Aby usprawnić komunikację między komentującymi gości a autorami, bawię się skryptem, który po otrzymaniu odpowiedzi wysyła wiadomość e-mail do autora komentarza. Oto jak kod wygląda do tej pory: <?php /* Nazwa wtyczki: Komentarz Odpowiedź Notifier Plugin URI: http://wordpress.stackexchange.com/users/24875/christine-cooper Wersja: 0.1 Autor: Christine Cooper Opis: Kiedy ktoś odpowiada na komentarz, wysyłany jest e-mail do autora odpowiedzi na komentarz. URI autora: http://wordpress.stackexchange.com/users/24875/christine-cooper */ add_action('comment_post', 'comment'); funkcja komentarz($comment_reply_id) { $comment = get_comment($comment_reply_id); if($comment->comment_parent != 0) { $stary_comment = get_comment($comment->comment_parent); if($old_comment->user_id == 0) { $email = $stary_comment->comment_author_email; $name = $comment->comment_author; $treść = $komentarz->komentarz_treść; $post = get_post($comment->comment_post_ID); $title = $post->post_title; $link = get_permalink($comment->comment_post_ID); $nazwa bloga = wp_specialchars_decode(get_option('nazwa bloga'), ENT_QUOTES); $subject = sprintf('Odpowiedź na komentarz: "%2$s" w %1$s', $blogname, $title ); $notify_message = sprintf('Ktoś odpowiedział na Twój komentarz: %s', $title ) . "\r\n"; $notify_message .= sprintf( 'Odpowiedz przez: %1$s ', $name ) . "\r\n"; $notify_message .= 'Komentarz: ' . "\r\n" . $treść . "\r\n\r\n"; $notify_message .= 'Możesz odpowiedzieć na komentarz tutaj: ' . "\r\n"; $notify_message .= $link . "#komentarze\r\n\r\n"; $message_headers = "Content-Type: text/plain; charset=\"" .get_option('blog_charset') . "\"\n"; wp_mail( $e-mail, $temat, $notify_message, $message_headers ); } } } ?> Działa dobrze, możesz spróbować. Chciałbym dodać do tego dwie rzeczy. Chcę zmienić nazwę i adres e-mail wiadomości. Dlatego chcę ustawić nazwę bloga jako nazwę nadawcy i niestandardowy adres e-mail jako pocztę nadawcy (na przykład no-reply@domain.com). Jak mam to zrobić?


title: Atrybut tytułu echa php

text:
Mam następujące w functions.php: function dwadzieściaten_continue_reading_link() { global $id; return '  0, 'before' => 'Permalink do: ', 'po' => '')) .the_title() .'">' . __( 'Czytaj więcej »', 'dwadzieścia') . ''; }, który tworzy link „Czytaj więcej” po fragmencie z atrybutem title. Chcę zrobić to samo w innej części witryny, ale kod tego linku „Czytaj więcej” jest inny (patrz poniżej). Ponieważ jest to instrukcja php echo, ta sama składnia nie zadziała i nie wiem, jak przetłumaczyć to, co mam powyżej, aby zadziałało w poniższej sytuacji. Chcę zachować atrybut href= $permalist[$j], ale dodać po nim atrybut title. echo "
Czytaj więcej »
";


title: Skonfiguruj wyróżniony obraz we wszystkich postach z pola niestandardowego thesis_post_image?

text: Przeniosłem się z pracy dyplomowej do innego motywu wp i chcę zmienić obrazy postów z pracy dyplomowej (są one zapisywane w bazie danych pod thesis_post_image) jako polecane obrazy. Witryna ma ponad 1000+ postów. Czy istnieje sposób na uruchomienie kodu, aby zmienić adresy URL thesis_post_image w bazie danych na pole polecanego obrazu w bazie danych?


title: Użyj opcji do sterowania wtyczką jQuery

text: To może być głupie pytanie, ale uczyłem się Wordpressa i od jakiegoś czasu zmagam się z tym. To, co chcę zrobić, to użyć strony panelu sterowania Wordpress do sterowania zegarem odliczającym w mojej witrynie. Znalazłem odliczanie jQuery, które wydaje się działać dobrze, i nauczyłem się, jak stworzyć wtyczkę ze stroną opcji i jak sprawić, by ta strona opcji rozmawiała z bazą danych opcji. Mam stronę opcji, która tworzy tablicę z miesiącem, dniem i godziną zakończenia odliczania i zapisuje ją w tabeli w mojej bazie danych opcji. Rozumiem, że funkcja wp_localize_script jest tym, czego chcę użyć, aby wyprowadzić te dane do wtyczki jQuery. Jednak nie mogę połączyć końcowych kropek. Kod odliczania jQuery wygląda tak: <script> $('.live-countdown').countdown({ date: '1 stycznia 2015 13:30:00' }); </script> Wszystkie te informacje są przechowywane w mojej bazie danych opcji (jako tablica z miesiącem, dniem, rokiem i godziną w poprawnym formacie), ale nie mogę wymyślić, jak to zrobić w taki sposób, że mogę go tutaj użyć. Czy ktoś może mi wyjaśnić, jak używać wp_localize_scripts do wyświetlania moich informacji? Nadal bardzo się uczę (zarówno Wordpress, jak i ogólnie PHP) i zmagam się z tym od kilku dni. Przepraszam, jeśli to powtarzające się pytanie, ale szukałem i googlowałem przez jakiś czas bez powodzenia. Wszystkie tutoriale, które mogę znaleźć, są albo niejasne, albo dotyczą czegoś nieco innego. Wydaje się to naprawdę proste, ale myślę, że po prostu potrzebuję to trochę lepiej wyjaśnić w mojej konkretnej sytuacji. Dzięki za pomoc!


title: Nie można przekierować do poprzedniej strony po użyciu GET

text: Mam funkcję, która wyświetla koszyk i produkty, więc po dodaniu produktu (co dzieje się przez `GET`) chcę, aby wrócił do zwykłej domeny. To jest kod, który aktualizuje koszyk: $page = $_SERVER['PHP_SELF']; // jeśli produkt zostanie dodany do koszyka if (isset($_GET['add'])) { $_SESSION['cart_'.$_GET['add']]++; header('Lokalizacja: '.$strona); // echo 'dodane'; } W tej chwili koszyk jest wyświetlany na mojej stronie głównej, czyli `http://localhost/tester/` , a po dodaniu produktu url staje się `http://localhost/tester/?add=1`, ale potem Chcę, aby powrócił do `http://localhost/tester/`, ale nie mogę tego zrobić. Jakieś pomysły?


title: Wyklucz kategorie według identyfikatora

text:
Przeszukałem tę witrynę i wypróbowałem różne sposoby wykluczenia kategorii 1 i 7 z tej listy, ale nic nie działa. Żadnych błędów, ale też nie ukrywa kotów. Kategorie 1 i 7 nie są puste, ale chciałbym również wykluczyć puste kategorie, więc !puste musi pozostać.  <?php $terms = apply_filters( 'taxonomy-images-get-terms', '', array('taxonomy' => 'category') ); if ( ! empty( $terms ) ) { foreach( (tablica) $terms as $term ) { echo '

taksonomia ) ). '">' . $term->nazwa . '
'; echo '
taxonomy) ) . '">
"; echo '
'. $term->opis . '

'; } } ?>


title: Uruchom zapytanie raz w pętli

text: Staram się zapobiec wielu zapytaniom wewnątrz wtyczki jednej z moich wtyczek. Mam zapytanie wewnątrz funkcji, która wygeneruje kompletny blok z niektórymi elementami układu i elementem wejściowym, który będzie zawierał wartość (z zapytania). Mam około 50 bloków, więc oznacza to 50 zapytań, a nie najlepszy sposób na zrobienie tego. Czy istnieje sposób na jednokrotne uruchomienie zapytania, dzięki któremu wyniki pozostaną nienaruszone. Potrzebuję zapytania wewnątrz tej funkcji: function inputblock ($table, $id){ global $wpdb; $results = $wpdb->get_row($wpdb->prepare("SELECT * FROM $table WHERE the_id = %d", $id)); // jedna kolumna nazywa się nazwa_nazwa echo '<input value="'.$results->the_name.'"/>'; unset($results);// coś takiego } inputblock('table_1', 1); inputblock('tabela_1', 44); inputblock('tabela_1', 1234); ... ... // przykład powyżej to już 3 zapytania, musi być tylko 1


title: Jaki jest sens funkcji get_comment_count(), jeśli nie możesz ograniczyć typu komentarza?

text: Odkryliśmy, że duże witryny WooCommerce działają bardzo wolno. Wśród wielu problemów ten sprawia, że drapię się po głowie. WooComemrce przechowuje notatki o zamówieniach w tabeli komentarzy, nadając im komentarz typu „order_note” i natychmiast je zatwierdzając. Są one powiązane z zamówieniami, więc są widoczne tylko dla administratorów sklepu. Teraz coś w jednej witrynie (jeszcze nie wyśledzone) wykonuje to zapytanie: SELECT comment_approved, COUNT(*) AS total FROM wp_comments GROUP BY comment_approved Przy 120 tys. komentarzy w systemie, głównie typu „order_note”, zajmuje to znaczną czas przy każdym załadowaniu strony (do 500ms czasu zapytania) i niszczeniu serwera. Jaki byłby sens tego zapytania? Pobiera liczbę WSZYSTKICH wierszy w tabeli komentarzy pogrupowanych według stanu zatwierdzenia. Liczy komentarze, trackbacki, pingi i order_notes. Jaki byłby tego sens? Nie wyobrażam sobie zastosowania takiego zapytania na każdej stronie. Funkcja get_comment_count() w wp-includes/comment.php uruchomi to zapytanie. Jeśli przekażesz identyfikator posta, podsumowuje on ten post. To szybko. Jeśli nie przekażesz identyfikatora posta, zlicza on wszystkie wiersze w całej tabeli, co jest powolne i bezużyteczne w IMO. Ta funkcja NIE akceptuje komentarza typu comment, więc nie można ograniczyć zapytania do określonego typu komentarza. Podczas gdy śledzę źródło tego zapytania, zastanawiam się, dlaczego WP miałby wspierać tak odpytywanie całej tabeli. Jest to rodzaj założenia, że niestandardowe typy komentarzy NIGDY nie zostaną stworzone, tj. tabela komentarzy nigdy nie będzie używana do niczego innego niż trzy typy komentarzy wymienione w kodeksie. Czy tak jest? Czy WooCommerce całkowicie nadużywa tej tabeli? Nie jestem pewien, jakiego rodzaju odpowiedzi tutaj szukam, ale podejrzewam, że trzeba gdzieś zgłosić zgłoszenie (być może dodanie komentarza do klauzuli WHERE w funkcji), więc szukam jakichkolwiek myśli lub podobnych doświadczenia z tym problematycznym zapytaniem. Aktualizacje: Dokładne zapytanie: SELECT comment_approved, COUNT( * ) AS num_comments FROM wp_comments GROUP BY comment_approved To trwa nieprzerwanie 300mS i zwraca to: | comment_approved | liczba_komentarzy | | ---------------- | ------------ | | 0 | 1 | | 1 | 191370 | | po skasowaniu | 1 | | spam | 29 | Bez różnicy po zoptymalizowaniu stołu. Teraz zauważyłem aliasy count jako „num_comments”, a nie „total”, co oznacza, że działa wp_count_comments(), a nie get_comment_count(). Oznacza to, że wyniki zliczania _powinny_ być_ buforowane pod kluczem comments-0, ale tak nie jest - zapytanie jest uruchamiane na każdej stronie. Może pamięć podręczna jest czyszczona w innym miejscu na stronie? Ale i tak robienie tego liczenia jest bezużyteczne. Większość „zatwierdzonych” komentarzy to order_notes dodawane przez WooCommerce. Nie są to „komentarze” w zwykłym tego słowa znaczeniu. Kolumna comment_approved jest indeksowana (pierwsza kolumna w indeksie złożonym), a WP twierdzi, że ma liczność 7, mimo że z zapytania zwracane są tylko cztery grupy. Zajmuje to około 1mS: SELECT DISTINCT comment_approved FROM wp_comments Tak więc indeks tam działa, ale po prostu spowalnia, gdy potrzebne są zliczenia, a to powinno naprawdę wymagać tylko sprawdzenia indeksów. Plan wyjaśnień to: select_type = SIMPLE table = wp_comments type = index possible_keys = NULL key = comment_approved_date_gmt (???) key_len = 70 ref = NULL rows = 195885 Extra = Korzystanie z indeksu Może to tylko jedna z tych rzeczy, którymi tak naprawdę jest MySQL kiepski w optymalizacji, jak podselekcje, które były okropne od pierwszego dnia.


title: Dlaczego warto używać dynamic_sidebar() warunkowo?

text: W przykładzie z kodeksu dotyczącym wyświetlania pasków bocznych, jakie znaczenie ma zawijanie warunkowe wokół wywołania dynamic_sidebar? Dlaczego to robisz: <?php if ( dynamic_sidebar('przykladowa_nazwa_obszaru_widgetu') ) : else : endif; ?> to wydaje się działać ok: <?php dynamic_sidebar('przykładowa_nazwa_obszaru_widgetu'); ?> Dzięki Toby


title: Wordpress pobiera pliki css i skrypty z komputera klienta, a nie z serwera

text: Jestem noobowym użytkownikiem Wordpress i mam dziwny problem. Udało mi się zainstalować Wordpress, edytować plik wp-config i wszystko. Jednak kiedy przeglądam moją witrynę ze zdalnego komputera, nie są ładowane żadne pliki css ani skryptów, chociaż widzę stronę html bez żadnych stylów. Kiedy sprawdziłem źródło, dowiedziałem się, że Wordpress próbuje pobrać pliki skryptowe z komputera klienckiego, np.: _http://127.0.0.1/wp-admin/css/wp-admin.css?ver=20111208_ Wszelkie pomysły na w czym może być problem?


title: Błąd „Nie można utworzyć nowego obrazu” w edytorze obrazów pulpitu nawigacyjnego wordpress

text: Mój serwer to nginx, a wersja wordpress to 3.8.1. Mogę wgrać zdjęcia, ale kiedy próbuję edytować zdjęcie (skala, przycinanie) daje to poniższy błąd i nie pokazuje zdjęcia. Próbowałem z obrazem 400kb do 1mb oba mają ten sam problem. Dowiedziałem się w internecie, że może się to zdarzyć, ponieważ biblioteka GD jest niedostępna. Zainstalowałem bibliotekę GD, ale nadal pojawia się ten sam błąd. Próbowałem też tego rozwiązania, ale bez powodzenia. Czy ktoś może mi pomóc? ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/c3AXW.jpg)


title: Pozwól wtyczce sprawdzić, czy taksonomia jest już zarejestrowana przez inną wtyczkę

text: Moja witryna korzysta z niestandardowej taksonomii, którą można powiązać z dwoma różnymi typami niestandardowych wpisów. Każdy typ posta jest rejestrowany przez inną wtyczkę. Możliwe, że tylko jedna z wtyczek jest aktywna lub obie są aktywne. Mój pomysł polegał na tym, aby każda wtyczka sprawdzała, czy taksonomia została już zarejestrowana, a jeśli nie, to ją zarejestrowała. Umieszczam następujący kod w każdej wtyczce, ale to — oczywiście — powoduje błąd (nie można ponownie zadeklarować register_taxonomy_my_taxonomy). if ( !taksonomia_istnieje( 'moja_taksonomia' ) ) { add_action( 'początek', 'rejestr_taksonomii_moja_taksonomia' ); funkcja register_taxonomy_my_taxonomy() { ... }


title: Usuń posty na podstawie metadanych postu

text: Szukam prostego skryptu SQL, który usunie posty, w których meta postu tego identyfikatora postu ma pewną wartość ['x']. USUŃ Z wp_posts GDZIE post_id == wp_post_meta->post_id GDZIE meta_value = ['x']


title: automatycznie zapisuj niestandardowy tytuł typu postu jako kategorię

text: Zastanawiam się, czy istnieje sposób na automatyczne tworzenie kategorii z moich niestandardowych tytułów typu postów. Na przykład - jeśli stworzę post o nazwie 'sport', funkcja automatycznie utworzy kategorię 'sport'.


title: Zmień język treści dla jednej strony

text: Mam jedną stronę, która ma inny język niż reszta witryny. Zajrzałem do wielu wtyczek, ale nie mogę znaleźć sposobu, aby zaryzykować język treści `<html lang="nl-NL" prefix="og: http://ogp.me/ns#">` tylko dla jednej strona. Używam Yoast SEO, a on używa `<meta property='og:locale' content='nl_NL'/>` i to również musi być en_us


title: Multisite, udostępnianie treści według adresu URL

text: Mam sieć dwóch witryn, `A.example.com` i `B.example.com`. Chciałbym, żeby jeśli stworzę stronę w `A` z permalinkiem `/Widgets`, to mogę uzyskać do niej dostęp na `B` używając tego samego relatywnego permalinka, ale bez konieczności tworzenia treści na `B`. (Jedna witryna ma profile użytkowników, którymi chcielibyśmy nadal zarządzać w jednej witrynie, ale udostępniać także w drugiej). Witryna „B” nadal „wyglądałaby” jak „B”, ale treść pochodziłaby z witryny „A”. `. Myślałem o podpięciu się do `init`, ale tak naprawdę nie wiedziałem, co robić, a dokumentacja nie jest zbyt pomocna. A może bardziej sensowne byłoby podpięcie się pod `pre_get_posts` i po prostu zmiana prefiksu tabeli, o którą pytam? (Wiem, że MS nie jest przeznaczony dla tego modelu i że będę musiał radzić sobie z reperkusjami, takimi jak linki w treści, ale to nie jest wielka sprawa.) Dzięki **[EDIT]** Przepraszamy, `/Widget` był zły nazwa prawdopodobnie, to nie są Widgety Wordpress, tylko zwykłe posty.


title: Jak wyświetlać pliki zasobów (js, css, obrazy) w subdomenie?

text: Obecnie zakładam bloga na stronie site.com/wordpress i chciałbym udostępniać wszystkie moje zasoby dla tego bloga na moim serwerze zasobów, assets.site.com/blog/. Uzyskałem pożądane wyniki na interfejsie użytkownika, zmieniając opcję siteurl w bazie danych (wp_options), jednak administrator kieruje na ten adres (serwer zasobów) zamiast site.com (co jest wartością opcji home). Co muszę zmienić na pliki zasobów serwera z subdomeny (js, css i obrazy)?


title: Dlaczego nie mogę używać setup_postdata($post) na pasku bocznym?

text:
Stworzyłem funkcję, która przyjmuje jeden parametr - typ postu i wypisuje każdy post z pewnym html i tytułem, treścią itp. Jednak chcę mieć możliwość korzystania z funkcji związanych z `$post`, zwłaszcza `the_excerpt`. Jednak gdy próbuję użyć mojej funkcji w widżecie php na pasku bocznym, po prostu wyświetla tytuł i treść strony głównej, a nie informacje o publikowaniu niestandardowych zapytań. Jeśli uruchomię funkcję na stronie, działa ona dobrze i wyświetla szczegóły postów niestandardowych zapytań. Możesz zapytać, dlaczego nie umieściłem tego po prostu na pasku bocznym, cóż, jest zbyt niechlujny i użyję go ponownie z różnymi niestandardowymi postami, więc pomyślałem, że napiszę funkcję. MOJA funkcja: function myRecentPosts($postType){ wp_reset_postdata(); $args = array( 'post_type' => $postType,'posts_per_page' => 3); $recentPosts = get_posts( $args ); foreach($recentPosts as $post){ setup_postdata($post); ?> <artykuł>
<?php the_title();?>
 <?php the_excerpt();?>
 <?php } wp_reset_postdata(); }


title: Jak dodać podkategorie do blogrolla?

text: Szukam sposobu na tworzenie podkategorii w moim blogrollu... Na przykład: Pobieranie -> Windows -> Mac -> Linux Chcę stworzyć prawdziwą **stronę** (nie widget) gdzie główne kategorie i poniżej podkategorie są wymienione... Czy jest jakiś sposób?


Tworzę motyw potomny TwentyTen i chcę wyświetlić dynamiczny pasek boczny na stronie głównej, ale coś jest nie tak. Zmodyfikowałem `loop-page.php`:
 <?php dynamic_sidebar('promotion-sidebar'); ?> //DODANA LINIA <?php the_content(); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'twentyten' ), 'after' => '
' ) ); ?> <?php edit_post_link( __( 'Edytuj', 'dwadzieścia' ), '', '' ); ?>
 Na początku wywoływałem go w instrukcji warunkowej `is_front_page`, ale potem, aby dokładnie sprawdzić problem, zdecydowałem się wywołać go na każdej stronie. I zgadnij, co pojawia się na każdym z nich z wyjątkiem tego, którego chcę: **PRZEDNIA STRONA** _**Edytuj: używam szablonu paska bocznego dla mojej statycznej strony głównej._** Po prostu tego nie rozumiem. Każda pomoc jest doceniana.


title: Usuń kategorię z adresu URL

text: Chcę usunąć /category/ base z permalinków. Wypróbowałem rozwiązanie **http://wordpress.stackexchange.com/questions/6106/remove-parent-category-from-permalink-basically-only-have-the-child-category/** ale jeśli spróbuję to wkleić w functions.php otrzymuję błąd 404. Próbowałem również `RewriteRule ^category/(.+)$ /$1 [R=301,L]` wklejając **.htaccess** , ale nadal otrzymuję błąd 404.


title: Duża baza danych powoduje powolne ładowanie

text: Mam bazę danych WordPress o pojemności 2 GB (przy użyciu InnoDB Storage Engine) i zauważyłem, że moja witryna ładuje się wolno po naciśnięciu przycisku publikowania zaraz po wybraniu polecanego obrazu w bibliotece multimediów. Spojrzałem na moje stoły i zauważyłem, że `wp_postmeta` jest największym stołem, a `wp_posts` drugim co do wielkości ze wszystkich tabel. Czy istnieje sposób na przyspieszenie ładowania? Baza danych to InnoDB


title: Uzyskiwanie dostępu do katalogu głównego witryny z folderu motywów

text: Mam problemy ze skryptem PHP, który próbuję zbudować. Muszę uzyskać dostęp do pliku, który znajduje się w folderze głównym mojej instalacji Wordpress: **wordpress-root/live-config.php** Problem polega na tym, że mój plik skryptu znajduje się w głównym folderze motywu, a ja próbując uzyskać dostęp do folderu głównego podczas definiowania stałej. Mój plik skryptu znajduje się w: **root-directory/wp-content/themes/theme-root/** Jeśli używam `require ABSPATH . 'live-config.php';` to nie jest dobre, ponieważ wygląda w katalogu, w którym znajduje się twój bieżący plik (np. katalog **theme-root** zamiast mojego **wordpress-root** ). Chcę tylko wiedzieć, jaki byłby najlepszy sposób, aby pobrać folder główny mojej instalacji Wordpress podczas definiowania stałej, która znajduje się w katalogu motywu? W moim skrypcie aktualnie próbuję: /** Absolutna ścieżka do katalogu WordPress. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); /** * Zdefiniuj typ serwera * * W zależności od typu można skonfigurować inne rzeczy * Uwaga: Zdefiniuj je wszystkie, nie pomijaj jednego, jeśli inne jest już zdefiniowane */ define( 'WP_DEV_SERVER', file_exists( ABSPATH . 'dev -config.php' ) ); /** * Załaduj poświadczenia bazy danych */ jeśli (WP_DEV_SERVER) wymagają ABSPATH. 'dev-config.php'; inne wymagają ABSPATH . 'live-config.php'; Ale oczywiście zdefiniowanie ABSPATH w moim **theme-root** tak naprawdę nie wskazuje na katalog **wordpress-root**.


title: Programowo zmieniające się informacje o rolach; edytowanie nazwy roli i usuwanie

text: Tworzę system, w którym dużo funkcjonalności deleguję do frontendu systemu używając Wordpressa. Wymieniłem wszystkie role (większość niestandardowych) i muszę mieć możliwość edytowania nazwy roli lub jej usunięcia przez zalogowanego użytkownika. Nie mogę znaleźć żadnych normalnych funkcji WP, aby to zrobić, ani wtyczek, które pozwalają na proste rozwiązanie, którego potrzebuję, więc pomyślałem, że być może będę musiał uruchomić zapytanie MYSQL, aby zmienić informacje, ale ... czy widziałeś tabelę wp_options z rolą użytkownika Informacja?? To ogromny bałagan i naprawdę nie chcę niszczyć systemu. Jakieś sugestie? Z góry dziękuję.


title: Jak wyświetlić tytuł dla każdej pozycji menu w atrybucie span?

text: Próbuję dodać efekt najechania CSS do głównego menu mojego motywu, a efekt jest oparty na atrybucie przekazanym w elemencie `<span>`. Problem polega na tym, że nie jestem w stanie wygenerować tego dynamicznie z tytułem każdej pozycji menu. Oto kod HTML, który chciałbym utworzyć:  Strona główna Informacje Kontakt  Teraz w WP próbowałem dodać atrybuty `link_before` i `link_after` w celu dodania elementu `<span>`, ale nie jestem pewien, jak stworzyć tytuł dla każdej pozycji menu dla atrybutu „data-hover”. Każda pomoc byłaby bardzo mile widziana.


title: tło obrazu jest wycięte

text: http://dev.freelanceu.net/mjl/miamischool/ to moja strona, która ma problem w tle, nawet nie zadeklarowałem, że to no-repeat, ale i tak tło zostało wycięte na dole. Jestem zdezorientowany bo na drugiej stronie nie jest wycięty, tak jak ten http://dev.freelanceu.net/mjl/miamischool/forms/


title: Wyłącz przekierowanie do strony produktu na stronie wyników wyszukiwania w WooCommerce

text: W WooCommerce, jeśli szukasz produktu i jest tylko jeden wynik wyszukiwania, WooCommerce przekieruje Cię bezpośrednio na stronę produktu. Jeśli chcę dodać fantazyjną stylizację do strony wyników wyszukiwania, czy mogę wyłączyć tę domyślną funkcję?


title: Błąd dostosowania motywu WP 3.8

text: Próbuję dokonać dostosowania do mojego motywu, ale pojawił się błąd JS „Uncaught ReferenceError: wp nie jest zdefiniowany” LOL. Cały kod napisałem w oparciu o Codex, może to tylko błąd WP 3.8? Albo co robię źle? mój kod - PHP: add_action( 'customize_preview_init', 'customizer_preview' ); function Customizer_preview() { wp_register_script( 'wproto-customizer-preview', get_template_directory_uri() . '/js/admin/screen-customizer.js', '', true ); wp_enqueue_script( 'wproto-customizer-preview', array( 'jquery', 'customize-preview') ); } JS: ( function( $ ) { // tutaj pojawia się błąd "wp nie jest zdefiniowany" wp.customize( 'blogname', function( value ) { value.bind( function( newval ) { $( '# text-logo .site-title' ).html( newval ); } ); } ); } )( jQuery ); proszę pomóż :)


title: WP_editor nie stosuje wpautop do zawartości pojedynczej linii

text:
W bieżącym projekcie próbuję odtworzyć linię tekstu zapisaną na stronie opcji motywu. Używam funkcji wp_editor do wprowadzania danych przez użytkownika zamiast obszaru tekstowego. Kod, którego używam, jest dość prosty: <?php break; wielkość liter "wysiwyg" : ?>
 <ty zakres="wiersz"><?php echo $wartość['nazwa']; ?>:	  <?php if( get_settings($value['id']) != "") { $settings = stripslashes(get_settings($value['id'])); }else{ $ustawienia = $wartość['std']; } ?> <?php wp_editor($settings,$value['id'],array('wpautop' => true,'media_buttons'=>false)); ?>
<?php echo $wartość['opis']; ?>
 <?php przerwa; ?> Próbowałem upewnić się, że akapity są używane, dodając `wpautop => true`.. Problem pojawia się, gdy próbuję dodać pojedynczą linię tekstu w trybie WYSIWYG. Podczas zapisywania pola nie są dodawane akapity. Po ponownym załadowaniu strony widok HTML zmienia się z powrotem na WYSIWYG i wszystkie moje znaczniki HTML zniknęły. Próbowałem użyć funkcji `wpautop` ręcznie, ale spowodowałoby to dodanie pustego akapitu po zmiennej insert. Mój kod wygląda tak: <?php echo wpautop(stripslashes($lo_homepage_highlight_1_text)) ;?> I zwróci:
Lorem ipsum (.....) dolor sit amet. Świetny tekst sformatowany

 Nie rozumiem, czego tu brakuje.


title: Jak wyświetlić zawartość pól niestandardowych w wynikach wyszukiwania?

text: Udało mi się uwzględnić strony, na których znajdują się niestandardowe pola w wynikach wyszukiwania, ale udało mi się nie wyświetlać treści, gdy w treści nic nie ma. Czy istnieje sposób na uwzględnienie w pętli zawartości pól niestandardowych?


title: posts_per_page bez limitu

text: Chcę zwrócić WSZYSTKIE posty z `query_posts`. Próbowałem ustawić `posts_per_page` na naprawdę dużą liczbę, ale `query_posts` wariuje i nie zwraca żadnych postów. Jaki jest prawidłowy sposób wysyłania zapytań o posty bez limitu? $args = array( 'post_type' => 'post', 'cat' => '22,47,67', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'głębokość' => 1, 'posts_per_page' => ? );


title: tax_query w get_posts() nie działa?

text: Próbuję wydrukować wszystkie posty w każdej taksonomii dla niestandardowego typu posta o nazwie `product` (produkty jigoshop). Tak więc otrzymuję wszystkie taksonomie za pomocą `$cats = get_terms('product_cat');`, potem przeglądam je wszystkie i otrzymuję wszystkie posty, które są zawarte w taksonomii. Problem w tym, że to nie działa. Po prostu zwraca puste! $uposts = get_posts(array( 'post_type' => 'product', 'numberposts' => -1, 'tax_query' => array( 'taxonomy' => $cat->taksonomia, 'field' => 'slug' , 'terms' => array($cat->slug), 'operator' => 'IN' ) )); Jeśli zmienię `'terms' => array($cat->slug)` na `'terms' => $cat->slug` zwraca _all_ posty, tak jakby całkowicie ignoruje tax_query. Jakieś pomysły, co powoduje niepowodzenie? Próbowałem pobawić się z operatorem, zmieniając pole na ID (a także wysyłając `$cat->ID` jako termin)... nic nie działa! $cat ma następujące wartości: stdClass Object ( [term_id] => 114 [name] => Ny testkategori [slug] => ny-testkategori [term_group] => 0 [term_taxonomy_id] => 115 [taksonomia] => product_cat [ opis] => [rodzic] => 0 [liczba] => 2 [meta_id] => 3 [jigoshop_term_id] => 114 [meta_klucz] => zamów [meta_value] => 1 ) Czyli $cat->slug i $cat -> taksonomia są prawidłowymi wartościami.


title: Naprawdę wysokie zużycie pamięci przy prawie braku wtyczek – czy tekst arabski/hebrajski może mieć znaczenie?

text: Mam dość małą witrynę z dosłownie prawie zerowymi wtyczkami (Importer, W3 Total Cache) i niewielką liczbą stron lub zasobów multimedialnych, ale ma ogromną ilość pamięci (zwykle 33 MB plus). Jedyne, o czym mogę pomyśleć, to to, że około 12 z 20 stron używa języków RTL. Mój przepływ pracy do obsługi tych dokumentów to dokument Word / dokument Dysku Google do Sublime Text 2 do edytora Wordpress. Czy ktoś ma z tym jakieś doświadczenie, które mogłoby pomóc? Dziękuję!


title: właściciel bloga multisite

text: W multisite, jak mogę uzyskać identyfikator właściciela obecnego bloga? Wiem, jak uzyskać bieżący identyfikator bloga za pomocą get_current_blog_id(), więc biorąc pod uwagę ten identyfikator, w jaki sposób mogę pobrać identyfikator właściciela tego bloga? (jest tylko jeden właściciel na bloga).


title: Najskuteczniejszy sposób na wypisanie wszystkich kategorii i wyświetlenie wpisu dla każdej z nich?

text: Pracuję nad blogiem, który ma około 8.000 postów i 50 kategorii. Zadaniem, nad którym pracuję, jest wylistowanie wszystkich kategorii i pokazanie dla każdej kategorii najnowszego posta z określoną wartością pola niestandardowego. Moje obecne podejście to pobranie wszystkich kategorii, przeglądanie ich w pętli i dla każdej z nich wykonanie wp_query, aby znaleźć najnowszy post. Czy jest na to wydajniejszy sposób, który nie wymaga uruchamiania 50 zapytań na stronie?


title: Maskuj i śledź linki wychodzące

text: Zajmuję się tworzeniem serwisu wordpress dla klienta. **MÓJ CEL** : Witryna będzie zawierać linki do produktów z różnych witryn. Te linki są w rzeczywistości linkami partnerskimi do witryny i usług. Te linki muszą zostać przekonwertowane na http://www.example.com/go/123 lub coś podobnego, a po kliknięciu przekierowują do właściwego linku. Kolejnym wymogiem byłoby śledzenie liczby linków wychodzących. Czy wy, ekspert od wordpress, dajcie mi znać o dowolnej wtyczce, która wykonałaby zadanie, a nawet jedną z rzeczy, których chcę. Przeszukałem również tę stronę oraz katalog wtyczek na wordpress.org, ale nie znalazłem żadnej odpowiedniej wtyczki.


title: Ustawienia API - pobieranie ukrytych danych wejściowych / nazwy przycisku przesyłania

text: Generuję ten formularz za pomocą Settings API: <form action="options.php" method="post"> <?php settings_fields('XX_theme_settings'); do_settings_sections('moje_ustawienia'); ?> <input type="ukryty" name="foo" value="bar" /> <input name="SubmitButton" type="submit" class="button-primary" value="<?php _e('Zapisz Zmiany'); ?>" /> </form> Wywołania zwrotne walidacji $input array zwraca tylko pola wejściowe 'my_settings'. Jak uzyskać dostęp do wartości wejściowej `foo` (`bar`) i przesłać nazwę przycisku `SubmitButton`? To nie działa dla ukrytych danych wejściowych: my_validation($input) { $foo = $input['foo']; } A jeśli chodzi o przycisk przesyłania, to nawet nie wiem od czego zacząć.


title: Uzyskaj aktualny tytuł kategorii produktu taksonomii w woocommerce

text:
Chcę wyświetlić aktualny tytuł kategorii produktu w taksonomii na stronie pojedynczego produktu. Poniższy kod działa, ale zwraca wszystkie kategorie produktów. Potrzebuję pomocy w wyróżnieniu aktualnej kategorii. <?php globalna $post; $args = array( 'taksonomia' => 'product_cat',); $terms = wp_get_post_terms($post->ID,'product_cat', $args); $liczba = ilość($warunki); if ($count > 0) { foreach ($terms as $term) { echo '
'; echo 'Kategoria:' . $term->nazwa; echo '
'; } } ?> Po kilku godzinach eksperymentów i poszukiwań jesteście moją ostatnią nadzieją na rozwiązanie. Dziękuję.


title: Jak usunąć/usunąć wszystkie puste miejsca na początku/końcu wyszukiwanego ciągu?

text:
Używam hacka Chris_O do podświetlania wyszukiwanych haseł. Gdy użytkownik wprowadzi słowa kluczowe wyszukiwania bez spacji na początku lub na końcu ciągu wyszukiwania, ładnie wyszukuje i podświetla wyszukiwane terminy w odpowiednich rekordach. Ale jeśli użytkownik wprowadzi ciąg wyszukiwania z blank_space na początku lub na końcu, wyszukiwane terminy są pobierane i podświetlane, ale wszystkie nieanglojęzyczne części treści posta wydają się dziwne (np. ���� lub ????) . Chociaż treść w języku angielskim wygląda dobrze, ale z tagami (np. `<p style="text-align: center;">strona testowa</p>` itp.) Czy podczas hackowania można rozebrać/usunąć wszystkie spacje na początku/końcu szukanego ciągu? wielkie dzięki. Używam wersji 3.1.4 z domyślnym motywem dwadzieścia dziesięć. Oto hack: Krok 1: Dodaj te 2 funkcje do funkcji functions.php search_content_highlight() { $content = get_the_content(); $keys = implode('|', explode(' ', get_search_query())); $content = preg_replace('/(' . $keys .')/iu', ''placeholder4'', $content); echo '
' . $treść . '
'; } function search_title_highlight() { $title = get_the_title(); $keys = implode('|', explode(' ', get_search_query())); $title = preg_replace('/(' . $keys .')/iu', ''placeholder4'', $title); echo $tytuł; } Krok 2: W pliku loop.php mojego motywu wywołuję `<?php search_title_highlight(); ?>` zamiast `<?php the_title(); ?>` i użyj `<?php search_content_highlight(); ?>` zamiast `<?php the_content(); ?>` Krok 3: W moim css dodaj klasę search-highlight


title: Jak uzyskać listę wszystkich możliwych rozmiarów miniatur ustawionych w motywie?

text: Jakiej funkcji mogę użyć we wtyczce, aby uzyskać wymiary każdego rozmiaru obrazu (najlepiej w tablicy), który jest zdefiniowany w motywie potomnym? Dla wyjaśnienia nie pytam, jak _utworzyć_ nowy rozmiar obrazu.


title: co się stanie z istniejącymi plikami multimedialnymi, gdy przejdę na format struktury katalogów rok/miesiąc?

text: Witryna zawiera tysiące obrazów w folderze przesyłania. Dostawca usług internetowych zagroził jej zamknięciem, ponieważ wkrótce przekroczy limity serwera dotyczące maksymalnej liczby plików w jednym katalogu. Spojrzałem na panel Ustawienia > Media i jest tam niezaznaczona opcja "Porządkuj moje przesyłane pliki w folderach miesięcznych i rocznych" Jeśli to sprawdzę, co stanie się z istniejącymi obrazami w katalogu przesyłania (czy zostaną przeorganizowane ?) Jeśli nie, czy ktoś może polecić sposób/wtyczkę, aby przetworzyć je w nowej strukturze? Chciałbym posprzątać. Dziękuję Ci


title: osadź wideo i wyświetl w wyskakującym okienku

text: Zainstalowałem wtyczkę lightbox plus. Chcę wyświetlić mój film w wyskakującym okienku. Możesz też zasugerować mi dowolną alternatywną wtyczkę, która może wyświetlać moje wideo w wyskakującym okienku. źródło wideo pochodzi z mojego własnego serwera lokalnego.


title: Wyświetl nadchodzące wydarzenia na następne 7 dni

text: Widziałem prośbę o prosty 7-dniowy kalendarz wydarzeń, który zawsze zaczyna się od dzisiaj. Mam niestandardowe pole meta o nazwie czas otwarcia, które pobiera dane wejściowe RRRR-MM-DD. Na razie to jest to, co mam i to nie działa. Wychodzi tylko 2011-11-17, dzisiaj jest 11-11-2011, więc to jest błędne. Musi również zawierać błąd php, ponieważ żaden z wyjść bloga też nie. Z góry dziękuję. <ul id="days_header"> <?php $dzisiaj = data("o-m-d"); $future = strtotime ( '+6 dni' , strtotime ( $dziś ) ) ; $przyszłość = data ( 'o-m-d' , $przyszłość ); $event_query = new WP_Query( array( 'post_type' => 'event', 'meta_key' => 'opening_time', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array ( array( 'key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ) ) ) ); ?> <?php for ($i=0; $i<7; $i++): $thedate = strtotime ( '+'.$i.' dzień' , strtotime ( $dziś ) ) ; $data = data ( 'o-m-d' , $data ); ?> <li> <?php echo $thedate; ?> <?php if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post();?> <?php if(meta('opening_time') == $thedate) :?> <?php the_title(); ?> <?php jeszcze: ?> Brak wydarzeń Dzisiaj <?php endif; ?> </li> <?php endwhile; endif; rewind_posts(); ?>


title: Połącz wszystkie rozmiary obrazów Wordpress

text:
Jak mogę połączyć wszystkie przesyłane obrazy o różnych rozmiarach w wordpressie? Zdefiniowałem inny rozmiar obrazu za pomocą wtyczki prosty rozmiar obrazu, więc chciałbym pokazać w jednym poście, linki do wszystkich nowych przykładowych obrazów tutaj: http://topwalls.net/brink-6/ cześć to jest mój image.php <?php get_header(); ?>

 <?php while ( have_posts() ) : the_post(); ?> <id artykułu="post-<?php the_ID(); ?>" <?php post_class(); ?>>
 <?php $metadata = wp_get_attachment_metadata(); printf( __( 'Opublikowano %2$s w %4$s × %5$s w %7$s', 'warty uwagi' ), esc_attr( get_the_time() ), get_the_date(), wp_get_attachment_url(), $metadata['width'], $metadata['height' ], get_permalink( $post->post_parent ), get_the_title( $post->post_parent ) ); ?> <?php edit_post_link( __( 'Edytuj', 'warty uwagi' ), '| ', '' ); ?>

<?php the_title(); ?>

 <?php /** * Pobierz identyfikatory wszystkich obrazów załączników w galerii, aby uzyskać adres URL następnego sąsiedniego obrazu w galerii, * lub pierwszego obrazu (jeśli patrzymy na ostatni obraz w galeria) lub, w jednej galerii, po prostu link do tego pliku obrazu */ $attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', ' post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) ); foreach ( $attachments as $k => $attachment ) { if ( $attachment->ID == $post->ID ) break; } $k++; // Jeśli w galerii jest więcej niż 1 załącznik if ( count( $attachments ) > 1 ) { if ( isset( $attachments[ $k ] ) ) // pobierz adres URL następnego załącznika graficznego $next_attachment_url = get_attachment_link( $załączniki[ $k]->ID ); else // lub pobierz adres URL pierwszego załącznika graficznego $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID ); } else { // lub, jeśli jest tylko 1 obraz, pobierz adres URL obrazu $next_attachment_url = wp_get_attachment_url(); } ?> <a href="<?php echo $next_attachment_url; ?>" title="<?php echo esc_attr( get_the_title() ); ?>" rel="attachment"><?php $attachment_size = zastosuj_filtry( ' godny uwagi_rozmiar_załącznika', 1200 ); echo wp_get_attachment_image( $post->ID, array( $attachment_size, $attachment_size) ); // szerokość obrazu z możliwością filtrowania, zasadniczo bez limitu wysokości obrazu. ?>
 <?php if ( ! empty( $post->post_excerpt ) ) : ?>
 <?php wyciąg_(); ?>
 <?php endif; ?>
 <?php the_content(); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'warte uwagi'), 'after' => '
' ) ); ?>
  <?php if ( comments_open() && pings_open() ) : // Komentarze i trackbacki są otwarte ?> < ?php printf( __( 'Opublikuj komentarz lub zostaw trackback: Trackback URL.', 'warty uwagi' ), get_trackback_url() ); ?> <?php elseif ( ! comments_open() && pings_open() ) : // Tylko trackbacki są otwarte ?> <?php printf( __( 'Komentarze są zamknięte, ale możesz zostawić trackback: Trackback URL.', 'warty uwagi' ), get_trackback_url() ); ?> <?php elseif ( comments_open() && ! pings_open() ) : // Tylko komentarze otwarte ?> <?php _e( 'Trackbacki są zamknięte, ale możesz opublikuj komentarz.', 'warty uwagi' ); ?> <?php elseif ( ! comments_open() && ! pings_open() ) : // Komentarze i trackbacki zamknięte ?> <?php _e( 'Zarówno komentarze, jak i trackbacki są obecnie zamknięte.', 'warty uwagi' ); ?> <?php endif; ?> <?php edit_post_link( __( 'Edytuj', 'warty uwagi' ), ' ', '' ); ?>  </artykuł>  <?php poprzedni_obraz_link( false, __( 'Poprzedni' , 'warty uwagi') ); ?> <?php next_image_link( false, __( 'Dalej' , 'warte uwagi') ); ?>  <?php comments_template(); ?> <?php koniec; // koniec pętli. ?>

 dzięki Stew


title: Jak wykorzystać puste miejsce po lewej i prawej stronie posta?

text: (WordPress 3.5.1, motyw 20-11) Chciałbym użyć czerwonych obszarów po lewej i prawej stronie do posta, ale nie mogę znaleźć informacji, która wtyczka może sobie z tym poradzić. Jak mogę tam dodać treści - widżety f.x. A może musiałbym zmienić motyw? Wolałbym nie zmieniać kodu w tym celu. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/sG3zx.png)


title: wp_enqueue_ scripts

text: Szukałem odpowiedzi w górę i w dół - kodeks na `wp_enqueue_script` wydaje się dość prosty. Problem polega na tym, że kiedy dodaję mój niestandardowy skrypt fragmentu do pliku funkcji, rejestruję się, a następnie umieszczam go w kolejce (ustawiam miejsce w nagłówku), źródło jest wyświetlane w nagłówku jako: <script src="http://www.olliedaw. co.uk/wp-content/themes/DawRefrigerationMilkTanks/js/excerpt.js" type="text/javascript"> Który wygląda poprawnie w firebug, ale nadal pojawia się błąd 404, gdy patrzę na skrypt w firebug jako jeśli nie może znaleźć pliku! Nazwa pliku jest prawidłowa i znajduje się we właściwym miejscu, ale nadal nie można go załadować??? themes/Daw Chłodnicze zbiorniki na mleko/js/excerpt.js


title: Dlaczego kod JavaScript jest ignorowany z edytora wp?

text: W WordPressie, gdy publikuję stronę z kodem JS, jest ignorowany i niczego nie zwraca. Jak mogę się upewnić, że kiedy piszę kod HTML+JS zostanie przekonwertowany na wyjście?! Na przykład: `<a class="print" href="#" onClick="window.print();">PRINT</a>` Dziękuję! i przepraszam za mój słaby angielski!


title: Najbardziej efektywne wykorzystanie zapytań DB

text: Mam niestandardową tabelę bazy danych z dużą ilością danych, które chciałbym wykonać kilka razy z utworzonego przeze mnie pliku szablonu niestandardowego. Powiedzmy, że tabela db wygląda tak: id name city zip 23 Mike New York 123 54 Peter Los Angeles 456 78 Steven Chicago 789 79 Tom Los Angeles 450 I chcę uruchomić przynajmniej cztery zapytania, które wyglądają mniej więcej tak: SELECT * FROM table LIMIT $paginated,10 (pokazuje wszystkie nazwy) SELECT id,city FROM tabela GROUP BY miasto (będzie to rozwijana lista wszystkich miast) SELECT zip FROM tabela WHERE miasto = "Nowy Jork" GROUP BY zip To jest tylko trzy zapytania, ale w każdym razie - czy bardziej efektywne jest uruchomienie jednego dużego zapytania ze wszystkimi danymi w tablicy, a następnie po prostu zapętlenie tej tablicy w razie potrzeby, czy też lepiej wykonać rzeczywiste zapytania bazy danych? Używam $wpdb->get_results dla każdego zapytania oczywiście, czy jest to trudniejsze dla serwera? Mam na myśli, że używanie kodu WP do wykonywania zapytań DB powinno skutkować większą ilością kodu PHP do przetłumaczenia przez kompilator, czy się mylę?


title: treść zostaje zaszyfrowana

text: Za każdym razem, gdy ktoś edytuje naszego bloga, treść jest wyświetlana niepoprawnie. Wygląda to idealnie w edytorze wysiwyg, ale kiedy publikujesz stronę, treść jest całkowicie błędna (zdjęcia wyświetlane obok siebie itp. Jak temu zapobiec? przykładowy link


title: Nie można użyć get_results() w zapytaniu ajax

text:
Używam wywołania jquery ajax, aby uzyskać określone dane z wpdb i otrzymuję następujący komunikat: Błąd krytyczny: Wywołanie funkcji członkowskiej get_results() na obiekcie niebędącym obiektem w  C:\wamp\www\maps_en2\markers.php on line 15
 To jest wywołanie: $.ajax({ type: "POST", url: "markers .php", data: ({'southWestLat' : southWestLat , 'southWestLng' : southWestLng , 'northEastLat' : northEastLat , 'northEastLng' : northEastLng}), success: function(msg){ alert(}); ); A to jest tak zwany kod - markers.php: <?php global $wpdb; $sql = "SELECT user_id, lat, lng FROM współrzędne WHERE lat>".$_POST["southWestLat"]." i lat<".$_POST["northEastLat"]." and lng>".$_POST["southWestLng" "]." i lng<".$_POST["northEastLng"]; $wiersze = $wpdb->get_results($sql, OBJECT_K); ... ?> Dziwne jest to, że gdy kod php był na tym samym pliku co javascript (a zamiast parametrów 'southWestLat' itd. użyłem liczb, to zadziałało. Powinienem stwierdzić, że jquery jest w php plik znajdujący się w folderze dwadzieściaten z motywem, ale znaczniks.php znajduje się w katalogu głównym (z jakiegoś powodu nie można go użyć, gdy był w motywie).


title: post_content z formularzem kontaktowym 7

text: Czy można dodać name="post_content" do więcej niż jednego pola wejściowego? Używam wtyczki Contact Form 7, a teraz w poście zbierane jest tylko ostatnie pole wejściowe z name="post_content". Jeśli umieszczę cały formularz w div, otrzymuję tylko surowe dane (nie wypełnione). Czy ktoś może pomóc, proszę.


title: Wyklucz format posta z get_posts

text: Tytuł w zasadzie mówi wszystko. Wiem, że mogę użyć następującego, aby pobrać posty z formatu postu `aside`: $args = array( 'post_type'=> 'post', 'post_status' => 'publish', 'order' => 'DESC', 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => array( 'post-format-aside' ) ) ) ); $asides = get_posts( $args ); foreach ( $asides as $aside ) { setup_postdata( $aside ); // HTML... } Chciałbym wiedzieć **jak uzyskać posty, które _nie_ są w formacie `na bok`**?


title: Starcie przepisywania

text: Mam kategorię o nazwie „Okolice”. Mam również kategorie dzieci w ramach „sąsiedztwa”, np. Lakewood, Highland Park... Kiedy klikam 'highland park', adres URL to /pages/category/neighborhoods/highland-park Jak mogę zmienić zasady htaccces, aby podczas przeglądania parku górskiego adres URL był dzielnicami/highland park/ I umieść także post zatytułowany „park góralski”, aby strona z okolicami generowała kategorię „park górski”. Ale kiedy klikniesz, przeniesie Cię do strony z pojedynczym postem. Mam regułę przepisywania, która działa, gdy wchodzisz do /neighborhoods/, która przepisuje strony/kategoria/okolice/, ale przejście do kategorii podrzędnej powoduje wyświetlenie posta. **EDYTUJ:** tutaj jest zawartość pliku .htaccess RewriteRule ^sellers/? strony/sprzedawcy/ RewriteRule ^kupujący/? strony/kupujący/ RewriteRule ^neighborhoods/? strony/kategoria/okolice/


title: Tworzenie witryny tylko IE (jak witryna tylko na urządzenia mobilne)

text: Dla tych, którzy są ciekawi, zmieniam motyw, ale ten motyw opiera się na CSS3 i HTML5 i wyświetla się bardzo brzydko w IE 8 lub niższych. - Zwłaszcza nawigacja. To, co chcę zrobić, to zachować mój stary motyw i używać go tylko dla użytkowników IE. Zakładam, że jeśli można to zrobić w przypadku witryny mobilnej, można to zrobić w przypadku IE. Czy łatwiej byłoby po prostu uzyskać kolejną instalację WP i zduplikować zawartość (Jaki jest najłatwiejszy sposób na zrobienie tego?). A może istnieje metoda, taka jak metoda mobilna, aby przekierować użytkowników do tego motywu. Mój plan polegał na stworzeniu drugiej instalacji z istniejącym motywem, a następnie przechwyceniu zawartości strony głównej i dodaniu kodu IF przekierowującego użytkowników IE. Czy jest to możliwe, czy jest łatwiejszy lub prostszy sposób?


title: Jak mogę przesłać plik bez rozszerzenia?

text: Próbuję wgrać plik konfiguracyjny, żebym mógł zamieścić link do niego w moim poście. I otrzymuję błąd bezpieczeństwa, ponieważ typ pliku jest niedozwolony. Mój plik konfiguracyjny nie ma rozszerzenia. Znalazłem to pytanie: Dodawanie typów plików w wordpressie Czy istnieje sposób, aby dodać typ MIME „” dla typu „Bez rozszerzenia”?


title: Analytics powoduje awarię witryny

text:
Okej, więc strona, którą jestem webmasterem http://www.detroitdungeon.com, miała ostatnio pewne problemy analityczne. Mam zainstalowaną wtyczkę Google Analytics i od dłuższego czasu działała dobrze. Nagle wtyczka spowodowała awarię użytkowników IE po załadowaniu strony. Dlatego zamiast korzystać z wtyczki, zdecydowałem się użyć kodu podanego mi przez google i umieściłem go w stopce strony. Spowodowało to awarię strony internetowej we wszystkich przeglądarkach. po umieszczeniu kodu w stopce kod źródłowy brzmi Błąd analizy: błąd składni, nieoczekiwane T_CONSTANT_ENCAPSED_STRING, oczekiwano „,” lub „;” w /home/content/36/5385336/html/detroitdungeon/wp-content/themes/delighted_black2/footer.php na linii 5 Oto footer.php <?php include('footer_content.php');$delight_mainfont = get_option('delight_mainfont');echo '
Delighted Black zaprojektowany przez Christian Myspace i Projekt: Digital Designz Media GroupW połączeniu z Usługami Ping | Praca nauczyciela języka francuskiego | Praca nauczyciela matematyki


title: Problem z resetowaniem zapytania lub wadliwy kod, aby umożliwić niestandardowe zapytanie typu post

text: Po przeczytaniu tego i wypróbowaniu różnych opcji, w końcu jestem w stanie wyświetlić moje niestandardowe typy postów „recenzja” (utworzone za pomocą produktu „Zestaw narzędzi”), które będą wyświetlane wraz z moimi standardowymi zapytaniami o koty / tagi BEZ znikania menu! Oto kod, który wymyśliłem i umieściłem w pliku custom-functions.php mojego motywu: add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { if(is_category() || is_tag() || is_home() && empty($query->query_vars['suppress_filters'] ) ) { $post_type = get_query_var('post_type'); if($post_type) $post_type = $post_type; else $post_type = array('post','testimonial','nav_menu_item'); $query->set('post_type',$post_type); zwróć $zapytanie; } } Będąc w tym nowym, nie jestem do końca pewien, jak to się ma do pętli, więc oczywiście teraz problem polega na tym, że podczas pobierania moich niestandardowych typów postów na tej samej stronie znajduje się widżet stopki pobierany z tego samego niestandardowego typu postów daje dziwne wyniki, więc wydaje się jasne, że muszę zastosować wp_reset_query(); lub wp_reset_postdata(); - ale moje wysiłki, aby to zastosować, nie działają. Próbowałem go w ostatnim kontenerze samego zapytania i w różnych lokalizacjach tematycznych. Zastanawiam się, czy naprawdę nie robię tego dobrze, czy zamiast tego w moim kodzie czai się fatalna wada??? Mam nadzieję, że ktoś może mnie uratować, to było takie frustrujące... * * * ADDENDUM - Aktualizuję to na podstawie otrzymanych komentarzy... Jeśli to pomaga innym, wypróbowałem kilka zmian z poniższych sugestii, ale nie zastosowałem się je poprawnie na początku... więc na przykład mieszanie '$query->is_category() || $query->is_tag()', itp. z po prostu 'is_main_query()' (duh) i widząc, że to się nie powiodło, założyłem, że to drugie dodanie nie pomaga ... ale potem przeczytałem ponownie i zastosowałem się do pełnej sugestii, stosując następujące: add_filter ( „pre_get_posts”, „query_post_type”); function query_post_type($query) { if($query->is_category() || $query->is_tag() || $query->is_home() && $query->is_main_query()) { $post_type = get_query_var(' typ_postu'); if($post_type) $post_type = $post_type; else $post_type = array('post','testimonial'); $query->set('post_type',$post_type); zwróć $zapytanie; } } ... i teraz wygląda na to, że działa poprawnie! Tak więc, jak wspomniano poniżej, nie włączając $query-> do każdego z elementów instrukcji, które zostały wprowadzone w złym mojo! Wygląda również na to, że jestem teraz w stanie wyeliminować && pusty($query->query_vars['suppress_filter'], a także dodanie 'nav_menu_item', ponieważ filtr jest teraz stosowany we właściwej lokalizacji. Wielkie dzięki za pomoc z tym.


title: Dlaczego otrzymuję białą stronę, gdy importuję kopię zapasową starego bloga WP na mój lokalny serwer WWW?

text: Jestem całkiem nowy z WP (pochodzę z Joomla) i mam problem z ładowaniem starej kopii zapasowej WP na moim lokalnym Apache. Wziąłem katalog zawierający stary blog (nazwany blog) i umieściłem go w moim lokalnym katalogu **www** mojego lokalnego systemu Ubuntu. Następnie zaimportowałem kopię zapasową bazy danych na mój lokalny serwer MySql i ostatecznie zmieniłem plik **wp-config.php** zmieniając informacje o mojej lokalnej bazie danych. Problem polega na tym, że kiedy próbuję otworzyć adres: http://localhost/blog/ w mojej przeglądarce pojawia się strona z witką i nie widzę żadnego wyjścia Dlaczego? Jaki może być problem? Jak mogę spróbować go rozwiązać? Tnx Andrea


title: Po migracji starego bloga WP na moim lokalnym serwerze WWW pojawia się biały ekran, dlaczego? czy jest to problem z tabelą wp_options DB?

text: Jestem całkiem nowy w WP (pochodzę z Joomla) i napotykam pewne trudności w migracji starej witryny WP (wykonanej w WP 3.5) na mój lokalny serwer WWW. Wykonałem następującą operację: 1. Umieściłem kopię zapasową witryny w katalogu o nazwie **blog** w moim katalogu Apache **www** w moim lokalnym systemie Ubuntu. 2. Następnie umieściłem kopię zapasową bazy danych na moim lokalnym serwerze MySql 3. Na koniec zmieniłem wartości w pliku **wp-config.php**, aby użyć mojej lokalnej bazy danych Problem polega na tym, że gdy próbuję otworzyć adres URL : http://localhost/blog/ aby zobaczyć stronę, którą widzę (biały ekran) Wewnątrz **wp-config.php** aktywowałem tryb debugowania linią: define('WP_DEBUG', true) ; a błędów nie mam, więc myślę, że to nie jest problem z DB. Wewnątrz pliku dziennika błędów Apache ( **/var/log/apache2/error.log** ) znalazłem następujące błędy: [Fri Jan 10 22:04:50 2014] [notice] Apache/2.2.22 ( Ubuntu) PHP/5.3.10-1ubuntu3.9 ze skonfigurowanym Suhosin-Patch -- wznawianie normalnych operacji [Pt 10 stycznia 22:05:08 2014] [błąd] [klient 127.0.0.1] Ostrzeżenie PHP: require_once(/var/www /blog/wp-load.php): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /var/www/blog/wp-blog-header.php w wierszu 12 [piątek 10 stycznia 22:05:08 2014] [ błąd] [klient 127.0.0.1] PHP Błąd krytyczny: require_once(): Nieudane otwarcie wymaganego '/var/www/blog/wp-load.php' (include_path='.:/usr/share/php:/usr/share /pear') w /var/www/blog/wp-blog-header.php w wierszu 12 [Pt 10 stycznia 22:38:37 2014] [błąd] [klient 127.0.0.1] Ostrzeżenie PHP: require_once(/var/ www/blog/wp-load.php): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /var/www/blog/wp-blog-header.php w linii 12 [piątek 10 stycznia 22:38:37 2014] [błąd] [klient 127.0.0.1] PHP Błąd krytyczny: require_once(): Nieudane otwarcie wymaganego '/var/www/blog/wp-load.php' (include_path='.:/usr/share/php:/usr/share/pear') w /var/www/blog/ wp-blog-header.php w wierszu 12 [piątek 10 stycznia 22:38:38 2014] [błąd] [klient 127.0.0.1] Ostrzeżenie PHP: require_once(/var/www/blog/wp-load.php): nie powiodło się aby otworzyć strumień: Brak takiego pliku lub katalogu w /var/www/blog/wp-blog-header.php w wierszu 12 [piątek 10 stycznia 22:38:38 2014] [błąd] [klient 127.0.0.1] Błąd krytyczny PHP : require_once(): Nieudane otwarcie wymaganego '/var/www/blog/wp-load.php' (include_path='.:/usr/share/php:/usr/share/pear') w /var/www/blog /wp-blog-header.php w wierszu 12 [piątek 10 stycznia 22:38:39 2014] [błąd] [klient 127.0.0.1] Ostrzeżenie PHP: require_once(/var/www/blog/wp-load.php): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /var/www/blog/wp-blog-header.php w wierszu 12 [piątek 10 stycznia 22:38:39 2014] [błąd] [klient 127.0.0.1] PHP Fatal error: require_once(): Nieudane otwarcie wymaganego '/var/www/blog/wp-load.php' (include_path='.:/usr/share/php: /usr/share/pear') w /var/www/blog/wp-blog-header.php w wierszu 12 [Pt 10 stycznia 22:38:40 2014] [błąd] [klient 127.0.0.1] Ostrzeżenie PHP: require_once (/var/www/blog/wp-load.php): nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /var/www/blog/wp-blog-header.php w wierszu 12 [piątek 10 stycznia 22:38 :40 2014] [błąd] [klient 127.0.0.1] PHP Błąd krytyczny: require_once(): Nieudane otwarcie wymagane '/var/www/blog/wp-load.php' (include_path='.:/usr/share/php :/usr/share/pear') w /var/www/blog/wp-blog-header.php on line 12 Czytając online wydaje mi się, że muszę też zmienić wartości **home** i * *siteurl** do tabeli bazy danych **wp_options** (zawierały referencje do strony na starym serwerze), więc zmieniłem to na następujące wartości: * **home** : `http://localhost/ blog` * **siteurl** : `http://localhost/blog` Ale problem nadal występuje (zawsze widzę biały ekran). Myślę, że może problem może polegać na tym, że te wartości są błędne, a może zmieniłem jakieś inne wartości? A może tworzę również konkretny plik **.htacces** w moim katalogu **blog**? (teraz nie mam pliku **.htaccess**) Masz pomysł, jak rozwiązać ten problem? Tnx Andrea


title: Lepsza metoda dla wielu Meta Boxów

text:
Uczę się o metaboksach i mam je pojawiać się na moim lokalnym deweloperze, ale nie mogę wymyślić, jak uniknąć tworzenia nowych funkcji do zapisywania wielu metaboksów. Zakładam, że mógłbym wywołać tablicę i ponownie użyć tych samych funkcji do generowania zawartości metabox i zapisywania jej, ale podczas próby pojawiają się błędy. Oto kod, który mam teraz w moim pliku funkcji: /** * Niestandardowa zawartość meta strony głównej * **/ // Dodaj funkcję Meta Box add_home_meta_box() { add_meta_box( 'home_meta_box', // $id 'Zawartość strony głównej ', // $title 'show_home_meta_box', // $callback 'page', // $page 'normal', // $context 'high'); // $priority add_meta_box( 'home_meta_box_lower_1', // $id 'Home dolny lewy', // $title 'show_home_meta_box_lower_left', // $callback 'page', // $page 'normal', // $context 'high '); // $priority } add_action('add_meta_boxes', 'add_home_meta_box'); // Tworzenie tablicy dla pól $prefix = 'home_'; $home_meta_fields = array( array( 'label' => 'Tytuł podpisu', 'desc' => 'Tytuł podpisu H2 górnej sekcji.', 'id' => $prefix.'title', 'type' => 'text ' ), array( 'label' => 'Tytuł podpisu', 'desc' => 'Tytuł podpisu H3 górnej sekcji.', 'id' => $prefix.'sub_title', 'type' => 'text' ), array( 'label'=> 'Caption', 'desc' => 'Blok tekstu podpisu.', 'id' => $prefix.'caption', 'type' => 'textarea' ), array( ' name' => 'Caption Image', 'desc' => 'Prześlij wstępnie przycięty obraz o szerokości 1140 pikseli i wysokości 530 pikseli, zoptymalizowany pod kątem sieci.', 'id' => $prefix.'image', 'type' => ' image' ) );// koniec tablicy podpisów $prefix2 = 'home_lower_left'; $home_meta_fields_lower_left = array( array( 'label' => 'Tytuł kolumny', 'desc' => 'Tytuł H2 dla kolumny.', 'id' => $prefix2.'title', 'type' => 'text' ), array( 'name' => 'Obraz w kolumnie', 'desc' => 'Prześlij wstępnie przycięty obraz zoptymalizowany do internetu o szerokości 360 i wysokości 300 pikseli', 'id' => $prefix2.'image', ' type' => 'image' ), array( 'label' => 'Podtytuł kolumny', 'desc' => 'Podtytuł H3 nad blokiem tekstu.', 'id' => $prefix2.'sub_title' , 'type' => 'text' ), array( 'label'=> 'Blok tekstu', 'desc' => 'Blok tekstu podpisu.', 'id' => $prefix2.'caption', 'type' => 'textarea' ), array( 'label' => 'Etykieta przycisku', 'desc' => 'Etykieta linku przycisku (co użytkownik czyta na przycisku).', 'id' => $prefix2.'btn_label', 'type' => 'text' ), array( 'label' => 'Przycisk URL', 'desc' => 'URL, do którego prowadzi link. Wpisz http:// do pracy.', 'id' => $prefix2.'btn_url', 'type' => 'text' ) );// end lower left array //funkcja Callback show_home_meta_box() { global $ home_meta_fields, $post; // Użycie wartości nonce do weryfikacji echo '<input type="hidden" name="home_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; //Rozpocznij tabelę pól i pętlę echo '
'; foreach ($home_meta_fields as $field) { // pobierz wartość tego pola, jeśli istnieje dla tej strony $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 '; switch($field['type']) { // wielkość liter pojawią się tutaj // wielkość liter 'text': echo '<input type="text" name="'.$field['id'].'" id="'.$pole['id'].'" value="'.$meta.'" size="30" />
'.$pole[' opis'].''; przerwanie; // wielkość liter textarea 'textarea': echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows=" 4">'.$meta.'</textarea>
'.$pole['desc'].''; przerwanie; wielkość liter 'image': $image = get_template_directory_uri().'library/images/img-preview-blank.png'; echo ''.$image.''; if ($ meta) { $ image = wp_get_attachment_image_src ($ meta, 'medium'); $obraz = $obraz[0]; } echo '<input name="'.$field['id'].'" type="hidden" class="custom_upload_image" value="'.$meta.'" />
 <input class="custom_upload_image_button button" type="button" value="Wybierz obraz" />  Usuń obraz
'.$field['desc' ].''; przerwanie; } // koniec przełącznika echo '
'; } // koniec foreach echo '
'; // zakończenie tabeli } // Zapisz funkcję danych save_home_meta($post_id) { global $home_meta_fields; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['home_meta_box_nonce'], basename(__FILE__))) return $post_id; // sprawdź autozapis if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // sprawdź uprawnienia if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) return $post_id; } elseif (!current_user_can('edit_post', $post_id)) { return $post_id; } // przejdź przez pola i zapisz dane foreach ($home_meta_fields jako $field) { $old = get_post_meta($post_id, $field['id'], true); $nowy = $_POST[$pole['id']]; if ($nowy && $nowy != $stary) { update_post_meta($post_id, $field['id'], $new); } elseif ('' == $nowy && $stary) { delete_post_meta($post_id, $field['id'], $old); } } // koniec foreach } add_action('save_post', 'save_home_meta'); // Lewy dolny róg //Funkcja wywołania zwrotnego show_home_meta_box_lower_left() { global $home_meta_fields_lower_left, $post; // Użycie wartości nonce do weryfikacji echo '<input type="hidden" name="home_meta_box_left_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; //Rozpocznij tabelę pól i pętlę echo '
'; foreach ($home_meta_fields_lower_left as $field) { // pobierz wartość tego pola, jeśli istnieje dla tej strony $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 '; switch($field['type']) { // wielkość liter pojawią się tutaj // wielkość liter 'text': echo '<input type="text" name="'.$field['id'].'" id="'.$pole['id'].'" value="'.$meta.'" size="30" />
'.$pole[' opis'].''; przerwanie; // wielkość liter textarea 'textarea': echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows=" 4">'.$meta.'</textarea>
'.$pole['desc'].''; przerwanie; wielkość liter 'image': $image = get_template_directory_uri().'library/images/img-preview-blank.png'; echo ''.$image.''; if ($ meta) { $ image = wp_get_attachment_image_src ($ meta, 'medium'); $obraz = $obraz[0]; } echo '<input name="'.$field['id'].'" type="hidden" class="custom_upload_image" value="'.$meta.'" />
 <input class="custom_upload_image_button button" type="button" value="Wybierz obraz" />  Usuń obraz
'.$field['desc' ].''; przerwanie; } // koniec przełącznika echo '
'; } // koniec foreach echo '
'; // zakończenie tabeli } // Zapisz funkcję danych save_home_meta_lower_left($post_id) { global $home_meta_fields_lower_left; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['home_meta_box_left_nonce'], basename(__FILE__))) return $post_id; // sprawdź autozapis if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // sprawdź uprawnienia if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) return $post_id; } elseif (!current_user_can('edit_post', $post_id)) { return $post_id; } // przejdź przez pola i zapisz dane foreach ($home_meta_fields_lower_left jako $field) { $old = get_post_meta($post_id, $field['id'], true); $nowy = $_POST[$pole['id']]; if ($nowy && $nowy != $stary) { update_post_meta($post_id, $field['id'], $new); } elseif ('' == $nowy && $stary) { delete_post_meta($post_id, $field['id'], $old); } } // koniec foreach } add_action('save_post', 'save_home_meta_lower_left'); Dzięki za pomoc! Bardzo doceniane.


title: Wymienić wszystkie niestandardowe posty typu post z danej kategorii?

text: Mam niestandardowy typ posta `myposttype` i jego taksonomia nazywa się `myposttype_categories`. „myposttype_categories” zawiera wiele terminów, takich jak „foo” i „bar”. Trudne pytanie brzmi - jak wylistować wszystkie posty myposttype, które należą do `foo` (lub `bar`)? Myślałem, że to powinno działać, ale tak nie jest: $args = array( 'post_type' => 'myposttype', 'myposttype_categories'=> 'foo'); $pętla = nowe WP_Query( $args ); A pętla jest zawsze pusta. Próbowałem prawdopodobnie wszystkich parametrów taksonomii dla WP_Query(), sprawdzając również parametry kategorii. Istnieją bardzo stare posty poruszające ten problem, ale wygląda na to, że po 3 latach nadal nie działa...? A może czegoś mi brakuje? http://wordpress.org/support/topic/wp_query-and-custom-taxonomies http://core.trac.wordpress.org/ticket/13582 [edytuj] W ten sposób rejestruję swój typ posta: add_action('init' , 'moj_rejestr_typu_post'); function myposttype_register() { $labels = array( 'name' => _x('Myposttype', 'General name type post type'), 'singular_name' => _x('Myposttype item', 'myposttype item'), 'add_new' => _x('Dodaj Myposttype', 'myposttype item'), 'add_new_item' => __('Dodaj nowy element'), 'edit_item' => __('Edytuj element'), 'new_item' => __(' Nowy element'), 'view_item' => __('Wyświetl element'), 'search_items' => __('Wyszukaj elementy'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __ ('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'menu_icon' => get_stylesheet_directory_uri() . '/article16.png', 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor ','thumbnail','page-atributes','comments','trackbacks'), 'show_in_nav_menus' => true, ); register_post_type( 'myposttype' , $args ); } I taksonomia: register_taxonomy("myposttype_categories", array("myposttype"), array("hierarchical" => true, "label" => "Categories", "singular_label" => "Type", "rewrite" => true ));


title: $form_fields z attachment_fields_to_edit zwraca pustą tablicę

text: Próbuję usunąć pole podpisu ze strony edycji załączników innych niż obrazy, co powinno być prostą sprawą „unset($post['post_excerpt'])”, ale nie mogę cofnąć nieistniejącej wartości. .. Patrząc na rdzeń, ta tablica jest pusta, co powinno oznaczać, że na stronie załącznika nie ma żadnych pól, ale są tam wszystkie oczekiwane pola (plus te niestandardowe, które dodałem). Jestem kompletnie zbity z tropu. Przy stosowaniu filtra wypróbowałem bardzo wysokie i bardzo niskie wartości priorytetów, z których żadna nie robi różnicy. Poniżej znajduje się przypadek testowy pokazujący pustą tablicę przed i tablicę z tylko moim niestandardowym polem po. function attachment_fields_edit( $form_fields, $post ) { print_r( $form_fields ); // Array ( ) $form_fields['author'] = array( 'label' => __('Autor'), 'input' => 'text', 'value' => get_post_meta( $post->ID, " autor", prawda ) ); print_r( $form_fields ); /* WYJŚCIE: Tablica ( [autor] => Tablica ( [etykieta] => Autor [wejście] => tekst [wartość] => Nazwa autora ) ) */ } add_filter( 'attachment_fields_to_edit', 'attachment_fields_edit', null, 2 );` Nie wiem co z tym zrobić. Nie ma to sensu w oparciu o kod, na który patrzę. Każda pomoc byłaby mile widziana! PS: Biorąc pod uwagę ostatnie zmiany w Menedżerze mediów, moja teoria robocza jest taka, że może to być w jakiś sposób powiązane z tą zmianą...


title: Tworzenie pól w bazie danych

text: Jestem nowicjuszem we wtyczce wordpress i jest to moja pierwsza wtyczka, którą teraz robię. Chcę, aby po uruchomieniu wtyczka utworzyła kilka predefiniowanych pól w bazie danych, a także te same pola na stronie formularza. Więc jak to zrobić. Każda pomoc będzie bardzo cenna.


title: Jak na podstawie kodu źródłowego dowiedzieć się, który plik (pliki) należy edytować?

text: Właśnie zacząłem pracę w firmie i mają stronę internetową, która została częściowo ukończona przez innego projektanta i zatrudnili mnie do uzupełnienia i wprowadzenia zmian. Wygląda na to, że większość strony została stworzona w WordPressie, ale część z nich wydaje się być tworzona ręcznie w HTML i CSS. Witryna jest pod adresem http://www.executivetravellink.com/ Mam dostęp do ich FTP, więc mogę przesyłać pliki lokalnie i mogę je zobaczyć, ale mój problem polega na tym, że nie mogę stwierdzić, które pliki się zmieniają zostały wykonane. Na przykład, jeśli widzisz u góry pasek nawigacji z „Loty”, „Rejsy” itp., możesz zauważyć, że poprzedni projektant dodał małe ikony obok linków. Wiem, że jeśli wejdziesz w Wygląd ---> Menu, możesz dodać/edytować linki w menu, a obrazy można wstawić za pomocą pliku style.css w Wordpress. Nie jestem jednak pewien, w jakim pliku przechowywał te rzeczywiste obrazy, więc mogę dodać nowe. Również mam ten problem na wielu stronach, ale na przykład na http://www.executivetravellink.com/brands/hotel-brands/, kiedy wchodzisz na stronę marek hotelowych w Wordpress, widzę pierwszą paragraf o Club Med, ale zakładam, że pozostałych paragrafów nie ma i muszą być w osobnym pliku z nim powiązanym. Próbowałem wstawić baner nad pierwszym akapitem, ale się nie pojawił. Patrząc na kod źródłowy, czy ktoś byłby w stanie poznać odpowiedź na to pytanie? Nadal jestem bardzo nowy w Wordpress i nie mogę powiedzieć, że jestem ekspertem w HTML i CSS w tym momencie. Każda informacja, którą ktoś mógłby mi udzielić, byłaby z pewnością bardzo mile widziana. Dziękuję!


title: Jak wyświetlić miniatury na podstawie kategorii niestandardowych?

text: Muszę wyświetlić (wyświetlić) wszystkie miniatury z moich niestandardowych typów postów w szablonie strony opartym na kategoriach produktów. Na przykład mam niestandardową kategorię o nazwie „Sztuka” i niektóre produkty z obrazami (niestandardowy typ postu) włączone przez „Obraz polecany” powiązany z kategorią „Sztuka”. Teraz chciałbym wyświetlić TYLKO wszystkie miniatury produktów z kategorii Sztuka na mojej stronie niestandardowej Szablon. Czy możesz dać mi znać, jak to zrobić? Uważam, że ta metoda działa tylko na jednej stronie bez możliwości wyboru spośród stron! <?php the_post_thumbnail(); ?>


title: Jak uniemożliwić pustej kategorii wyświetlanie zawartości podkategorii?

text: Mam następującą strukturę kategorii: A -> B -> C D (B to podkategoria A, a C to podkategoria B) Mam zawartość tylko dla kategorii „C”, a jeśli otworzę kategorię „B” zawartość wyświetlana jest kategoria „C”. Jak mogę temu zapobiec? Chcę wyświetlić „Brak postów”, jeśli otworzę kategorię „B”.


title: Czy mogę mieć inne menu dla każdej strony nadrzędnej?

text: Na mojej stronie mam 4 różne menu. W tej chwili korzystam z rozwiązania problemu, który tu zamieściłem, aby menu wyświetlało się za pomocą frameworka CSS, z którego korzystam. Każde z tych menu ma pewną liczbę stron podrzędnych i na tych stronach podrzędnych chciałbym wyświetlić odpowiadające im menu. Na przykład, dzieci O nas pokazywałyby tylko menu o nas, dzieci kontaktowe pokazywałyby tylko menu kontakt. Mój plik functions.php pokazujący menu to: <?php function register_my_menus() { register_nav_menus( array( 'about-menu' => __( 'O nas Menu' ), 'how-menu' => __( 'Jak to zrobić Menu' ), 'services-menu' => __( 'Menu naszych usług' ), 'online-menu' => __( 'Do It Online Menu' ) ) ); } add_action( 'init', 'register_my_menus' ); ?> W moim umyśle wyobrażam sobie, że to skrypt w pliku header.php, który miałby po prostu serię instrukcji if. Doceniam twoją pomoc. * * * EDIT: Właściwie rozwiązałem ten problem, używając serii instrukcji if i używając php include na stronach. Dla wszystkich zainteresowanych skorzystałem z powyższego rozwiązania z następującym kodem: <?php if ( $post->post_parent == '1' || is_page(1) ) { $menu_name = 'about-menu'; // i tak dalej.. } elseif ( $post->post_parent == '2' || is_page(2) ) { $menu_name = 'menu_kontaktowe'; // i tak dalej.. } ?> To prawda, że może nie jest to najlepszy sposób na zrobienie tego, co z dużą ilością powtarzanego kodu, ale działa to dla mnie i mam nadzieję, że przyniesie korzyści innym w przyszłości.


title: Wyświetl całkowitą liczbę udostępnień społecznościowych

text: Muszę wyświetlić całkowitą liczbę udostępnień społecznościowych, tak jak mashable na swojej stronie internetowej. ![](http://i.stack.imgur.com/KSPja.jpg) To nie problem, znalazłem kod php, który wykonuje swoją pracę. function getTotalShares($atts) { extract(shortcode_atts(array( 'cache' => '3600', 'url' => 0, 'f' => 0, 'bgcolor' => '#ffffff', 'bordercolor' = > '#ffffff', 'borderwidth' => '0', 'bordertype' => 'solid', 'fontcolor' => '#7fc04c', 'fontsize' => '55', 'fontweight' => 'normalny ', 'dopełnienie' => '1' ), $atts)); $shareHash = "$cache.$url.$f.$bgcolor.$bordercolor.$borderwidth.$bordertype.$fontcolor.$fontsize.$fontweight.$padding"; $totalShareRecord = 'ogółemudziałów_' . $shareHash; $cachedposts = get_transient($totalShareRecord); if ($cachedposts !== false) { return $cachedposts; } else { if (!$url) $url = get_permalink($post->ID); $json = file_get_contents("http://api.sharedcount.com/?url=". rawurlencode($url)); $liczba = json_decode($json, prawda); $return = $counts['Twitter'] + $counts['Facebook']['total_count'] + $counts['GooglePlusOne']; if ($f) $return = ' ' . $powrót . ' '; set_transient($totalShareRecord, $return, $cache); return $powrót; } } add_shortcode('totalshares','getTotalShares'); Teraz problem! Powyższy kod pobiera numery udziałów na podstawie permalinku, który jest pobierany przez `get_permalink($post->ID);`. Moja witryna działa jako agregator treści, więc chcę pobrać liczbę udostępnień oryginalnego adresu URL posta, który w mojej witrynie jest wypełniony w meta postu `links_link_custom`. Moje pytanie brzmi: czy to możliwe? Mam nadzieję, że ten tekst nie jest mylący, proszę o komentarz, jeśli potrzeba więcej informacji.


title: Masonry Dołącz posty WordPress za pomocą singleMode

text: Używam Masonry w witrynie Wordpress, aby wyświetlać posty z niestandardowego typu postu (training_videos). Ponieważ wszystkie kolumny mają tę samą szerokość, używam opcji singleMode = true. Witryna jest witryną responsywną wykorzystującą szkielet, dlatego muszą mieć tę samą szerokość, aby zapewnić jednolite wyświetlanie. Mogę sprawić, że doniczki będą się dobrze wyświetlać, a aspekt murarski jest dobry, ale... ...Ponieważ typ postu training_videos zawiera „więcej niż kilka” postów, chcę mieć możliwość wyświetlania tylko 6 na raz, z przyciskiem dołączania, który dodaje 6 kolejnych pod spodem i tak dalej, aż nie będzie już więcej do dodania. Tutaj utknąłem. Nie wiem, jak to zmusić do pracy! Oto wywołanie JS Masonry, którego używam do tej pory: <skrypt> jQuery(document).ready(function($) { $('#masonry').masonry({singleMode: true}); }); </script> „#masonry” jest kontenerem, w którym znajdują się posty Po przejściu faktycznej strony z samouczkami dotyczącymi murarstwa, jestem kompletnie zakłopotany! Dziękuję


title: Wiele Meta Boxów w osobnych plikach

text: Oto problem, chcę mieć kilka różnych metaboxów na moich stronach, ale chciałbym mieć możliwość przechowywania każdego z nich w osobnych plikach i włączania ich do funkcji, dzięki czemu mogę po prostu skopiować określone do nowych instalacji i uwzględniał je indywidualnie dla każdego przypadku. Z tego, co mogę zebrać, wygląda na to, że muszę umieścić je wszystkie w jednej tablicy?


title: Captcha nie wyświetla się

text: Używam motywu Feed Engine dla witryny pytań i odpowiedzi. Mam problem, że nie wyświetla captha (patrz tutaj). Byłbym bardzo wdzięczny, gdyby ktoś mógł mi pomóc. Z góry dziękuję. **EDYTUJ:** Oto plik `CaptchaSecurityImages.php`, który wyświetla błąd w linii `34` <?php session_start(); class CaptchaSecurityImages { function generateCode($characters) { /* lista wszystkich możliwych znaków, podobnie wyglądające znaki i samogłoski zostały usunięte */ $possible = '23456789bcdfghjkmnpqrstvwxyz'; $kod = ''; $i = 0; while ($i < $znaki) { $kod .= substr($możliwe, mt_rand(0, strlen($możliwe)-1), 1); $i++; } zwraca kod $; } function CaptchaSecurityImages($width='120',$height='40',$characters='6') { $font = "monofont.ttf"; $kod = $this->generujKod($znaki); /* rozmiar czcionki będzie wynosił 75% wysokości obrazka */ $font_size = $wysokość * 0,75; $image = imagecreate($width, $height) or die('Nie można zainicjować nowego strumienia obrazu GD'); /* ustaw kolory */ $background_color = imagecolorallocate($image, 255, 255, 255); $text_color = imagecolorallocate($obraz, 20, 40, 100); $noise_color = imagecolorallocate($obraz, 100, 120, 180); /* generuj losowe kropki w tle */ for( $i=0; $i<($width*$height)/3; $i++ ) { imagefilledellipse($image, mt_rand(0,$width), mt_rand(0, $wysokość), 1, 1, $noise_color); } /* generuj losowe linie w tle */ for( $i=0; $i<($width*$height)/150; $i++ ) { imageline($image, mt_rand(0,$width), mt_rand(0 ,$wysokość), mt_rand(0,$szerokość), mt_rand(0,$wysokość), $szum_kolor); } /* utwórz pole tekstowe i dodaj tekst */ $textbox = imagettfbbox($font_size, 0, $font, $code) or die('Błąd w funkcji imagettfbbox'); $x = ($szerokość - $pole tekstowe[4])/2; $y = ($wysokość - $pole tekstowe[5])/2; imagettftext($image, $font_size, 0, $x, $y, $text_color, $font , $code) or die('Błąd w funkcji imagettftext'); /* wyślij obraz captcha do przeglądarki */ header('Content-Type: image/jpeg'); imagejpeg($obraz); imagedestroy($obraz); $_SESSION['kod_zabezpieczenia'] = $kod; } } $szerokość = isset($_GET['szerokość']) && $_GET['szerokość'] < 600 ? $_GET['szerokość'] : '120'; $wysokość = isset($_GET['wysokość']) && $_GET['wysokość'] < 200 ? $_GET['wysokość'] : '40'; $znaki = isset($_GET['znaki']) && $_GET['znaki'] > 2 ? $_GET['znaki'] : '6'; $captcha = nowy CaptchaSecurityImages($szerokość,$wysokość,$znaki); ?>


title: Wtyczka Wordpress do dynamicznego linku do pobierania?

text: Używam Wordpressa i lubię podawać stronę z linkiem do pobrania. Ten link wskazuje na nowy plik KAŻDEGO DNIA. Czy istnieje wtyczka, która może to zrobić? * Przechowuj listę nazw plików na dzień * Obracaj się każdego dnia, używając właściwej nazwy pliku Jeśli nie, mogę obejść się, używając pewnego rodzaju skrótu + rrrrmmdd w nazwie pliku. Ale nie wiem jak. Jakaś pomoc? Dziękuję.


title: jak dodać ikonę/obrazek do motywu potomnego?

text: Stworzyłem temat potomny z tematu dwudziestu dziesięciu. W sekcji motywów pod wyglądem widzę tylko tytuł motywu potomnego, nazwisko autora i szare pole nad nim. Jak dodać ikonę/obrazek do wyświetlenia w szarym polu?


title: Problem z przekierowaniem adresu URL wyszukiwania

text: Mam dziwny problem ze stroną wyników wyszukiwania, gdy szukam, otrzymuję to w adresie URL http://f.cl.ly/items/2Z1c1b2G1n0B3r3W063B/Screen%20Shot%202011-09-29%20at%201.21.19 %20PM.png "zobacz X i Y" ? nie wiem, skąd się wzięli i nie wiem, jak to naprawić, i to psuje moją paginację, więc jak mogę to naprawić? Dziękuję


title: Wordpress nie wyśle wiadomości e-mail po zarejestrowaniu użytkownika

text: Kiedy użytkownik rejestruje się na mojej witrynie wordpress, nie wysyła mu e-maila zawierającego hasło. Zauważyłem, że wiadomość e-mail została wysłana, gdy adres e-mail użytkownika to `@moja_domena.com`, ale dla innych, powiedzmy, gmail.com lub yahoo.com, nie wysyła on wiadomości e-mail. Jak to naprawić?


title: nie mogę niczego wgrać do wordpress

text: Mam wersję roboczą 3.8.1. czasami, gdy próbuję przesłać obraz, pdf za pomocą funkcji worpdress, zacina się na 100% i nic nie jest rejestrowane w plikach dziennika, więc nie wiem, na czym polega problem. jednak widziałem następujące, które pojawiają się losowo, zdjęcie w załączeniu![tutaj wpisz opis obrazu](http://i.stack.imgur.com/NOvzm.png)


title: register_sidebar 'after_widget' na niestandardowych widżetach nie implementuje, powoduje zagnieżdżone widżety

text:
Rejestrując mój pasek boczny, chcę, aby każdy widżet był opakowany w `<aside>`. Działa to dobrze, gdy używam wbudowanych widżetów, takich jak _Kalendarz_ lub _wyszukiwanie_ , jednak gdy dodaję utworzone przez siebie widżety, zamykający `<aside>` nie otrzymuje danych wyjściowych. Dlatego otrzymuję strukturę podobną do: <widgets-area> <custom-widget> <custom-widget> </custom-widget> </custom-widget> </widgets-area> Kiedy powinno wyglądać tak: <widgets-area> <custom-widget> </custom-widget> <custom-widget> </custom-widget> </widgets-area> **register_sidebar** register_sidebar( array( 'name' => __( ' Sidebar', 'mysite' ), 'id' => 'sidebar-1', 'before_widget' => '', 'after_widget' => '', 'before_title' => '
', 'after_title' => '
', ) ); Kod dla moich niestandardowych widżetów zawiera zarówno `echo $args['before_widget']` i `echo $args['after_widget']`, które, jak przypuszczam, są używane do wywoływania kodów 'before_widget' i 'after_widget' zadeklarowanych w `register_sidebar ()". Dlaczego moje niestandardowe widżety nie zamykają się prawidłowo, a wbudowane tak? czego mi brakuje? Poza strukturą niestandardowe widżety działają poprawnie.


title: esc_attr nie działa w shortcode

text: Mam shortcode, który wyprowadza blok html. Jednym z elementów w bloku jest znacznik kotwicy z podpisem obrazu w atrybucie title. Niektóre z podpisów, których używam, zawierają podwójne cudzysłowy, więc zawijam je w esc_attr(), ale żaden z cudzysłowów nie jest kodowany. Jeśli umieszczę instrukcję echo w krótkim kodzie za pomocą esc_attr() wokół podpisu, wyprowadza zakodowany ciąg, ale wydaje się, że nie działa, gdy zwracam html, tak jak powinieneś to zrobić w krótkim kodzie. Czy taka jest natura funkcji esc_attr()? Jeśli tak, jak mogę zakodować ciąg, który ma zostać zwrócony z shortcode?


title: Zapisywanie wartości zwracanej z the_author_posts_link()

text: Jak wiesz, w pętli funkcja `the_title()` wyświetla (echo) tytuł posta na ekranie, a `get_the_title()` zwraca go (aby można go było zapisać w zmiennej). To samo dotyczy pary `get_the_post_thumbnail()` i `the_post_thumbnail()`. Teraz, co jest równoważne z `the_author_posts_link()`? Muszę zapisać te informacje, zamiast je wyświetlać.


title: Sub-Sub-Blogs – tworzenie i importowanie treści do niestandardowego podtypu

text: **Opis:** Uniwersytecka stacja radiowa, w której jestem wolontariuszem, korzysta z trybu sieciowego WordPress 3 dla wszystkich treści internetowych. Używa formatu: * **Top-Level`(.com/*)`** \-- Podstawowe informacje o stacji, linki do kanałów itp. Strona główna. * **Subdomeny`(*.domain.com)`** \-- Działy stacji (np. „muzyka”, „słowo mówione” itp.) * **Podkatalog najwyższego poziomu programu`(.com/ program/*)`** \-- Niestandardowy typ postu („Program”) dla poszczególnych programów emitowanych na stacji. Zastrzeżony kod napisany lokalnie. Większość producentów posiada istniejące usługi mediów społecznościowych (Facebook/Twitter/MySpace/Soundcloud/Tumblr, żeby wymienić tylko kilka) i chcemy zachęcić producentów, którzy obecnie nie korzystają z mediów społecznościowych, aby zaczęli z nich korzystać. Potrzebuję do tego dwóch udogodnień – systemu blogowego i importera RSS. **Pytania:** 1. System blogów -- Użytkownicy powinni mieć możliwość publikowania postów bezpośrednio w systemie WP, ale powinni być ograniczeni do poszczególnych kategorii programów. Prawdopodobnie mogę wymyślić pierwszą część z rolami, ale czy jest jakiś sposób na ograniczenie _gdzie_ może publikować dany użytkownik? Myślałem również o zrobieniu tego jako innego niestandardowego typu treści, aby oddzielić go od systemu postów stacji głównej, ale może być trudno uzyskać wtyczkę importera RSS (patrz poniżej.) do pracy z tym. 2. Importer RSS -- nie chcę zmuszać użytkowników do korzystania z systemu WP stacji, jeśli korzystają już z innych narzędzi społecznościowych. Ponieważ większość godnych uwagi narzędzi społecznościowych produkuje kanały RSS, uważam, że najłatwiejszym sposobem na osiągnięcie tego jest importowanie RSS. W przeszłości korzystałem z feedwordpress, ale obawiam się, że będzie to zbyt mylące i zbyt potężne dla użytkowników, do których chcę uzyskać dostęp. Myślisz, że jest to wystarczająco proste, że mógłbym go zakodować od zera, czy jest jakaś konkretna wtyczka, której powinienem użyć? Dziękuję Ci!


title: Przekieruj użytkownika przy logowaniu na podstawie roli WP 3 - Multi-Site

text: Potrzebuję, aby użytkownicy lądowali na określonej stronie administratora na podstawie roli użytkownika w włączonym trybie wielostanowiskowym WP 3.0. Znalazłem tę funkcję fb_redirect_2() { if ( preg_match('#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI']) ) { if ( function_exists('admin_url')) { wp_redirect ( admin_url('edit-comments.php') ); } else { wp_redirect(get_option('siteurl').'/wp-admin/'.'edit-comments.php'); } } } if ( is_admin() ) add_action( 'admin_menu', 'fb_redirect_2' ); I zmieniono if ( is admin() ) na if ( current_user_can('edit_posts') ), ale to nie działa... Jakieś sugestie?


title: Ograniczyć interfejs użytkownika dla administratora?

text: Czy istnieje wtyczka lub sposób, w jaki mogę ograniczyć lub ograniczyć przyciski w interfejsie administratora dla określonego użytkownika? Na przykład: * dla użytkownika, który pełni rolę pisarza, może tylko publikować treści, pozostałe przyciski są nieaktywne. * dla projektanta może zmienić tylko zakładkę „Wygląd”, wszystkie inne są wyłączone. Czy jest na to rozwiązanie?


title: Ustaw link do przesyłania multimediów na brak i ukryj go w WP v3.5

text: Jak ustawić link do załącznika na wyskakujący okienko przesyłania multimediów i ukryć go w Wordpress w wersji 3.5? Poniższy filtr działał dobrze we wcześniejszych wersjach WP: function my_attachment_fields_edit($form_fields,$post){ // Ustaw link do załącznika na brak i ukryj go. $html = "<input type='ukryte' name='attachments[".$post->ID."][url]' value=''/>"; $form_fields['url']['html'] = $html; //Zastąp html $form_fields['url']['label'] = ''; //Usuń etykietę $form_fields['url']['helps'] ='';//Usuń tekst pomocy return $form_fields; } add_filter('attachment_fields_to_edit', 'moje_attachment_fields_edit', 10, 2); To był naprawdę doskonały filtr opublikowany przez kogoś tutaj, jak sądzę. Czy ktoś wie, jak to zrobić w WP 3.5?