title: Dlaczego moje dane metabox nie są zapisywane?

text:
Mam niestandardowy post z dużą ilością metaboxów. Ostatnio próbowałem dodać kilka dynamicznych metaboksów, używając tego pytania: Utwórz więcej Meta Boxów w razie potrzeby Udało mi się ładnie dodać metaboksy, jquery działa, wszystko działa z wyjątkiem akcji save_post - "Recenzje" są ładnie zapisywane, ale " Pokazy” nie. Co zrobiłem źle w swoim kodzie? Jestem pewien, że to musi być coś bardzo prostego, co przeoczam, może z tymi nonces? **Edytuj** : Wiem, że mogę to wszystko zrobić za pomocą jednego `save_post`, a to działa, jeśli mam tylko 1 z tych dynamicznych metaboksów, ale jeśli dodam drugą (lub więcej) dynamiczną sekcję metaboksu, te dane nie nie oszczędzaj. **Edytuj** : W razie potrzeby mogę opublikować cały plik funkcji custom-posts.php do pastebin lub czegoś podobnego, ale właśnie zamieściłem tutaj fragment, który moim zdaniem jest odpowiedni dla zwięzłości **Edytuj** : Zaktualizowany kod. .. <?php add_action('save_post', 'save_postdata'); // zapisuje dane postu z innej funkcji wcześniej na add_action('save_post', 'save_postdata_dynamic_reviews_metabox' ); add_meta_box("recenzje-filmów", "Recenzje", "print_dynamic_reviews_metabox", "film", "normalny", "niski"); add_action('save_post', 'save_postdata_dynamic_screenings_metabox' ); add_meta_box("projekcje filmowe", "Screeningi", "print_dynamic_screenings_metabox", "film", "normalny", "niski"); /* Wyświetla zawartość pudełka */ function print_dynamic_reviews_metabox() { global $post; // Użyj wartości nonce do weryfikacji echo '<input type="hidden" name="reviews_noncename" id="reviews_noncename" value="' .wp_create_nonce( 'reviews-nonce') .'" />'; echo '
'; echo '
'; $recenzje = get_post_meta($post->ID,'recenzje',prawda); //pobierz dowolną wcześniej zapisaną meta jako tablicę, abyśmy mogli ją wyświetlić // print_r($reviews); $c = 0; if( is_array($recenzje) ) { foreach($recenzje jako $recenzja ) { if (isset($recenzja['nazwa-recenzji']) || isset($recenzja['link-opinii']) ) { echo '
Usuń Nazwa/tytuł recenzji: <input type="text" class="meta- nazwa-recenzji zapisane dane" name="recenzje['.$c.'][nazwa-recenzji]" value="'.$review['nazwa-recenzji'].'" /> <etykieta>Adres URL recenzji: (nie zapomnij http://) <input type="text" class="meta-review-url savedata" name="reviews['.$c.'] [url-recenzji]" value="'.$review['review-url'].'" />'; echo 'Usuń
'; $c = $c +1; } // kończy się jeśli isset $award[album] } // kończy się foreach } // kończy się jeśli (is_array) echo '
'; echo 'Dodaj nową recenzję'; ?> <skrypt> var $ =jQuery.noConflict(); $(document).ready(function() { var count = <?php echo $c; ?>; $(".add-review").click(function() { count = count + 1; $('# Reviews-meta').append('
Usuń Nazwa/tytuł recenzji: <typ danych wejściowych ="text" class="meta-review-name" name="reviews['+count+'][review-name]" value="" /> URL recenzji: (nie zapomnij http://) <input type="text" class="meta-review-url" name="recenzje['+count+'][review-url]" value="" />
 Usuń'); return false; }); $(".remove-review").live ('klik', function() { $(this).parent().remove(); }); }); </script> <?php echo '
'; // kończy div#meta_inner } // kończy funkcję print_dynamic_reviews_metabox() function save_postdata_dynamic_reviews_metabox( $post_id ) { // sprawdź, czy jest to procedura automatycznego zapisu. // Jeśli to jest nasz formularz nie został przesłany, więc nie chcemy nic robić if ( define('DOING_AUTOSAVE') && DOING_AUTOSAVE ) { return; } // Sprawdź uprawnienia if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id )) { return $post_id; }} elseif ( !current_user_can( 'edit_post', $post_id )) { return $post_id;} // zweryfikuj, czy pochodzi z naszego ekranu i z odpowiednią autoryzacją, // ponieważ save_post może zostać wywołany w innym czasie if (isset($ _POST['reviews_noncename'])){ if (!wp_verify_nonce( $_POST['reviews_noncename'], 'reviews-nonce') ) return; }else{return;} // OK, jesteśmy uwierzytelnieni: musimy znaleźć i zapisać dane $reviews = $_POST['reviews']; update_post_meta($post_id,'recenzje',$recenzje); } // kończy funkcję save_postdata_dynamic_reviews_metabox /* Drukuje zawartość pudełka */ function print_dynamic_screenings_metabox() { global $post; // Użyj wartości nonce do weryfikacji echo '<input type="hidden" name="screenings_noncename" id="screenings_noncename" value="' . wp_create_nonce( 'screenings-nonce' ). '" />'; echo '
'; echo '
'; $screenings= get_post_meta($post->ID,'screenings',true); //pobierz dowolną wcześniej zapisaną meta jako tablicę, abyśmy mogli ją wyświetlić // print_r($screenings); $c = 0; if( is_array($screening) ) { foreach($screening jako $screening ) { if (isset($screening['nazwa-festiwalu-przesiewowego']) || isset($screening['data-festiwalu-przesiewowego']) ) { echo '
Usuń Nazwa festiwalu: <input type="text" class=" meta-screening-festival-name savedata" name="screeningi['.$c.'][nazwa-festiwalu-przesiewowego]" value="'.$screening['nazwa-festiwalu-przesiewowego'].'" />  Data festiwalu: <input type="text" class="meta-screening-festival-date savedata" name="screenings['.$c.'][screening -data-festiwalu]" value="'.$screening['data-testu-festiwalu'].'" />'; echo 'Usuń
'; $c = $c +1; } // kończy się jeśli isset $award[album] } // kończy się foreach } // kończy się jeśli (is_array) echo '
'; echo 'Dodaj nowe badanie'; ?> <skrypt> var $ =jQuery.noConflict(); $(document).ready(function() { var count = <?php echo $c; ?>; $(".add-screening").click(function() { count = count + 1; $('# screenings-meta').append('
Usuń Nazwa festiwalu: <input type=" text" class="nazwa-festiwalu-meta-screeningu" name="screenings['+count+'][nazwa-festiwalu-przesiewowego]" value="" /> Data festiwalu:  <input type="text" class="meta-screening-festival-date" name="screenings['+count+'][screening-festival-date]" value="" /> Usuń'); return false; }); $(.remove-screening").live('click', function() { $ (to).parent().remove(); }); }); </script> <?php echo '
'; // kończy div#meta_inner } // kończy funkcję print_dynamic_screenings_metabox() function save_postdata_dynamic_screenings_metabox( $post_id ) { // sprawdź, czy jest to procedura automatycznego zapisu. // Jeśli to jest nasz formularz nie został przesłany, więc nie chcemy nic robić if ( define('DOING_AUTOSAVE') && DOING_AUTOSAVE ) { return; } // Sprawdź uprawnienia if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id )) { return $post_id; }} elseif ( !current_user_can( 'edit_post', $post_id )) { return $post_id;} // zweryfikuj, czy pochodzi z naszego ekranu i z odpowiednią autoryzacją, // ponieważ save_post może zostać wywołany w innym czasie if (isset($ _POST['screenings_noncename'])){ if ( !wp_verify_nonce( $_POST['screenings_noncename'], 'screenings-nonce' ) ) return; }else{return;} // OK, jesteśmy uwierzytelnieni: musimy znaleźć i zapisać dane $screenings= $_POST['screenings']; update_post_meta($post_id,'screenings',$screenings); } // kończy funkcję save_postdata_dynamic_screenings_metabox ?>


title: Wtyczka do zarządzania zdarzeniami

text: Pracuję nad witryną, która ma opcję korzystania z Event Expresso Event Manager Pro Część poświęcona wydarzeniom jest dość skomplikowana i musi mieć \- kalendarz \- stronę rejestracji \- funkcję „kup biletów” w obu Paypal i http://www.authorize.net/ \- potwierdzenia e-mail Nie pracowałem zbyt wiele z wtyczkami eventowymi, czy ktoś może polecić jedną z powyższych wtyczek zamiast innych? Wygląda na to, że może być wiele potrzebnych dostosowań, więc wydaje mi się, że część tego pytania brzmi: „Który jest najłatwiejszy do dostosowania?”


title: Sprawdź, czy ma strony?

text: Tak trudno znaleźć te informacje... Chciałbym poznać sposób, aby dowiedzieć się, czy istnieją strony. Coś w stylu: if (has_pages()) { /* zrób coś */ } Nie mogę znaleźć odniesienia do żadnej podobnej funkcji... jak można by się dowiedzieć, czy istnieją strony. Na wypadek, gdybyście się zastanawiali, chciałbym pokazać tylko menu stron, jeśli są strony.


title: Akcja wewnątrz innej akcji nie działa

text:
Próbuję załadować zawartość przed tagiem end body na stronach administracyjnych, które mają na nich edytor TinyMCE. Aby to zrobić, próbuję wykorzystać dwa haki akcji „before_wp_tiny_mce” i „admin_footer”, ale wydaje się, że nie działa tak, jak się spodziewałem. Poniżej znajduje się uproszczona wersja mojego kodu: add_action( 'before_wp_tiny_mce', 'before_wp_tiny_mce_action' ); funkcja before_wp_tiny_mce_action() { add_action( 'admin_footer', 'admin_footer_action' ); } function admin_footer_action() { echo "
Jestem w stopce strony administratora z edytorem TinyMCE.
"; } Dlaczego to nie działa?


title: WooCommerce, różne ceny w zależności od lokalizacji

text: Mój klient zakłada sklep e-commerce, ale zamiast dokonywać prostych przewalutowań dla swoich produktów (na przykład 99,99 USD = 65,70 GBP), chce mieć możliwość ustalenia określonych cen na podstawie lokalizacji klienta (99,99 USD za USA klienci, 99,99 GBP dla klientów z Wielkiej Brytanii itp. Osobiście nie zrobiłbym tego w ten sposób, biorąc pod uwagę wybór, ale oni chętnie to robią, więc czy jest to możliwe dzięki wtyczce WooCommerce?


title: Czy niestandardowe typy postów są tracone po zmianie motywu?

text: Zaraz zaczynam pracę nad niestandardowym motywem WordPress i chcę wiedzieć, jak bardzo muszę uważać na niestandardowe posty. Załóżmy, że tworzę motyw WordPress, który rejestruje kilka niestandardowych typów postów. Według mojego zrozumienia dzieje się to po aktywacji motywu. Gdybym miał utworzyć kilka postów tego niestandardowego typu, a następnie zmienić motyw na motyw, który nie ma tego niestandardowego typu postu, czy straciłbym je całkowicie? Co jeśli zmienię motyw na inny, który ma ten sam niestandardowy typ postu (jeśli jest to możliwe), czy nadal będą istnieć? Co więcej, co z tymi samymi problemami w związku z taksonomią niestandardową? Jeśli zmienię motyw na inny, który nie obsługuje taksonomii niestandardowej, dane taksonomii z postów niestandardowych zostaną utracone (jeśli są nawet zapisane). Czy dane do taksonomii niestandardowej nadal będą istnieć?


title: Zmiany szablonu strony nie są wyświetlane

text: Mam do czynienia z dziwnym i bardzo irytującym błędem polegającym na tym, że zmiany w pliku szablonu strony ("contact.php") nie są w ogóle rejestrowane przez WordPress. Upewniłem się, że szablon został poprawnie wybrany przez strony, które mają go używać. Strony również wyraźnie korzystają z układu określonego przez szablon, ale nie rejestrują żadnych zmian, nawet jeśli dodam pośrodku ogromne kule tekstów. Nic się nie pojawia. Ten problem dotyczy każdej nowej strony, którą tworzę, a także starych, które modyfikuję. Nie mam zainstalowanych wtyczek do buforowania, więc nie wiem, dlaczego tak się dzieje. Zmiany w innych częściach witryny (na przykład header.php) są dobrze widoczne. Przejście na inny motyw, a następnie powrót z powrotem też nie pomaga. To niezmiernie frustrujące i byłbym wdzięczny za wszelką pomoc.


title: Sprawdzanie kategorii Wordpress

text: Mam więc wtyczkę i chcę mieć listę rozwijaną wielokrotnego wyboru ze wszystkimi kategoriami w ustawieniach widżetu i przechowywać (z wyboru administratora) wybrane (identyfikatory). ![tutaj podaj opis obrazu](http://i.stack.imgur.com/8OY9s.jpg) Następnie sprawdź, czy oglądamy post „is_single()”, a post ma niektóre z wyżej wybranych kategorii „in_category (0 ,5,6 identyfikatory kotów(po ich nazwach kliknij)) kod będzie wyglądał następująco: if(is_single() && in_category($categoryholderfromdb)){//do co mam} Gdzie $categoryholderfromdb="3,5,6" (przechowywane wybory użytkownika w db (rozwijane ustawienia widżetu)) Próbowałem to zrobić, ale nie mogę rozgryźć części za pomocą rozwijanego menu wielokrotnego wyboru, a następnie "in_category" podczas sprawdzania wartości multy. Czy ktoś może dać mi przykład powyższego pytania?Dzięki!


title: Jak mogę usunąć wiadomość powitalną wygenerowaną przez wtyczkę New User Approve?

text: Używam wtyczki New User Approve. Po zainstalowaniu wtyczki na górze strony rejestracji pojawia się komunikat: > Witamy w witrynie XXX. Ta witryna jest dostępna tylko dla zatwierdzonych użytkowników. Aby zostać > zatwierdzonym, musisz się najpierw zarejestrować. Jak mogę usunąć tę wiadomość? Używam tego kodu: $message = apply_filters('login_message', ''); Ale góra mówi, że nadal tam stój!


title: Najlepszy sposób na otrzymywanie specjalnych zdjęć w postach

text: Okej, właśnie o tym myślę (i nie jest to obecnie problem z kodowaniem, ale moje podstawowe przemyślenia): Jak otrzymywać / wprowadzać obrazy w postach do specjalnych zastosowań, powiedzmy niestandardowy post portfolio. Treść posta nie powinna tak naprawdę zawierać obrazów pracy. Obrazy te powinny być stylizowane specjalnie we własnym obszarze obrazu, oddzielonym od zwykłej treści tekstowej. To, co robiłem przez długi czas: stworzyłem niestandardowe metabox pod treścią z przyciskiem przesyłania. Użytkownicy mogli przesłać obraz, a adres URL został wstawiony automatycznie po naciśnięciu „Wstaw do posta”. Problem polegał na tym, że obraz powinien mieć dokładnie wymaganą szerokość. Teraz zmieniłem tę metodę i zacząłem mówić Użytkownikowi, że będzie musiał tylko przesłać obraz, tak jak zawsze, ale nie wstawiaj go do treści posta. Umożliwiło mi to po prostu wydrukowanie galerii postów, a ponieważ utworzyłem rozmiar obrazu o wymaganej szerokości, rozmiar obrazu nie miałby znaczenia. Teraz większość Użytkowników nie rozumie nowego sposobu i mam wrażenie, że nie jest on tak elastyczny jak wcześniej (na przykład mógłbym dodawać filmy i zmieniać kolejność filmów i obrazów w kolejności, co nie działa z moją nową metodą ). Mógłbym użyć skryptu do generowania miniatur lub zrobić to nawet sam, ale dla mnie to też nie jest fajne rozwiązanie (wydajność, kolejne buforowanie, ryzyko użycia skryptów, na przykład exploitów timthumb...). Jestem ciekaw, czy masz na to rozwiązanie lub jakieś przemyślenia? Bardzo doceniam i proszę wybaczyć mój zły angielski ;) Pozdrawiam, .wired


title: Błąd analizy podczas próby uzyskania dostępu do produktów -> Kategorie

text:
Za każdym razem, gdy próbuję uzyskać dostęp do karty Kategorie lub Tagi w obszarze Produkty na pulpicie nawigacyjnym WP, otrzymuję ten komunikat o błędzie: Błąd analizy: błąd składni, nieoczekiwany T_CONSTANT_ENCAPSED_STRING w /home4/benkang/public_html/gibumkang.com/revive/wp-admin/includes /class-wp-terms-list-table.php w wierszu 156. Więc sprawdziłem w moim `class-wp-terms-list-table.php`, ale nie mogę znaleźć, co jest z nim nie tak. Ja też tego nigdy nie dotknąłem. Oto fragment kodu. Linia 156 zaczyna się od:'$out .= $this->row_actions( $actions );'. if ( empty( $terms ) ) { lista( $kolumny, $ukryte ) = $this->get_column_info(); echo '
get_column_count() . '">'; $this->no_items(ions', $actions, $tag ); $actions = apply_filters( "{$taxonomy}_row_actions", $actions, $tag ); $out .= $this->row_actions( $actions ); $out .= '
term_id . '">'; $out .= '
' . $qe_data->nazwa . '
'; $out .= '
' . zastosuj_filtry( 'editable_slug', $qe_data->slug ) . '
'; $out .= '
' . $qe_data->rodzic . '

'; } Proszę, każda pomoc lub wgląd będą bardzo mile widziane.


title: Zamawianie niestandardowego typu postu według wielu niestandardowych pól

text: Zastanawiałem się, czy mógłbyś pomóc w rozwiązaniu mojego problemu? Wdrożyłem poprawkę, którą wymyśliłeś w tym poście: Jak zamówić niestandardowy typ postu według wielu niestandardowych pól? jednak po dodaniu filtra żadne posty nie są wyświetlane. To, co staram się osiągnąć, to uporządkowanie tabeli ligowej według punktów, a następnie według różnicy bramek. To jest moja funkcja w functions.php function orderbyreplace($orderby) { global $wpdb; return str_replace($wpdb->prefix.'postmeta.meta_value', 'mt1.meta_value, mt2.meta_value ASC', $orderby); } A oto zapytanie w moim pliku szablonu $args = array( 'post_type'=>'standings', 'orderby' => 'meta_value_num', 'meta_key' => '_pts', 'meta_query' => array( array( 'key' => '_pts', 'value' => '0', 'type' => 'NUMERIC', 'compare' => '!=' ), array( 'key' => '_dif', ' wartość' => '0', 'typ' => 'NUMERYCZNE', 'porównaj' => '!=' ) ), ); add_filter('posts_orderby','orderbyreplace'); $pętla = nowe WP_Query( $args ); remove_filter('posts_orderby','orderbyreplace'); Jeśli mógłbyś poświęcić kilka minut swojego czasu na przejrzenie tego i zasugerowanie ewentualnych sugestii i wskazanie wszystkiego, w czym mogłem popełnić błąd, byłoby to bardzo mile widziane. **EDYTUJ** Zmieniłem kod na następujący i wiem, że zwraca posty, ale zamawia je tylko za pomocą pierwszego meta_key i ignoruje drugi. funkcja orderbyreplace($orderby) { global $wpdb; return str_replace($wpdb->prefix.'postmeta.meta_value_num', 'mt1.meta_value, mt2.meta_value DESC', $orderby); } $args = array( 'post_type'=>'standings', 'orderby' => 'meta_value_num', 'meta_key' => '_pts', 'meta_query' => array( array( 'key' => '_pts' , ), array( 'klucz' => '_dif', ) ), ); add_filter('posts_orderby','orderbyreplace'); $pętla = nowe WP_Query( $args ); remove_filter('posts_orderby','orderbyreplace'); Wielkie dzięki, Ben


title: Zaktualizuj login_użytkownika, aby zmienić nazwę użytkownika

text: Próbuję zaktualizować `user_login` w tabeli `wp_users`, aby wymusić aktualizację nazwy użytkownika na jego adres e-mail po przesłaniu formularza edycji profilu front-end. Wiem, że WordPress zabrania tego za pomocą funkcji `wp_update_user`, więc próbuję używać SQL z funkcjami wpdb. Oto co mam i nie działa :( global $wpdb; $tablename = $wpdb->prefix . "users"; $sql = $wpdb->prepare( "UPDATE ".$tablename." SET user_login= ".$user_email." WHERE ID=".$user_id."", $tablename ); $wpdb->query($sql); Czy ktoś może pomóc? **Naprawiono to, zobacz tutaj:** https://gist .github.com/4045215


title: Pokaż wszystkie posty bez niestandardowej taksonomii

text: Szukałem w górę i w dół, ale nie znalazłem dokładnego kodu, aby to zrobić. Chcę pokazać wszystkie posty, które nie mają przypisanej niestandardowej taksonomii. Czyli coś w stylu: wyciągnij wszystkie posty, które mają jedną z niestandardowej taksonomii, a następnie pokaż wszystko oprócz tych postów.


title: Zmiana domyślnej czcionki i rozmiaru edytora WP

text: Domyślna czcionka jest za mała i za wąska. Sprawia, że edytowanie jest uciążliwe. Chcę, aby domyślną czcionką była Lucida 16. Nie mówię o wyskakującym menu. Już to mam. Kiedy otwieram nową stronę/post, chcę, aby Lucida 16 była już ustawiona. Próbowałem edytować php folderu administratora, ale nie mogłem go uruchomić. Musi być osadzony na bardzo głębokim poziomie. Gdy to zadziała, interfejs, który można zmienić w locie, aby dopasować zestaw czcionek do treści internetowych (ustawiony według motywu), byłby fajny.


title: Jak zamówić niestandardowe posty według jednej z wartości pól niestandardowych „data”?

text:
Używam tego kodu php do wyświetlania listy koncertów, która jest niestandardowym typem postu. Chcę go uporządkować według wartości postu „kiedy”, a pominąć koncerty, które już się odbyły. Jak mogę zmodyfikować następujący kod, aby tak się stało? <?php $args2 = array( 'post_type' => 'gig', 'numberposts' => -1 ); $gigs = get_posts($args2); foreach ($gigs as $gig){ echo '
'.$gig->post_title.'

'; // dla każdego pola niestandardowego, które chcesz. echo get_post_meta($gig->ID,'_gigswhen', prawda).'
'; echo 'Czas: '.get_post_meta($gig->ID,'_gigsstart_time', true).'-'.get_post_meta($gig->ID,'_gigsend_time', true).'
'; } ?> Aby trochę wyjaśnić, oto kod w moim functions.php $config = array( 'id' => 'gigs-info', 'title' => 'Gig Info', 'pages' => array( 'gig'), 'context' => 'normal', 'priority' => 'high', 'fields' => array(), 'local_images' => false, 'use_with_theme' => true //zmień ścieżkę jeśli używane z motywem ustawionym na true, false dla wtyczki lub cokolwiek innego dla niestandardowej ścieżki (domyślnie false). ); $my_meta = nowy AT_Meta_Box($config); //Dodaj pola do meta boxu $my_meta->addText($prefix.'where',array('name'=> 'Gdzie jest koncert ')); $my_meta->addDate($prefix.'kiedy',array('name'=> 'Kiedy jest koncert ')); $my_meta->addTime($prefix.'start_time',array('name'=> 'Kiedy to się zaczyna ')); $my_meta->addTime($prefix.'end_time',array('name'=> 'Kiedy to się kończy ')); $my_meta->addText($prefix.'with_who',array('name'=> 'Z kim jest koncert ')); $my_meta->addTextarea($prefix.'words',array('name'=> 'Kilka słów na koncercie ')); $my_meta->Zakończ(); } ?> Używam niestandardowego pliku klasy meta-box, który ktoś uprzejmie mi wskazał. Więc nie jestem pewien, czy jest zapisywany jako znacznik czasu unix, czy nie.. Jestem trochę nowy w programowaniu php w wordpressie :)


title: Wordpress błąd z możliwościami?

text: EDYCJA: aha! Wygląda na to, że przyczyną tego problemu jest wtyczka „Role Scoper”. Dezaktywacja przywróciła funkcjonalność. Uznaj to pytanie za nieważne. Włączyłem możliwość przesyłania plików dla współtwórców. Jednak znalazłem problem. Gdy współtwórca rozpocznie nowy post, zobaczy ikony „Prześlij/wstaw” tuż nad polem edycji posta. Jeśli jednak kontrybutor zapisze wersję roboczą, a następnie wróci później, te ikony znikną! Użyłem wtyczki „Capability Manager”, aby zmodyfikować możliwości kontrybutora. Wypróbuję inną wtyczkę i zobaczę, czy to robi różnicę... EDYCJA: nie, to nie robi różnicy. Możliwości są przechowywane w bazie danych, a dezaktywacja wtyczek pozostawia je bez zmian (pozostają zmodyfikowane)... Wygląda na to, że jest to błąd wordpress. Chcę zgłosić błąd...


title: Querystring (?page=0%2C1) dołączony na końcu adresu URL

text: Czy ktoś może mi pomóc z moją witryną WordPress. Moje zapytanie to - `Google Webmasters` pokazuje niektóre adresy URL, które mają `page=0%2C3` lub `?page=0%2C1` itd. dodany na końcu adresu URL. Czy można przestać dołączać takie **„ciągi zapytań”**, aby zminimalizować problem duplikatów? Zauważ, że to nie skutkuje 404 stroną. Oba adresy URL (jeden z dodanym ciągiem zapytania i drugi bez ciągu zapytania) działają poprawnie. przykład : http://www.mojawitryna.com/nazwa-kategorii/nazwa-postu?strona=0%2C3 http://www.mojawitryna.com/nazwa-kategorii/?strona=0%2C1.


title: Jak dostosować wtyczkę?

text: Kiedy potrzebuję jakiejkolwiek funkcjonalności, używam wtyczki lub fragmentu kodu wewnątrz `functions.php`. Ale teraz mam wtyczkę, która spełnia moją oczekiwaną funkcjonalność, ale muszę zastąpić (nie dodać) na niej jakiś kod. Problem polega na tym, że jeśli zaktualizuję wtyczkę w przyszłości, moje zmiany mogą zostać nadpisane. Kod jest zbyt duży, aby dodać go do `functions.php`, a stworzenie własnej wtyczki zajęłoby dużo czasu. Jaki jest lepszy sposób postępowania w tym przypadku? _Nawiasem mówiąc, pomyślałem, że mogę wyłączyć przycisk aktualizacji dla tej wtyczki, chociaż nie wydaje się to lepszym sposobem na kontynuowanie._


title: Metadane załączników nie są aktualizowane podczas przesyłania plików audio

text: Nagle mam problemy z przesyłaniem plików audio w wordpressie. poprzednio, gdy przesyłałem pliki .mp3, metadane załączników plików były odpowiednio aktualizowane, na przykład; wyglądało to jak coś podobnego do array ( 'dataformat' => 'mp3', 'channels' => 1, 'sample_rate' => 44100, 'bitrate' => 48000, 'channelmode' => 'mono', 'bitrate_mode ' => 'cbr', 'lossless' => false, 'encoder_options' => 'CBR48', 'compression_ratio' => 0.068027210884354, 'fileformat' => 'mp3', 'filesize' => 5070, 'mime_type' = > 'audio/mpeg', 'length' => 1, 'length_formatted' => '0:01', 'title' => 'Notifier_Loud', 'file' => 'notifier_loud.mp3', ) ale nie wszystkie nagle przestała działać. Teraz, gdy przesyłam dowolne pliki audio, metadane pokazują tylko tekst „1”. Nie mam zainstalowanej konkretnej wtyczki i przesyłam tylko pliki przez normalny program do ładowania multimediów. Ponadto w .htaccess nie ma nic, co mogłoby budzić wątpliwości. każda wskazówka jest wysoko ceniona. Pozdrowienia


title: Jak ustawić niestandardowy typ postu, aby nie wyświetlał się w interfejsie?

text: Używam niestandardowego typu postu w jednej z moich witryn do pokazów slajdów. Mam publicznie dostępne zapytania ustawione na wartość false/off, ale podczas indeksowania mojej witryny przez Google widzę błędy 404 w adresach URL moich pokazów slajdów. Myślałem, że publiczne wysyłanie zapytań wyłączone z Wordpressa nie stworzy tych adresów URL. Jak mogę całkowicie wyłączyć adresy URL i strony frontonu dla mojego niestandardowego typu postu? \---- EDYTOWAĆ -------------------------------------------- ----- Dodając public => false, has_archive => false, publicaly_queryable => false i query_var => false udało mi się pozbyć błędów 404 w Google. Dodałem również funkcję dostarczoną przez @Norcross tylko na dokładkę.


title: Czy wtyczka może zarejestrować plik szablonu strony?

text: Czy istnieje sposób, aby wtyczka zawierała pliki szablonów stron i udostępniała je po aktywacji wtyczki? Np. mam wtyczkę, która wymaga użycia określonych szablonów stron, więc chciałbym, aby były one dostępne w polu meta Atrybuty strony w Edytorze. Ale starając się, aby moja wtyczka była podzielona na sekcje i niezależna od motywu, chciałbym zachować potrzebne pliki szablonów stron poza katalogiem motywów i podfolderem wtyczki. Wiem, że WordPress analizuje katalog motywów w poszukiwaniu szablonów stron, ale czy istnieje sposób na zarejestrowanie szablonów poza katalogiem motywów?


title: the_content() "awariuje" dla pojedynczych stron

text: Mam duże problemy z the_content() dla single.php. **Na czym polega mój problem?** * the_content() nie daje żadnych danych wyjściowych na pojedynczych stronach * ponadto ulega awarii (nie jest wykonywany żaden inny kod PHP poniżej wywołania funkcji * Nie są wyświetlane żadne błędy PHP ani bazy danych * Na wszystkich innych stronach i typy postów the_content() działa **Co zrobiłem/sprawdzałem do tej pory** * dezaktywowałem wszystkie wtyczki -> brak sukcesu * użyłem oryginalnych motywów Wordpress -> brak sukcesu * dwukrotnie sprawdziłem, czy the_content() znajduje się w pętli -> to jest w środku * próbował użyć $post->post_content -> daje wynik, ale chcę użyć the_content() * $textt = get_the_content();echo $textt; -> Działa również, więc gdzie jest różnica między get_the_content a the_content, co powoduje, że the_content nie działa zgodnie z założeniami Wygląda na to, że problem jest niezależny od motywu i wtyczki.Używam Wordpress 3.8, a także próbowałem ponownie zainstalować za pomocą funkcji aktualizacji.


title: Ustaw polecany obraz jako wymagany

text: Czy można zmusić użytkownika do ustawienia polecanego obrazu na niektórych typach postów. Na przykład mam niestandardowy typ posta `mm_photo` i chcę pokazać jakiś komunikat o błędzie lub w jakiś sposób zablokować użytkownikowi publikowanie lub aktualizowanie postu, gdy nie ma zestawu polecanych obrazów.


title: Filtruj i szukaj

text: Pracuję nad moją witryną, która jest oparta na WordPressie. Jest to strona z loteriami, a winprizesonline.com jest stroną, która najbardziej mnie zainspirowała. Teraz chcę dynamicznego wyszukiwania, takiego jak ta witryna, w mojej witrynie, ale nie mam pojęcia, jak i gdzie dodać kod. Jak tutaj; http://www.winprizesonline.com/new/contests/ możesz zobaczyć 3 pola wyszukiwania, Sortuj według:, Wpis:, Następny wpis: Chcę to samo pole wyszukiwania z tą samą funkcją filtrowania i wyszukiwania. Każdy zna jego kod i może mi powiedzieć, gdzie go umieścić na mojej stronie. Używam motywu DirectoryPress dla mojej witryny. Proszę o pilną odpowiedź.


title: Błąd krytyczny: dozwolony rozmiar pamięci po użyciu enqueue_script

text: Próbuję umieścić w kolejce cztery pliki skryptów i ciągle otrzymuję ten błąd: `Błąd krytyczny: wyczerpano dozwolony rozmiar pamięci 103809024 bajtów ... wp-inclusive/class.wp-dependencies.php w wierszu 175.` Użyłem wp_register_script w następujący sposób: wp_register_script( 'sat-ba-cond', $scriptsrc . 'jquery.ba-cond.min.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-slitsl', $scriptsrc . 'jquery.slitslider.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-moderni', $scriptsrc . 'modernizr.custom.79639.js', array('jquery'), '1.0', false ); wp_register_script( 'sat-callslit', $scriptsrc . 'call_slitslider.js', array('jquery'), '1.0', false ); I wp_enqueue_script tak: wp_enqueue_script( 'sat-moderni' ); wp_enqueue_script( 'sat-slitsl' ); wp_enqueue_script('sat-ba-cond' ); wp_enqueue_script( 'sat-callslit' ); Co może być przyczyną tego problemu? Zarejestrowałem i dodałem do kolejki również inne skrypty, których tutaj nie zamieściłem, ponieważ działają do tej pory. Tylko te cztery, aw szczególności `wp_enqueue_script`, powodują problemy. Co się dzieje? add_action( 'wp_enqueue_scripts', 'sat_load_javascript_files' ); funkcja sat_load_javascript_files() { $scriptsrc = get_template_directory_uri() . '/js/'; wp_deregister_script('jquery'); wp_register_script( 'jquery', 'http://code.jquery.com/jquery-1.7.2.min.js' ); wp_register_script( 'sat-bootstrap', $scriptsrc . 'bootstrap.min.js', array('jquery'), '2.2.1', true ); wp_register_script( 'sat-masonry', $scriptsrc . 'jquery.masonry.min.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-fitvid', $scriptsrc . 'jquery.fitvids.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-callfitvid', $scriptsrc . 'call_fitvid.js', array('jquery', 'sat-fitvid'), '1.0', true ); wp_register_script( 'sat-flexslider', $scriptsrc . 'jquery.flexslider-min.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-callflexslider', $scriptsrc . 'call_flexslider.js', array('jquery', 'sat-flexslider'), '1.0', true ); wp_register_script( 'sat-mobcust', $scriptsrc . 'jquery.mobile.customized.min.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-infinite', $scriptsrc . 'jquery.infinitescroll.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-trigger', $scriptsrc . 'manual-trigger.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-biggtoggle', $scriptsrc . 'call_biotoggle.js', array('jquery'), '1.0', false ); wp_register_script( 'sat-mas-inf-blg', $scriptsrc . 'masonry_isotope.js', array('jquery', 'sat-masonry', 'sat-infinite'), '1.0', true ); wp_register_script( 'sat-maslin-blg', $scriptsrc . 'infinite_scroll_lin.js', array('jquery', 'sat-infinite'), '1.0', true ); wp_register_script( 'sat-mas_hyb', $scriptsrc . 'masonry_hybrid.js', array('jquery', 'sat-masonry', 'sat-infinite'), '1.0', true ); wp_register_script( 'sat-ba-cond', $scriptsrc . 'jquery.ba-cond.min.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-slitsl', $scriptsrc . 'jquery.slitslider.js', array('jquery'), '1.0', true ); wp_register_script( 'sat-moderni', $scriptsrc . 'modernizr.custom.79639.js', array('jquery'), '1.0', false ); wp_register_script( 'sat-callslit', $scriptsrc . 'call_slitslider.js', array('jquery'), '1.0', false ); wp_enqueue_script( 'jquery' ); wp_enqueue_script('sat-fitvid' ); wp_enqueue_script('sat-flexslider' ); wp_enqueue_script( 'sat-nieskończony' ); wp_enqueue_script( 'sat-trigger' ); wp_enqueue_script( 'sat-masoneria' ); wp_enqueue_script( 'sat-biggtoggle' ); wp_enqueue_script( 'sat-callflexslider' ); wp_enqueue_script( 'sat-callfitvid' ); wp_enqueue_script('sat-moderni' ); wp_enqueue_script( 'sat-slitsl' ); wp_enqueue_script('sat-ba-cond' ); wp_enqueue_script( 'sat-callslit' ); if ( is_singular() && get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply' ); }


title: Konfigurowanie Wordpress MU z subdomeny

text: Chciałbym stworzyć sieć za pomocą Wordpress MU, ale chcę, aby niektóre witryny były połączone tematycznie. Na przykład, gdybym konfigurował witrynę e-commerce, wyglądałaby ona tak: shop.domain.com/site-name Podobnie, konfiguracja witryny restauracyjnej wyglądałaby tak: restaurant.domain.com/site-name Ale tak naprawdę byłyby to inne sieci. Chcę to zrobić, aby móc promować te witryny według kategorii na stronie głównej sieci. czy to możliwe? Czy byłoby to skuteczne, czy może jest na to lepszy sposób?


title: Jak osadzić lokalne wideo w poście wordpress

text: Jak mogę osadzać filmy (wmv, mp4, mpg, flv) do mojego posta z lokalnego serwera. Używam WordPressa w wersji 3.1.1. Szukałem wtyczek wordpress, które obsługują tego rodzaju funkcje, ale nie mogłem znaleźć żadnych dobrych wtyczek. Czy jest jakiś sposób, aby to osiągnąć.


title: klonuj rozmiary obrazów jako niestandardowe pola do załączników

text: Jak mogę sklonować rozwijane rozmiary obrazów jako pola niestandardowe, aby zapisać ich wartość, tak jak robią to inne pola w załącznikach. ![wpisz tutaj opis obrazka](http://i.stack.imgur.com/X5qqO.jpg) Oto mój kod, ale nie mogę zapisać jego wartości <?php $clone_sizes = get_intermediate_image_sizes(); ?> <select name="clone_size"> <?php foreach ($clone_sizes jako $size_name => $size_attrs): ?> <option value="<?php echo $size_name ?>"><?php echo $size_name ? ></option> <?php endforeach; ?> </select>


title: Czy istnieje funkcja move_attachment_file() w wordpressie?

text: Chciałbym przenieść (lub skopiować) załącznik ze „standardowego” katalogu przesyłania do innego katalogu i jednocześnie upewnić się, że wszystkie metadane załącznika są zaktualizowane, aby odzwierciedlić zmianę w katalogu i utworzone zostały wszystkie rozmiary obrazów. Wyobrażam sobie, że dwie funkcje to: move_attachment_file($attachment_id, $old_directory, $new_directory); kopia_pliku_załącznika($id_załącznika, $stary_katalog, $nowy_katalog); Czy są takie funkcje? Jeśli nie, mógłby ktoś wskazać mi właściwy kierunek i poinformować, jakich funkcji muszę użyć, aby to osiągnąć. Wtedy mogę sam spróbować go zakodować, ale na początku jestem trochę zagubiony.


title: wykluczenie kategorii postów w pętli głównej

text: Mam głównie posty z kategorii A. Podczas gdy inne kategorie mają bardzo mało postów. Z tego powodu moja główna pętla pokazuje posty z kategorii A, a posty z innych kategorii nie są zbyt często oglądane na stronie głównej, która pokazuje posty ustawione w ustawieniach. To, co chcę zrobić, to zmieniać posty wyświetlane przez główną pętlę, takie jak: wpis kategorii A wykluczyć wpis kategorii A (dowolny inny post kategorii) wpis kategorii A wykluczyć post kategorii A (dowolny inny post kategorii) wpis kategorii A wykluczyć post kategorii A ( dowolny inny post z kategorii) itp. itp. Będąc początkującym w wordpressie, zmieniłem swoją główną pętlę w index.php za pomocą tego kodu: <?php if ( have_posts() ) : ?> <?php for($y=0;$ y<5;$y++) { ?> // 5 postów z każdej kategorii <?php $off_num = ($paged-1)*5+$y; ?> // post offset <?php if(is_home()) query_posts("posts_per_page=1&cat=10&offset=$off_num"); ?> // identyfikator kategorii A to 10 <?php while ( have_posts() ): the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> <?php koniec; wp_reset_query();?> <?php if(is_home()) query_posts("posts_per_page=1&cat=-10&offset=$off_num"); ?> <?php while ( have_posts() ): the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> <?php koniec; wp_reset_query(); ?> <?php } ?> <?php else : ?> Wystąpiły problemy z paginacją. np. strona 2 pokazuje posty ze strony 1, mimo że jest zdefiniowane przesunięcie. Podobnie z innymi stronami. Nie mogłem wymyślić innego sposobu na zrobienie tego. Mam nadzieję, że ktoś może pomóc w rozwiązaniu tego problemu. Mile widziany jest również inny sposób uzyskania tego samego.


title: Najlepszy sposób na przypisanie pozycji posta na stronie głównej witryny z wiadomościami? (bez kategorii, bez przyklejonych postów)

text: Obecnie przerabiam witrynę z wiadomościami lokalnymi. Stary projekt wykorzystywał wiele kategorii do obsługi pozycji treści na statycznej stronie głównej, np. w „najważniejszych wiadomościach”, „środkowym polu”, „lewym polu” i tak dalej. To w jakiś sposób działa, ale moim zdaniem jest bardzo brzydkie, bardzo złe na poziomie semantycznym: kategorie powinny być używane do kategoryzacji. Inną opcją może być używanie przyklejonych postów, ale możesz mieć tylko sytuację "przyklejoną" i "nieprzyklejającą się", co jest trochę ograniczone. Nie używałbym niestandardowych typów postów: w zasadzie wszystkie posty są wiadomościami i byłoby przesadą mieć osobny CPT, aby pozycjonować moje treści na stronie głównej. Idealnym rozwiązaniem byłoby: * możliwość wyboru między n pozycją (potrzebuję 4) * posiadanie domyślnego statusu, który umieszcza post w polu "inne wiadomości" * kontrolowanie liczby postów trafiających do określonego pola: główne wiadomości box zawiera tylko jeden news, jeśli pojawił się nowy "główny news" to stary nie powinien znikać ze strony głównej, tylko przesunąć się na niższą pozycję. Reasumując, mam 5 pudełek, 4 z nich to pojedynczy kontener wiadomości "wyższego poziomu", ostatni zawiera 10 wiadomości w odwrotnej kolejności chronologicznej. Te 10 newsów powinno być "normalnymi" wiadomościami i wiadomościami "wyższymi poziomami" wypychanymi z górnych pól. Myślałem o Advanced Custom Field jako o rozwiązaniu pozwalającym edytorowi wybrać pozycję, ale nie jestem pewien, czy jest to wykonalne na froncie. Dziękuję!


title: Próbujesz użyć qtranslate w formularzu kasowym WPSC?

text: Muszę mieć formularze kasowe w 3 różnych językach dla WPSC. Kiedy próbowałem użyć AddressAdresse, nie jest on tłumaczony. A może powinienem utworzyć 3 różne formularze i zakodować sprawdzanie langu? Jak zmusić WPSC do współpracy z qtranslate, aby mieć wielojęzyczny sklep internetowy?


title: Błąd aktywacji przy pierwszej próbie, nie przy kolejnych próbach

text: Otrzymuję błąd aktywacji przy pierwszej aktywacji wtyczki, mimo że się aktywuje. Kolejne aktywacje (po posortowaniu tabel db itp.) nie zgłaszają błędu, który jest... Błąd krytyczny: nie można ponownie zadeklarować ca_myplugin_init() (wcześniej zadeklarowanej w /home/together/public_html/themoyles/clients-test-area/wp - content/plugins/church-admin/index.php:68) w /home/together/public_html/themoyles/clients-test-area/wp-content/plugins/church-admin/index.php w linii 69 // dodaj funkcja lokalizacyjna ca_myplugin_init() { load_plugin_textdomain( 'moja-wtyczka', false, dirname( plugin_basename( __FILE__) ).'/języki/' ); } add_action('plugins_loaded', 'ca_myplugin_init'); //koniec dodaj lokalizację Linia 68 zaczyna load_plugin_textdomain Linia 69 zaczyna } Plik jest zakodowany w UTF-8, bez spacji na początku i na końcu. Jeśli zakomentuję tę sekcję - zrzucę błąd z inną funkcją. Nie wymaga się, funkcje pojawiają się tylko raz! Jakieś pomysły?


title: Zapytanie o posty z ponad 1000 wyświetleń

text: _Poniższy kod pochodzi z tego **linku**. Zasadniczo tworzy licznik trafień, ale prawdopodobnie będę musiał to zrobić przez IP._ Jak zrobić WP_Query, w którym na liście trendów można zobaczyć tylko posty do 1000 wyświetleń? Oczywiście. Chciałbym to zrobić również według daty, ale nie pojawi się na górze jeden po drugim, będzie tylko na liście, na której został pierwotnie opublikowany. Więc to jest kolejne rozwiązanie, które muszę wymyślić. Jest to podobne do 9GAG. //Dodaj do functions.php function get_hits(){ global $post; $hits = get_post_meta($post->ID, '_hit-counter', true); zwróć $hits; } funkcja update_hits($count){ global $post; $liczba = $liczba ? $liczba : 0; $hits = update_post_meta($post->ID, '_hit-counter', $count++); zwróć $hits; } //Użycie w pętli update_hits(get_hits());


title: Tytuł bloga nie wyświetla się na głównej stronie bloga

text:
Nie mogę uzyskać strony głównej bloga z bieżącym blogiem, aby pokazać bieżący tytuł bloga. Wyświetla się na wszystkich innych stronach, tylko nie na bieżącym/najnowszym blogu. Każda pomoc będzie bardzo mile widziana. Dziękuję Ci.

 <?php if ( $paged < 2 ) { // Czy rzeczy specyficzne dla pierwszej strony?> <?php $my_query = new WP_Query('category_name=featured&showposts =1'); while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID;?> <div class="featurepost" id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?> " rel="zakładka" title="Stały link do <?php the_title(); ?>"><?php the_title(); ?>"><?php the_title(); ?>"><?php the_title(); ?>

Przez <?php the_author_posts_link(); ?> na <?php the_time('M j, Y') ?> w <?php the_category(', ') ?> | <?php comments_popup_link('0 komentarzy', '1 komentarz', '% komentarzy'); ?><?php edit_post_link('Edytuj', ' | ', ''); ?>

 <?php the_content('Przeczytaj resztę'); ?>

 <?php endwhile; ?>


title: Jak mogę zrobić stronę dla formatów postów (w szczególności cytatów) w wordpressie 3.5

text: Staram się stworzyć możliwość dodawania przez użytkownika końcowego cytatów (referencji) jako postów. Na razie w porządku. W moim motywie włączyłem format postu „cytat”. Istnieje więc możliwość wprowadzania wspomnianych referencji, a nawet wymyśliłem, jak wyświetlać losowe cytaty na pasku bocznym. Następnym oczywistym krokiem jest posiadanie strony z referencjami, na której z biegiem czasu wszystkie cytaty są archiwizowane. Musi mieć możliwość bycia stroną, co oznacza, że klient może zmieniać tekst na stronie i może być do niego linkowany w menu i na stronach. Po otwierającym (edytowalnym) tekście byłaby lista cytatów, jak strona archiwum, z wyjątkiem tego, że cały cytat byłby na stronie. Z tego powodu w pewnym momencie musiałoby zostać stronicowane. Jakieś pomysły?


title: Przerwany skrypt crona wysyłający mi co godzinę e-maile. Proszę pomóż!

text: Jedna z moich instalacji Wordpress (cPanel VPS) miała zadanie cron (kopia zapasowa do skryptu Dropbox), które zostało przerwane. Od czasu przerwania otrzymuję co godzinę wiadomości e-mail od root@ cPanel/WHM: -Nadmierne zużycie zasobów -Podejrzany proces uruchomiony pod użytkownikiem […] Do podejrzanych wiadomości e-mail dotyczących procesu należą: **_Połączenia sieciowe przez proces (jeśli występują): tcp: 108.160.148.116:52480 -> 54.235.162.219:443_** Ten ostatni adres IP to adres IP Dropbox. Chodzi o to, że sprawdziłem wszystkie uruchomione zadania, dezaktywowałem i usunąłem odpowiedzialne wtyczki i zainstalowałem wtyczki sprawdzające Crona, a obecnie nie ma żadnych skryptów crona, które mają coś wspólnego z kopią zapasową Dropbox. Sprawdziłem również w cPanel i nie ma na liście żadnych zadań cron. A jednak nadal otrzymuję e-maile. Co godzinę. Doprowadzają mnie do szału! Ale nie chcę tylko ustawić reguły w wiadomości e-mail, aby je usunąć, ponieważ domyślam się, że coś musi się dziać, aby cPanel / WHM wysłał mi te e-maile. Czy ktoś ma jakieś sugestie, jestem zdesperowany!


title: Aktualizuj permalinki w postach (nie zmieniaj domeny)

text: Grupa, do której dołączyłem, utworzyła witrynę wordpress, zanim dołączyłem. nie skonfigurowali permalinków dla witryny. Więc kiedy przejąłem utrzymanie strony, optymalizowałem ją zarówno pod kątem SEO, jak i szybkości. Przechodzę więc do zadania postów, które zawiera linki do innych postów na tej samej stronie, ale ponieważ permalinki były wyłączone, wyglądają jak `http://THE_SITE/index.php?post_id=432` w każdym poście. Włączyłem już permalink %postname%, więc Google już aktualizuje swoje adresy URL z powodu 301, ale problem polega na tym, że posty nadal mają stare domyślne linki. Więc pytanie brzmi: Jaki jest najlepszy sposób na aktualizację starych linków do nowych permalinków


title: dbDelta nie tworzy tabel

text: Przeszedłem przez wiele wątków, stronę kodeksu i próbowałem bawić się wieloma rzeczami, ale mój kod nie wydaje się tworzyć tabel. I nie jestem w stanie rozgryźć, co robię źle. Sprawdziłem booking_db_version w bazie danych, aktualizuje się po aktualizacji w pliku. Oto kod globalny $booking_db_version; $booking_db_version = "1.0.0"; funkcja booking_install() { globalna $wpdb; globalna $booking_db_version; globalny przedrostek $tabeli; $installed_version = get_option('booking_db_option'); $przedrostek tabeli = $wpdb->przedrostek . 'rezerwować_'; require_once (ABSPATH . 'wp-admin/includes/upgrade.php'); if ( $installed_version !== $booking_db_version ) { /* Utwórz tabelę dla pakietów */ $packagetable = $tableprefix . „pakiety”; $sql = "utwórz tabelę $packagetable ( id mediumint(9) NOT NULL AUTO_INCREMENT, tekst nazwy NIE NULL, tekst opisu NIE NULL, miasto1 tekst NIE NULL, miasto2 tekst NIE NULL, KLUCZ PODSTAWOWY (id) );"; dbDelta($sql); /* Utwórz tabelę dla hoteli */ $hoteltable = $tableprefix . „hotele”; $sql = "utwórz tabelę $hoteltable ( id mediumint(9) NOT NULL AUTO_INCREMENT, tekst nazwy NOT NULL, tekst miasta NIE NULL, cena dziesiętna(10,2) NOT NULL, PRIMARY KEY (id) );"; dbDelta($sql); /* Utwórz tabelę dla dodatków */ $addontable = $tableprefix . „dodatki”; $sql = "utwórz tabelę $addontable ( id mediumint(9) NOT NULL AUTO_INCREMENT, nazwa tekst NOT NULL, addongroup tekst NOT NULL, cena dziesiętna(10,2) NOT NULL, PRIMARY KEY (id) );"; dbDelta($sql); /* Utwórz tabelę dla grup dodatków */ $addongrouptable = $tableprefix . „grupy_dodatków”; $sql = "utwórz tabelę $addongrouptable ( id mediumint(9) NOT NULL AUTO_INCREMENT, nazwa tekst NOT NULL, nagłówek tekst NOT NULL, PRIMARY KEY (id) );"; dbDelta($sql); update_option('booking_db_version', $booking_db_version); } } register_activation_hook(__FILE__, 'booking_install');


title: Czy można przełączać się między widokiem administratora a widokiem autora?

text: Pulpit administracyjny wordpress może być nieco zniechęcający dla „normalnych” autorów wp. Czy użytkownicy, którzy potrzebują uprawnień administratora, mogą zobaczyć tylko prostszy widok autora, ale w razie potrzeby będą mogli przełączyć się na pełny pulpit nawigacyjny? Rozumiem, że moglibyśmy po prostu stworzyć dla nich kolejne konto autora. Lub użyj wtyczki, aby stworzyć unikalny pulpit nawigacyjny dla każdego typu użytkownika. Ale czy można dowolnie przełączać się między pulpitami administratora / autora, bez konieczności wylogowywania się i ponownego logowania jako inny użytkownik? Dziękuję


title: Jak zrobić nawigację po stronie tuż pod treścią?

text: Używam motywu P2 i stwierdzam, że nawigacja na stronie nie jest prawidłowa, zepsuła zawartość, jak ją poprawić? Możesz polecić moją stronę tutaj. ![tutaj podaj opis obrazu](http://i.stack.imgur.com/z5Y1O.png)


title: jeśli post zawiera treść

text: Tworzę jednostronicową witrynę wordpress. W mojej witrynie pojawiają się strony, które nie zawierają treści. Na przykład otrzymam pustą stronę bloga oraz szablon bloga. Pomyślałem więc, że mógłbym sprawdzić, czy strona zawiera treść i czy jest dostępna i zamieszcza tę informację. Mam problem z uruchomieniem go. Używam niestandardowego zapytania dla strony głównej. Pomyślałem więc, że mógłbym to zrobić, jeśli ( $page_query->have_posts() ): while ( $page_query->have_posts() ): $page_query->the_post(); if( $page_query->post_content != ''){ get_template_part( 'content', get_post_format() ); } koniec; endif; Problem polega na tym, że otrzymuję błąd w tym kodzie i nie mogę zrozumieć, dlaczego. Otrzymuję ten błąd Uwaga: Niezdefiniowana właściwość: WP_Query::$post_content in


title: Czy możliwe jest posiadanie archiwum taksonomii, które zawiera listę terminów taksonomii?

text: Na przykład mam typ posta o nazwie foo. Wszystkie posty typu foo mogę przeglądać pod następującym adresem URL: mysite.com/foo. Następnie dołączam taksonomię zwaną bar, w której terminy to foobar i foobaz. Mam dostęp do postów oznaczonych terminem foobar na mysite.com/bar/foobar. Ale czy można uzyskać archiwum zawierające foobar i foobaz pod adresem URL mysite.com/bar? Tak, zdaję sobie sprawę, że mogę po prostu utworzyć stronę i wywołać wp_list_categories(), ale szukałem automatycznego rozwiązania, które odzwierciedla funkcjonalność typu post.


title: IIS 7 Przepisz z kategoriami nadrzędnymi

text: Widziałem tutaj sporo pytań dotyczących tego samego, ale albo bez odpowiedzi, albo nieco inaczej! Przetestowałem następujące elementy na komputerze z systemem Linux i wszystko działa dobrze, kiedy przenoszę go do systemu Windows, aby działał pod iis7, pęka. Więc znam jego konfigurację, jeśli chodzi o typ postu i kod taksonomii. Tworzę produkt (mój niestandardowy typ postu) i mam następujące kategorie produktów (taksonomia niestandardowa): \- test1 \-- test2 \--- test3 \---- test 4 Przypisuję produkt do kategorii test 4 . Więc na moim Linuksie `http://localhost/products/test1/test2/test3/test4/product-1/` działa idealnie. W IIS7 to się psuje, ALE jeśli przypiszę produkt do kategorii test 1, działa tak: `http://localhost/products/test1/product-1/` Używam wtyczki 'Custom Post Type Permalinks' i mam swój posttype permalink ustawiony na: '/%product_categories%/%postname%/' Oto mój plik web.config: <configuration> <system.webServer> <rewrite> <rules> <rule name="Główna reguła" stopProcessing="true" > <match url=".*" /> <conditions logicGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType ="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> < /configuration> Wszelkie pomysły byłyby świetne! \-- Edytuj -- Ja też właśnie wypróbowałem ten `http://localhost/products/test4/product-1/` i zadziałało. Więc po prostu nie lubi kategorii nadrzędnych.


title: Niestandardowe kanały RSS i post metadane

text:
Kanały Rss zwykle wyświetlają pliki multimedialne wraz z fragmentami postów. Używam postu meta, aby dodać pliki multimedialne do posta. Niestety, ponieważ plik audio nie jest wstawiany do głównego obszaru tekstowego, pliki audio nie są wyświetlane w kanale RSS. Jak mogę edytować kanał RSS w taki sposób, aby `rss_enclosure()` wyświetlał pliki multimedialne z postu meta? Oto kod, którego używam do edycji kanału RSS: function custom_postrss( $content ) { global $wp_query; $postid = $wp_query->post->ID; $audiourl = get_post_meta( $postid, 'custom_audio_url', true ); if( is_feed() ){ $content = '
Ten post zawiera plik audio. '.$content.'Zasubskrybuj więcej.'.$audiourl.'
'; } return $treść; } add_filter('the_excerpt_rss', 'custom_postrss'); add_filter('the_content', 'custom_postrss'); Zwraca to tylko adres URL, ale nie pole pliku multimedialnego, które jest zwykle widoczne w kanałach RSS. Jakieś pomysły? Byłbym szczęśliwy na wszelkie wskazówki.


title: Jeden użytkownik na komputer

text: Muszę zezwolić tylko jednemu zarejestrowanemu użytkownikowi na komputer. Szukałem ponad godzinę, ale nie znalazłem żadnego właściwego rozwiązania. Właściwie nie znalazłem żadnych rozwiązań. Jak mogłem to zrobić? Czy są jakieś wtyczki lub inne sposoby?


title: Wyłącz ms-files.php po skonfigurowaniu sieci

text: Mam multisite, który został skonfigurowany na WordPress 3.4. Oznacza to, że przesyłanie do podstron jest przechowywane w `wp-content/blogs.dir/{blog_id}/files` i jest obsługiwane przez ms-files.php. W WordPress 3.5 ms-files.php został całkowicie rozwiązany dla nowych instalacji, a przesłane pliki są przechowywane i dostępne pod adresem `wp-content/uploads/sites/{blog_id}`. Czy mimo to mogę przełączyć swoją instalację ze sposobu udostępniania/przesyłania plików sprzed wersji 3.5 na nowy? Chciałbym nadal udostępniać przesyłane pliki przez `files/` dla bieżących blogów.


title: Pomoc w dzieleniu archiwum niestandardowych wpisów na „przeszłe” i „nadchodzące”

text: Pracuję nad witryną wordpress, która śledzi serię postów o „wydarzeniach” (typ postu niestandardowego) i chciałbym podzielić moją stronę „archive-event.php” na dwie sekcje – „nadchodzące wydarzenia” i „przeszłe wydarzenia” na podstawie dzisiejszej daty. Używając `meta_query` udało mi się pokazać tylko zdarzenia, które jeszcze się nie wydarzyły, na podstawie dzisiejszej daty. Zmiana zapytania tak, aby wyświetlała przeszłe wydarzenia zamiast przyszłych, nie powinna być trudna. Nie rozumiem, jak włączyć oba te zapytania jednocześnie. Czy istnieje sposób na utworzenie drugiej strony `archive-post-type.php` dla mojego niestandardowego typu posta? Ewentualnie, czy istnieje sposób na stworzenie nowego szablonu strony (np. `past-events.php`) i jakoś połączenie, dodanie go do hierarchii szablonów witryny? Kontekstowo strona, którą próbuję zmodyfikować, jest tutaj: http://artsrestore.la/events/ A kod `archive-event.php` można zobaczyć tutaj: https://gist.github.com /egardner/7324310 Wielkie dzięki, Eric Także – jestem całkiem nowy w wordpressie i ogólnie PHP, więc wyjaśnienia kodu są bardzo mile widziane!


title: Załaduj więcej postów za pomocą Ajax i murów

text: Używam tej metody, aby załadować więcej postów za pomocą Ajax: http://www.problogdesign.com/wordpress/load-next-wordpress-posts-with-ajax/ Używam również muru do układu postów. Masonry działa dobrze dla pierwszego zestawu postów, ale nie dla następnego zestawu postów, które są dołączane po kliknięciu wczytaj więcej postów. Jak mogę wykonać prace murarskie po załadowaniu większej liczby postów?”


title: Używaj komentarzy jako notatek, widoczne tylko dla autora komentarza

text: Moje pytanie jest dokładnie takie samo jak to, nie jestem pewien, czy można je wpaść, więc pomyślałem, że opublikuję ponownie. Zasadniczo staram się stworzyć scenariusz podobny do tego, jak działają komentarze. Na stronie zarejestrowany użytkownik może dodać komentarz, z wyjątkiem tego, że tylko oni mogą go zobaczyć, nikt inny. Te komentarze nazwano by notatkami. Czy można zmienić komentarze tak, aby tylko zgłoszony użytkownik mógł je zobaczyć? Głównie szukam czegoś, co znajduje się tuż pod postem, stroną, co mogę umieścić w szablonie.


title: Jak dowiedzieć się, dokąd jest kierowana moja witryna na telefonie komórkowym? Witryna mobilna jest przekierowywana na niewłaściwą stronę

text: Nie mogę znaleźć miejsca przekierowywania witryny na stronie wordpress.org, ale mogę powiedzieć na telefonie, że próbuje przejść pod zły adres. Początkowo nie próbowałem uczynić go mobilnym, ale próbuję to naprawić - nie ma żadnych wtyczek mobilnych ani przekierowań, które wydają się być odpowiedzialne. Proszę pomóż!


title: Szablony podkategorii

text: Odziedziczyłem witrynę Wordpress, którą moja firma zbudowała, zanim zacząłem tu pracować. Pójdę i zadam to pytanie facetowi, który go zbudował, ale teraz odszedł z firmy. Moje zapytanie dotyczy niestandardowych szablonów dla kategorii wordpress. Wiem, że możesz stworzyć plik szablonu o nazwie category-.php, a kiedy ta kategoria zostanie otwarta, użyje tego niestandardowego szablonu. W tym przypadku plik nazywa się 'category-limousin-magazine.php' To działa dobrze - moje problemy dotyczą podkategorii tej kategorii, tj. pod Limousin Magazine mam kategorie 2011, 2010, 2009 , 2008, 2007 i 2006. W jakiś sposób podczas tworzenia strony udało mu się uzyskać wszystkie te podkategorie, aby używały szablonu 'category-limousin-magazine-templates.php' - ale nie wiem jak zrobił to, ponieważ kiedy uruchamiam obecną witrynę, obok archiwalnej kopii witryny poprzednio plik category-limousin-magazine-templates.php jest całkowicie ignorowany. Mam więc jedno z dwóch pytań - po pierwsze, czy istnieje łatwy sposób na uzyskanie wielu kategorii, aby użyć jednego pliku szablonu, lub w przypadku niepowodzenia, jaki jest najlepszy sposób na uzyskanie wielu (potencjalnie dynamicznych) kategorii przy użyciu niestandardowego szablonu . Dziękuję Ci.


title: Formularz komentarza - inny tytuł, jeśli nie ma jeszcze komentarza

text: to nie jest ważne, ale byłoby miło. Chciał(a)by mieć 2 tytuły formularza komentarzy, jeden z napisem „brak komentarzy, ale rozpocznij dyskusję”, a drugi z napisem „dołącz do dyskusji”. Rozejrzałem się dobrze, ale nie widzę nic o tym, co zostało już opublikowane. Czy ktoś może pomóc? Pomijać. (Mogę używać różnych wyrażeń, ale jestem pewien, że masz ogólne pojęcie).


title: Skrypt JS nie jest dołączony

text: Próbuję umieścić w kolejce plik js w functions.php, ale nie działa. Poniżej znajduje się mój kod add_action('init','shopswing'); function shopwing(){ if(!is_admin()){ wp_register_script('swing',get_stylsheet_directory_uri(). '/js/swing.js',array('jquery')); wp_enqueue_script('huśtawka'); } } i jakoś moja witryna przestaje odpowiadać, gdy dołączam kod swing.js jQuery(document).ready(function() { $("ul>li>img").mouseenter(function(){ $(this) .parents("ul") .find(".toolTip") .animate({ 'wysokość':'200px'}) //.css({"display":"block"}); }) .mouseout(funkcja (){ $(this).parents("ul") .find(.toolTip") .animate({ 'wysokość':'0'}) //.css({"display":"none"}) ; }); });


title: Jeśli pole niestandardowe jest puste, użyj jednego z poprzedniego postu

text: Załóżmy, że masz kilka pól niestandardowych (używam do tego wtyczki zaawansowanych pól niestandardowych). W postach znajduje się dodatkowe pole o nazwie „afbeelding_onder”. Nie jest to wymagane, ale w `index.php` wewnątrz pętli zostanie wydrukowane niestandardowe pole 'afbeelding onder' z ostatniego postu. Jeśli to możliwe, czy istnieje sposób na sprawdzenie, czy niestandardowe pole jest puste, jeśli nie jest, to wyświetli wartość, ale w przeciwnym razie (gdy niestandardowe pole jest puste) wartość ostatniego postu, który zawiera wartość w tym polu zostaną wydrukowane. Mam nadzieję, że moje pytanie było wystarczająco jasne, moja angielska gramatyka nie jest zbyt dobra.


title: Górny pasek administratora / pasek narzędzi nie wyświetla się nawet po zalogowaniu, ale wyświetlany jest pusty górny margines?

text: Napisałem motyw, a górny pasek administratora / narzędzi nie wyświetla się. Nadal widzę pusty margines. Jakieś pomysły? Tutaj górny margines, którego nigdy nie ustawiam nigdzie w moich plikach. Właściwie chcę pokazać cały pasek narzędzi. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/eS93f.png)


title: Jak używać wp_insert_user na Wordpress Multisite?

text: Wcześniej miałem zainstalowany WordpressMU, ale jest to przestarzałe i próbuję znaleźć drogę do wielu witryn. Muszę programowo utworzyć nowe konto użytkownika dla określonej witryny. wp_insert_user wygląda na to, że robi wszystko oprócz powiedzenia, do której witryny jest użytkownik _dla_ (być może pobiera to z domeny, do której wysłano żądanie?). Ważne jest, aby utworzony użytkownik był członkiem jednego bloga (witryny), ale nie innych.


title: Jak wyszukiwać kategorie za pomocą zaawansowanych pól niestandardowych?

text: Obecnie używam zaawansowanych pól niestandardowych i zastanawiałem się, czy ktoś wie, jak filtrować kategorie według pól niestandardowych? Mam niestandardowe pole w moich kategoriach, korzystając z pola wyboru. Chcę utworzyć stronę zawierającą kategorie zawierające określone pole wyboru, które jest zaznaczone. Na przykład mam 3 pola wyboru w moich kategoriach: Romans, Akcja i Dramat. Zaznaczyłem pole Akcja i chcę wyświetlić listę kategorii na stronie, które mają pole wyboru Dramat. Jest to trochę podobne do tego samouczka http://www.advancedcustomfields.com/resources/how-to/how-to-query-posts- filter-by-custom-field-values/ z wyjątkiem tego, że chcę uzyskać kategorie zamiast posty. Jak najłatwiej to zrobić, bo nie jestem programistą?


title: Ustawianie domyślnej „lokalizacji motywu” podczas tworzenia menu

text: Próbuję stworzyć motyw, który po aktywacji konfiguruje podstawową nawigację, dodaje do niej stronę główną, a następnie włącza ją we właściwej lokalizacji. Oto, co mam do tej pory: register_nav_menu('Podstawowa', 'Nawigacja podstawowa'); $primary_nav_menu_id = wp_create_nav_menu('Podstawowy'); wp_update_nav_menu_item($primary_nav_menu_id, 0, array( 'menu-item-title' => __('Home'), 'menu-item-classes' => 'home', 'menu-item-url' => home_url( ' /' ), 'status-pozycji-menu' => 'opublikuj' )); Powyższe tworzy menu, dodaje link do strony głównej, ale jak mam automatycznie przypisać temu menu lokalizację motywu „Nawigacja podstawowa”? czy to możliwe?


title: Media Library Niestandardowe archiwum taksonomii

text: Dodałem dwie niestandardowe taksonomie do biblioteki multimediów wordpress audio_cats i audio_tags. Za pomocą wtyczki wrzuciłem kilka plików mp3 i dołączyłem do tych dwóch taksonomii. Struktura mojej biblioteki multimediów wygląda tak. Taksonomia audio_cats ma następujące kategorie -MJ --album1 (3 utwory) --album2 (4 utwory) --album3 (1 utwór) Taksonomia audio_tags ma te tagi -mp3 -MJ to, czego chcę. 1. index.php -> pokaż wszystkie audio_cats (tylko rodzic) jako link z całkowitą liczbą child_cats w środku i całkowitą liczbą audio do niego przypisanych. Na przykład MJ (3 albumy i 8 utworów) do pokazania na kotach MJ 2. taksonomia.php -> Po kliknięciu na kategorię nadrzędną, powinna przejść do strony, na której 1) jeśli są przypisane koty podrzędne, powinna je wyświetlić wszystkie w przeciwnym razie wypisz wszystkie przypisane do niego utwory jako link 3. attachment.php -> po kliknięciu nazwy utworu uruchamia odtwarzacz. 4. audio_tags jest wyświetlane jako chmura tagów. Mam nadzieję, że wyrażam się jasno i uprzedzam twoją opinię. Pozdrowienia


title: Czy jest jakiś framework do tworzenia wtyczek?

text: Odkąd jestem nowy w tworzeniu wtyczek wordpress, badałem wewnętrzną strukturę wielu wtyczek i większość z nich nie pasuje do żadnego wzorca, a zrozumienie ich działania jest dość trudne. Zastanawiałem się, czy istnieje bardziej uogólniony sposób tworzenia wtyczek, być może za pomocą frameworka, inny niż metody opisane w oficjalnej dokumentacji.


title: Prześlij PDF i inne pliki z Front-Endu

text: Staram się stworzyć stronę medyczną, na której zalogowani lekarze mogą faktycznie wgrywać pdfy i inne pliki (np. jpg) z front-endu w postach. Następnie, po ponownym załadowaniu strony, przesłane pliki powinny zostać pobrane w tym samym poście, aby inni użytkownicy mogli łatwo znaleźć informacje, bez żadnego dostępu do zaplecza. Czy można to zrobić w WP? Z góry dziękuję! Miguel


title: Wielu autorów z różnymi „rolami autora”

text: Używam wtyczki Co-Authors Plus do zarządzania wieloma autorami w e-magazynach, ale staram się pójść dalej i dopisać "autorów tekstu", "autorów fotografii" i "autorów wideo", więc dodaję nowe pole w profilu autora do określenia roli (pisarz, fotograf, filmowiec) i próba wyświetlenia dodatkowych informacji meta w single.php i na stronie głównej (poprzez widget). To nowa funkcja w functions.php: // Dodaj pole profilu Twitter, Facebook i Role w profilach użytkowników. function add_twitter_contactmethod( $contactmethods ) { // Dodaj Twitter $contactmethods['twitter'] = 'Twitter'; // Dodaj Facebooka $contactmethods['facebook'] = 'Facebook'; // Dodaj rolę $contactmethods['role'] = 'Rola (pisarz / zdjęcie / wideo)'; return $contactmethods; } add_filter('user_contactmethods','add_twitter_contactmethod',10,1); A to jest wynik w single.php i w widżecie, który ma na celu pokazanie roli przed nazwiskiem autora i linkiem do konta na Twitterze lub Facebooku (np. Tekst: John Doe @johndoe · Zdjęcie: John Williams @ photowilliams): <?php $i = new CoAuthorsIterator(); ?> <?php while($i->iterate()){ ?> <?php if(get_the_author_meta('role') == "writer"){ ?> <?php _e('Tekst:','alegria'); ?> <?php } else { ?> <?php _e('Zdjęcie:','alegria'); ?> <?php } ;?> <?php link_wpisów_autora(); ?> <?php if(get_the_author_meta('twitter')) : ?> <a href="http://twitter.com/<?php echo the_author_meta('twitter'); ?>" class="autor-twitter " title="Obserwuj <?php echo $nazwaautora; ?> na Twitterze">@<?php echo the_author_meta('twitter'); ?> <?php endif ;?> Działa to dobrze, ale próbowałem dodać trzecią możliwość, która dotyczy roli „wideo” (jeśli rolą jest „wideo”, pokaż „Wideo: " przed nazwiskiem autora. Miałem do czynienia z nowymi wystąpieniami "if(get_the_author_meta('role')" i "elseif", ale w sposób intuicyjny, ponieważ nie jestem programistą i niewiele wiem o PHP i zdania warunkowe.Czy ktoś może wskazać mi właściwy sposób, aby osiągnąć to, czego szukam?Dziękuję.


title: Hooki nie działają

text: Bazując na moim zrozumieniu haków, tworzysz hak, wykonując do_action('hook_name'); następnie dodaj coś do tego haka i wywołaj metodę, w której chcesz, aby wykonała hak, czyli: public function hook_name(){ do_action('hook_name'); } niektóre, w których robisz coś takiego: add_action('nazwa_haka', 'jakiś_hak'); a potem gdzieś w motywie, który wywołujesz: hook_name(); i proszę bardzo, gdzie wywołasz tę funkcję, którą wykona twój hook. Cóż, próbowałem stworzyć klasę, aby to uprościć, bo co, jeśli masz motyw z powiedzmy 50 000 haczyków (nie pytaj dlaczego, ja idę do skrajności), to jest 50 000 funkcji podobnych do tego, który zrobiłem powyżej. Tak więc na podstawie: W poprzednim poście próbowałem stworzyć klasę taką jak: <?php class AisisCore_Hooks{ protected $_hooks; funkcja publiczna __construct($haki){ $this->_hooks = $haki; $this->_setup_hooks($this->_hooks); $this->init(); } public function init(){} protected function _setup_hooks($hooks){ foreach($hooks as $hook=>$param){ if(is_array($param)){ do_action($hook, implode(',', $) param)); }else{ do_action($hak); } } } } Następnie spróbowałem zrobić: $array = array( 'hook_name_one' ); $haczyki = nowe AisisCore_Hooks($tablica); function test(){ echo "Jestem testem tego pomysłu"; } add_action('hook_name_one', 'test'); Ale szybko zdałem sobie sprawę, że robię akcję, która nie ma z tym nic wspólnego. Więc moje pytanie brzmi: Czy w mojej klasie chcę przekazać nazwę akcji i funkcję i dodać akcję, a następnie wywołać boczną funkcję do_action(); ? więc: protected function _setup_hooks($hooks){ foreach($hooks as $tag=>$action){ add_action($tag, $action); } } następnie wykonaj: do_action(//cokolwiek oznacza znacznik);


title: Warunkowe na podstawie roli użytkownika w bieżącym profilu, który użytkownik przegląda - BuddyPress

text: Używam BuddyPress i potrzebuję określonego bloku kodu, aby pojawił się tylko w profilach właściciela sklepu z rolą użytkownika. Umieszczę go w member_header.php, więc to tylko plik szablonu. Kopałem już od dłuższego czasu i po prostu nie mogę tego rozgryźć. Znalazłem sposób na docelową rolę _bieżącego_ użytkownika, ale to sprawia, że pojawia się ona w profilu każdego użytkownika w roli właściciela sklepu. Rozumiem, że potrzebuję warunku, ale po prostu nie mogę znaleźć warunku _prawidłowego_... Czy jakoś czegoś mi brakuje? Dzięki wielkie!! ## **Edytuj** : OK, więc bawiłem się i przeszedłem do czegoś trochę innego... Nadal potrzebuję podobnej pomocy, tylko w nieco innym i mniej elastycznym ustawieniu. Zmieniłem zdanie i przeniosłem ten blok kodu na osobną stronę profilu. Mam stronę zbudowaną i podlinkowaną w menu profilu. Więc to, czego potrzebuję, to pokazanie tego elementu menu w oparciu o rolę użytkownika w oglądanym profilu. Oto kod, który działa i wyświetla się na stronie każdego użytkownika: // Ustaw niestandardową funkcję nawigacji BP my_setup_nav() { global $bp; bp_core_new_nav_item( array( 'name' => __( 'Calendar', 'buddypress' ), 'slug' => 'calendar', 'position' => 20, 'screen_function' => 'calendar_template' ) ); // Zmień kolejność elementów menu $bp->bp_nav['messages']['position'] = 100; } add_action( 'bp_setup_nav', 'my_setup_nav' ); Oto kod, z którym się bawiłem, ale powoduje to, że element menu po prostu nie pojawia się _nigdzie_. // Ustaw funkcję nawigacji niestandardowej BP my_setup_nav() { if(user_can($user->ID, "store_owner")) { global $bp; bp_core_new_nav_item( array( 'name' => __( 'Calendar', 'buddypress' ), 'slug' => 'calendar', 'position' => 20, 'screen_function' => 'calendar_template' ) ); // Zmień kolejność elementów menu $bp->bp_nav['messages']['position'] = 100; } } add_action( 'bp_setup_nav', 'my_setup_nav' ); Moja strona to: http://www.pureplayhaven.com A użytkownik "sample" to "Właściciel sklepu". Bardzo dziękuję!!


title: Instrukcja if/else dla zaawansowanych pól niestandardowych

text:
Nadal próbuję owijać głowę wokół PHP (gra słów niezamierzona) i próbuję uzyskać coś do pracy za pomocą wtyczki Advanced Custom Fields w WordPress. Tak więc mam pole powtarzalne, które składa się z dwóch pól liczbowych i pola prawda/fałsz. Zasadniczo próbuję napisać takie stwierdzenie: Jeśli pole Prawda/Fałsz ma wartość „prawda”, to „echo” zarówno „sub_field_1”, jak i „sub_field_2”, w przeciwnym razie echo po prostu „sub_field_1”. Do tej pory mam to: <?php while(has_sub_field('parent_repeater')) { if(the_sub_field('true')) { echo '
' . get_sub_field('sub_field_1') . get_sub_field('sub_field_2') . '
'; } else { echo '
' . get_sub_field('sub_field_1') . '
'; } } ?> Co robię źle? Obecnie przeglądam dokumentację ACF, jeśli ktoś mógłby wskazać mi właściwy kierunek, bardzo bym to docenił. Z góry dziękuję! **EDYTUJ:**
 <?php while ( have_rows('blend') ) : the_row(); ?> <?php $pole = get_sub_field_object('mieszanka'); $wartość = the_sub_field('mieszanka'); $etykieta = $pole['wybory'][ $wartość]; ?>
 Pct: <?php the_sub_field('procent'); ?> Mix: <?php the_sub_field('mix'); ?>
 <?php endwhile; ?>
 <?php else : echo '
Nie znaleziono wierszy
'; endif; ?>


title: Wpdb generuje zbyt wiele zapytań

text:
Googlowałem godzinami, potem znalazłem kilka kodów na stackexchange (http://wordpress.stackexchange.com/a/108279/108270) i utworzyłem poniższe kody. Próbuję uzyskać alfabetyczne listy postów od A do Z (np. A B C D E ...). Wszystko działa dobrze, ale ten kod generuje zbyt wiele zapytań. Gdy są tylko tytuły postów, strona generuje 15 zapytań, ale po dodaniu `the_permalink()` skacze do 33. Podejrzewam, że coś tu jest nie tak. Czy ktoś może mi doradzić bardziej efektywny sposób robienia tego, czego chcę? Z góry dziękuję! globalny $wpdb; $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $postsperpage = 10; $posts = $wpdb->get_results( $wpdb->prepare( "WYBIERZ * FROM $wpdb->posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy_ta. GDZIE wp_term_taxonomy.term_id = 107 AND post_type = 'post' AND post_status = 'publish' AND post_title LIKE %s ORDER BY post_title ASC, $letter . '%')); } echo '
'; foreach ( $litery jako $l) { $param = $l; printf('
%s
',$page_link, $param, $param); } echo '
'; if ($posts): $i = $postsperpage * ($paged-1); while ( $i < $postsperpage*$paged ): $post = $posts[$i]; setup_postdata($post); ?>
<a href="<?php the_permalink();?>"><?php the_title(); ?>
 <?php $i++; koniec; endif; ?>


title: Filtruj wiele różnych głównych zapytań na niestandardowych stronach

text: Ok, więc mam wiele różnych szablonów stron z głównym zapytaniem, dla którego chcę filtrować pętlę. W moim przykładzie staram się użyć funkcji do filtrowania głównej pętli mojej witryny, a także głównej pętli dla strony „nowa”. Teraz działa to dobrze dla strony głównej, ale powoduje, że „nowa” strona zwraca „nie znaleziono strony”, nie przyjmując przypisanego do niej szablonu niestandardowego. Jaki jest właściwy sposób, aby to zrobić? function fod_filter_main_query( $query ) { if( is_front_page() && is_main_query() ) { $query->set('meta_key', 'hotness'); $query->set('meta_value', 0 ); $query->set('meta_compare', '>'); $query->set('orderby', 'meta_value_num' ); $query->set('order', 'desc'); $zapytanie->ustaw('kot', -1 ); $query->set('posts_per_page', 16 ); $query->set('post_type', array( 'post','fod_videos','fod_music','fod_articles', 'fod_albums' )); } elseif ( is_page('new') && is_main_query() ) { $query->set('cat', -1 ); $query->set('order', 'asc'); $query->set('posts_per_page', 16 ); $query->set('post_type', array( 'post','fod_videos','fod_music','fod_articles', 'fod_albums' )); } } add_action('pre_get_posts', 'fod_filter_main_query', 9999);


title: Przekieruj posty do poddomeny z wyjątkiem stron

text: Mamy witrynę WordPress, która zawiera posty i strony. Teraz przenieśliśmy posty do subdomeny, ale pozostawiliśmy strony w domenie głównej. Tylko Posty mają rozszerzenie `.html` i nie ma różnicy w adresie URL Postów i Stron. Przykładowy post: `www.mojadomena.com/sample-posts.html` należy przekierować za pomocą `blog.mojadomena.com/sample-posts.html`. Przykładowa strona: `www.mydomain.com/sample-pages` Jak przekierować tylko posty w subdomenie?


title: Błąd stronicowania administratora linku post_type

text: Mam błąd ze złymi linkami we wszystkich moich ofertach post_type utworzonych przez wtyczkę "magic-fields-2". na linku administratora (stronnica np.: przejdź do strony 2) widzę : http://myserver.cl/cedennatest/wp-admin/edit.php?post_type=integrantes%3Fpost_type%3Dintegrantes&paged=2 tak jak ty mają dwa razy tę samą zmienną post_type i dwa razy znak „?” Jak mogę zmodyfikować ten link w wordpressie? Proces z "magic-fields-2" : 1. utworzono nowy typ 2. nowy typ jest teraz obecny na pasku bocznym (tam, gdzie jest "Dashboard" itp.) 3. kiedy liczba tego specjalnego typu przekracza maksimum autoryzowany post widzę strzałkę do paginacji 4. ten link do WSZYSTKICH utworzonych nowych typów ma problem


title: Podświetl bieżący tytuł posta na stronie

text:
W moim menu mam stronę o nazwie `Kampania`. Gdy użytkownik przejdzie do „kampanii”, na stronie zostanie wyświetlony ostatni niestandardowy typ wpisu „wpis-kampanii”. Na pasku bocznym strony `Kampania` wyświetlam listę wszystkich niestandardowych postów `postów-kampanii`. Problem polega na tym, że nie wiem, jak podświetlić (dodać klasę `current`) do tytułu ostatniego posta na liście, która jest wyświetlana, gdy użytkownik wchodzi na stronę `Campaign`. Oto jak wyświetlam listę:
 <?php $query = new WP_Query( array( 'post_type' => 'campaign-post' ) ); while ( $query->have_posts() ): $query->the_post(); echo '
'; tytuł(); echo '
'; koniec; ?>
 Jakieś pomysły?


title: Zamówić według opcjonalnego metaklucza?

text: Tworzę funkcję sortowania dla niestandardowego typu postu i mam niestandardową wartość meta dla postów „Polecane”. Ta wartość jest ustawiana po zaznaczeniu pola wyboru, w przeciwnym razie nie jest ustawiona. Użycie domyślnego `orderby=meta_value` z `meta_key=featured` sprawia, że ekran wyświetla tylko posty, które mają metaklucz. Jeśli nie, to nawet się nie pojawiają. Chcę, żeby jeśli nie jest ustawione, pojawiają się, ale pojawiają się jako ostatnie. Zakładam, że muszę zamiast tego użyć `meta_query`, ale to też nie zadziałało. **Jak zezwolić na puste, fałszywe lub nieistniejące klucze meta w argumentach WP_Query?** Mój kod znajduje się poniżej. Służy do sortowania kolumn na pulpicie nawigacyjnym, więc modyfikuje domyślne argumenty WP Query. function feature_sortable_order( $vars ) { if ( isset($vars['orderby']) && $vars['orderby'] == 'polecane' ) { $vars = array_merge( $vars, array( 'meta_key' => ' polecane', 'orderby' => 'meta_value', 'order' => isset($vars['order']) ? $vars['order'] : 'asc', ) ); } return $vars; } add_filter( 'żądanie', 'polecane_sortowanie_kolejności' );


title: Jak wyświetlić listę wszystkich zewnętrznych adresów URL, które zamieściłem na moim blogu WordPress?

text: Chcę wyświetlić wszystkie zewnętrzne linki moich postów w jednym miejscu/pliku. Jak mogę to osiągnąć? * Czy można to osiągnąć za pomocą wtyczki? * Czy można to osiągnąć za pomocą wbudowanego interfejsu Wordpress? * Czy można to osiągnąć za pomocą bezpłatnego narzędzia innej firmy? Jakie podejście należy zastosować, aby to osiągnąć?


title: Jak wyświetlać niestandardowe taksonomie na wielu poziomach?

text:
Zbudowałem niestandardowy post dla produktów, a także niestandardową taksonomię dla niego. Staram się mieć główną stronę produktu, która zawiera listę kategorii najwyższego poziomu. To działa dobrze. Następnie ta strona łączy się z odpowiednią podkategorią, używając niestandardowego szablonu archiwum, w którym znajduje się ten kod. Celem jest wyświetlenie każdej podkategorii i działa tylko na pierwszym poziomie. Wyświetla się poprawnie, a następnie po kliknięciu linku, aby przejść do listy kategorii podrzędnych, po prostu wraca do początkowej strony produktów. Jakieś przemyślenia, jak to zrobić? To jest kod, w którym wyprowadzam kategorie podrzędne. Dziękuję Ci!
 <?php $current_cat = get_query_var('products_category'); $args = array( 'hide_empty' => false, 'parent' => get_cat_ID( $current_cat ) ); $categories = get_terms( 'kategoria_produktów', $args); foreach ($categories as $category ) { ?>
 <?php $cat_img = get_field('category_image', 'products_category_'.$category->term_id); $cat_link = get_term_link( $kategoria,$kategoria->ślimaczek ); ?> <a href="<?php echo esc_url( $cat_link ); ?>" title="Nazwa kategorii"> <img src="<?php echo $cat_img ?>" alt="<?php echo $kategoria ->nazwa ?>"/>  <?php } ?>


title: Jak zamienić ustawienia we wtyczce WordPress z motywu

text: Stworzyłem tablicę z pewnymi domyślnymi ustawieniami we wtyczce i chcę, aby można było ją zastąpić z functions.php w motywie bez używania zapisanych danych (np. add_option). Chcę, żeby to był tylko hak z nowymi wartościami. przykładowa tablica wewnątrz wtyczki: $default_settings = array( 'key_one' => 0, 'key_two' => 1 ); Muszę zezwolić na zmianę tego z pliku functions.php motywu, aby programista mógł dodać coś takiego: add_filter('the_hook','my_function'); function my_function(){ $default_settings = array( 'key_one' => 1, //zmieniona wartość 'key_two' => 1 ); } Jeśli programista wykona to wywołanie, chcę, aby nowe wartości zastąpiły starą tablicę wewnątrz wtyczki. Każda pomoc jest mile widziana.


title: Załączasz plik multimedialny do linku e-mail ze strony internetowej? Jak?

text: Gdy ktoś kliknie łącze na mojej stronie internetowej, chcę, aby pojawił się jako e-mail z dokumentem z mojego folderu multimediów, który jest już do niego dołączony. Jak mam to zrobic? Dziękuję!


title: Super prosty krótki kod nie działa

text: Patrzyłem na różne samouczki i odpowiedzi tutaj i gdzie indziej i po prostu nie mogę tego zrobić. Po prostu próbuję wyświetlić proste wyjście z shortcode, jak poniżej, ale jest to po prostu wysyłanie rzeczywistego tagu shortcode na stronę zamiast treści z shortcode **Functions.php** <?php function welcome_roundels_func(){ return "testing "; } add_shortcode( 'welcome_roundels', 'welcome_roundels_func' ); ?> add_action( 'init', 'register_shortcodes'); **Wykorzystanie** [welcome_roundels] Czy muszę jeszcze coś zrobić, aby włączyć shortcodes, czy powyższe powinno działać? **Edytuj** Używam również poniższego kodu do wyprowadzania zawartości $welcomePage = get_post( 5 ); echo $welcomePage -> post_content;


title: Dlaczego moje niestandardowe posty się nie wyświetlają (błąd 404 / nie znaleziono strony)

text: Właśnie zainstalowałem nową instalację wp. Stworzyłem nowy motyw potomny oparty na motywie TwentyTwelve. W motywie potomnym functions.php utworzyłem nowy niestandardowy post o nazwie „news”. Dodałem dwa posty w "newsach" i kiedy przeglądam któryś z nich, otrzymuję błąd "nie znaleziono strony". Zobacz zrzut ekranu: http://pasteboard.co/dtIOK6g.jpg Oczekuję, że posty będą wyświetlane, ale otrzymuję stronę 404. czemu. **Aktualizacja** (aby moje pytanie było jasne): Od instalacji wykonałem bardzo mało pracy, poza następującymi: * Dodano nowy motyw potomny (z Twenty Twelve) * Zastosowałem nowy motyw potomny * Mam utworzyłem nowy post niestandardowy, aktualizując tworzenie functions.php w motywie potomnym i dodając ten kod tutaj (http://pastebin.com/DKny8QH1) * W WP admin utworzyłem 2 nowe posty pod newsami (nowy niestandardowy post utworzony powyżej) * jeśli próbuję uzyskać dostęp do postu, otrzymuję 404 (jak pokazano na zrzucie ekranu powyżej). Mam jednak dostęp do postów utworzonych normalnie. Dzięki **ROZWIĄZANE** : To naprawdę dziwne, ale rozwiązałem to. Wygląda na to, że muszę ponownie wybrać opcję „Nazwa posta” dla moich ustawień permalinków, mimo że została już wybrana. Ponowne wybranie tej opcji rozwiązało mój problem. Przepraszam za zamieszanie. * Wszedłem do ustawień> permalink


title: Importuj posty z tumblr do bloga wordpress

text: Kiedy dodam nowy post na moim koncie tumblr, automatycznie zostanie on zsynchronizowany z moim kontem wordpress. Nie jest konieczne, abym w czasie synchronizacji musiał być zalogowany w wordpressie. Krótko mówiąc, post na tumblr zostanie automatycznie wyświetlony na blogu wordpress. Nie wiem jak to będzie działać. Jeśli jakiekolwiek ciało ma jakąkolwiek wtyczkę lub API, które pasują do moich wymagań. Będę bardzo wdzięczny. Używam tej wtyczki: - http://wordpress.org/extend/plugins/tumblr-importer/ Ale problem polega na tym, że muszę importować za każdym razem, gdy dodawany jest post w tumblr.Hope, to ma sens. To dla mnie naprawdę denerwujące. TIA


title: Zaczep kalendarza WordPress do filtrowania dni oznaczonych postami

text: Funkcja `get_calendar` zwraca kalendarz i jest częścią podstawowych widżetów dostarczanych z WordPress. Ale napisałem niestandardowe rozwiązanie do kontrolowania widoczności postów na podstawie skojarzeń użytkowników. (Niektóre posty są widoczne tylko dla użytkowników z określonymi terminami; na przykład użytkownicy należący do terminu „współpracownicy” w taksonomii „grupy” widzą posty skierowane do współpracowników, podczas gdy są niewidoczne dla innych użytkowników i gości .) Działa to dla widoku postów i widoku archiwum. Ale jeśli dołączę widżet kalendarza, oznacza to niepoprawnie dni. Na przykład 3 grudnia powstał tylko jeden wpis i jest on widoczny tylko dla współpracowników. Ale numer 3 w kalendarzu to link. Po kliknięciu trafia do archiwum, które na ten dzień jest puste. Zastąpiłem hak `posts_where`, ale kiedy zobaczyłem źródło `get_calendar`, nie wydaje się, aby używał tego haka. Czy czegoś mi brakuje? Czy zamiast tego powinienem użyć wtyczki kalendarza, czy spróbować manipulować wynikowym kodem HTML za pomocą filtra `get_calendar`?


title: Dostęp do WordPressa

text: Otrzymałem następujące z pliku html5 boilerplate htaccess. Czy to bezpieczne dodać do mojego wordpress htaccess? I czy to pomoże? <IfModule mod_deflate.c> # Wymuś kompresję zniekształconych nagłówków. # http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding |X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> # Kompresuj wszystkie dane wyjściowe oznaczone jednym z następujących typów MIME # (dla wersji Apache poniżej 2.3.7 nie potrzebujesz aby włączyć `mod_filter` # i usunąć linie `<IfModule mod_filter.c>` i `</IfModule>` # ponieważ `AddOutputFilterByType` nadal znajduje się w dyrektywach podstawowych). <IfModule mod_filter.c> AddOutputFilterByType DEFLATE application/atom+xml \ application/javascript \ application/json \ application/rss+xml \ application/vnd.ms-fontobject \ application/x-font-ttf \ application/x-web- app-manifest+json\aplikacja/xhtml+xml\aplikacja/xml\font/opentype\image/svg+xml\image/x-icon\text/css\text/html\text/plain\text/x-component\ te xt/xml </IfModule>


title: WordPress i Git Workflow

text: Wiem, że to pytanie było zadawane tysiąc razy, ale naprawdę staram się wymyślić, jak najlepiej wykorzystać Git podczas pracy z WordPress. Przeszukałem sieć i przeczytałem dziesiątki artykułów, które wydają się krótko omawiać ten temat. Oto kilka z najbardziej znanych, jakie ostatnio czytałem. \- Kontrola wersji WordPress \- Zarządzanie wdrożeniami motywów WordPress za pomocą Git \- Zarządzaj niestandardowym motywem WordPress za pomocą git zamiast FTP Obecnie mój przepływ pracy wygląda tak. * Zainstaluj WordPress lokalnie * Opracuj motyw * Eksportuj bazy danych WordPress z lokalnego serwera * Importuj bazę danych WordPress na zdalny serwer * Prześlij pliki WordPress i motyw przez FTP * _Klient wprowadza zmiany_ * Pobierz pliki i motyw WordPress przez FTP i wyeksportuj bazy danych WordPress ze zdalnego serwera * Zastąp pliki lokalnie * _Wprowadź zmiany programistyczne_ * Prześlij ponownie przez FTP, wyeksportuj i zaimportuj bazę danych na zdalny serwer Zdaję sobie sprawę, że Git może usprawnić ten proces. Wydaje się, że najlepszym sposobem na to jest posiadanie pliku .gitignore, który ignoruje niektóre katalogi, które nie muszą być śledzone, a także posiadanie zarówno lokalnego, jak i zdalnego pliku wp-config.php. Ale jak radzisz sobie z bazami danych? Klienci zazwyczaj wprowadzają zmiany (posty/strony/wtyczki). Czy nadal muszę eksportować ze zdalnej bazy danych i importować z powrotem na mój lokalny serwer? Czy ktoś może tutaj zaproponować najlepszy dla mnie przepływ pracy? I prowadź mnie po schodach. Ponadto prawdopodobnie chciałbym używać Bitbucket, ponieważ prywatne repozytoria są bezpłatne, w przeciwieństwie do GitHub. Każda pomoc byłaby mile widziana. Z góry dziękuję!


title: Błąd 404 przy zagnieżdżonych instalacjach WordPress

text: Dokonuję zmian w witrynie, którą ktoś inny zbudował w katalogu głównym swojego serwera i próbuję dodać inny katalog z wordpress do katalogu głównego serwera, daje mi to błąd 404 z witryny wordpress, która jest zainstalowana w katalogu głównym . Motyw ma ustawienie, w którym możesz edytować plik .htaccess ... teraz ma kod na dole, jeśli dodam to na górze, zepsuje to witrynę. Ostatnią rzeczą, jakiej potrzebuję, jest wyłączenie tej głównej witryny. CHCĘ DODAĆ TO... RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.)$ [LUB] RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.)$ [LUB] RewriteRule ^.*$ - [ L] DO TEGO.... (już tam) ROZPOCZNIJ WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] KONIEC WordPress


title: Jak dołączyć pierwszą przypisaną kategorię do adresu URL posta?

text: Jakie są opcje tworzenia adresów URL, takich jak: _site.com/nazwa-kategorii/nazwa-postu_ Gdzie „nazwa-kategorii” jest pierwszą kategorią, do której został przypisany post (w przypadku, gdy post jest przypisany do wielu kategorii) Uwaga: jeśli post jest przypisany do „bez kategorii”, nie chcę wyświetlać nazwy kategorii w adresie URL, więc w takim przypadku chcę po prostu _site.com/nazwa-postu_ PS: będzie to również wymagało usunięcia słowo „kategoria” z adresu URL. Udało mi się to zrobić za pomocą wtyczki „bez bazy kategorii”, jednak nie zawiera ona nazwy kategorii nadrzędnej w adresie URL do postu.


title: Instalowanie WP dwa razy w tym samym katalogu?

text: Mam stronę internetową, która ma zainstalowany Wordpress w katalogu głównym `/` Mam inną stronę internetową, której zawartość znajduje się w tym katalogu głównym, `/seperatesite/`, który przechowuje oddzielną, małą witrynę typu strona powitalna, z oddzielną domeną wskazującą do niego. Chcę skonfigurować kolejną instalację Wordpressa w tym folderze. Czy niebezpieczne jest skonfigurowanie dwóch instalacji Wordpress w ten sposób? Zastanawiam się, ponieważ obecnie nie mam poświadczeń hosta, aby w razie potrzeby utworzyć oddzielną bazę danych w obszarze hosta, czy jest to wystarczająco proste, aby przenieść się bez tego - czy nadal jest to wrażliwa konfiguracja? **Dziękujemy za wskazówki!**


title: Wygląda na to, że w standardowym importerze wordpress brakuje obrazów na blogu

text: Mam ponad 2000 obrazów i korzystałem z importera zarówno lokalnie, jak i na mojej hostowanej stronie, hostowana strona wydaje się jednak mieć 100 mniej zdjęć. Importuję z blogera. Kilka razy prowadziłem importera i nadal ich nie odebrał. Te obrazy mają być pobierane i przechowywane lokalnie ze strony blogera, ale brakuje mi ~100. Ktoś inny napotkał ten problem i zna rozwiązanie?


title: Czy motyw Twenty Eleven może w ogóle mieć główny Sidbar?

text: Po wyrwaniu włosów, próbując dowiedzieć się, dlaczego mój główny pasek boczny zniknął, w ostatnim akcie desperacji dokonałem całkowitego wyczyszczenia bazy danych i całego katalogu wordpress, a następnie przywróciłem je z najwcześniejszej kopii zapasowej mojej całkowicie świeżej instalacji WordPressa, która zawiera **tylko stronę główną i oryginalną stronę przykładową** oraz **brak wtyczek!**. To nie pomogło w wyświetlaniu głównego paska bocznego. Ale kiedy przełączam się na „Dwadzieścia dziesięć”, główny pasek boczny z kalendarzem jest tam! To szaleństwo, ponieważ teraz zaczynam wątpić w swoją pamięć, że kiedykolwiek widziałem główny pasek boczny w „Twenty Eleven”. Czy motyw Twenty Eleven może w ogóle mieć główny pasek boczny? Jeśli tak, co robię źle?


title: Jak odtwarzać filmy amazon S3 w wordpressie 3.6?

text: Najnowsza wersja WP ma własny odtwarzacz multimediów (mediaelement.js), aby dołączyć i odtworzyć wideo, nie potrzebujemy już oddzielnego odtwarzacza multimedialnego. Moje pytanie brzmi: Jak mogę sprawić, by shortcode `[video]` działał z filmami przesłanymi na S3, które są chronione. Próbuję użyć tego [wideo mp4="http://xyz.s3.amazonaws.com/test.mp4?AWSAccessKeyId=AKIAIFXXXXXXG7A7A&Expires=1375464588&Signature=ZimqpfuYZQwQIrPaVnodi4WASO0%3D"] Ale to nie działa. Utworzony przeze mnie adres URL wygasa po 300 sekundach, jeśli spróbuję uruchomić test.mp4 w nowej karcie, działa. Ale to nie gra w wordpressie. Każda pomoc byłaby mile widziana.


title: Przepisywanie niestandardowego adresu URL

text: Mam niestandardowe wyszukiwanie, jedną bazę danych z WP, przechowuję stronę w panelu administracyjnym wordpress: http://localhost/wp/wp-admin/post.php?post=96&action=edit&message=1 Wtedy URL strony wygląda tak `http://localhost/wp/directory/view?search=moto&number=12` Teraz chcę go zmodyfikować na `http://localhost/wp/directory/view/moto/12`. Wypróbowałem metodę z `RewriteRule ^directory/view/(.*)/(\d+)/$ directory/view?search=$2&number=$3`, a cały `.htaccess` to: # BEGIN WordPress <IfModule mod_rewrite .c> RewriteEngine On RewriteBase /wp/ RewriteRule ^index\.php$ - [L] RewriteRule ^directory/view/(.*)/(\d+)/$ directory/view?search=$2&number=$3 RewriteCond %{ REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wp/index.php [L] </IfModule> # ZAKOŃCZ WordPress ale nie działa, potrzebujesz kodu pracy, dzięki, EDIT: Próbowałem `add_rewrite_rule` nadal nie działa... Aby uniknąć infekcji nazwy strony, tym lepiej sposób użyj `katalog/widok`. function add_directory_rewrite() { add_rewrite_tag("%search%", '(.+)'); add_rewrite_tag("%number%", '(\d+)'); add_rewrite_rule('^katalog/widok/(.+)/(\d+)/', 'katalog/widok?search=$matches[1]&number=$matches[2]', 'góra'); } add_action( 'init', 'add_directory_rewrite' );


title: Twoja wyszukiwarka nie jest zgodna z wynikami

text:
Skonfigurowałem niestandardowe wyszukiwanie tak, aby używało zmiennej `s` GET w adresie URL. Chcę, żeby przyniosło określone wyniki, ale natknąłem się na dziwny problem. Po pierwsze, oto mój kod: $search_term = $_GET['s']; if($search_term!=''){ $s = new WP_Query(array('s' => $search_term)); $tablica_wyszukiwania = tablica(); if($s->have_posts()){ while($s->have_posts()){ $s->the_post(); $tytuł = pobierz_tytuł(); $permalink = get_permalink(); $identyfikator_wyszukiwania = $tytuł.$permalink; array_push($search_array,$search_identifier); } } } Zasadniczo tworzę tablicę unikalnych wartości dla każdego postu, ponieważ muszę ich użyć do funkcji zaraz po tym. Mam post zatytułowany „Asystent kuchenny”. Kiedy szukam słowa „kuchnia”, pojawia się. Kiedy wyszukuję „asystent”, nie pojawia się. Mam inne posty ze słowem „asystent” w tytule i treści, które pojawiają się, gdy wyszukuję „asystent”. Jestem ciekaw, dlaczego pojawiłby się z jednym wyszukiwanym hasłem, a nie z drugim? Każda pomoc byłaby bardzo mile widziana. Dziękuję! ## EDYCJA Oto mój kod w szerszym kontekście dla wyjaśnienia. Utworzyłem samodzielną stronę szablonu PHP jako nową stronę wyszukiwania z powodu dostosowań, których chcę dokonać. To formularz wyszukiwania, który wyszukuje dwa różne terminy. Jeden to termin wyszukiwania, a drugi to termin lokalizacji. Najpierw wykonuję zapytanie WordPress dotyczące wyszukiwanego terminu i dodaję je wszystkie do tablicy (jeśli istnieje wyszukiwany termin). Następnie wyszukuję lokalizację (jeśli istnieje). Następnie porównuję je, jeśli oba istnieją, w przeciwnym razie po prostu wyszukuję w zależności od istniejącej zmiennej. Wygląda na to, że wszystko działa Z WYJĄTKIEM części wyszukiwania w WordPressie. Nie ma to żadnego wpływu na wyszukiwanie lokalizacji, a wyszukiwanie lokalizacji nie wydaje się tak naprawdę istotne dla tego, dlaczego zapytanie Wordpress nie znajduje właściwych zmiennych, ale wszyscy ciągle pytają o kontekst, więc pomyślałem, że się podzielę. Daj mi znać, jeśli to rzuci więcej światła na sytuację lub jeśli chcesz, abym wyjaśnił inne jej elementy. Dziękuję! <?php //BEZPOŚREDNIE POŁĄCZENIE Z BAZĄ DANYCH include('job-parsing/connect.php'); //POŁĄCZENIE WP DO BAZY DANYCH include('wp-config.php'); pobierz_nagłówek(); $search_term = $_GET['s']; $real_loc = $_GET['lokalizacja']; $lokalizacja = urlencode($_GET['lokalizacja']); //WYSZUKAJ TERMIN POCZĄTKOWY if($search_term!=''){ $s = new WP_Query(array('s' => $search_term)); $tablica_wyszukiwania = tablica(); if($s->have_posts()){ while($s->have_posts()){ $s->the_post(); //var_dump($s); //DODAWAM POST POLA DŁUGOŚCI I SZEROKOŚCI, PONIEWAŻ TE WPISY SĄ WPROWADZANE CODZIENNIE W ZADANIACH CRON O TYCH WARTOŚCIACH; TE BĘDĄ POTRZEBNE PÓŹNIEJ, PODCZAS TESTU GEOLOKACJI PONIŻEJ $post_latitude = get_post_field('post_latitude'); $post_longitude = get_post_field('post_longitude'); //OBECNIE NIEKTÓRE POSTY NIE POSIADAJĄ DŁUGOŚCI I SZEROKOŚCI, WIĘC NIE CHCĘ MIEĆ TE W WYSZUKIWANIU, ZNAJDUJĄ SIĘ NA LIŚCIE NA STRONIE, ALE NIE POSIADAJĄ LOKALIZACJI, WIĘC TO POMNIEJE CEL TEGO, CO ROBIMY I ZOSTANIE WYKLUCZONY Z WYSZUKIWANIA if($post_latitude && $post_longitude){ $id = get_the_ID(); $identyfikator_wyszukiwania = $id; //JEŚLI SZEROKOŚĆ POST I DŁUGOŚĆ POST ISTNIEJĄ W TERMINIE, KTÓRY PASUJE DO WYSZUKIWANIA array_push($search_array,$search_identifier); } } } } //TABLICA WYNIKÓW WYSZUKIWANIA JEST TERAZ USTAWIONA //JEŚLI LOKALIZACJA JEST WYPEŁNIONA, URUCHOM KOD GOOGLE API (KOD POCZTOWY/MIEJSCOWOŚĆ TO DOMYŚLNA WARTOŚĆ/MIEJSCE ZASTĘPCZE W FORMULARZU, WIĘC MOŻLIWOŚĆ, ŻE KTOŚ PRZESŁAĆ TO WCIĄŻ , NIE CHCĘ, BY BYŁ PRZEZ GOOGLE API if($location!="Postcode%2FTown" && $location!="" && $location!="Postcode/Miasto"){ //WYKORZYSTAJ TERMIN WYSZUKIWANIA LOKALIZACJI I PRZEKSZTAŁĆ GO NA WSPÓŁRZĘDNE I DŁUGOŚCIOWE $url='http://maps.googleapis.com/maps/api/geocode/json?address='.$location.'&sensor=false'; $source = file_get_contents($url ); $obj = json_decode($źródło); $LATITUDE = $obj->wyniki[0]->geometria->lokalizacja->łac.; $LONGITUDE = $obj->wyniki[0]->geometria->położenie- >lng; $center_lat = $LATITUDE; $center_lng = $LONGITUDE; $radius = $_GET['promień']; $query = sprintf("SELECT ID, post_title, post_latitude, post_longitude, post_date, ( 3959 * acos( cos( radians('%s') ) * cos( radians( post_latitude ) ) * cos( radians( post_longitude ) - radians('%s') ) + sin( radians('%s')) ) * sin( radians( post_szerokość ) ) ) ) AS odległość FROM wp_posts HAVING odległość < '%s' ORDER BY odległość", $mysqli->real_escape_string($center_lat), $mysqli->real_escape_string($center_lng), $mysqli-> real_escape_string($center_lat), $mysqli->real_escape_string($radius)); $wynik = $mysqli->zapytanie($zapytanie); $znaleziona_num = mysqli_num_rows($wynik); //KONIEC WYWOŁANIA API GOOGLE MAPS } ?>

<?php echo $found_num; ?> Oferty pracy znalezione dla <?php echo $real_loc; ?>"

 //POCZĄTEK LISTY ZADAŃ
 <?php //JEŚLI WPROWADZONO LOKALIZACJĘ I UŻYWANO ZAPYTANIA WYSZUKIWANIA ZA POMOCĄ GOOGLE MAPS API, jeśli( $result){ //INITIALIZE NEW ARRAY $new_search_array = array(); while ($row = $result->fetch_assoc()){ $post_id = $row['ID']; $permalink = get_permalink($post_id); $title = $row['post_title']; //JEŚLI WYSZUKIWANIE TERMINU ISTNIEJE, UTWÓRZ TABELĘ PASUJĄCĄ DO LOKALIZACJI if($search_array){ foreach($search_array as $value){ if($value==$post_id){ array_push($new_search_array,$post_id); } } } // JEŚLI WYSZUKIWANIE NIE ISTNIEJE, WYSTARCZY WYSZUKAJ LOKALIZACJĘ else{ echo $row['post_title']; } } } //JEŚLI WYSZUKAJ TERMIN ISTNIEJE I TERMIN LOKALIZACJI ISTNIEŁO, NOWE WYSZUKIWANIE ZAINICJALIZOWANO H ARRAY I UŻYWAMY TEGO DO WYŚWIETLANIA WYNIKÓW if($new_search_array){ foreach($new_search_array as $value){ get_the_title($value); } } else if($search_array){ foreach($search_array as $value){ get_the_title($value); } } ?>
 <?php get_footer(); ?>


title: Jak wykluczyć posty uporządkowane według comment_count z kolejnych pętli wordpress za pomocą WP_Query?

text:
Na mojej stronie znajdują się trzy oddzielne pętle. Pierwszy pobiera najczęściej komentowany post. Zapytanie jest następnie resetowane dla drugiej pętli i pobiera 3 najnowsze posty, a następnie resetuje się ponownie, aby uzyskać trzy najnowsze posty. Chcę, aby post, który ma najwięcej komentarzy, a) został wybrany tylko z ostatnich 24 godzin i b) został wykluczony z pojawiania się w zapytaniach 2. i 3., aby zapobiec wyświetlaniu zduplikowanych postów. Jak mam to osiągnąć? <?php get_header(); ?>

 <?php $args = array( 'posts_per_page' => 1, 'orderby' => 'liczba_komentarzy' ); $the_query = nowe WP_Query( $args ); ?> <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <a href="<?php the_permalink();?>">
<?php the_title(); ?>

Opublikowane <?php the_date(); ?> przez <a href="<?php echo the_permalink();?>"><?php the_author(); ?><a href="<?php the_permalink();?>"> <?php liczba_komentarzy(); ?>
 <?php the_excerpt(); ?> <?php koniec; jeszcze: ?> <?php endif; ?> <?php wp_reset_postdata(); ?>
 <?php $args = array( 'posts_per_page' => 3, 'orderby' => 'most_recent' ); $the_query = nowe WP_Query( $args ); ?>
 <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <a href="<?php the_permalink();?>">
<?php the_title(); ?>

Opublikowane <?php the_date(); ?> przez <a href="<?php echo the_permalink();?>"><?php the_author(); ?>
 <?php the_excerpt(); ?> <?php koniec; jeszcze: ?> <?php endif; ?> <?php wp_reset_postdata(); ?>
 <?php $exclude = $most_recent; $args = array( 'posts_per_page' => 3, 'orderby' => 'most_recent', 'offset' => 3 ); $the_query = nowe WP_Query( $args ); ?>
 <?php if ( have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <a href="<?php the_permalink();?>">
<?php the_title(); ?>

Opublikowane <?php the_date(); ?> przez <a href="<?php echo the_permalink();?>"><?php the_author(); ?>
 <?php the_excerpt(); ?> <?php koniec; jeszcze: ?> <?php endif; ?> <?php wp_reset_postdata(); ?>

 <?php get_sidebar(); ?>
 <?php get_footer(); ?>


title: Jak wyświetlić niestandardowe pole z niestandardowej taksonomii w single.php?

text: Wiem, że następujące zapytanie mysql daje dokładne wyniki, które chcę powtórzyć w pojedynczym.php: SELECT meta_value FROM `wp_taxonomymeta` WHERE `taxonomy_id` =565 AND `meta_key` LIKE 'baseurl' Po pierwsze, muszę być w stanie użyć $ wpdb, aby wyświetlić ten wynik i bez względu na to, co próbuję, nie mogę go uruchomić. Moja ostatnia próba: <?php global $wpdb; $toc = $wpdb->get_row(" SELECT meta_value FROM `wp_taxonomymeta` GDZIE `taxonomy_id` =565 AND `meta_key` LIKE 'baseurl'"); echo $toc; ?> spowodował następujący błąd: Catchable błąd krytyczny: Obiekt klasy stdClass nie mógł zostać przekonwertowany na łańcuch w /wp-content/themes/new/single.php w wierszu 22. Po drugie... i to jest ważne. Wartość 565, której używam dla taksonomii_id była tylko do testowania... rzeczywistą wartość, którą muszę wstawić w miejsce liczby 565, można wyświetlić w single.php za pomocą: <?php $term = get_term_by('id', $termID, 'zbiór danych'); echo $term->term_id; ?> Dla odniesienia, abyście mogli zrozumieć, co próbuję zrobić... Przypisałem niestandardowe pole do taksonomii i próbuję uzyskać wyniki tego niestandardowego pola do wyświetlenia w pojedynczym.php... podczas gdy ja znalazłem wtyczkę (Ultimate CMS), która zrobiłaby to za mnie, wyświetla również filtr dla wszystkich taksonomii na górze mojego ekranu posta... gdy masz ponad 50 000 wierszy w swojej taksonomii, co powoduje duże wczytywanie strony w adminie i nie mogę znaleźć sposobu, aby to stłumić. Jakakolwiek pomoc z moją próbą NOOB w kodowaniu byłaby mile widziana! Dziękuję