title: Nie można posortować wp_query według daty/godziny za pomocą wielu meta_key s

text:
**4th EDIT 17.11.2011** Mówiłem za wcześnie. Teraz wyświetlają mi się wszystkie posty, ale łączna liczba zdarzeń nie rozdziela zdarzeń według dnia po przeniesieniu endif; i koniec; Zamieściłem zmodyfikowany kod poniżej, a poniżej jest to poprzednio zmodyfikowany kod. Zanim liczenie było prawidłowe dla każdego dnia. Gdybym miał dwa wydarzenia z różnych postów w piątek, to powiedziałbym „2 wydarzenia w piątek”, ale wyświetliłby tylko treść najnowszego posta. Teraz wyświetla treść wszystkich postów, ale jeśli mam dwa wydarzenia z różnych postów w piątek, to przed każdym postem jest napisane „1 wydarzenie w piątek”. Oto kod i dziękuję. <?php $dzisiaj = data("R-m-d 00:00"); //ustaw dzisiejszą datę $todaytext = date("l"); // zdefiniuj $todaytext z wypisanymi dniami dla ($i=0; $i<7; $i++){ $thedate = strtotime ( '+'.$i.' day' , strtotime ( $today ) ) ; $data = data ( 'Y-m-d H:i' , $data ); $thedatetext = strtotime ( '+'.$i.' day', strtotime ($todaytext)); $thedatetext = data ( 'l' , $thedatetext ); $future = strtotime ( '+24 godziny' , strtotime ( $thedate ) ) ; $przyszłość = data ( 'R-m-d H:i' , $przyszłość ); $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'LUB', array( 'key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => ' artist_talk_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ) ) ); $event_query = nowe WP_Query( $args ); if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); $keys = array('opening_time', 'film_time', 'artist_talk_time'); $razy = array(); // Próbowałem wstawić tutaj nową linię tablicy, ale potem otrzymałem powtórzenie postu dla codziennego $custom_field_keys = get_post_custom_keys(); foreach ($custom_field_keys as $custom_field_key) { if (in_array($custom_field_key, $keys)) { $custom_field_value = get_post_meta($post->ID, $custom_field_key, true); if ($custom_field_value >= $thedate && $custom_field_value <= $future) { $counttest++; $times[] = array($custom_field_value, $post->ID, $custom_field_key); // Zmieniłem tutaj tablicę } } } if ($counttest >0) { echo $counttest; if ($counttest>=2){ echo ' Zdarzenia '; } // end if ($totalevents>=2) function if ($counttest<2){ echo ' Event '; } echo $liczba; if ($thedate==$dziś){echo 'Dzisiaj';} if ($thedate>$dziś){ echo $thedatetext;} echo '
'; } $test licznika=0; sort($razy); // Zmieniłem sortowanie, aby sortować tutaj foreach ($times as $event) { $time_value = $event[0]; $post_id = $event[1]; $klucz_czasu = $zdarzenie [2]; // zmienił foreach tutaj, jeśli ($time_key == 'opening_time') { ?>
 <a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?>"> <?php echo get_the_post_thumbnail($post_id, 'upcoming_event_sidebar'); ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?>"> <?php echo get_the_title($ post_id); ?>

Otwieranie

<?php echo get_post_meta($post_id,'event_venue', true);?>

<?php echo get_post_meta($post_id,'opening_time', true);?>

 <?php } else if ($time_key == 'artist_talk_time') { ?>
 <a href="<?php echo get_permalink($post_id) ?>" title="<?php echoget_the_title($post_id); ?>"> <?php echo get_the_post_thumbnail($post_id, 'upcoming_event_sidebar'); ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?>"> <?php echo get_the_title($post_id); ?>

Rozmowa artysty

<?php echo get_post_meta($post_id,'event_venue', true );?>

<?php echo get_post_meta($post_id,'artist_talk_time', true);?>

 <?php } else if ($time_key == 'film_time') { ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?>"> <?php echo get_the_title($post_id); ?>

Film
 <?php echo get_post_meta($post_id,'film_time', true); echo get_the_content ($post_id); } } endwhile; endif; rewind_posts(); } ?> **End 4th EDIT** **3rd EDIT 17/11/2011** Wprowadziłem zmiany thna ciebie zasugerował Marcochiesi, ale zachowanie pozostaje takie samo. Próbowałem dokonać jakichkolwiek innych zmian, które mogłem ogarnąć, ale wiem, że mam szczęście. Co byś spróbował dalej? Dziękuję bardzo za Twoją pomoc. **poprawiony kod** <?php $dzisiaj = data("R-m-d 00:00"); //ustaw dzisiejszą datę $todaytext = date("l"); // zdefiniuj $todaytext z wypisanymi dniami dla ($i=0; $i<7; $i++){ $thedate = strtotime ( '+'.$i.' day' , strtotime ( $today ) ) ; $data = data ( 'Y-m-d H:i' , $data ); $thedatetext = strtotime ( '+'.$i.' dzień' , strtotime ( $todaytext ) ) ; $thedatetext = data ( 'l' , $thedatetext ); $future = strtotime ( '+24 godziny' , strtotime ( $thedate ) ) ; $przyszłość = data ( 'R-m-d H:i' , $przyszłość ); $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'LUB', array('key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => ' artist_talk_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ) ) ); $event_query = nowe WP_Query( $args ); if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); $keys = array('opening_time', 'film_time', 'artist_talk_time'); $razy = tablica(); // Próbowałem wstawić tutaj nową linię tablicy, ale potem otrzymałem powtórzenie postu dla codziennego $custom_field_keys = get_post_custom_keys(); foreach ($custom_field_keys as $custom_field_key) { if (in_array($custom_field_key, $keys)) { $custom_field_value = get_post_meta($post->ID, $custom_field_key, true); if ($custom_field_value >= $thedate && $custom_field_vwartość <= $przyszłość) { $test licznika++; $times[] = array($custom_field_value, $post->ID, $custom_field_key); // Zmieniłem tablicę tutaj } } } endwhile; if ($test licznika >0) { echo $test licznika; if ($counttest>=2){ echo ' Zdarzenia '; } // end if ($totalevents>=2) function if ($counttest<2){ echo ' Event '; } echo $liczba; if ($thedate==$dziś){echo 'Dzisiaj';} if ($thedate>$dziś){ echo $thedatetext;} echo '
'; } endif; $test licznika=0; sort($razy); // Zmieniłem sortowanie, aby sortować tutaj foreach ($times as $event) { $time_value = $event[0]; $post_id = $event[1]; $klucz_czasu = $zdarzenie [2]; // zmienił foreach tutaj jeśli ($time_key == 'opening_time') { ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id ?>"> <?php echo get_the_title($post_id); ?>

Otwieranie
 <?php echo get_post_meta($post_id,'opening_time', true); echo get_the_content($post_id); } else if ($time_key == 'artist_talk_time') { ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?> "> <?php echo get_the_title($post_id); ?>

Rozmowa artysty
 <?php echo get_post_meta($post_id,'artist_talk_time', true); echo get_the_content($post_id); } else if ($time_key == 'film_time') { ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?> "> <?php echo get_the_title($post_id); ?>

Film
 <?php echo get_post_meta($post_id,'film_time', true); echo get_the_content($post_id); } } rewind_posts(); } ?> **koniec 3rd EDIT** **2nd EDIT 16.11.2011** Marcochiesi, tchusteczka za dodatkową pomoc. Teraz mam właściwą liczbę zdarzeń i są one odpowiednio posortowane. Problem polega na tym, że tylko najnowszy post zawiera jakąkolwiek treść. Jeśli dodam nowe wydarzenie CPT, pokaże się jego tytuł i stały link, ale jeśli je usunę, nastąpi powrót do następnego najnowszego posta. Czy wiesz, na czym polega problem? Jeszcze raz dziękuję. Bez Twojej pomocy to niemożliwe. **Drugi poprawiony kod** <?php $dzisiaj = date("R-m-d 00:00"); //ustaw dzisiejszą datę $todaytext = date("l"); // zdefiniuj $todaytext z wypisanymi dniami dla ($i=0; $i<7; $i++){ $thedate = strtotime ( '+'.$i.' day' , strtotime ( $today ) ) ; $data = data ( 'Y-m-d H:i' , $data ); $thedatetext = strtotime ( '+'.$i.' dzień' , strtotime ( $todaytext ) ) ; $thedatetext = data ( 'l' , $thedatetext ); $future = strtotime ( '+24 godziny' , strtotime ( $thedate ) ) ; $przyszłość = data ( 'R-m-d H:i' , $przyszłość ); $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'OR', array( ' key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => 'artist_talk_time ', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ) ) ); $event_query = nowe WP_Query( $args ); if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); $keys = array('opening_time', 'film_time', 'artist_talk_time'); $razy = tablica(); $custom_field_keys = get_post_custom_keys(); foreach ($custom_field_keys as $custom_field_key) { if (in_array($custom_field_key, $keys)) { $custom_field_value = get_post_meta($post->ID, $custom_field_key, prawda); if ($custom_field_value >= $thedate && $custom_field_value <= $future) { $counttest++; $times[$custom_field_key] = array($custom_field_value, $post->ID); } } } koniec; if ($test licznika >0) { echo $test licznika; if ($counttest>=2){ echo ' Zdarzenia '; } // end if ($totalevents>=2) function if ($counttest<2){ echo ' Event '; } echo $liczba; if ($thedate==$dziś){echo 'Dzisiaj';} if ($thedate>$dziś){ echo $thedatetext;} echo '
'; } endif; $test licznika=0; sort($razy); foreach ($times as $time_key => $event) { $time_value = $event[0]; $post_id = $event[1]; if ($time_key == 'opening_time') { ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?>"> <?php echo get_the_title($post_id);?>

Otwieranie
 <?php echo get_post_meta($post_id,'opening_time', true); echo get_the_content($post_id); } else if ($time_key == 'artist_talk_time') { ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?> "> <?php echo get_the_title($post_id); ?>

Rozmowa artysty
 <?php echo get_post_meta($post_id,'artist_talk_time', true); echo get_the_content($post_id); } else if ($time_key == 'film_time') { ?>
<a href="<?php echo get_permalink($post_id) ?>" title="<?php echo get_the_title($post_id); ?> "> <?php echo get_the_title($post_id); ?>

Film
 <?php echo get_post_meta($post_id,'film_time', true); echo get_the_content($post_id); } } rewind_posts(); } ?> **END 2nd EDIT** **EDIT 11/15/2011** Po zmianie kodu z marcochiesi (dziękuję) Udało mi się przesłać strumieniowo moje wypowiedzi if i uzyskać możliwość sortowania czasu_mowy_artysty przed czasem_otwarcia, jeśli tak powiedział meta_klucz. Ale teraz mam zduplikowane posty pochodzące z wielu dni w sortowaniu. Każdy CPT może mieć 3 meta_klucze, które mają wartość daty i godziny. Obecnie mam 3 testowe CPT. 1 ma czas otwarcia dzisiaj o godzinie 2:00 (pojawia się jako pierwszy). To również się pojawia, ale zarówno dziś, jak i jutro. To zachowanie ma miejsce w przypadku wszystkich postów. Co ja robię źle? **poprawiony kod** <?php $dzisiaj = data("R-m-d 00:00"); //ustaw dzisiejszą datę $todaytext = date("l"); // zdefiniuj $todaytext z wypisanymi dniami dla ($i=0; $i<7; $i++){ $thedate = strtotime ( '+'.$i.' day' , strtotime ( $today ) ) ; $data = data ( 'Y-m-d H:i' , $data ); $thedatetext = strtotime ( '+'.$i.' dzień' , strtotime ( $todaytext ) ) ; $thedatetext = data ( 'l' , $thedatetext ); $future = strtotime ( '+23 godziny' , strtotime ( $thedate ) ) ; $przyszłość = data ( 'R-m-d H:i' , $przyszłość ); $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'LUB', array( 'key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => ' artist_talk_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ) ) ); $event_query = nowe WP_Query( $args ); if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); $keys = array('opening_time', 'film_time', 'artist_talk_time'); $razy = tablica(); $custom_field_keys = get_post_custom_keys(); foreach ($custom_field_keys as $custom_field_key) { if (in_array($custom_field_key, $keys)) { $custom_field_value = get_post_meta($post->ID, $custom_field_key, true); if ($custom_field_value >= $thedate && $custom_field_value <= $future) { $counttest++; $razy[$custom_field_key] = $custom_field_value; } } } koniec; if ($test licznika >0) { echo $test licznika; if ($counttest>=2){ echo ' Zdarzenia '; } // end if ($totalevents>=2) function if ($counttest<2){ echo ' Event '; } echo $liczba; if ($thedate==$dziś){echo 'Dzisiaj';} if ($thedate>$dziś){ echo $thedatetext;} echo '
'; } endif; $test licznika=0; if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); sort($razy); foreach ($razy jako $time_key => $time_value) { if ($time_key == 'opening_time') { ?> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title('
', '
'); ?>
Otwieranie
 <?php echo get_post_meta($post->ID,'opening_time', true); Zawartość(); } else if ($time_key == 'artist_talk_time') { ?> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title('
', '
'); ?>
Rozmowa artysty
 <?php echo get_post_meta($post->ID,'artist_talk_time', true); Zawartość(); } else if ($time_key == 'film_time') { ?> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title('
', '
'); ?>
Rozmowa artysty
 <?php echo get_post_meta($post->ID,'film_time', true); Zawartość(); } } koniec; endif; rewind_posts();} ?> **END EDIT 15.11.2011 - Oryginalne pytanie poniżej** Dzięki pomocy w tej kolekcji odpowiedzi mam działający poniżej kod, który sortuje zdarzenia według daty, a następnie wyświetla je i zlicza. Nie filtruje według czasu. Na przykład pojedyncze „zdarzenie” CPT ma wiele meta_kluczy z wpisem rrrr-mm-dd 00:00. Każde główne wydarzenie lub wernisaż sztuki trwa około miesiąca, ale jest też przyjęcie i rozmowy z artystami, które mają własne meta_klucze czas_otwarcia i czas_rozmów o artyście. Mam inną stronę, która zawiera miesięczną część wydarzeń. Teraz staram się uporządkować nadchodzące wydarzenia. Problem występuje w indywidualnym "zdarzeniu" CPT, jeśli artist_talk_time to 16:00, a opening_time po 16:00, czas_otwarcia jest wyświetlany jako pierwszy, ponieważ jest wywoływany jako pierwszy w pętli, w której wyświetlam the_content(). To nie jest zachowanie, którego chcę. Wszystkie wydarzenia jednego dnia, nawet jeśli są w tym samym CPT, powinny być wymienione w kolejności według czasu. Jestem pewien, że robię to w niewłaściwy sposób id każda pomoc jest bardzo ceniona. Dziękuję Ci. <?php $dzisiaj = data("R-m-d 00:00"); $todaytext = data("l"); for ($i=0; $i<7; $i++){ $thedate = strtotime ( '+'.$i.' dzień' , strtotime ( $dzisiaj ) ) ; $data = data ( 'Y-m-d H:i' , $data ); $thedatetext = strtotime ( '+'.$i.' dzień' , strtotime ( $todaytext ) ) ; $thedatetext = data ( 'l' , $thedatetext ); $future = strtotime ( '+23 godziny' , strtotime ( $thedate ) ) ; $przyszłość = data ( 'R-m-d H:i' , $przyszłość ); $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'LUB', array( 'key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => ' artist_talk_time', 'value' => array($dzisiaj,$future), 'porównaj' => 'MIĘDZY', 'typ' => 'DATA' ) ) ); $event_query = nowe WP_Query( $args ); if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); if ((get_post_meta($post->ID,'opening_time', true)>=$thedate) && (get_post_meta($post->ID,'opening_time', true)<=$future)) { $counttest++;} if ((get_post_meta($post->ID,'film_time', true)>=$thedate) && (get_post_meta($post->ID,'_time', true)<=$future)) { $counttest++;} jeśli ( (get_post_meta($post->ID,'artist_talk_time', true)>=$thedate) && (get_post_meta($post->ID,'artist_talk_time', true)<=$future)) { $counttest++;} endwhile; if ($test licznika >0) { echo $test licznika; if ($counttest>=2){ echo ' Zdarzenia '; } // end if ($totalevents>=2) function if ($counttest<2){ echo ' Event '; } echo $liczba; if ($thedate==$dzisiaj){echo 'Dzisiaj';} if ($thedate>$dzisiaj){ echo $thedatetext;} echo '
'; } endif; $test licznika=0; if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); if ((get_post_meta($post->ID,'opening_time', true)>=$thedate) && (get_post_meta($post->ID,'opening_time', true)<=$future)) { ?> <a href ="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title('
', '
'); ?>
Recepcja otwarcia
 <?php echo get_post_meta($post->ID,'opening_time', true); Zawartość(); } if ((get_post_meta($post->ID,'artist_talk_time', true)>=$thedate) && (get_post_meta($post->ID,'artist_talk_time', true)<=$future)) { ?> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title('
', '
'); ?>
 Dyskusja artysty
 <?php echo get_post_meta($post->ID,'artist_czas_rozmowy', prawda); Zawartość(); } koniec; endif; rewind_posts(); } ?>


title: Jak wykonać kod tylko na postach starszych niż 2 tygodnie

text: Próbuję zmodyfikować wtyczkę, aby działała tylko w postach starszych niż dwa tygodnie. Dodałem funkcję isOldEnough poniżej, aby spróbować to zrobić. Czego mi tu brakuje? function remove_metadata() { $isOldEnough = function () { $postDate = strtotime( $post->post_date ); $dzisiejszaData = godzina(); if($postDate - $todaysDate > 129600) { return true; } else { return false; } }; if ($isOldEnough) { /* Zarejestruj styl css. */ wp_enqueue_style( 'remove-style-meta', plugins_url( 'css/entrymetastyle.css', __FILE__ ), false, '1.0', 'all' ); } } add_action('wp_head', 'remove_metadata'); Wtyczka po prostu usuwa metadane za pomocą kilku wierszy CSS. W tej chwili wykonuje kod na wszystkich postach, niezależnie od post_date.


title: Jak mieć dwie kolumny na mojej stronie indeksowej?

text: Chcę mieć dwie pełne kolumny po nagłówku i pasku menu głównego na mojej stronie indeksu. Wydaje się proste, ale googlowanie i grasowanie po witrynie wordpress.org nigdzie mnie nie zaprowadziło. Krótkie wyjaśnienie + link do odpowiedniej sekcji TFM do R byłoby mile widziane.


title: Nie mogę uzyskać dostępu do stron mojej niestandardowej taksonomii

text: Pracuję nad witryną z przepisami, która ma niestandardowy typ postu, przepisy, z dwoma niestandardowymi taksonomiami do obsługi kategorii i tagów przepisów. Działa niestandardowy typ postu, podobnie jak niestandardowa taksonomia kategorii, tj. mam dostęp do poszczególnych postów i stron kategorii. Jednak, gdy próbuję uzyskać dostęp do niestandardowej strony tagu taksonomii, otrzymuję stronę Wordpress 404. Naprawdę nie wiem, jak rozwiązać ten problem, ponieważ wordpress nie daje mi żadnych przydatnych kodów błędów. Jakieś sugestie?


title: Jak użyć dwóch różnych obrazów, jednego jako miniatury, a drugiego jako obrazu połączonego?

text: Chciałem zrobić galerię obrazów w poście, w którym linkowany obraz (a href) różnił się od src miniatury. Niestety wydaje się, że WP nie jest w stanie tego zrobić. Jeśli umieszczę duży obraz w galerii, nie mogę określić niestandardowej miniatury. Jeśli umieszczę miniaturę w galerii, nie mogę połączyć dużego obrazu, ponieważ „URL linku” wygląda na uszkodzony. Jeśli zmienię „Adres URL łącza”, a następnie kliknę „Zapisz wszystkie zmiany”, zignoruje on wszelkie zmiany wprowadzone w polu tekstowym „Adres URL łącza”. Ponieważ wydaje się, że nie można tego zrobić z poziomu interfejsu (co wydaje się śmieszne?), przejrzałem katalogi mojej witryny, próbując znaleźć miejsce przechowywania postów na blogu, ale nie ma ich na "/ wp/" ani "/wp/wp-content", więc jestem tu trochę zakłopotany!


title: Przekieruj kategorię do pierwszego dostępnego wpisu podrzędnego

text: Czy można przekierować kategorię do pierwszego dostępnego posta podrzędnego? Dziękuję!


title: Zamiennik dla funkcji gallery_shortcode nie pobierającej wszystkich atrybutów

text:
Mam następującą funkcję niestandardową, która zastępuje funkcję `gallery_shortcode` z rdzenia. Zaczepia się na początku i działa. **Problem** polega na tym, że nie mogę pobrać niestandardowych par klucz/wartość z skróconego kodu galerii. Otrzymuję je w funkcji podstawowej, ale nie są przekazywane do mojej funkcji niestandardowej. Naprawdę nie mogę zbadać, co jest nie tak lub gdzie ich brakuje, ponieważ nie otrzymuję żadnych danych wyjściowych `print_r` dla `$attr` w mojej funkcji niestandardowej. Jakieś pomysły? _Uwaga: dodałem komentarze do wszystkiego, co zmieniłem, od rdzenia do mojej funkcji niestandardowej._ function modified_post_gallery( $attr ) { // Nie mogę uzyskać żadnych danych wyjściowych z następującego echa '
'; print_r( $attr ); echo '
'; // Ale: otrzymuję oczekiwane dane wyjściowe, jeśli umieszczę ten sam wiersz wewnątrz funkcji podstawowej: /root/wp-include/media.php wiersz 759 i otrzymam rzeczywiste dane wyjściowe zawierające wszystkie niestandardowe klucze/wartości. globalny $post, $wp_locale; $instancja statyczna = 0; $instancja++; $wyjście = ''; // Ufamy danym wprowadzonym przez autora, więc upewnijmy się przynajmniej, że wygląda jak prawidłowe polecenie orderby if ( isset( $attr['orderby'] ) ) { $attr['orderby'] = sanitize_sql_orderby( $attr[' Zamów przez'] ); if ( ! $attr['orderby'] ) unset( $attr['orderby'] ); } // wyodrębnij wynik z danych wprowadzonych przez użytkownika & defaults extract( shortcode_atts( array( 'order' => 'ASC' ,'orderby' => 'menu_order ID' ,'id' => $post->ID ,'itemtag' = > 'span' // ZMIENIONO ,'icontag' => 'span' // ZMIENIONO ,'captiontag' => 'span' // ZMIENIONO ,'columns' => 3 ,'size' => 'thumbnail' ,'include ' => '' ,'exclude' => '' ,'class' => '' // DODANE ,'test' ), $attr ) ); $id = intval( $id ); if ( 'RAND' == $order ) $orderby = 'brak'; if ( !empty( $include )) { $include = preg_replace( '/[^0-9,]+/', '', $include ); $_attachments = get_posts( array( 'include' => $include ,'post_status' => 'dziedzicz' ,'post_type' => 'attachment' ,'post_mime_type' => 'image' ,'order' => $order , 'orderby' => $orderby ) ); $załączniki = tablica(); foreach ( $_attachments as $key => $val ) { $attachments[$val->ID] = $_attachments[$key]; } } elseif ( !empty( $exclude )) { $exclude = preg_replace( '/[^0-9,]+/', '', $exclude ); $attachments = get_children( array( 'post_parent' => $id ,'exclude' => $exclude ,'post_status' => 'dziedziczy' ,'post_type' => 'attachment' ,'post_mime_type' => 'obraz' , 'order' => $order ,'orderby' => $orderby ) ); } else { $attachments = get_children( array( 'post_parent' => $id ,'post_status' => 'inherit' ,'post_type' => 'attachment' ,'post_mime_type' => 'image' ,'order' => $order ,'orderby' => $orderby ) ); } // Brak załączników, więc przerwij if ( empty( $attachments ) ) return ''; // RSS/Atom if ( is_feed() ) { $output = "\n"; foreach ( $attachments as $att_id => $attachment ) $output .= wp_get_attachment_link( $att_id, $size, true )."\n"; zwróć $wyjście; } $itemtag = tag_escape( $itemtag ); $captiontag = tag_escape( $captiontag ); $kolumny = intval( $kolumny ); $itemwidth = $kolumny > 0 ? piętro (kolumny 100/$): 100; $float = is_rtl() ? 'prawo lewo'; $selector = 'galeria-'.$instance; $gallery_div = ''; $size_class = sanitize_html_class( $rozmiar ); $gallery_div = '
'; $i = 0; foreach ( $attachments as $id => $attachment ) { $class = $columns > 0 && ++$i % $columns == 0 ? ' ostatni' : ''; // DODANO dla pojedynczego elementu/obrazu $link = isset( $attr['link'] ) && 'file' == $attr['link'] ? wp_get_attachment_link( $id, $rozmiar, fałsz, fałsz ) : wp_get_attachment_link( $id, $rozmiar, prawda, fałsz ); $output .= '<'.$itemtag.' class="element-galerii '.$klasa.'">'; // DODANO klasa $output .= '<'.$icontag.' class="gallery-icon">'.$link.'</'.$icontag.'>'; if ( $captiontag && trim($attachment->post_excerpt)) { $output .= '<'.$captiontag.' class="wp-podpis-tekst galerii-podpis">'; $output .= wptexturize( $attachment->post_excerpt ); $output .= '</'.$captiontag.'>'; } $output .= '</'.$itemtag.'>'; } $output .= ''."\n"; zwróć $wyjście; } add_filter( 'post_gallery', 'modified_post_gallery', 10, 2 );


title: Jak uruchomić to zapytanie SQL bazy danych wp_terms?

text: Mam następujące tabele (zawarto tylko istotne informacje dla zwięzłości i jasności) Nazwa tabeli: wp_term_relationships object_id term_taxonomy_id 1266 1341 1266 452 1266 449 Nazwa tabeli: wp_term_taxonomy term_taxonomy_id term_id 1341 1342 452 453 449 450 Nazwa tabeli: wp 792 396 396 450 394 394 Mam listę "nazw" wp_term i chcę uzyskać listę identyfikatorów obiektów (tylko unikalnych) z wp_term_relationships Więc moja lista będzie wyglądała mniej więcej tak: 394, 396, 988, 666 A ja chciałbym, aby zwrócił (na podstawie powyższych danych): 1266 (tj. Używając term_id z wp_terms, aby uzyskać term_taxonomy_id z wp_term_taxonomy, a następnie w końcu używając tej wartości w wp_term_relationships, aby uzyskać object_id) Jestem całkiem nowy w mySQL i jestem gotowy ng/eksperymentuję z tym cały dzień i wydaje się, że nie mogę tego zrobić dobrze. SELECT $wpdb->term_relationships.object_id FROM $wpdb->term_relationships LEWY DOŁĄCZ $wpdb->term_taxonomy WŁ. .term_id = $wpdb->term_taxonomy.term_id GDZIE nazwa IN (394, 396, 988, 666) GROUP BY $wpdb->term_relationships.term_taxonomy_id ZAMÓW PRZEZ $wpdb->term_relationships.term_taxonomy_id DESC Zastanawiałem się, czy ktoś może rzucić przyjrzyj się temu i pomóż mi zobaczyć, co robię źle? Dziękuję :-) To jest moje dotychczasowe zapytanie:


title: Czy mogę zbiorczo zarejestrować współtwórców nowego bloga?

text: Właśnie zaprojektowałem bloga, który będzie pasował do naszej małej strony internetowej klubu klasycznych samochodów tutaj, na południu Hiszpanii. Zanim udostępnię go członkom klubu, muszę coś zrobić z rejestracją. Przeczytałem tyle, ile mogę znaleźć, ale nie mogłem znaleźć odpowiedzi na to: Idealnie chciałbym móc wstępnie zarejestrować około 60 członków, aby mogli publikować i komentować od samego początku (niektórzy są niezbyt dobrze obeznany z komputerem i rejestracja jako pierwsza może sprawić, że się zaskoczą). Przyjrzałem się części Dashboard dotyczącej tworzenia użytkowników i byłoby to bardzo pracochłonne dla każdego członka. Czy istnieje prosty sposób na stworzenie, powiedzmy, praw współtwórcy dla wszystkich członków? Posiadam ich nazwiska i adresy e-mail - m.in. w pliku Excel. Czy istnieje sposób wycinania i wklejania lub importowania wstępnie zdefiniowanej listy? Dzięki za wszelką pomoc...


title: Wtyczka podobna do Taxonomy Drill-Down dla pól niestandardowych?

text: Czy dostępna jest wtyczka, która robi dla pól niestandardowych to samo, co doskonałe narzędzie Scribu Drążenie taksonomii (wcześniej nazywane Query Multiple Taxonomies) dla taksonomii?


title: Problem z tworzeniem prostej wtyczki Google Maps

text:
Uczę się jak zbudować wtyczkę Google Maps. (Wiem, że są wtyczki, które dodają Google Maps, ale chciałbym móc dostosować kod do moich potrzeb. I fajnie się uczyć). Niestety nie otrzymuję mapy po wstawieniu mojego krótkiego kodu. To jest główny plik php wtyczki: <?php /* Nazwa wtyczki: Lax Google Map Plugin URI wtyczki: http://www.mysite.com Opis: Utwórz wersję mapy: 1.0 URI autora: http://www. mojawitryna.com */ function lax_google_map_init() { wp_enqueue_script('google-maps', 'http://maps.googleapis.com/maps/api/js?sensor=false'); } add_action('init', 'lax_google_map_init'); function lax_google_map_init_js() { wp_enqueue_script('lax_google_map_script', plugins_url('js/lax_google_map_script.js', __FILE__), array('google-maps')); } add_action('init', 'lax_google_map_init_js'); function lax_google_map_maker($atts,$content=null) { $output = '

'; zwróć $wyjście; } add_shortcode('lax-google-map', 'lax_google_map_maker'); ?> W pliku javascript mam: jQuery.noConflict(); jQuery(document).ready(function($) { var latlng = new google.maps.LatLng(-34.397, 150.644); var myOptions = { zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); }); Nie otrzymuję błędu. To nic nie robi. Jakieś sugestie, co robię źle? Chcę, aby podstawowa mapa działała, a później powinienem móc dodać więcej funkcji. Dziękuję Ci. -Laxmidi


title: Jak poprawnie sformatować tablicę user_role?

text: Ostatnio korzystałem z edytora ról i musiałem usunąć rolę. Po usunięciu go zauważyłem, że zaczął pojawiać się jako pusty w menu edycji roli użytkownika. Po trochę zbadania i usunięcia wpisów z bazy danych. Włączyłem more_fields i ponownie pojawiły się puste pola. Następnie przeszukałem bazę danych i znalazłem wiele wpisów w wp_options more_fields jako `a:12:{i:0;s:13:"administrator";i:1;s:6:"editor";i:2;s: 6:"autor";i:3;s:11:"współtwórca";i:4;s:10:"subskrybent";i:5;s:11:"dystrybutor";i:6;s:10: "integrator";i:7;s:5:"sprzedaż";i:8;s:7:"wsparcie";i:9;s:7:"revisor";i:10;s:7:"premier ";i:11;s:9:"marketing";}` Próbowałem przywrócić domyślne role wps, jak w poniższym przykładzie, ale powoduje to 404. `a:5:{i:0;s:13 :"administrator";i:1;s:6:"redaktor";i:2;s:6:"autor";i:3;s:11:"współtwórca";i:4;s:10:" subskrybent";}` Czy moja składnia jest poprawna, czy brakuje mi czegoś innego? Dodałem wpis do bazy danych do pastebin, zauważysz, że tablica ról użytkownika jest wymieniona pięć razy. Dzięki za pomoc. http://pastebin.com/RpsFytgc ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/Dkvy0.png)


title: Jak przekierować adres URL posta na niestandardowy adres URL?

text: Stworzyłem stronę, która zapętla posty. Każdy post działa jak link do kategorii, więc po kliknięciu przenosi Cię do archiwum kategorii. Moim problemem jest to, że wordpress w jakiś sposób zastępuje mój htaccess i przekierowuje mnie do postu single.php. Więc nie mam strony kategorii o nazwie „Okolice”. W ramach „Okolic” mam post o nazwie „Highland Park”. Kiedy klikam 'Highland Park', wyświetla się singiel.php, a nie archiwum.php 'Highland Park'. Uwaga: przesłałem swoje pliki wordpress do folderu o nazwie „strony”. W moim pliku htaccess mam przepisanie gdzie 'neighborhoods/' to 'pages/category/neighborhoods/' Czy istnieje rozwiązanie? Czy coś przeoczam? Z góry dziękuję!


title: Jak zastąpić WP_DEBUG dla odpowiedzi Ajax?

text: Jest wysoce zalecaną praktyką (z którą całkowicie się zgadzam), aby programować z włączonym `WP_DEBUG`. Jednak jest to po prostu niewygodne, aby zobaczyć jeszcze nie naprawione ostrzeżenia na stronach, ale w odpowiedziach Ajax całkowicie psują one odpowiedź. Właśnie zaczynam od Ajax w WP, czy jest jakiś odpowiedni hak, który tłumi błędy tylko dla odpowiedzi Ajax? PS napraw wszystko nie jest obecnie opłacalną opcją, ponieważ jest to niezwykle rozbudowane i złożone środowisko :)


title: Obrazy są nieprawidłowo generowane poza opakowaniem w Wordpress Nivoslider

text: Mam następujący kod generujący obrazy i miniatury z wyróżnionego obrazu posta w kategorii Prezentacja. <?php $polecany_obraz = pobranie_postu_miniaturki(pobranie_identyfikatora()); $dom = nowy DOMDocument(); $dom->loadHTML($featured_image); $fi_src = $dom->getElementsByTagName('img')->item(0)->getAttribute('src'); $slider = get_the_post_thumbnail( get_the_ID(), 'thumbnail' ); $dom = nowy DOMDocument(); $dom->loadHTML($suwak); $s_src = $dom->getElementsByTagName('img')->item(0)->getAttribute('src'); ?> <img src="<?php echo $fi_src; ?>" data-thumb="<?php echo $s_src; ?>" title="" /> Jednak na implementacji i wielu postach. Jego wyrzucanie obrazów poza opakowanie http://www.milknhny.co.uk/ Czy ktoś może doradzić, jak to się może stać?


title: Jak udostępnić sesję WordPress i pliki cookie między domeną a subdomeną?

text: Straciłem dużo czasu, szukając odpowiedzi na moje pytanie. Na dzień dzisiejszy mam dwie instalacje WP na jednym serwerze i jednej DB ale z innym prefiksem. Udostępniłem już dane użytkowników i meta między dwoma blogami i działa dobrze! Ale nadal nie mogę ustawić automatycznego logowania ani pojedynczego logowania pod dwoma blogami. Poniższy kod nie działa w WP3.8. define('COOKIE_DOMAIN', '.domena.com'); //zastąp adresem URL pierwszej strony define('COOKIEPATH', '/');


title: Oświadczenie warunkowe, jeśli strona archiwum zawiera posty zawierające określone taksonomie/kategorie/tagi, pokaż te terminy

text:
Używam Isotope do filtrowania postów na bieżąco ze stron mojego archiwum. Mam niestandardowy typ posta o nazwie „sztuka”. Na pasku bocznym utworzyłem linki do rocznych archiwów na moim pasku bocznym, tj. 2014, 2013, 2012... itd. Kiedy jestem na stronie archiwum rocznego, np. /art/2012, chcę _tylko te terminy, które istnieją_ dla _ten niestandardowy-post-type_ na _tegorocznej stronie archiwum_ ma się pojawić. Na przykład, jeśli jestem w archiwum daty 2009, mam tylko rysunki, nie obrazy, więc chcę, aby wyświetlała się tylko kategoria „Rysunki”, ponieważ kliknięcie „Obrazy” da zerowe wyniki (stąd nadmiarowość). Kod, który mam obecnie na moim sidebar.php (poza pętlą) jest zmodyfikowaną wersją, którą znalazłem tutaj, która po prostu powoduje, że wordpress zwraca wszystkie kategorie we wszystkich typach postów, co nie jest tym, czego chcę: klasa

Wszystkie
 <?php // Sprawdź czy tag/cat jest używany w archiwum: http: //wordpress.stackexchange.com/a/31981/32287 $categorys = get_categories( array( 'type' => 'art', 'exclude' => '1,5', 'hide_empty' => false ) ); if ($kategoria) { foreach ($kategoria jako $kategoria) { echo '
'; if($category->count > 0){ // sprawdź liczbę kotów echo 'slug . '" title="' .sprintf( __( "Wyświetl wszystkie posty w %s" ), $category->name ) '" ' . '>' . $kategoria->nazwa . '
'; } else { // if brak postów } } // end foreach } // end if ?>
 Czy ktoś może mi pomóc napisać funkcję, która wyświetli warunki, które istnieją tylko dla strony rocznego archiwum dat typu niestandardowego postu "Sztuka"? Googlowałem przez wiele dni bezskutecznie. :(


title: Utwórz stronę za pomocą wtyczki

text: Moim problemem jest pokazanie listy produktów odczytanych z tabel db. Umiem je czytać i jestem w stanie stworzyć tabelę, ale tylko za pomocą shortcode osadzonego na stronie, którą stworzyłem za pomocą WP. Chcę, aby wtyczka sama utworzyła stronę z moją tabelą w środku i aby ta strona była dostępna dla użytkowników WP za pośrednictwem pozycji menu (nie menu administratora). Jaka jest właściwa droga?


title: Jakie są najczęstsze luki w zabezpieczeniach, których muszę szukać?

text: Jako niedoszły twórca wtyczek WP, jakie są główne błędy/dziury, których powinienem szukać? Mam zamiar stworzyć nową wtyczkę z panelem konfiguracyjnym (tj. polami wejściowymi i innymi rzeczami). O co powinienem się martwić? Na przykład, czy oczyszczanie danych to tak wielka sprawa, skoro znajduje się w obszarze /wp-admin/? Czy ktoś złośliwy może bezpośrednio trafić na moją stronę wtyczki i wysłać żądania POST lub coś w tym rodzaju? Dziękuję Ci!


title: Paypal Framework

text: Próbuję założyć stronę internetową opartą na subskrypcji PayPal, na której ludzie mogą się zarejestrować, jeśli zapłacą opłatę za subskrypcję przez Paypal. Jestem całkiem nowy w tym systemie Paypal IPN, ale znalazłem tę wtyczkę, która wydaje się robić to, czego chcę: http://wordpress.org/extend/plugins/paypal-framework/ Czy ktoś wie, jakie polecenie muszę wysłać przez funkcję hashCall(), aby skonfigurować subskrypcję PayPal dla użytkownika, który próbuje się zarejestrować? Zakładam, że jest to coś innego niż `doDirectPayment` i nie wymaga tych wszystkich parametrów CC, prawda?


title: Przejrzyj witrynę za pomocą Wordpress

text: Mam swój domian viewport.mobi, chcę stworzyć mobilną stronę z recenzjami, taką jak http://www.mobileawesomeness.com/ , myślę, że została stworzona w wordpressie. Czy ktoś może zaproponować darmowy lub płatny motyw dostępny dla wordpress. więc mogę zamieścić zrzut ekranu strony mobilnej i recenzję, również Otwórz na komentarze. Dziękuję,


title: Jak przechowywać wartość z listy rozwijanej pola niestandardowego do odwoływania się do postów?

text: Staram się odwoływać do siebie posty. Redaktorzy powinni mieć listę niestandardowych pól wyboru tytułów niektórych postów, aby połączyć bieżący post z innymi postami. Myślę, że zaszedłem dość daleko. Lista wyboru pojawia się poprawnie. Wszystkie tytuły tam są. Teraz utknąłem w punkcie, w którym należy zapisać identyfikator odsyłającego posta. Jak mogę pobrać wartość wybranej opcji, zapisać ją i ustawić jako wartość domyślną? Czy muszę wszystko owijać wewnątrz funkcji formularza? Oto co mam do tej pory: add_action("admin_init", "admin_init"); add_action('save_post', 'save_reference_id'); /*** add_meta_box ***/ function admin_init(){ // dodanie niestandardowego pola do posta typu 'case' add_meta_box("refInfo-meta", "Reference", "meta_options", "case", "side", "wysoki"); } /*** callback ***/ function meta_options(){ ?> <form action="<?php bloginfo('url'); ?>" method="get"> <select name="page_id" id= "page_id"> <?php globalny $post; // pobranie wszystkich stron podrzędnych o identyfikatorze 21 $args = array( 'numberposts' => -1, 'post_type' => 'page', 'post_parent' => 21); $posts = get_posts($args); foreach( $posts jako $post ): setup_postdata($post); ?> <option value="<?php echo $post->ID; ?>"><?php the_title(); ?></option> <?php endforeach; ?> </select> </form> <?php } /*** save_post ***/ function save_reference_id(){ // duży znak zapytania }


title: Niestandardowy WP_List_Table: Jak utworzyć niezatwierdzony wiersz?

text: W tym przykładzie załóżmy, że każdy produkt ma atrybut `$item['approved']` z wartościami Zero niezatwierdzony i Jeden zaakceptowany. Jak mogę sprawić, by wiersze „niezatwierdzonych książek” były żółte? (cóż, nie chodzi o żółty, ale o procedurę zgodną ze standardem WP oznaczania rzędów jako niezatwierdzonych)


title: Jak pozbyć się komunikatu o błędzie niestandardowego metaboksu w desce rozdzielczej podczas wychodzenia ze strony edycji?

text:
w folderze wtyczek mam `custom-post-metabox folder`, wewnątrz niego `custom-post-metabox.php`, `admin.js` i `admin.css`. //kod `custom-post-metabox.php` <?php /** * Nazwa wtyczki: Custom Post Meta Box * URI wtyczki: http://localhost/wpuploadtest * Opis: Demonstracja niestandardowego metaboxa * Wersja: 1.0.0 * Autor: ja * URI autora: http://google.co.in * Licencja: GPL2 */ function cpmb_css(){ wp_enqueue_style('cpmb-admin', plugins_url('custom-post-metabox/admin. css”)); } add_action('admin_enqueue_scripts', 'cpmb_css'); funkcja cpmb_js(){ $screen = get_current_screen(); if ('post' == $screen->id) { wp_enqueue_script('cpmb-admin', plugins_url('custom-post-metabox/admin.js')); } } add_action('admin_enqueue_scripts', 'cpmb_js'); function cpmb_add_meta_box(){ add_meta_box( 'cpmb_audio', //ID pola 'Add_mp3', //Tytuł pola 'cpmb_display_meta_box', //funkcja zwrotna dla pola 'post', // będziemy wyświetlać to tylko w postach 'strona', //gdzie meta pole powinno pojawić się 'core' //priorytet tego, gdzie ma być wyświetlane ); } add_action('add_meta_boxes', 'cpmb_add_meta_box'); funkcja cpmb_display_meta_box($post){ wp_nonce_field(plugin_basename(__FILE__), 'cpmb-nonce-field'); if ('invalid-file-type' == get_post_meta($post->ID, 'mp3', true)) { ?>
Nieprawidłowy typ pliku
 <?php } ?>  Tytuł MP3 <input type="text" id="mp3_title" name="mp3_title" value="<?php echo get_post_meta($post->ID , 'mp3_title', true); ?>" placeholder="Daj mi trochę słońca">  Plik MP3 <input type="file" id="mp3_file " name="mp3_file"> <?php } funkcja cpmb_save_metabox_data($post_id){ if(cpmb_user_can_save($post_id, 'cpmb-nonce-field')){ if (isset($_POST['mp3_title']) && !pusty ($_POST['mp3_title']) ) { $mp3_title = stripslashes(strip_tags($_POST['mp3_title'])); update_post_meta($post_id, 'mp3_title', $mp3_title); } if (isset($_FILES['mp3_file']) && !empty($_FILES['mp3_file']) ) { if (cpmb_valid_mp3($_FILES['mp3_file']['name'])) { $response = wp_upload_bits ($_FILES['mp3_file']['nazwa'], null, file_get_contents($_FILES['tmp_name'])); if (0 ==strlen(trim($response['error']))) { update_post_meta($post_id, 'mp3', $odpowiedź['url']); } }else{ update_post_meta($post_id, 'mp3', 'nieprawidłowy-typ-pliku'); } } } } add_action('save_post', 'cpmb_save_metabox_data'); funkcja cpmb_valid_mp3($nazwa pliku){ $path_parts = pathinfo($nazwa pliku); return 'mp3' == strtolower($path_parts['extension']); } funkcja cpmb_user_can_save($post_id, $nonce){ $is_autosave = wp_is_post_autosave($post_id) ; $ is_revision = wp_is_post_revision ($ post_id); $is_valid_nonce = (isset($_POST[$nonce]) && wp_verify_nonce($_POST[$nonce], plugin_basename(__FILE__) ) ); return !($is_autosave || $is_revision) && $is_valid_nonce; } function cpmb_display_mp3($content){ if(is_single()){ if('niepoprawny typ-pliku' != get_post_meta(get_the_ID(), 'mp3', true)){ $title = get_post_meta(get_the_ID(), ' mp3_tytuł', prawda); $link = get_post_meta(get_the_ID(), 'mp3', prawda); $content .= ''.$title.''; } } return $treść; } add_action('the_content', 'cpmb_display_mp3'); //kod `admin.js` (function($){ "use strict"; $(function(){ $('form').attr('enctype', 'multipart/form-data'); }) ;})(jQuery); Problem polega na tym, że jeśli po prostu kliknę przycisk aktualizacji bez przesyłania czegokolwiek, komunikat o błędzie dotyczący nieprawidłowego typu pliku nadal tam jest, nawet jeśli opuszczę stronę i wrócę do strony edycji, komunikat o błędzie nadal tam jest. Jak to naprawić?


title: Motyw WordPress Twenty Twelve Child. Usuwanie domyślnych widżetów

text: Próbuję usunąć obszary Główny pasek boczny, Pierwsza i druga strona widżetu z motywu podrzędnego. Zasadniczo nie chcę, aby wyświetlały się one w Panelu Administracyjnym. Umieściłem ten kod w moim pliku function.php. Wygląda na to, że nie działa: function remove_some_widgets(){ unregister_sidebar( 'Główny pasek boczny' ); unregister_sidebar( 'Obszar widżetów pierwszej strony głównej' ); unregister_sidebar( 'Drugi obszar widżetów na pierwszej stronie' ); } add_action( 'widgets_init', 'remove_some_widgets', 11 ); Mam go z WordPress Codex, ale myślę, że został opracowany dla motywu Twenty Ten. Każdy zna właściwy kod motywu rodzica Twenty Twelve. ? Dzięki za odpowiedzi.


title: Jak podłączyć i zmodyfikować nowy interfejs wersji (3.6+)?

text: Powiedzmy, że chcę dodać post_meta do „nowego” interfejsu zmian. Zapisuję trochę meta tylko w wersjach i chcę je wyświetlić na tym ekranie. ![tutaj podaj opis obrazka](http://i.stack.imgur.com/nmfgQ.png) Normalnie otworzyłbym `wp-admin/revisions.php` w poszukiwaniu haków i kodu. Ale strona z wersjami jest zrobiona za pomocą Backbone. Nie znam Backbone (całkowicie chętny do nauki). Jednak nie mogę znaleźć niczego o tym, jak zmodyfikować istniejące widoki szkieletu administratora w WordPressie. Czy ktoś z powodzeniem zmodyfikował ten interfejs i może podać przykład, jak można to zrobić?


title: Edytuj / zmień motyw mobilny Jetpack

text: Bardzo podoba mi się pomysł zmiany motywów na urządzenia mobilne i używam jetpacka dla kilku funkcji na mojej stronie, więc pomyślałem, dlaczego nie użyć go również na urządzeniach mobilnych. Jetpack jest wyposażony w funkcję, która przełącza motywy dla urządzeń mobilnych, ale możliwe jest tylko użycie ich motywu i dostosowanie niektórych rzeczy, takich jak kolor bg itp. Zastanawiałem się, czy można całkowicie zmienić ten motyw? Więc użyj jetpacka do wykrycia urządzenia, ale użyj własnego motywu mobilnego? Tak pozostanie po wszelkich aktualizacjach.


title: Udostępniaj wtyczki, motywy i wiele postów w sieci wielodomenowej

text: Stworzyłem sieć składającą się z 3 witryn (site1.com, site2.com, site3.com). Wszystko działa dobrze i mam dostęp do wszystkich trzech stron. To, czego potrzebuję, to możliwość udostępniania motywów, wtyczek i publikowania we wszystkich witrynach. Próbowałem multipost-mu i ThreeWP Broadcast. Kiedy tworzę post, mogę teraz wybrać dwie pozostałe witryny, ale post się tam nie pojawia. Sposób, w jaki konfiguruję swoją sieć, jest następujący: 1. Mój host Skonfiguruj dns za pomocą rekordu A z symbolem wieloznacznym i skonfiguruj Apache, dodając ServerAlias *.|DOMAIN| do mojego httpd.conf 2. Następnie dodałem subdomenę 3. Edytuję nową subdomenę: Zmień wartość Domain, Siteurl, Home i Fileupload Url, aby pasowała do mojej nowej domeny (http://www.site1.com) 4. Edytuję mój plik wp-config.php: define( 'DOMAIN_CURRENT_SITE', 'domain.com' ); zmieniono go na define( 'DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST'] ); Co ja robię źle?


title: Skopiuj i usuń katalog z funkcjami WordPress

text: Z powodzeniem użyłem `copy_dir()` do skopiowania katalogu do nowej lokalizacji. Jak mogę usunąć katalog za pomocą funkcji WordPress?


title: Różne nagłówki kategorii przy użyciu in_category i elseif

text:
W tej chwili próbuję dowiedzieć się, dlaczego ten fragment nie działa, w zasadzie chcę wyświetlić identyfikator div dla różnych kategorii. Używam następujących. <?php if (in_category( array('6,14,15,13')) )) { ?>
 <?php } elseif (in_category( array('7,11,12,10 ,9') )) { ?>
 <?php } elseif (in_category( array('4,16,17,18,19') )) { ?>
 <?php } elseif (in_category( array('3,22,21,26') )) { ?>
 <?php } elseif (in_category( array('5')) ) ) { ?>
 <?php } else { ;?>
 <?php } ?> Ale to nie działa Otrzymuję następujący komunikat o błędzie: Parse błąd: błąd składni, nieoczekiwany $end w /home/test/public_html/project/wp-content/themes/project/category.php w wierszu 75. Linia 75 to <?php get_footer(); ?> Jakakolwiek pomoc byłaby niesamowita, dzięki!


title: Zapytanie pola niestandardowego bez duplikatów wyników

text:
Mam kategorie takie jak miasta, takie jak Londyn czy Nowy Jork. Mam też niestandardowe pole o nazwie Lokalizacja, w którym zwykle umieszczam nazwę restauracji. Staram się pokazać na osobnym poście/stronie wszystkie restauracje w danej miejscowości. Każdy post, który publikuję, jest w zasadzie recenzją restauracji, ale czasami pojawia się recenzja jedzenia lub inna dla ich baru. Wydaje mi się, że nie potrafię wymyślić, jak wyświetlić listę wszystkich restauracji w jednym mieście bez duplikatów. Mam to na przykład: <?php query_posts('posts_per_page=20&category_name=Nowy Jork&meta_key=Location&order=DES'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php $links = get_post_custom_values("Lokalizacja"); if ($links[0]!="") { $mykey_values = get_post_custom_values('Lokalizacja'); foreach ( $mykey_values as $key => $value ) { echo $value; echo "

"; } } ?> Więc to jest lista wszystkich postów z Nowego Jorku i zawartość niestandardowego pola o nazwie Locations. Ale dostaję duplikaty. Chciałbym, żeby w poście o nazwie Trump Tower znajdowała się lokalizacja, którą pokaże tylko raz? Każda pomoc jest mile widziana


title: Zmuś zalogowanych użytkowników do podania większej ilości danych podczas komentowania

text:
Do mojego komentarza dodałem więcej danych za pomocą hooków. Dodałem grupę przycisków radiowych, aby użytkownicy mogli wybierać i wybierać jeden z przycisków radiowych. Wszystko działa idealnie, ale nowo dodane przyciski radiowe nie pojawiają się, gdy jesteś już zalogowany.. Pojawiają się i działają tylko wtedy, gdy nie jesteś zalogowany. Zalogowani użytkownicy widzą tylko pole komentarza. Jak wyświetlić nowo dodane pole wraz z polem komentarza zalogowanemu użytkownikowi? to właśnie dodałem do mojej funkcji functions.php add_comment_fields($fields) { if(is_user_logged_in()) { $fields['wiek'] = '
' . __( 'Wiek' ) . '' . '<input id="wiek" name="wiek" type="tekst" size="30"' . $aria_req . ' />
'; zwróć $pola; } } add_filter('comment_form_default_fields','add_comment_fields'); function add_comment_meta_values($comment_id) { if(isset($_POST['wiek'])) { $wiek = wp_filter_nohtml_kses($_POST['wiek']); add_comment_meta($comment_id, 'wiek', $wiek, fałsz); } } add_action ('comment_post', 'add_comment_meta_values', 1);


title: Jak wyświetlić niestandardowe pole i identyfikator nadrzędnego posta na stronie załącznika wordpress (image.php)

text: Próbuję użyć kodu, aby pokazać niestandardowe pole poza pętlą na stronie załącznika Wordpress (image.php), nic nie zwraca. to jest kod, którego używam do wyświetlania pola niestandardowego: <?php global $wp_query; $postid = $wp_query->post->ID; echo get_post_meta($postid, 'moje-niestandardowe-pole', prawda); ?> i próbuję pokazać nadrzędny identyfikator postu na stronie załącznika za pomocą `get_the_id` i użyć tego kodu <?php global $wp_query; $this_page_id = $wp_query->post_parent; $post_id = get_the_id($post->ID); echo $post_id ;?> ale powyższy kod pokazał tylko identyfikator załącznika, a nie identyfikator nadrzędnego posta. ktoś może pomóc, proszę ?


title: Usunąć oryginalny obraz – zachować miniaturę?

text: Używam wielu miniatur, ale nigdy oryginalnego pliku. Aby zaoszczędzić miejsce, chciałbym zapobiec zapisywaniu oryginału na dysku, ale zachować tylko miniaturę 100px. W jaki sposób mogę to zrobić? Dzięki, Dennis


title: Ustawić (polecaną) miniaturę posta?

text: Używam wp_insert_post i media_sideload_image, aby utworzyć post i dołączyć pojedynczy obraz do posta. Jak jednak oznaczyć załączony obraz jako polecaną miniaturę? Spowodowałoby to znacznie szybsze wyświetlanie miniatur dzięki użyciu the_post_thumbnail zamiast ręcznego przeglądania każdego postu, pokazując pierwszy obraz. Jak oznaczyć załączony obraz jako polecaną miniaturę? Dzięki, Dennis


title: Jeśli masz posty sprzed tygodnia, wyświetl, w przeciwnym razie wyświetl inną pętlę

text:
Oto co mam. <?php $tydzień = data('W'); $rok = data('Y'); $projects_in_news = new WP_Query( array( 'post_type' =>'news', 'posts_per_page' => 5, 'orderby' =>'ID', 'order' =>'ASC', 'w' => $tydzień, 'y' => $rok, 'tax_query' => array( array( 'taxonomy' => 'project_taxo', 'terms' => $post->post_name, 'field' => 'slug' ) ) ) ); // Pętla <?php if($projects_in_news->have_posts()) : ?> <?php while($projects_in_news->have_posts()) : $projects_in_news->the_post(); ?>

 <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> <?php the_author(); ?>, <?php the_time('d F Y'); ?>

 <?php endwhile; ?> <?php else: ?>
Nie ma żadnych wiadomości związanych z tym tematem
 <?php endif; ?> <?php wp_reset_postdata(); ?> To, co tu mam, wyświetla posty z ostatniego tygodnia, które pasują do zapytania. Czy istnieje sposób na określenie, czy to zapytanie pętli zawiera wpisy, a jeśli nie, użyj innego zapytania i pętli? Próbowałem dodać następujący kod w miejsce `<p>Brak wiadomości związanych z tym tematem</p>` <?php $theme_in_news = new WP_Query( array( 'post_type' =>'theme', 'posts_per_page' = > 5, 'zamówienie' =>'ID', 'zamówienie' =>'ASC', ) ); ?> <?php if($theme_in_news->have_posts()) : ?> <?php while($theme_in_news->have_posts()) : $theme_in_news->the_post(); ?>

 <a href="<?php the_permalink(); ?>"> <?php the_title(); ?> <?php the_author(); ?>, <?php the_time('d F Y'); ?>

 <?php endwhile; ?> Ale zwraca wewnętrzny błąd serwera. Dziękuję


title: Odniesienia do innych witryn w dowolnym miejscu w witrynie Wordpress

text: Jestem stosunkowo nowy w Wordpress, dostałem witrynę opracowaną przez kogoś innego na jednym serwerze i muszę ją wdrożyć na innym. Na tej stronie zainstalowano bbpress oraz mnóstwo innych rzeczy. Wydaje się jednak, że zawiera ona (gdzieś) odniesienia do serwera innych programistów, więc mimo że skopiowałem witrynę na mój serwer, wszystkie linki nadal wskazują na jego. Zakładam, że gdzieś w plikach szablonów lub bazie danych jest odniesienie do jego strony, ale nie wiem gdzie. Zrobiłem szukanie/podmianę i wymieniłem to co znajdę, ale dalej dzieje się to samo. Zastanawiam się tylko, czy jest jakieś oczywiste miejsce, w którym muszę szukać takich rzeczy. Wydaje mi się, że właśnie zrobił coś dość głupiego przez twarde kodowanie odniesień do swojej strony; ale może to dobry powód, nie wiem.


title: Usuń całe menu w admin

text: Jak mogę usunąć całe menu w adminie? Mam ten kod: function remove_menu_items() { global $menu; koniec( $menu ); while ( prev($menu)) { $wartość = rozbij( ' ', $menu[ klucz($menu) ][0] ); if ( $wartość[0] != NULL ? $wartość[0] : "" ) { unset( $menu[ klucz($menu) ] ); } } } add_action( 'admin_menu', 'remove_menu_items' ); To usuwa tylko domyślne pozycje menu, wszystkie strony dodane do menu przez wtyczkę nadal tam są. Jak mogę usunąć całe menu?


title: Jak wyświetlić szablon aukcji z określonej taksonomii?

text: Próbuję wymyślić, jak wyświetlić listę określonej taksonomii (`kategoriekursy`). W `functions.php` dla motywu mam: //Zarejestruj niestandardową taksonomię dla kategorii kursów $course_cat_args = array( 'hierarchical' => true, 'labels' => $course_cat_labels, //Inne etykiety ustawione przed 'show_ui' => prawda, 'show_admin_column' => prawda, 'query_var' => prawda, 'rewrite' => array( 'hierarchical' => true ) ); register_taxonomy( 'kategoriakursy', array('kurs'), $course_cat_args ); Rzeczywista taksonomia działa dobrze w admin. Teraz próbuję stworzyć szablon dla `categorycourses` w interfejsie użytkownika, który będzie zawierał wszystkie kategorie kursów. Przyjrzałem się hierarchii szablonów i pomyślałem, że powinienem utworzyć plik o nazwie taksonomii `categorycourses.php` Stworzyłem więc plik o nazwie `categorycourses.php` w folderze themes. Próbowałem też stworzyć `categorycourses-categorycourse.php`, `archive-categorycourses.php`, ale ciągle otrzymuję błąd 404. Proszę zostań ze mną. Rozumiem dużo backendu w WP, ale dopiero uczę się tworzyć szablony na frontendzie. Jestem w stanie tworzyć strony archiwum dla niektórych typów postów, więc przepisuje reguły i tak dalej na moim lokalnym serwerze. Co ja robię źle? **AKTUALIZACJA** 1\. Próbowałem utworzyć plik o nazwie `taxonomy-categorycourses.php` i z tym samym wynikiem (błąd 404) opróżniłem ustawienia permalink w admin, zapisując je ponownie. Próbowałem też: $course_cat_args = array( 'hierarchical' => true, 'labels' => $course_cat_labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array('slug' => 'soup')) ) ; register_taxonomy( 'kategoriakursy', array('kurs'), $course_cat_args ); Próbuję uzyskać dostęp do szablonu za pomocą `http://server/soup`, ale wciąż pojawia się błąd. (po ponownym zapisaniu ustawień permalink w admin) **UPDATE2:** * _Myślę, że to rozgryzłem:_ * Wygląda na to, że nie ma żadnego szablonu dla "taksonomii root". Musisz wybrać konkretną kategorię kursu, aby działał jako korzeń. W moim przypadku stworzyłem ten plik: taxonomy-categorycourses-semester2014.php Po wejściu do `http://server/soup/semester2014` wyświetlany jest oczekiwany szablon (t`axonomy-categorycourses-semester2014.php`). Ale wydaje się, że nie ma możliwości stworzenia „szablonu głównego dla taksonomii”, takiego jak `http://server/soup/` . Nawet jeśli stworzę szablon o nazwie `taxonomy- categorycourses.php` to nie zadziała. **Czy to jest poprawne?**


title: Przeniesiony serwer, a WP używa teraz oryginalnych obrazów dla wszystkich rozmiarów kciuka?

text: Właśnie przeniosłem serwery. Podczas wywoływania `wp_get_attachment_image()` lub dowolnej z jego siostrzanych funkcji, zwracany obraz jest zawsze obrazem w pełnym rozmiarze, przeskalowanym w dół, zamiast żądanego rozmiaru miniatury. Ma to dość nieprzyjemny wpływ na czas ładowania. Zarówno odbudowa miniatur AJAX, jak i Regeneracja miniatur, które szczęśliwie stworzyły wiele miniatur. WordPress po prostu postanawia je zignorować. Dzięki za wszelką pomoc. To _może_ być duplikatem poważnego problemu z utratą rozmiarów obrazów, wyświetlane są tylko obrazy w pełnym rozmiarze, ale nie jestem pewien. **Aktualizacja** Po kilku badaniach okazało się, że tablica attachment_meta =>sizes na każdym obrazie zawiera wszystkie poprawne klucze dla rozmiarów, ale żadnej z wartości: ( [width] => 677 [height] => 472 [hwstring_small ] => height='89' width='128' [plik] => my_original_image.jpg [rozmiary] => Tablica ( [thumbnail] => [medium] => [large] => [admin-list-thumb] => [select-a-post] => [szczegóły] => ) Dlaczego tak się dzieje?


title: jak przypisać identyfikator do menu wordpress

text:
Poniższy kod nie tworzy UL z identyfikatorem „nav”. Po prostu tworzy

 To jest kod: wp_nav_menu( array( 'theme_location' => 'menu-1', 'container_id' => 'nav'; Zgodnie z Kodeksem WP to powinno działać Dlaczego to nie działa?WP version = 3.5 **Aktualizacja** Mam teraz: wp_nav_menu( array( 'theme_location' => 'menu-1', 'items_wrap' => '
 %3$s
', 'menu_id' => 'nav')), ale to też nie działa.


title: Pokazuj tylko posty z obrazem i poprawną liczbą postów w pętli

text: Ten skrypt tworzy pętlę pokazującą tylko posty z obrazkami, ale mam problem. Nie pokazuje odpowiedniej ilości postów na stronie. Pewnie dlatego, że zlicza całkowitą ilość postów, wliczając w to te bez zdjęć. Czy ktoś wie, jak to naprawić? <?php while ( have_posts() ): the_post(); $treść = $post->post_treść; $searchimages = '~<img [^>]* />~'; preg_match_all( $searchimages, $content, $pics ); $iNumberOfPics = liczba($pics[0]); if ( $iNumberOfPics > 0 ) { //tutaj trafia zawartość pętli } endwhile; ?> Drugi problem: Pokazuje również uszkodzony obraz, jeśli obraz w poście jest zewnętrzny.


title: Zapytanie WP z niestandardową taksonomią

text: Właśnie przyzwyczajam się do WP Query i miałem nadzieję, że mogę uzyskać pomoc w tym zakresie. Stworzyłem niestandardową taksonomię (motyw) i teraz chcę wyświetlić najnowszy post z jedną z tych taksonomii na mojej stronie głównej jako najczęściej polecany post. Teraz naprawdę nie wydaje mi się, jak uzyskać poprawne filtrowanie zapytania, może ktoś może mnie poprawić: <?php $args = array( 'tax_query' => array( array( 'posts_per_page' => 1, 'taksonomia' => 'motyw', 'pole' => 'slug', 'terms' => tablica ('tekst-obraz', 'wystarczy-tekst', 'wystarczy-obraz') ) ) ); $zapytanie = nowe WP_Query( $args ); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> Jakakolwiek pomoc byłaby bardzo mile widziana, dzięki! EDYCJA: Oto gotowy kod na wypadek, gdyby ktoś inny go potrzebował; <?php $args = array( 'post_type' => 'post', // to domyślne, możesz je pominąć 'posts_per_page' => '1', 'order_by' => 'data', // to także domyślne ' order' => 'DESC', // domyślnie 'tax_query' => array( array( 'taxonomy' => 'nameoftaxonomy', 'field' => 'slug', 'terms' => array ('whatever1' , 'cokolwiek2', 'cokolwiek3')) ) ) ); $zapytanie = nowe WP_Query( $args ); ?> <?php if (have_posts()) : while( $query->have_posts() ) : $query->the_post(); ?> Dzięki za pomoc!


title: Pamięć potrzebna do obsługi 200 witryn Wordpress?

text: Planuję używać Multisite do obsługi 200 różnych blogów wordpress, z których każdy ma swoją własną, unikalną subdomenę. Zauważyłem, że za każdym razem, gdy tworzę wirtualnego hosta dla każdej subdomeny, użyje on mniej więcej 50 MB pamięci RAM. Więc jeśli 50MB * 200 stron = 10GB RAM popraw mnie, jeśli źle to 10GB RAM potrzebne do hostowania 200 stron? jeśli to możliwe, czy istnieją rozwiązania zmniejszające zużycie pamięci?


title: Jak eksportować komentarze w WordPressie?

text: Chcę wyeksportować swoje komentarze do programu Excel, PDF lub Word. Format naprawdę nie ma znaczenia, chcę je tylko wyeksportować. Próbowałem wtyczki _Export Comments_, standardowej, ale nie mogłem jej uruchomić, muszę to zrobić ręcznie. Ktoś może coś podpowiedzieć na ten temat?


title: wp_ajax_[usługa] zwraca 0

text: Mam kilka usług Ajax, które konfiguruję. Wszystkie wymagają zalogowania, więc podpiąłem hooki do "wp_ajax_[$service]". Problem polega na tym, że kiedy dzwonię do tych usług, otrzymuję odpowiedź „0”. Nie otrzymuję również żadnych zapisów w moim dzienniku błędów php. Zastanawiam się nad tym: 1. Czy istnieje sposób na podpięcie się do WSZYSTKICH żądań Ajax i zrzucenie niektórych informacji debugowania do pliku dziennika, abym mógł uzyskać więcej informacji o tym, co się dzieje? 2. Czy ktoś widział wcześniej ten problem? Czy są jakieś wskazówki dotyczące rozwiązywania tego typu problemów? AKTUALIZACJA: Zawiera kod, aby nadać więcej kontekstu. Najpierw JavaScript, to jest: ServiceCall ( 'get-action-template' , {'action' : action} , function(response) {// callback function}); a funkcja ServiceCall to: function ServiceCall ( usługa , parametry , wywołanie zwrotne ) { console.log ('getTemplate zostało wywołane: (' + usługa +', '+ parametry + ')' ); //zainicjuj obiekt żądania var requestObj = {}; requestObj.response = 'ajax-odpowiedź'; requestObj.type = 'POST'; requestObj.url = moja_konfiguracja['ajax-service-list'][service]['url']; requestObj.data = $.extend ( requestObj.data , { 'service': service, 'request_parameters': JSON.stringify(parameters), 'ajax_nonce': my_config['ajax-service-list'][service]['nonce '] }); requestObj.global = fałsz; requestObj.timeout = 30000; requestObj.success = function ( r ) { alert ( "Sukces: " + JSON.stringify (r) ); wywołanie zwrotne ( r ); } requestObj.error = function ( r ) { console.log ("BŁĄD Z WYWOŁANIEM AJAX (" + JSON.stringify (r) + ")"); } $.ajax( obiekt_żądania ); } To z kolei generuje następujący komunikat (pobrany z panelu sieci w debugerze przeglądarki): ![debug](http://i.stack.imgur.com/piYOq.jpg) Na koniec, oto kod funkcji obsługi (której NIGDY zostaje wywołany): public static function ajax_handler () { error_log ("AJAX HANDLE"); $usługa = $_POST['akcja']; $request_parameters = json_decode ($_POST['request_parameters']); if ( LG_Utility::key_from_hash ( self::$services_list , $service , false )) { $object = new self::$services_list[$service]['class'] ($service); $object->handle( $usługa , $request_parameters ); } else { if (class_exists ('AppLogger')) ) AppLogger::error ( "Próba obsługi usługi ({$service}), która nie jest zarejestrowana!"); } } Sprawdziłem jednak, że jest poprawnie podpięty do zdarzenia wp_ajax_get-action-template. Skrótowym „dowód” jest użycie popularnej wtyczki „debug objects”, którą udało mi się sprawdzić, czy została ustawiona. Oto cała klasa PHP, która zarządza transakcjami AJAX (niektóre metody/stały usunięte dla zwięzłości): class LG_AjaxServiceManager { private static $services_list = array( 'get-action-template' => array ( 'class' => 'LG_GetActionTemplate' , 'login_required' => true ), 'some-other-service' => array ( 'class' => 'LG_FooBar' , 'login_required' => false) ); public static function add_listeners () { foreach (self::$services_list as $id => $service) { add_action ('wp_ajax_'. $id, 'LG_AjaxServiceManager::ajax_handler'); if (class_exists ('AppLogger') ) AppLogger::log ( "Rejestrowanie $id jako usługi Ajax" ); } } public static function ajax_localize () { // dodaj zaczep do lokalizacji skryptu; jest to ważne, aby skrypty JS zawierały informacje o numerze jednorazowym i adresie URL (self::$services_list as $id => $service) { $service_url = wp_nonce_url ( admin_url ( 'admin-ajax.php?action="' . $id ). ''"' ), self::AJAX_APP_NONCE_KEY . '_' . $id ); preg_match ( '/.*action=%22(.*)%22&_wpnonce=(.*)/' , $service_url , $service_parts ); self::$ajax_js_array [ $service_parts[1] ] = array ( 'nonce' => $service_parts[2] , 'url' => esc_url ( $service_url ) ); } $localize = array ( 'SiteURL' => get_bloginfo ('url'), 'AjaxURL' => admin_url ('admin-ajax.php'), 'ajax-service-list' => self::$ajax_js_array ); wp_enqueue_script ('jquery'); wp_enqueue_script ( self::JS_FILE_HANDLE , plugins_url ( '/js/lg-ajax-client.js' , dirname(__FILE__)) , 'jquery' ); wp_localize_script( self::JS_FILE_HANDLE , self::JS_NAMESPACE , $localize ); } public static function ajax_handler () { error_log ("AJAX HANDLE"); $usługa = $_POST['akcja']; $request_parameters = json_decode ($_POST['request_parameters']); if ( LG_Utility::key_from_hash ( self::$services_list , $service , false )) { $object = new self::$services_list[$service]['class'] ($service); $object->handle( $usługa , $request_parameters ); } else { if (class_exists ('AppLogger')) ) AppLogger::error ( "Próba obsługi usługi ({$service}), która nie jest zarejestrowana!"); } } }


title: Niestandardowe wywołanie ajax zwraca 0

text: Nadal szukam, dlaczego otrzymuję 0 podczas wykonywania połączenia ajax na wordpress. Wiem, że gdy wywołanie ajax się powiedzie, zwraca 0. Zwracam pewną wartość z wywołania ajax i zwraca 0. Oto mój kod JavaScript $.ajax({ url: "/wp-admin/admin-ajax.php", typ: 'POST', data:{ akcja: 'registerform', imię: 'Jan', wiek: '38' }, sukces: function(dane){alert(dane);} }); Funkcja PHP registerform(){ echo $_POST['nazwa']; } add_action('wp_ajax_registerform', 'registerform'); add_action('wp_ajax_nopriv_registerform', 'registerform'); Powyższy kod zwraca John0 Proszę o pomoc?


title: wp_list_categories w nav_menu

text: Mam stronę internetową i chcę automatycznie dodawać kategorie do mojego menu. Chodzi mi o to, że kiedy tworzę nową kategorię powinna pojawić się w moim menu. Jak mogę to zrobić? <?php wp_nav_menu( array( 'theme_location' => 'nagłówek', 'kontener' => '' ) ); ?> Strona główna | Kategorie | Kontakt kategoria1 kategoria2 kategoria3


title: linkowanie do posta poza pętlą

text: Czy istnieje prosty sposób na umieszczenie linku do określonej strony/postu poza pętlą? Użyłem kodu `get_permalink()` w następujący sposób. <a href="<?php echo get_permalink( 164 ); ?>/post-slug/"> </a> Ale to oznaczało, że musiałem uzyskać identyfikator posta z Shortlink w Admin dla posta, który chciałem i następnie dołącz do niego ślimak. Czy istnieje lepszy sposób na uzyskanie identyfikatora wpisu, którego szukam, bez korzystania z pętli? Moje permalinki są skonfigurowane tak, aby używały nazwy posta, więc wydawało się, że to działa.


title: Jak poprawnie uwzględnić efekty jquery-ui w wordpressie?

text: Próbowałem włączyć efekty interfejsu użytkownika jquery (a dokładniej efekt wstrząsu) do mojego motywu wordpress. Do tej pory mogłem dołączyć tylko skrypt jQuery, ale tak naprawdę nie mam pojęcia, gdzie umieścić skrypty interfejsu użytkownika i jak je kolejkować. To jest kod, który mam. To oczywiście nie działa: <?php wp_enqueue_script("jquery"); ?> <?php wp_enqueue_script("jquery-ui-core"); ?> <?php wp_head(); ?> <link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" /> <script type="text/javascript"> var $j = jQuery. brak konfliktu(); $j(document).ready(function() { $j("#manita-imagen").mouseover(function(){ //$j(this).animate({ krycie: "ukryj" }) // alert ('asd'); $j(this).effect("wstrząśnij", { razy:3 }, 300; }); }); </script> Dziękujemy za pomoc!


title: Co to jest nowa sekcja Administrator sieci?

text: Wcześniej, w WordPress 3.0, zarządzanie wieloma witrynami odbywało się za pośrednictwem sekcji Super-Administrator interfejsu administracyjnego. Wydaje się, że aktualizacja 3.1 przeniosła administrację wieloma witrynami do nowej sekcji „Administrator sieci”, która ma podobny układ do standardowych paneli administracyjnych WP, ale zawiera tylko opcje związane z administracją siecią. Jednak ta sekcja wydaje się być dość podobna do starej sekcji Super-Administrator. Czy dodano jakieś dodatkowe funkcje zarządzania siecią, czy też sekcja Administracja siecią jest tylko oddzieleniem opcji?


title: Uzyskaj liczbę znajomych na Facebooku

text: Czy istnieje prosta metoda PHP lub JavaScript, aby uzyskać całkowitą liczbę znajomych z FaceBooka? Twitter sprawia, że jest to bardzo łatwe i muszę zrobić to samo dla jednej z moich instalacji WordPressa.


title: Jak uzyskać treść posta z kategorii na mojej stronie głównej

text:
Próbuję wyświetlić posty z określonej kategorii w ramce na mojej stronie głównej. Ale udało mi się umieścić tylko jeden post na mojej stronie głównej. Jak mogę to zrobić w poniższym kodzie? Z pobraniem tytułu, fragmentu (ograniczenie znaków - bez czytaj więcej) i linku posta (w przycisku czytaj więcej poniżej?) echo '

'; echo pobierz_tytuł(); echo '

'; wyciąg_(); echo '

 Więcej informacji

”; EDIT: Dzięki Pieter Goosen. To jest kod z twoimi sugestiami i kilkoma drobnymi poprawkami, których użyłem z kilkoma jquery i css, aby stworzyć ładne pole przesuwne: function homepage_highlights() { ?> <?php $my_query = new WP_Query('category_name=accommodation&posts_per_page=3 '); ?> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

 <div class="item" <body style="background-image:url(<?php echo catch_that_image() ?>)">

<?php echo '' . pobierz_tytuł() . ''; ?>

 <?php the_excerpt(); ?>


title: Kopiowanie niestandardowych wartości meta z istniejącego posta do duplikatu postu

text:
Próbuję zmienić istniejące wersje BU wtyczki WP, aby zaakceptować różne niestandardowe wartości pól meta z elementów, które skonfigurowałem za pomocą wtyczki Advanced Custom Fields (ACF). Wersje BU skopiują tytuł, fragment, treść i kilka innych funkcji specyficznych dla strony z jednej strony na drugą, ale nie mogę skopiować niestandardowych wartości meta. Na przykład, kiedy drukuję_r($nowa_wersja), otrzymuję to w moich wynikach dla tego, co istnieje w tablicy, więc wiem, że dodaje niestandardowe pola meta i wartości, które są obecnie na aktywnej stronie, na której testuję po duplikacji. Array( [post_type] => page_alt [post_parent] => 40 [ID] => [post_status] => draft [post_content] => [post_name] => zasoby [post_title] => Zasoby [post_excerpt] => [_subheading] => Dla Studentów ELI [_edit_last] => 3 [_wp_page_template] => default [_edit_lock] => 1368111234:3 [add_columns] => 0 [_add_columns] => field_37 [left_column] => Array() [_left_column] => field_39 [right_column] => Array() [_right_column] => field_61 [header_image] => 426 [_header_image] => field_64 [_yoast_wpseo_linkdex] => 0 [3] => ) I to jest ta część kodu, o której myślę wtyczka tworzy nowy post na podstawie istniejących wartości posta /** * Utwórz nową wersję alternatywną. * * @param mixed $post * @param mixed $alt_post_type * @access public * @return int|WP_Error */ function create( $post_id, $alt_post_type, $meta_keys = null ) { $this->get_version( $post_id ); if ( $this->has_version() ) { return new WP_Error( 'alternate_already_exists', __( 'Wersja alternatywna już istnieje dla tego postu.', BUV_TEXTDOMAIN) ); } $this->original = get_post( $post_id ); if ( ! isset( $this->original ) ) { return new WP_Error( 'alternate_no_original', sprintf( __( 'Nie można znaleźć identyfikatora posta: %s.', BUV_TEXTDOMAIN ), $post_id ) ); } $nowa_wersja['post_type'] = $alt_post_type; $nowa_wersja['post_parent'] = $this->original->ID; $nowa_wersja['ID'] = null; $nowa_wersja['post_status'] = 'szkic'; $nowa_wersja['post_content'] = $this->original->post_content; $new_version['post_name'] = $this->original->post_name; $nowa_wersja['post_title'] = $this->original->post_title; $nowa_wersja['post_excerpt'] = $this->original->post_excerpt; $nowa_wersja['_subheading'] = $this->original->_subheading; // Przeprowadź pętlę przez post Custom Meta i dodaj do tablicy $custom_field_keys = get_post_custom_keys($new_version['post_parent']); foreach ( $custom_field_keys as $key => $value ) { $nowa_wersja[$value] = $this->original->$value; } // $wynik = wp_insert_post($nowa_wersja); if ( ! is_wp_error ( $ wynik ) ) { $ to-> post = get_post ( $ wynik ); $this->copy_original_meta( $nowa_wersja ); update_post_meta( $this->original->ID, self::tracking_meta_key, $this->post->ID ); } return $wynik; } /* Ze względu na sanizację i serializację może być lepiej użyć SQL, ale na razie korzystamy z API **/ private function copy_original_meta( $nowa_wersja ) { foreach ( $nowa_wersja jako $klucz ) { $values = get_post_meta( $this->original->ID, $key ); foreach ( $values as $v ) { update_post_meta( $this->post->ID, $key, $v ); } } update_post_meta( $this->post->ID, '_bu_version_copied_keys', $meta_keys); } /** W jaki sposób mogę uzyskać „Obraz nagłówka”, który jest polem obrazu ACF o wartości „field_64” na mojej stronie, aby wypełnić pole obrazu identyfikatorem obrazu „426” podczas duplikowania posta? Lub

 Obraz nagłówka Wybierz obraz, który będzie wyświetlany w nagłówku. Jeśli żaden nie zostanie wybrany, zostanie wyświetlony domyślny obraz. Upewnij się, że wybrany obraz ma wymiary równe lub przekraczające 1170 pikseli.

 <input class="acf-image-value" type="ukryty" name="fields[field_64]" value="">

Usuń

Edytuj

Nie wybrano obrazu <input type="button" class="button add-image" value="Dodaj obraz">


title: Wykonywanie query_posts po wp_insert_post

text: pracuję nad niestandardową wtyczką. Programowo dodaję nowy post we wtyczce użyj `wp_insert_post`. Działa dobrze, post zostaje dodany i otrzymuję `$post_id`. Jednakże, jeśli natychmiast uruchomię `query_posts` i spróbuję zresetować $wp_query, aby wskazywał na nowy post_id, nic nie dostaję. Czuję, że nie używam poprawnie `query_posts` ... ponieważ myślę, że powinien zwrócić nowy post. <?php wp_reset_query(); $args = array( 'post_title' => 'testowy post', 'post_author' => 1, 'post_status' => 'opublikuj', ); $post_id = wp_insert_post ($args ); if ( $post_id != 0) { query_posts( array( 'post_id' => $post_id ) ); }


title: WordPress 3.1 i Disqus wyświetlają ostrzeżenie: błąd number_format() na liście postów

text: Po aktualizacji do WordPress 3.1 licznik komentarzy dla każdego posta na liście Posts pokazuje teraz błąd PHP `Ostrzeżenie: number_format() oczekuje, że parametr 1 będzie podwójny, ciąg podany w /wp-includes/functions.php w wierszu 155`. Ten problem jest zdecydowanie związany z wtyczką Disqus komentarzy, która podejrzewam, że manipuluje liczbą komentarzy. Widzę, jak mogę naprawić ten błąd, edytując podstawowy plik WP /wp-admin/includes/class-wp-list-table.php i sterując funkcją „get_comments_number()”, ale wolałbym znaleźć rozwiązanie na cokolwiek jest manipulowany w disqus.php. jakieś pomysły?


title: Jak dodać filtr do wszystkich danych wyjściowych widżetów?

text: Czy istnieje ostatni filtr, który jest sprawdzany nad widżetami przed wysłaniem ich do przeglądarki? Chciałbym dodać filtr, który dodaje `rel="nofollow"` do wszystkich linków we wszystkich widżetach. Na przykład mogę dodać filtr do widżetu tekstowego: add_filter('widget_text', 'xrvel_nfp_modify_nofollow'); Ale nie chcę tropić każdego haka dla każdego widżetu. (Ponadto widżet RSS nawet NIE MA filtra. Przesłano zgłoszenie Trac)


title: Usuń post ze strony głównej (z ograniczeniem Wp-admin)

text: używam tej funkcji do usunięcia posta z frontu // Usuń z funkcji Front-End Link wp_delete_post_link($link = 'Usuń to', $before = '', $after = '', $title="Przenieś ten element do kosza ", $cssClass="delete-post") { global $post; if ( $post->post_type == 'strona' ) { if ( !current_user_can( 'edit_page' ) ) return; } else { if ( !current_user_can( 'edit_post' ) ) return; } $delLink = wp_nonce_url( site_url() . "/wp-admin/post.php?action=trash&post=" . $post->ID, 'trash-' . $post->post_type . '_' . $post- >ID); $link = ''.$link.""; zwróć $przed . $link . $po; } działa w 100%, ale używam funkcji ograniczenia dostępu adminowi bez dostępu do wp-admin, używając tej funkcji : function limited_admin(){ //jeśli nie jest administratorem, zabij wykonanie WordPressa i podaj wiadomość if ( ! current_user_can( 'create_users' ) ) { wp_die( __('Nie masz dostępu do tej części strony') ); } } add_action( 'admin_init', 'restrict_admin', 1 ); **mój problem**, jak mogę pozwolić użytkownikowi (nie administratorowi) na usunięcie własnego posta?


title: Sprawdź nazwę_kategorii lub informacje o taksonomii dla niestandardowego typu posta?

text:
Sprawdzam bieżącą stronę, na której się znajduję, a następnie używam jej do ustawienia zmiennej, aby zmienić nazwę kategorii w ten sposób. <?php if (is_page('jabłka')) { $categoryname = 'Jabłka'; } $args = array ( 'posts_per_page' => -1, 'post_type' => 'produkty', 'category_name' => $categoryname ); $fruit_query = nowe WP_Query( $args ); if ( $fruit_query->have_posts() ): while ( $fruit_query->have_posts() ) : $fruit_query->the_post(); if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?> <?php the_title(); ?>
 Tydzień zbiorów: Od <?php the_field('harvest_week_from'); ?> do <?php the_field('harvest_week_to'); ?>
 Kolor: <?php the_field('kolor'); ?>
 Sezon rynkowy: <?php the_field('market_season'); ?>
 Sektor rynku: <?php the_field('sektor_rynku'); ?>
 <a href="<?php the_permalink();?>">Link do produktu
 <?php endwhile; else: // Wstaw dowolną treść lub załaduj szablon dla nie znalezionych postów. endif; wp_reset_query(); ?> Problem polega jednak na tym, że jest to niestandardowy typ postu, więc myślę, że powinienem sprawdzić taksonomię, ponieważ kategoria nie działa. Próbowałem już przykładów z tej strony http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters, ale bezskutecznie. Czy jest coś jeszcze, co mam zamiar zrobić? Dzięki **EDYTUJ: To jest konfiguracja mojego niestandardowego typu postu** add_action('init', 'register_products'); function register_products() { register_post_type('products', array( 'label' => 'Produkty', 'description' => '', 'public' => true, 'show_ui' => true, 'show_in_menu' => true , 'capability_type' => 'post', 'map_meta_cap' => true, 'hierarchical' => false, 'rewrite' => array('slug' => 'products', 'with_front' => true), 'query_var ' => true, 'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','autor', 'page-attributes','post-formats'), 'taxonomies' => array('category'), 'labels' => array ( 'name' => 'Produkty', 'singular_name' => 'Produkt', 'menu_name' => 'Produkty', 'add_new' => 'Dodaj produkt', 'add_new_item' => 'Dodaj nowy produkt', 'edit' => 'Edytuj', 'edit_item' => 'Edytuj produkt' , 'new_item' => 'Nowy produkt', 'view' => 'Wyświetl produkt', 'view_item' => 'Wyświetl produkt', 'search_items' => 'Wyszukaj produkty', 'not_found' => 'Nie znaleziono produktów ', 'not_found_in_trash' => 'Nie znaleziono produktów w koszu', 'parent' => 'Produkt nadrzędny', ) ));} **Zrzut ekranu pulpitu nawigacyjnego:** ![tu wpisz opis obrazu](http:/ /i.stack.imgur.com/UeRsL.png)


title: template_redirect powodujący nieskończoną pętlę po wywołaniu get_queried_object

text: Mam sytuację, w której wywołuję get_queried_object() w haku akcji „wp” i powoduje to nieskończone przekierowanie 301. Mogę to tymczasowo naprawić, dodając: > remove_filter( 'template_redirect', 'redirect_canonical' ); ale wiem, że jest to tymczasowa poprawka, ponieważ wyłączyło to automatyczne przekierowanie błędów 404. http://www.mydigitallife.info/how-to-disable-wordpress-canonical-url-or-permalink-auto-redirect/ http://docs.dev4press.com/tutorial/wordpress/canonical-redirect-problem- i- rozwiązania/ Błąd wydaje się być jednak specyficzny dla serwera, ponieważ nie widziałem go na dziesiątkach innych. Co jeszcze dziwniejsze, buforowanie zapobiega występowaniu problemu, gdy nie jest się zalogowany (przy użyciu motywu W3 Total Cache) 2012 aktywowany, a wszystkie inne wtyczki są dezaktywowane, z wyjątkiem tej, która wywołuje get_queried_object. Odkryłem również, że był to tylko problem na stronie głównej klienta.


title: Czy możliwe jest, aby *.js i foldery były widoczne w edytorze motywów?

text: Właśnie stworzyłem plik `test.js` w folderze mojego własnego motywu potomnego. Niestety nie jest to widoczne w edytorze motywów. Jak mogę to uwidocznić? A czy można sprawić, by foldery były widoczne?


title: Wtyczka eksportu pomija wiele obrazów

text: Myślę, że nigdy nie widziałem, aby wtyczka WP Importer działała idealnie ani razu. Zawsze pomija kilka polecanych obrazów. Czy istnieje ręczna i miejmy nadzieję bardziej niezawodna procedura eksportowania i importowania wszystkich postów/CPT z polecanymi obrazami?


title: Motyw Aktywuj Hook

text: Chciałbym napisać funkcję wysyłającą mi e-mailem adres URL witryny, gdy mój motyw jest aktywowany. Co jest inicjowane podpięciem, gdy motyw jest aktywowany?


title: Błąd instalacji wtyczek Parallels Plesk

text: Za każdym razem, gdy próbuję zainstalować Worldpress lub jakąkolwiek inną wtyczkę w Parallels Plesk 11.5, pojawia się następujący błąd Błąd: Instalacja WordPressa pod adresem http://example.com/wordpress nie powiodła się. Błąd ODBC #42S22: [MySQL][Sterownik ODBC 5.1][mysqld-5.5.24-0ubuntu0.12.04.1]Nieznana kolumna 'T100253344.app_id' w klauzuli where, która nie wystąpiła przed aktualizacją Pleska.


title: Kolejkowanie skryptów i stylów

text: Próbuję umieścić w kolejce mój niestandardowy skrypt i styl za pomocą bloku kodów, skrypty działają, ale nie styl. Nie wiem, co robię źle. funkcja my_scripts_method() { wp_deregister_script( 'jquery' ); wp_deregister_script( 'styl' ); wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' ); wp_register_style( 'styl', '//siteripe.com/style.css' ); } add_action('wp_enqueue_scripts', 'my_scripts_method'); add_action ('wp_enqueue_style', 'my_style_method');


title: Jak usunąć link „czytaj więcej” z niestandardowego fragmentu typu postu?

text: Czy jest sposób na dodanie jakiegoś rodzaju filtra `pre_get_posts()`, aby usunąć link „czytaj więcej”, który pojawia się na końcu `the_excerpt()` tylko dla 1 określonego niestandardowego typu posta, który określę? Jeśli tak, czy ktoś mógłby mi pomóc z kodem? Pracuję nad tym od jakiegoś czasu, ale nigdzie nie dotarłem. Każda pomoc byłaby bardzo mile widziana. Dziękuję!


title: Jak osadzić dane formularza w polu „Dodaj nowy post”

text: Chcę, aby użytkownicy mogli używać szablonu samochodu w nowych postach. Szablon będzie zawierał takie elementy jak zdjęcie samochodu, marka, model, liczba drzwi, kolor samochodu itp. Użytkownicy nie będą chcieli używać szablonu w każdym ze swoich postów. Jak mam to zrobić? Moim pomysłem jest: **Utworzenie nowego widżetu na stronie „Dodaj nowy post”. Zawierałby formularz, w którym użytkownik może przesłać zdjęcie i wprowadzić dane (w polach wprowadzania tekstu).** **Gdy użytkownik wypełni formularz (w widgecie), może nacisnąć przycisk (w widżecie lub w pasku narzędzi 'Dodaj nowy post'), który osadzi dane formularza w nowym poście.** Proszę powiedzieć, czy byłoby to dobre/najlepsze podejście, czy też powinienem to zrobić w inny sposób.


title: Nie można poprawnie sformatować wpisu w blogu za pomocą wp-load

text: Zakładam bloga, którego posty próbuję zintegrować ze starymi stronami witryny. $id = $_GET['article_id']; $post = get_post($id); setup_postdata($post); echo $post->post_content; Jednak, gdy powtórzę wpis na blogu z `$post->post_content`, wygląda na to, że html został usunięty. Wszystkie linie biegną razem. W źródle są podziały wierszy, ale nie ma znaków html `<BR>` ani `<p>`. Jednak post wygląda dobrze, gdy przeglądam go na rzeczywistej stronie WordPress. Muszę użyć `<pre>`, aby wyświetlić go poprawnie, ale wtedy na stronie linie nie zawijają się i domyślnie jest to czcionka maszyny do pisania. Co ja robię źle?


title: Jak zrobić wielokolumnową, ciekawą stronę główną w Weaver 2010?

text: (Jestem całkiem nowy w wordpressie - jestem programistą C++, a nie koderem html/css, ale próbuję.) Mam problem z wymyśleniem, jak stworzyć stronę główną, która zawiera informacje o niektórych naszych produktach itp. zrobić coś lepszego niż tylko statyczna strona tekstu. Chcę mieć kilka zdjęć, być może trzy kolumny lub dwie kolumny z małymi fragmentami tekstu wprowadzającego, które użytkownicy mogą kliknąć, aby przejść do innych stron. Nie wiem, jak to zrobić. Czy potrzebuję widżetów, czy czegoś? Jest dla mnie bardzo niejasne, jak to zrobić. Postaram się opublikować kilka próbek tego, co chcę zrobić - ale to naprawdę nie jest takie wyszukane. Niektóre linki do zasobów byłyby świetne - jestem w tym tak nowy, że nie wiem, gdzie szukać pomocy lub dokumentacji. To, czego potrzebuję, to prosty samouczek „jak to zrobić”. Dziękuję


title: Niestandardowe zapytanie typu post dla paska bocznego nie działa na stronie głównej

text:
Ciekawy temat tutaj. Mam to: $args=array( 'meta_key'=>'_simple_fields_fieldGroupID_1_fieldID_8_numInSet_0', 'post_type' => 'stores', 'post_status' => 'publish', 'posts_per_page' => 10, 'caller_get_1_posts') ; $moje_zapytanie = null; $my_query = nowe WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $moje_zapytanie->the_post(); ?>

 <a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>"><?php $selected_value = get_post_meta(get_the_id(), "_simple_fields_fieldGroupID_1_fieldID_9_numInSet_0", prawda); echo "$selected_value"; ?> w <a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>"><?php the_title(); ?>

 <?php endwhile; } wp_reset_query(); // Odtwórz globalne dane postu, które zostały nadpisane przez the_post(). Który zamierza wyświetlić listę określonego typu postu (sklepów) na pasku bocznym, jeśli określone pole niestandardowe nie jest puste. W pojedynczych postach, które działają świetnie - na stronie głównej (home.php) tak nie jest - widżet paska bocznego jest pusty. Jestem zakłopotany. Jakieś pomysły? Jan


title: Określanie liczby postów na stronie za pomocą wbudowanej wtyczki postów (:

text: Pracuję nad stroną internetową dla mojej szkoły. Pobrałem wtyczkę wbudowanego posta. Ta wtyczka umożliwia tworzenie postów na wielu stronach w całej witrynie. Mam jednak problem z wyświetlaniem określonej liczby postów na stronie. Daj mi znać, co mogę zrobić. Dziękuję Ci (:


title: Wyłącz tworzenie nowych tagów dla postów

text: > **Możliwy duplikat:** > Czy mogę wyłączyć wpisy/taksonomie? Próbuję wyłączyć tworzenie nowych tagów dla postów. Jeśli tag znajduje się na istniejącej liście tagów, zostanie dodany z postem, który w przeciwnym razie zostanie usunięty. Kod, którego używam, nie działa. Oto kod add_filter( 'pre_post_tags_input', 'no_tags_input_create' ); add_action( 'publish_post', 'no_tags_input_create' ); add_action( 'publish_updated', 'no_tags_input_create' ); add_action( 'save_post', 'no_tags_input_create' ); funkcja no_tags_input_create($post_ID) { $taxonomy_ar = wp_get_post_tags($post_ID); if (count($taxonomy_ar) > 0){ foreach ($taxonomy_ar as $taxonomy_term) { $term_ids= $taxonomy_term->term_id; $tags_name[]= $taxonomy_term->name; } } $wyjście = tablica(); foreach( $tags_name as $tag ) if(!term_exists($tag, 'post_tag')){ wp_delete_term($term_ids,'post_tag'); wp_set_post_tags ($post_ID, '', false ); } } Czy ktoś może wskazać, gdzie się mylę?


title: Jak stworzyć giełdę udostępniania z wordpressem dla rowerów?

text: Chcę stworzyć marketplace dla rowerów z wordpressem. Użytkownicy mogą zarejestrować/zalogować się i sprzedawać swój rower innym użytkownikom. Mogą również stworzyć wstępnie zdefiniowaną stronę dla swojego roweru... Jakich wtyczek wordpress muszę używać, czy też muszę napisać własną wtyczkę? Jak stworzyłbyś taką witrynę?


title: Jakie są krytyczne pliki motywów podczas tworzenia motywu niestandardowego?

text: Jakie krytyczne pliki musi mieć motyw, aby być motywem WordPress i prawidłowo zweryfikować?


title: Pobierz plugin_dir_url() z jednego poziomu głęboko w wtyczce

text: Napisałem kilka wtyczek używając struktury : /plugins/myplugin/myplugin.php /plugins/myplugin/class/class-myclass.php Aby skorzystać z OO i ogólnej struktury mojego kodu Z pliku klasy są chwile Muszę uzyskać adres URL wtyczki bazowej... Używałem następującego, ale jestem pewien, że jest lepszy sposób: $this->plugin_location = substr(plugin_dir_url(__FILE__),0, strrpos(plugin_dir_url(__FILE__) ), "/",-2)) ). "/"; Innym pomysłem, z którym się bawiłem, było posiadanie dodatkowej klasy singleton, która przechowuje wszystkie ustawienia wtyczki i dodanie warstwy abstrakcji za pośrednictwem plików klas. Każda pomoc jest bardzo ceniona.


title: Wyklucz komentarze na stronie X z komentarzy do witryny Kanał RSS

text: Chcę wykluczyć komentarze na określonej stronie z kanału RSS komentarzy witryny (site.com/comments/feed/). Przeszukałem trochę, ale nie udało mi się znaleźć żadnych informacji o tym, jak można to osiągnąć. Każda pomoc byłaby wdzięczna.


title: Przepisz reguły niestandardowego typu postu

text: Utworzyłem nowy niestandardowy typ postu „wideo” i nową taksonomię „piosenkarze”. Jest 3 śpiewaków: Michael Jackson, Madonna, Eminem. Chciałbym zmienić permalink, więc chciałbym ten adres URL: www.example.com/madonna/video-like-a-prayer (gdzie „madonna” to piosenkarka, „video” to typ posta, a „jak -a-prayer” to nazwa posta). Jak mogę rozwiązać proszę? Dziękuję.


title: Tłumaczenie etykiet formularzy shortcode output

text: Używam wtyczki MyMail do zarządzania moim newsletterem. Używam również WPML do zarządzania tłumaczeniami, nie ma kompatybilności między dwiema wtyczkami. Formularz subskrypcji umieszczany jest w stopce, za pomocą skrótu MyMail i widgetu tekstu wordpress. Chcę przetłumaczyć etykiety pól na język aktywny: Myślałem więc o napisaniu filtru dla „tekstu_widgetu”, wyszukaj „nazwę etykiety” i preg_replace() jej wyjście ... Ale nie znajduję sposobu aby to osiągnąć. Patrząc na klasę php, która zarządza formularzem, zauważyłem, że funkcja wyprowadzająca formularz przechowuje końcowy kod jako: return apply_filters('mymail_form', $html, $formid, $form); Myślę więc, że potrzebuję "wyszukaj i zamień" w zmiennej $html. Jakieś pomysły? Wielkie dzięki!


Włączyłem tryb debugowania i widzę w nagłówku: **Uwaga: Użycie niezdefiniowanej stałej - założono ' '** Używam następującej funkcji w pliku header.php: <?php if ( is_user_logged_in() ) { global $bieżący_użytkownik; get_currentuserinfo(); echo $bieżący_użytkownik->wyświetlana_nazwa; //dotknięta linia } else { ... }?>


title: Muszę dynamicznie wstawić post zawierający javascript z mojej innej witryny?

text: Próbuję dynamicznie dodać post z treścią (również zawierający trochę js), ale część javascript jest odfiltrowana. Myślałem, że przy użyciu wp_set_current_user js zostaną uwzględnione. To jest moja główna funkcja, która generuje funkcję post mydomain_which_page2($atts) { extract( shortcode_atts( array( 'temp_title' => 'coś'), $atts) ); //post istnieje? if (wp_exist_post_by_title($temp_title) ) { $redirect_title = sanitize_title($temp_title); header('Lokalizacja:' . $redirect_title); Wyjście(); } else { // post nie istnieje wp_set_current_user(NULL, 'Użytkownik testowy'); //POBIERZ MAPY $output = getIncludeContent('moja_inna_domena.com/generate.php'); //ZAPISZ JAKO WP POSTS mydomain_add_post($temp_title,$output); //PRZEKIEROWANIE $redirect_title = sanitize_title( $temp_title); header('Lokalizacja:' . $redirect_title); Wyjście(); } } Bezpośrednie przejście do myotherdomain.com/generate.php spowoduje wyświetlenie js w kodzie źródłowym, a $output pokaże kod źródłowy z js. i funkcja add_post funkcja add_post($title, $content){ // Utwórz obiekt postu wp_strip_all_tags //$content = strip_tags($content); $my_post = array( 'post_title' => $title, 'post_content' => $content, 'post_name' => sanitize_title($title), 'post_status' => 'publish', 'post_author' => 1, 'post_category ' => tablica(1) ); // Wstaw post do bazy danych wp_insert_post( $my_post ); } Jakieś wskazówki, sugestie? pozdrowienia


title: Utwórz niestandardową funkcję, aby umożliwić „edytorowi” edytowanie tylko użytkowników „subskrybentów”

text: Chcę utworzyć nową rolę "Moderatora" (pomiędzy Administratorem a Edytorem), która będzie mogła edytować tylko konta użytkowników typu "Abonent". Mogę stworzyć rolę i dodać istniejące możliwości wp, ale nie wiem, jak stworzyć nową możliwość, 'edit_subscriber', która może to zrobić. Każdy wgląd doceniany.


title: Jak sprawdzić komentarze „Jeśli autor”

text:
Chciałbym dodać dodatkowe znaczniki do komentarza admina strony/autora posta. Czy jest na to czek i jak mam go dodać do mojego kodu poniżej? Zasadniczo, jeśli komentarz pochodzi od autora posta, chciałbym dodać kod HTML obok jego nazwy (Autor lub Administrator). Dzięki
 <?php printf(__('%s powiedziane') , get_comment_author_link()) ?> <a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"> <?php printf( __('%1$s at %2$s') , get_comment_date(), get_comment_time()) ?><?php edit_comment_link(__('(Edytuj)'),' ','' ); ?>


title: Jak wywołać echo JS zaraz po zakolejkowanym skrypcie, aby przełączyć go w tryb noConflict?

text: Chcę dołączyć i używać pliku JavaScript innej firmy (Bootstrap Tooltip) w mojej wtyczce. Ponieważ Bootstrap jest bardzo popularnym frameworkiem, a `tooltip()` jest raczej ogólną nazwą, chcę wykorzystać dołączoną funkcjonalność `noConflict()` do wyizolowania instancji podpowiedzi w mojej własnej zmiennej. Jeśli dobrze rozumiem czas, należy to zrobić zaraz po załadowaniu pliku skryptu - aby nic innego nie miało szansy zepsuć instancji (właśnie została skonfigurowana) lub też się przez to zepsuć. Jednak wydaje się, że nie ma konwencji w funkcjonalności kolejki do echa JS w takim punkcie. `$wp_scripts->print_extra_script()` nazywa się _przed_ skryptem. Czy jest to w ogóle możliwe do osiągnięcia przy obecnej implementacji kolejki?


title: policz liczbę postów (publicznych, prywatnych, chronionych) według nazwy kategorii

text: Chciałem policzyć posty (publiczne, prywatne, chronione) według nazwy kategorii, załóżmy, że `blog` . Aby uzyskać wszystkie posty bez względu na kategorię, której użyłem `$total_pages = wp_count_posts()->publish;` Ale nie mogę zrozumieć, jak policzyć liczbę postów dla nazwy kategorii `blog`


title: Jak uzyskać identyfikator galerii w szablonie nextgen

text: Chcę pobrać opis galerii w pliku ...\wp-content\plugins\nextgen- gallery\products\photocrati_nextgen\modules\nextgen_basic_gallery\templates\thumbnails, ale trzeba znać identyfikator galerii. Jak mogę pobrać zmienny identyfikator galerii?


title: Dlaczego na mojej stronie jest używany plik archive.php?

text: Mam stronę "Portfolio", która zawiera pętlę, która wyświetla listę elementów portfolio (Custom Post Type, _czy to jest problem?_ ) używając `page- portfolio.php`. Problem polega na tym, że WordPress używał pliku `archive.php` do renderowania strony mojego portfolio, dlaczego?


title: Usuń przycisk multimediów z niestandardowego edytora obsługi typu postów

text: Poniższy kod usuwa przycisk medialny również z innych edytorów.. jak usunąć edytor z edytora obsługi typu postu add_action('admin_head', 'remove_mediabuttons'); function remove_mediabuttons() { global $post; if($post->post_type == 'custom_post_type' && current_user_can('edit_post')) ) { remove_action( 'media_buttons', 'media_buttons' ); } }


title: Arkusz stylów Wordpress nie jest dodawany

text: Niedawno zacząłem uczyć się WordPressa i po nauczeniu się, jak go używać na poziomie podstawowym, od razu zacząłem uczyć się tworzenia szablonów, ponieważ to właśnie zainteresowało mnie od samego początku, kiedy zacząłem się go uczyć. Czytam WordPress 3 Complete i w rozdziale 6 książka poprowadzi Cię do opracowania pierwszego podstawowego motywu. Jedynym problemem jest to, że wygląda na to, że mój motyw nie bierze arkusza stylów. Próbowałem użyć: <link rel="stylesheet" type="text/css" href="style.css"/> i <style type="text/css">@import url("style.css") ;</style> Żaden z nich nie wydaje się mieć stylu na stronie. Co powinienem zrobić?


title: Niestandardowy formularz zgłoszeniowy WordPress

text: * Chcę zaimplementować formularz zgłoszeniowy za pomocą WordPressa, najlepiej za pomocą wtyczki. To, czego potrzebuję tutaj, nie jest formularzem kontaktowym, ale potrzebuję pełnego formularza rejestracyjnego lub formularza rejestracji klienta lub formularza rejestracji studenta. Oznacza to, że pola można dostosować do konkretnych potrzeb. lub * Chcę mieć stałą liczbę kolumn tabeli, która ma formularz i przechowuje dane w tej tabeli. Ponieważ chcę pokazać tę tabelę w moich raportach w panelu administracyjnym wordpress. Jestem otwarta na wszelkie sugestie. Nawet jeśli całkowicie się mylę. Proszę, prowadź mnie. Dziękuję,


title: Pętla z innej witryny WP do mojej

text:
To, co próbuję osiągnąć, to przeniesienie pętli z jednej witryny WP do innej witryny WP. Użyłem tej metody, aby umieścić pętlę w zewnętrznym pliku php (wszystko działa dobrze, wyniki pokazują) <?php define('WP_USE_THEMES', false); require('ścieżka_na_serwerze/wp-blog-header.php'); query_posts('showposts=5'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
 <a href="<?php the_permalink() ?>"><?php the_title(); ?>" />
 <?php endwhile; endif; ?> Następnie próbuję dołączyć plik do paska bocznego za pomocą prostego wywołania dołączania php, ale wyniki się nie pokazują... wyobraź sobie, że dzieje się tak z powodu jakiegoś konfliktu między moim WP a innymi witrynami WP. Jakakolwiek pomoc w osiągnięciu tego? Dzięki


title: Nie możesz uzyskać dostępu do funkcji WordPressa w pliku wywoływanym przez Ajax?

text: Próbuję przeładować nowe posty za pomocą jQuery. O ile wiem, nie mogę ponownie załadować zawartości div na stronie, więc ponownie ładuję plik do tego div. Problem polega na tym, że mój załadowany plik wyświetla **Błąd krytyczny: Wywołanie niezdefiniowanej funkcji wp_query()** Jak mogę zaimplementować funkcje do nowo utworzonego pliku w katalogu motywu, aby działały poprawnie? _**To jest mój jQuery_** <script language="JavaScript"> $(function() { var SANAjax = function(){ } setInterval(SANAjax, 15000 ); }); </script> _**A oto co mam w `reloadhomeposts.php` (chociaż usunąłem zawartość)_** <?php $recent = new WP_Query("cat=3,4,5&showposts=10" ); while($recent->have_posts()) : $recent->the_post();?> . . . <?php koniec; ?>


title: Jak uzyskać posty z bloga sieciowego

text: Mam więc funkcję, która pobiera posty z URL(id) (rzeczy ajax). Działa, ale teraz chciałbym również pobierać posty z innych blogów w mojej sieci. Jestem zaskoczony, jak mogę to osiągnąć? Czy muszę jakoś znać identyfikator bloga? Więc teraz przekazuje do mojej funkcji adres URL, a za pomocą get_blog_id_from_url otrzymuję identyfikator postu i pobieram wszystkie dane i przekazuję je przez JSON z powrotem do fronded. Ale jeśli przekażę adres URL jakiegoś bloga sieciowego, nie wie, jak pobrać dane z tego posta. EDYCJA: oto funkcja: function my_query(){ $url = $_POST['url']; $rsp_post = tablica(); $post_id = url_to_postid( $url ); globalny $post; $post = get_post( $post_id ); $rsp_post[] = array( 'post_title' => $post->post_title, 'post_date' => $post->post_date ); drukuj json_encode( $rsp_post ); Wyjście; }


title: Oświadczenie warunkowe pokazujące paginację

text:
Używam paginacji do poruszania się między postami z tej samej kategorii. Oto mój kod:

 <?php next_post_link('%link', 'Précédent artykułu', PRAWDA); ?>

 <?php previous_post_link('%link', 'Artykuł Suivant', PRAWDA);?>

 Działa doskonale. Ale to, co próbuję zrobić, to dodać instrukcję `if`, aby pokazać div o identyfikatorze `article_single_prev_next` tylko wtedy, gdy wewnątrz kategorii znajduje się następna z poprzednich stron. Próbowałem użyć tego kodu bez powodzenia: <?php if (show_posts_nav('%link')) : ?>

 <?php next_post_link('%link', „Artykuł précédent”, PRAWDA); ?>

 <?php previous_post_link('%link', 'Artykuł Suivant', TRUE);?>

 Czy ktoś może mi w tym pomóc?


title: Jaki jest oczekiwany limit akceptowalnej wydajności WordPressa bez żadnych zmian?

text: Z Twojego doświadczenia wynika, kiedy należy zacząć myśleć o zwiększaniu skali? **Jaka jest oczekiwana wydajność zwykłej instalacji WordPressa na standardowym serwerze Apache, bez żadnych [poprawek wydajności lub wtyczek]** (Kroki optymalizacji WordPressa pod kątem obciążenia serwera?)? Pod względem wczytywania strony (załóżmy brak buforowania): **Czy mieści się w zakresie 100/1000/+ wczytywania strony na sekundę?** Pod względem ruchu: **Przy jakiej liczbie użytkowników dziennie można się spodziewać zacząć trafiać w wąskie gardła wydajności (ignorując ruch, zakładając świetne połączenie)?**


title: Profilujesz witrynę WordPress pod kątem wdrożenia na hostingu współdzielonym?

text: Mam problem z wykorzystaniem procesora w mojej witrynie i szukam sposobu na wykrycie (i naprawienie) przyczyny tego problemu. Temat nieuwzględniony w tym pytaniu. Podążając za odpowiedzią Hakre tutaj, zdaję sobie sprawę, że to, co muszę zrobić, to sprofilować moje wywołanie PHP. Czy rozsądne jest umieszczenie witryny na własnym komputerze, uruchomienie profilera i wykorzystanie tych informacji do ulepszenia mojej witryny? Jakieś inne sugestie, jak to zrobić w najlepszy sposób?