title: Wyszukiwanie niestandardowych pól za pomocą pre_get_posts

text: AKTUALIZACJA: 12.4.13 Używam teraz filtra posts_where. Wygląda to tak: function posts_where( $where) { if ( is_search() ) { global $wpdb; $łóżka = ( ! puste( $łóżka ) ) ? sanitize_text_field( get_query_var( 'łóżka' ) ) : 0; $łazienki = ( ! pusty( $łazienki ) ) ? sanitize_text_field( get_query_var( 'wanny' ) ) : 0; $min = sanitize_text_field( get_query_var( 'cena-minimalna' ) ); $max = sanitize_text_field( get_query_var( 'maks-cena' ) ); $min_cena = (!pusty($min))? sanitize_text_field($min): 0; $max_price = (! pusty( $max) ) ? sanitize_text_field ($max): 999999999; $where .= " AND ($wpdb->postmeta.meta_key = 'łóżka' AND $wpdb->postmeta.meta_value >= {$beds}) AND ($wpdb->postmeta.meta_key = 'łazienki' AND $wpdb- >postmeta.meta_value >= {$baths}) AND ($wpdb->postmeta.meta_key = 'cena' AND $wpdb->postmeta.meta_value POMIĘDZY {$min_price} AND {$max_price})"; } return $gdzie; } To już prawie działa. Jedynym elementem, który nie działa, jest zapytanie o cenę. Nie uzyskuję żadnego efektu bez względu na to, co wprowadzę. Ponadto otrzymuję teraz błąd bazy danych, który nie ma dla mnie żadnego sensu: Błąd bazy danych WordPress: [Nieznana kolumna „tbg_postmeta.meta_key” w klauzuli „where” '] SELECT SQL_CALC_FOUND_ROWS tbg_posts.ID FROM tbg_posts WHERE 1=1 AND (((tbg_posts.post_title LIKE '%441%') OR (tbg_posts.post_content LIKE '%441%'))) AND tbg_posts's.proper_type' = (tbg_posts.post_status = 'opublikuj' LUB tbg_posts.post_status = 'prywatny') AND (tbg_postmeta.meta_key = 'łóżka' AND tbg_postmeta.meta_value >= 0) AND (tbg_postmeta.meta_key = 'met. ) AND (tbg_postmeta.meta_key = 'price' AND tbg_postmeta.meta_value POMIĘDZY 0 A 999999999) ZAMÓWIENIE PRZEZ tbg_posts.post_title LIKE '%441%' DESC, tbg_posts.post_date DESC LIMIT 0, 5 Każda pomoc jest bardzo mile widziana. -Jacob Mam niestandardowy typ posta, Property, z serią niestandardowych pól generowanych przez Advanced Custom Fields. Próbuję zbudować formularz wyszukiwania, który zawiera pola dla niektórych pól niestandardowych. Oto jak wygląda formularz wyszukiwania: <form method="get" action="<?php echo site_url('property/'); ?>"> <input type="text" name="s" value="" placeholder="Adres, miasto, kod pocztowy itp" /> <input class="half alfa" type="tekst" name="min-cena"value=""placeholder="Min $" /> <input class=" half" type = "tekst" name = "max-price" value = "" placeholder = "Max $" /> <select name = "beds" id = "beds" class = "half alfa"> <option value = 1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value ="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> < /select> <select name="baths" id="baths" class="half"> <option value="1">1</option> <option value="2">2</option> <option value ="3">3</opcja> <wartość opcji="4" >4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value=" 8">8</option> </select> <input type="hidden" name="post_type" value="property"> <button class="btn-search btn">Szukaj <i class="icon-caret -right"></i></button> </form> który generuje zapytania takie jak: http://example.com/?s=441&min- price=6000000&max-price=8000000&beds=1&baths=1 Używam pre_get_posts, aby filtrować zapytanie w następujący sposób: function SearchFilter($query) { if ( is_admin() || ! $query->is_main_query() ) powrót; if ( $query->is_search ) { // ustaw puste tablice $beds_query = array(); $baths_query = tablica(); $price_query = tablica(); // skonfiguruj zapytanie o łóżka if ( ! empty( $query->query['beds'] ) ) { $beds_query = array( 'key' => 'beds', 'value' => sanitize_text_field($query->query ['łóżka']), 'porównaj' => '>=', ); } // konfiguruj zapytanie dla wanien if ( ! empty( $query->query['baths'] ) ) { $baths_query = array( 'key' => 'baths', 'value' => sanitize_text_field($query-> zapytanie['wanny']), 'porównaj' => '>=', ); } if ( ! empty( $zapytanie->zapytanie['min-cena'] ) || ! empty( $zapytanie->zapytanie['max-cena'] ) ) { $min_cena = ( puste( $zapytanie->zapytanie ['cena-minimalna'] ) ) ? 0 : $zapytanie->zapytanie['cena-minimalna']; $max_price = ( puste( $zapytanie->zapytanie['max-cena']) ) ? 999999999 : $zapytanie->zapytanie['maksymalna-cena']; $price_query = array( 'key' => 'price', 'value' => array( sanitize_text_field($min_price), sanitize_text_field($max_price) ), //'type' => 'numeric', 'compare' => 'POMIĘDZY'                     ); } $meta_zapytanie = array( 'relation' => 'AND', $łóżka_zapytanie, $łazienki_zapytanie, $price_zapytanie ); $query->set( 'meta_zapytanie', $meta_zapytanie ); $query->set( 'posts_per_page', 1 ); } // koniec is_search i archiwum właściwości return $query; } add_filter('pre_get_posts','SearchFilter'); na razie w porządku. Kiedy wypisuję moje $zapytanie, otrzymuję to, co uważam za poprawne. Oto odpowiedni fragment: [meta_query] => Tablica ( [relacja] => AND [0] => Tablica ( [klucz] => łóżka [wartość] => 1 [porównaj] => >= ) [1] => Tablica ( [klucz] => wanny [wartość] => 1 [porównaj] => >= ) [2] => Tablica ( [klucz] => cena [wartość] => Tablica ( [0] => 6000000 [1 ] => 8000000 ) [porównaj] => POMIĘDZY ) ) To, czego nie dostaję, to filte czerwone wyszukiwanie. Otrzymuję wszystkie posty na podstawie zmiennej "s", ale w przeciwnym razie nie ma meta_query. Jakieś pomysły, co robię źle? Dzięki, Jacob


title: Filtruj posty według podatku (lista rozwijana) i wartości meta

text: Mam stronę, na której wyświetlane są wszystkie moje niestandardowe typy postów. Teraz muszę dodać kolejny do istniejących: $args = array( 'post_type' => 'bkroadkill', 'post_status' => 'publish, future', 'posts_per_page' => '15' ); if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['filterform']) && wp_verify_nonce($_POST['filterform'],'filterform') ) { if (isset($_POST[' własny']) && !empty($_POST['własny'])){ $args['autor'] = get_current_user_id(); } if (isset($_POST['comments']) && !empty($_POST['comments'])){ $args['orderby'] = 'comment_count' ; } } query_posts( $args ); To działa idealnie. To, co chcę teraz zrobić, to dodać te filtry * Filtrować, wybierając jedną lub więcej kategorii z `wp_dropdown_categories` mojej niestandardowej taksonomii * Filtrować według wartości meta, która jest już ustawiona Dla wszystkich filtrów z wyjątkiem kategorii są używane proste pola wyboru. Po prostu sprawdzam, czy są ustawione, a kiedy są, zmieniam ciąg. Moje próby dla pozostałych 2 filtrów nie powiodły się: if (isset($_POST['cat']) && !empty($_POST['cat'])){ $args['roadkill_category'] = $_POST['cat'] ; } Ponieważ jestem bardzo nowy w wordpressie, nawet te proste rzeczy są dla mnie mylące **EDIT:** Udało mi się teraz utworzyć filtr dla mojej wartości meta: if (isset($_POST['bestimmung']) && !empty( $_POST['bestimmung'])){ $args['meta_query'] = array(array( 'key' => 'bestimmung', 'value' => 'nein', 'compare' => 'IS' )) ; } Po prostu brakuje mi filtra dla taksonomii niestandardowej.


title: Dumping zmiennej w niestandardowej funkcji pre_gets_post w functions.php, zwraca NULL

text:
## **Podsumowanie problemu:** Używam firePHP do analizy moich zmiennych w funkcji niestandardowej, ale nie wyświetla ich zawartości w konsoli, jak bym się spodziewał. Użyłem również var_dump(), zwraca NULL. * * * ## Szczegóły problemu: Używam firePHP dokładnie tak, jak opisuje @brasofilo, jak widać na http://wordpress.stackexchange.com/a/71599/41479 . Zwykle jest to bardzo pomocne, ale jestem zdezorientowany, dlaczego czasami nie widzę zawartości moich zmiennych w konsoli. * * * Oto konkretny przykład, to jest w **page-sr2.php:** <?php get_header(); ?>

 <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'treść', 'strona' ); ?> <?php get_template_part('nav_menu', 'explore');?> <?php logit( $wp_query, '$wp_query:' ); ?> /*Funkcja logit z @brasofilo*/ <?php logit( $zmienna, '$zmienna: '); ?> <?php var_dump($zmienna); ?>/* Daje to NULL na stronie*/ <?php endwhile; // koniec pętli. ?>
 <?php// get_sidebar(); ?>

 <?php get_footer(); ?>
 * * * W **functions.php** używam niestandardowej akcji pre_get_posts: add_action('pre_get_posts', 'page_sr2_pgp'); function page_sr2_pgp( $zapytanie) { if(is_page('sr2')){ return $zapytanie; } //globalna $zmienna; //próbowałem tego, nie pomogło $zmienna ="coś"; logit( $zmienna, '$zmienna: '); if( isset($_GET['rok']) ) { $zapytanie->set('meta_key', 'rok'); $query->set('meta_value', $_GET['year']); } // zawsze zwracaj return $query; } * * * W rezultacie `logit()` działa dla `$wp_query`, ale nie dla `$variable`. ![Zrzut ekranu konsoli, page-sr2.php](http://i.stack.imgur.com/pNJqT.jpg) > **Uwaga:** Tak, dzwonię `logit( $variable, '$variable: ');` zarówno w > `page-sr2.php` jak i w funkcji `page_sr2_pgp` wewnątrz `functions.php`. > Robię to, ponieważ nie wiem, która lokalizacja jest prawidłowa i > nie sądziłem, że spowoduje to problem.


title: Dostęp FTP do pobierania plików z działającej witryny do piaskownicy XAMPP

text: Gdzie mam wpisać adres IP mojego drugiego serwera na żywo, aby móc uruchomić moją piaskownicę na XAMPP, aby móc rozpocząć pobieranie pliku danych. XAMPP po prostu odsyła mnie do dysku `C`, czy mogę pobierać pliki osobno, czy jest taka opcja w XAMPP?


title: Obsługa wielopoziomowej niestandardowej hierarchii taksonomii

text: Próbuję posortować wielopoziomową hierarchię w niestandardowej taksonomii. Mam niestandardową taksonomię z wieloma podtaksonomią. Np.: Level1 -Level2 --Level3 ect W tej chwili mogę użyć `get_term_children()`, aby zwrócić dzieci do taksonomii najwyższego poziomu, ale nie mówi mi to nic o ich pozycji w hierarchii.


title: Zapobiegaj instalacji plików cookie style.css i buforowaniu plików

text: Mam problem, którego nigdy wcześniej nie spotkałem. Kiedy aktualizuję plik `style.css` w moim motywie potomnym, strona internetowa nie używa nowego stylu. Wskazałem to na plik cookie w mojej przeglądarce, który wydaje się używać `style.css?ver=3.8.1` zamiast podstawowego `style.css`. Nawiasem mówiąc, 3.8.1 to moja wersja WordPressa. Jedyną poprawką, jaką znalazłem, jest ręczne usunięcie pliku cookie, ale jest to kłopotliwe za każdym razem, gdy wprowadzam zmiany. Jakieś pomysły jak to naprawić?


title: Przenoszenie kodu wtyczki do motywu - Deklaracja klasy - jakiego hooka użyć do stworzenia nowej instancji?

text: Planuję przenieść wtyczkę do tworzonego przeze mnie motywu. Wtyczka obecnie wykorzystuje klasę do deklarowania i konfigurowania niestandardowego typu postu oraz wszystkich innych funkcji samej wtyczki. Wtyczka ma zarówno CPT, który jest wypełniany w panelu administratora, jak i skróty, które wysyłają dane do motywu. Ponieważ sama wtyczka deklaruje nową instancję klasy, gdzie powinienem przenieść tę deklarację, jeśli przeniosę kod wtyczki do motywu, aby tworzył tylko jedną instancję tej klasy? Dziękuję!


title: Jaki jest najlepszy sposób na przeniesienie całego Wordpressa z wieloma witrynami do nowej domeny?

text: Mam wielostanowiskową instancję Wordpress 3.x skonfigurowaną z ponad 100 witrynami. Przygotowuję się do aktualizacji do wersji 3.7.x Chcę umożliwić moim użytkownikom przetestowanie z wyprzedzeniem, jak będzie wyglądać wersja 3.7. Chcą przetestować, czy jakieś wtyczki lub ich niestandardowe motywy zepsują się po aktualizacji. Moja instancja produkcyjna działa w witrynie mywordpress.mydomain.com. Mam inny serwer, mydevwordpress.mydomain.com, którego mógłbym użyć do przeprowadzenia aktualizacji. Jak mogę to zrobić najlepiej? Mogłem skopiować bazę kodu z produkcji do dev. Następnie mógłbym użyć mysqldump do wyeksportowania bazy danych i zaimportowania na inny serwer. Ale co ze wszystkimi linkami i zmiennymi witryny podstawowej? Jak byś tego dokonał?


title: Przekierować, jeśli nie jesteś zalogowany?

text: Próbowałem tego przekierować ludzi, którzy nie są zalogowani na określoną stronę. Ostatecznie nie powinno mieć znaczenia, jaką stronę frontową odwiedzają, ale powinno przekierowywać do dowolnej strony wybranej jako strona docelowa (zakładam, że będzie to adres URL w wp_redirect). Nadal potrzebuję dostępu do wp-login i pulpitu nawigacyjnego itp. Umieściłem następujący kod w moim functions.php, ale nie zadziałał. function my_redirect() { if ( $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == 'mojadużawitryna.com/' ) { if ( ! is_user_logged_in() ) { wp_redirect( 'mojadużawitryna.com/landing/' ); Wyjście; } } } add_action( 'init', 'moje_przekierowanie' ); Dzięki za wszelką pomoc!


title: jak mogę uzyskać paginację tak, jak chcę, gdy posty z zapytaniami za pomocą funkcji get_posts?

text: Używam WP3.5 i mam `post_list.php`, który pokaże wszystkie posty w kolejności według daty publikacji DESC. Wszystko jest w porządku z wyjątkiem `paginacji`. Mam 15 postów, do celów testowych chcę, aby każda strona wyświetlała 2 posty, inne będą pokazywały następną stronę w ten sposób. Poprzednia 1 2 3 4 5 Następna Niektóre części post_list.php define('WP_USE_THEMES', false); require_once '../blog/wp-load.php'; $query_args = array( 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 2, 'offset ' => 0 ); $lateset_posts = get_posts($query_args); <?php globalna $post; foreach($lateset_posts as $post) : // zrób coś the_content(); <?php endforeach;?> <?php next_post_link(); poprzedni_link_postu(); ?> Tak, jak widzisz, każda strona pokazuje 2 posty, jak ustawiłem, ale nie mogę uzyskać paginacji tak, jak chcę. Zamiast tego pokazuje mi tytuł tego posta1 >> << Tytuł postu2 Jak mogę uzyskać styl stronicowania taki jak poniżej Poprzedni 1 2 3 4 5 Następny Dzięki. Edycja: Teraz używam funkcji `paginate_links`, tak, mam to, czego chcę. $query_args = array( 'orderby' => 'date', 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => 2, 'offset ' => 0 ); $lateset_posts = get_posts($query_args); $paging_args = array( 'base' => '%_%', 'format' => '?paged=%#%', 'total' => count($lateset_posts), 'current' => max(1, get_query_var('paged')), 'end_size' => 1, 'mid_size' => 1, 'prev_next' => Prawda, 'prev_text' => __('« Poprzedni'), 'next_text' => __(' Następny "')     ); $lateset_posts_paging = paginate_links($paging_args); Mam 15 wierszy i wygląda to tak 1 2 3 .. Dalej Teraz jestem na pierwszej stronie i chcę przejść do drugiej strony, więc klikam numer 2 i zauważam, że adres URL to: http: //localhost/x/post_list.php?paged=2 Ale po kliknięciu 'nadal na pierwszej stronie', a dane to także pierwsze dwa wiersze. Gdzie się mylę, dzięki.


title: Jak ograniczyć znaki w tytule posta?

text: Jak mogę ograniczyć liczbę znaków w tytule posta? Widziałem to zrobione we wtyczce Yoast Wordpress SEO, ale chcę zrobić coś podobnego dla tytułu WP. Sprawdziłem wtyczkę o nazwie Ogranicz tytuł posta do X znaków, ale wygląda na to, że została porzucona, a także psuje stronę Edytuj media, ponieważ media też mają tytuł.


title: Jak 2 blogi mogą dzielić tych samych użytkowników?

text: Prowadzę normalny blog WP (blog 1). Chcę utworzyć sekcję pytań i odpowiedzi dla moich użytkowników, więc konfiguruję inny blog z motywem WP-Answer (blog 2). Problem polega na tym, że nie chcę, aby moi użytkownicy bloga 1 musieli rejestrować się na blogu 2, aby wysyłać pytania. Chcę, aby automatycznie przyznawały te same uprawnienia na blogu 2. Jak można to osiągnąć? Masz dla mnie jakąś radę? Dziękuję Ci bardzo.


title: Jak mogę utworzyć fototapetę generowaną przez użytkownika?

text: Szukam sposobu na stworzenie fototapety generowanej przez użytkownika. Jak miejsce pamięci, że tak powiem. Miałbym duży obraz nagłówka na górze, niż ludzie mogliby przesłać własne zdjęcie i opublikować je pod dużym obrazem nagłówka, który opublikowałem. Czy ktoś wie, jak mogę to zrobić za pomocą wtyczki lub motywu? Dziękuję!


title: Niestandardowa paginacja typów postów i duplikaty postów

text:
Pracuję nad szablonem, który będzie wykorzystywał kilka niestandardowych typów postów i niestandardowych taksonomii. Mam problemy z paginacją i duplikacjami postów. **HOME.PHP** LOOP #1 Na stronie głównej (home.php) mam 2 pętle. Pierwszy z nich pokazuje 1 post (typ posta niestandardowego: Projekty), do którego przypisana jest niestandardowa taksonomia „Polecane”. PĘTLA #2 W drugiej pętli mam sześć ostatnich „Projektów” (typ posta niestandardowego), ale nie chcę duplikatu z pierwszej pętli. Pod sześcioma postami chciałbym paginację Obie pętle w home.php działają.. ale nadal mam ten duplikat i nie mogę uzyskać paginacji do pracy.. **PasteBin** * home.php: http:// pastebin.com/6ac2asue * functions.php: http://pastebin.com/1SK206Bh <?php $do_not_duplicate = array(); $folio_loop = new WP_Query( array ( 'featured' => 'featured-post', 'post_type' => 'projekty', 'posts_per_page' => '1', ) ); while ( $folio_loop->have_posts() ): $folio_loop->the_post(); $do_not_duplicate[] = $post->ID; ?>

 <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >  <?php global $post; $text = get_post_meta( $post->ID, '_cmb_project_meta', prawda ); echo $tekst; ?>
 <?php global $post; $text = get_post_meta( $post->ID, '_cmb_client_meta', prawda ); echo $tekst; ?>

 <?php if ( has_post_thumbnail()) : ?> <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute() ; ?>" > <?php the_post_thumbnail('polecane'); ?>  <?php endif; ?>
 <?php endwhile; ?>


title: Czy aktualizacja może uszkodzić moją instalację?

text: Mam motyw wp, którego używam na stronie internetowej - motyw, o którym mowa, został zakupiony z popularnej strony kończącej się na las... Więc kod nie jest mój i nie mogę mówić o jego jakości. Za każdym razem, gdy pojawia się nowa wersja / aktualizacja WordPressa, aktualizuję ją, ale zanim to zrobię, na pulpicie pojawi się ostrzeżenie, że powinienem wykonać kopię zapasową mojej witryny, ponieważ aktualizacja może ją uszkodzić. Zawsze tworzyłem kopię zapasową witryny, korzystając z ustawień eksportu, a także eksportowałem ustawienia motywu. Ale zastanawiałem się, jak bardzo jest to konieczne, ponieważ mój host wykonuje automatyczne całodobowe kopie zapasowe zarówno plików, jak i bazy danych mysql. Czy z tych kopii zapasowych witryn będę mógł łatwo przywrócić witrynę w przypadku jej uszkodzenia? Również z zainteresowania wiem, że to trochę niejasne pytanie, ale jak często zdarza się, że aktualizacja WordPressa uszkadza witrynę?


title: Jak ustawić wyróżniony obraz ze zmiennej

text: Mam obraz wyświetlany w moim poście za pomocą zmiennej {$poster}. Jak ustawić tę zmienną na polecany obraz? Oto co mam w poście:


title: Niestandardowy typ postu, wiele pętli nie wyświetla się na stronie?

text: Mam problem z nie wyświetlającą się pętlą na mojej stronie. Pierwsza pętla, którą utworzyłem (NASI SPONSORZY) wyświetla się dobrze, ale druga pętla (NASI PARTNERZY) nie wyświetla się (zdezorientowana!) Poniżej znajduje się link do strony. Zobacz na dole, gdzie mam trzy sekcje. Partnerzy, sędziowie i sponsorzy. I zobaczysz, że partnerzy się nie wyświetlają. Możesz zobaczyć tę stronę tutaj: http://chimpmarketing.com/testing/msa/?page_id=35 Każda pomoc byłaby bardzo mile widziana. Pozdrawiam Gary


title: dodaj modyfikator ładowania początkowego po zalogowaniu się w wordpressie

text:
Próbuję dodać modalny boostrap zaraz po zalogowaniu się na mojej stronie. Mam mój javascript: jQuery(document).ready(function($){ $('#after_login_modal').modal();}); Mam swój div:

 <button type="button" class="close" data-dismiss=" modal">×Zamknij</button>
Lorem ipsum dolor sit amet, konsektetur adipisująca elita.

 Lorem ipsum dolor sit amet, konsektetur adipisująca elita. Curabitur purus metus, imperdiet id blandit sit amet, ornare et nisl. Nullam elit nunc, fermentum id diam eget, auctor ultricies urna. Ut sodales maximus sodales. Fusce lacus libero, blandit quis maximus ut, lacinia in velit. Maecenas ligula leo, cursus vel turpis id, fermentum venenatis purus. Donec eleifend nisl auctor ex ullamcorper semper. Pellentesque nec varius elit, sed mollis urna. Integer suscipit orci id sapien dapibus vulputate. Suspendisse mollis, est non condimentum vulputate, quam quam suscipit nunc, eu blandit nibh massa et augue. Curabitur ultrices pretium massa vel egestas.

 Mam swoją akcję w functions.php: function after_login_display_modal() { //stuff } add_action('wp_login', 'after_login_display_modal'); Ale muszę wszystko zintegrować... i trochę utknąłem... Idealnie byłoby załadować div i javascript tylko po zalogowaniu.


title: Jak korzystać z funkcji rewind_comments() - kiedy i jak jej używać?

text: Nigdy wcześniej nie zadzierałem z pętlą komentarzy, ale próbuję tutaj coś. Zasadniczo mam formularz komentarzy w wyskakującym iframe, akcji ajax, która obsługuje przesyłanie formularza, wstawia komentarz i aktualizuje listę komentarzy. Mam jednak problem z uruchomieniem pętli komentarzy po raz drugi na stronie. Formularz komentarzy działa dobrze, ale komentarze nie są wyświetlane po odświeżeniu Ajax. `have_comments()` zmienia się na fałsz, a `wp_list_comments()` nic nie wyświetla. Jakieś pomysły, co się dzieje? Oto mój program obsługi Ajax, na wypadek gdyby pojawił się jakiś problem: /* Prześlij komentarze przez AJAX */ add_action ( 'wp_ajax_submit_comment', 'ajax_insert_comment' ); add_action ( 'wp_ajax_nopriv_submit_comment', 'ajax_insert_comment' ); function ajax_insert_comment() { /* oczywiście wszystko to wymaga sanityzacji, jest to uproszczenie, tylko po to, aby przekazać pomysł */ $data = extract( wp_parse_args( $_POST ) ); $bieżący_użytkownik = wp_get_bieżący_użytkownik(); $comment = wp_insert_comment( array( 'user_id' => $current_user->ID, 'comment_author' => $current_user->display_name, 'comment_author_email' => $current_user->user_email, 'comment_post_ID' => intval( $comment_post_ID) , 'comment_parent' => intval( $comment_parent ), 'comment_content' => $comment, 'comment_type' => $comment_type ) ); wp_reset_query(); globalny $post; $wp_the_query; $post = get_post( $comment_post_ID ); setup_postdata( $post ); /* Oto problem: jak przewinąć zapytanie z komentarzami, aby faktycznie wyświetlało komentarze. Próbowałem wszystkich tych rzeczy, ale teraz nie działają */ $wp_query->current_comment = -1; $wp_query->rewind_comments(); // ponownie wyślij listę komentarzy. include( get_stylesheet_directory(). '/comments.php' ); matryca(0); } Wywołanie zwrotne po prostu pobiera odpowiedź Ajax i aktualizuje div komentarzy o wynik. Ale brakuje całej listy komentarzy. Jakieś pomysły, co muszę wywołać, aby przewinąć pętlę komentarzy i sprawić, by faktycznie się wyświetlała?


title: Jak zrobić modułową wtyczkę WP opartą na OOP?

text: Na przykład mam wtyczkę _"my-plugin"_ utworzoną przy użyciu klasy: class My_Plugin { public function __construct() { } /** * Inny kod, w którym tworzę wtyczki admin pagec itp. */ } new My_Plugin(); Tak więc w zasadzie funkcjonalność jest prosta - tworzy swoje strony opcji w adminie. Ale chcę to przedłużyć. Na przykład: jeden moduł do dodawania filtra do „treści_treści” i drugi moduł do dodawania filtra do „tytułu”. Tak, jest prosty, można go użyć w jednej wtyczce, ale to tylko na przykład, aby zrozumieć, jak zrobić modułową wtyczkę za pomocą OOP. Największą ideą jest więc - użytkownik może pobrać tylko potrzebną część/moduł wtyczki. Więc jeśli potrzebuje tylko filtrowania tytułu, ładuje moduł `The_Title`. Więc pytanie brzmi - jak rozwijać te moduły wtyczek za pomocą OOP w WordPressie? Może klasy kodu rozszerzające klasę główną lub klasy dodatkowe dla każdego modułu? Jeśli tak, podaj kilka przykładów.


title: Wersja mobilna przekierowuje na zupełnie inną stronę?

text: Mam wszystko dobrze skonfigurowane w mojej wersji witryny na komputery stacjonarne/laptopy, ale każdy, kto wpisze moją witrynę na swoim telefonie komórkowym, zostanie przekierowany na inną witrynę należącą do tego samego hostingu. Czy jest sposób, aby to naprawić?


title: Wyróżniony obraz i siatka mediów

text:
Próbuję przenieść obraz w lightboxie Media Grid na inną stronę. Mam skonfigurowane obrazy we wtyczce Media Grid, a po kliknięciu obrazu otwiera się lightbox z większą wersją obrazu. Na dole modułu lightbox znajdują się linki do mediów społecznościowych, a następnie link, który dodałem, który jest po prostu tekstem z napisem „prośba o informacje”, gdy użytkownik kliknie informacje o żądaniu, zostanie przeniesiony na stronę z formularzem (używam formularz kontaktowy 7) i pojawia się pole, w którym znajduje się ten tytuł obrazu. Chcę również pobrać ten obraz i wyświetlić go obok formularza wniosku. Zmienna obrazu to $mg_id, która pojawia się na pasku adresu po kliknięciu oryginalnego obrazu. Kod, którego używam do uzyskania tytułu to:
 <?php global $post; echo 'Prośba o informacje'; ?>
 to jest jakiś krótki kod, który wstawiasz do formularza kontaktowego 7 admin. Chcę tylko wiedzieć, jak pobrać obraz z poprzedniej strony i pokazać go na stronie informacyjnej. Tak jak powiedziałem, widzę zmienną $mg_id, gdy lightbox jest otwarty. Chcę tylko wiedzieć, jak przenieść ją na inną stronę. Dziękuję Ci


title: niestandardowe sortowanie postów na stronie archiwum/taksonomii

text: Chcę zastąpić domyślną kolejność sortowania postów na stronach archiwum i taksonomii. jakie haki powinienem zaimplementować?


title: Wartości metabox są wyświetlane na liście pól niestandardowych. Czy da się je ukryć?

text: Mam wiele metaboxów dla moich postów typu Custom Post. Chcę, aby moi użytkownicy mogli dodawać nowe pola za pomocą pól niestandardowych. Problem polega na tym, że pola niestandardowe wyświetlają wszystkie śmieci z moich metaboksów i może to być bardzo mylące dla użytkowników. Oto zrzut ekranu, dwa pierwsze pola zostały dodane przez użytkownika, a reszta pochodzi z samego motywu (nad polem „Niestandardowe pola” znajdują się metaboksy, które używają / resetują te pola podczas zapisu postu). Jak je ukryć? ![](http://i.stack.imgur.com/mSQbJ.png)


title: Zastąp adres URL .wordpress.com nazwą domeny

text: Kupiłem domenę i ustawiłem przekierowanie do mojego bloga WordPress. Jeśli jakiś użytkownik udostępni moje posty na Facebooku, wyświetli adres URL example.wordpress.com zamiast example.com. Jakie zmiany należy wprowadzić, aby zobaczyć mój oryginalny adres URL (www.example.com) w udostępnieniach na Facebooku?


title: Moduł niestandardowy, rozszerzający WP za pomocą wtyczki?

text: Próbuję określić najlepszy sposób na rozszerzenie WP. Uwielbiam bazę WP dla strony internetowej ... ma prawie wszystko, czego potrzeba do strony internetowej. Ale od czasu do czasu muszę być w stanie tworzyć niestandardowe „strony” lub małe aplikacje w ramach WP. Na przykład stworzyłem małą aplikację w podkatalogu mojej instalacji WP (/koszyk) dla formularza zakupu. Włączam szefa WP do dostępu do metod WP, ale nie wydaje mi się, żeby to był najskuteczniejszy sposób rozszerzenia WP. Przyglądałem się również integracji innych frameworków PHP, takich jak CodeIgniter i Yii… znowu, nie jestem pewien, czy to najlepsze podejście. Czy istnieje sposób na stworzenie wtyczki WP, która ma swój własny „katalog” lub ścieżkę? http://mywpinstall.com/customapp/ WP ma tak wiele świetnych rzeczy, że chciałbym móc go rozwijać bez dotykania rdzenia. Z góry dziękuję.


title: Zbieraj posty z ostatnich 48 godzin

text: Chcę utworzyć niestandardowy kanał rss <?php /* Nazwa szablonu: Niestandardowy kanał */ function filter_where($where = '') { //posty w ciągu ostatnich 30 dni $where .= " AND post_date > '" . date('R-m-d', strtotime('-2 dni')) . "'"; zwróć $gdzie; } add_filter('posts_where', 'filter_where'); $args=array( 'post_type' => 'post', 'post_status' => 'opublikuj', 'showposts' => -1, 'caller_get_posts'=> 1 ); $my_query=nowy WP_Query($args); remove_filter('posts_where', 'filtr_where'); header("Typ treści: application/rss+xml; charset=UTF-8"); echo '<?xml version="1.0"?>'; ?><rss version="2.0"> <channel> <title>Coś</title> <link>#</link> <description>Najnowsze posty na blogu z #</description> <language>pl-pl</ język> <? if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $moje_zapytanie->the_post(); ?> <element> <tytuł><?php the_title(); ?></title> <link><?php the_permalink() ?></link> </item> <?php endwhile; } //if ($my_query)?> </channel> </rss> <?PHP wp_reset_query(); //na wszelki wypadek ?> Teraz ostateczny kod do pobrania niestandardowego kanału RSS z 48 godzin. Mogę uzyskać z tego właściwe wyniki. Dzięki za pomoc. Mohammad Umer


title: Jak dodać tag defer="defer" w JavaScript wtyczek?

text: Nie udało mi się dodać tagu odroczenia w skryptach JavaScript wtyczek. Test szybkości strony dla programistów Google sugeruje dodanie tagu odroczenia w **formularzu kontaktowym 7** javascripts. W ten sposób formularz kontaktowy 7 zawiera javascript w nagłówku. add_action( 'wp_enqueue_scripts', 'wpcf7_enqueue_scripts' ); function wpcf7_enqueue_scripts() { // jquery.form.js oryginalnie dołączony do WordPressa jest nieaktualny i przestarzały // więc musimy go wyrejestrować i ponownie zarejestrować najnowszy wp_deregister_script( 'jquery-form' ); wp_register_script( 'jquery-form', wpcf7_plugin_url( 'jquery.form.js' ), array( 'jquery' ), '2.52', true ); $in_footer = prawda; if ('header' === WPCF7_LOAD_JS) $in_footer = false; wp_enqueue_script( 'contact-form-7', wpcf7_plugin_url( 'scripts.js' ), array( 'jquery', 'jquery-form' ), WPCF7_VERSION, $in_footer ); do_action( 'wpcf7_enqueue_scripts' ); } Teraz jak dodać tag **defer="defer"** w powyższym kodzie?


title: Mapowanie wielu adresów URL na tę samą stronę

text: Właśnie natknąłem się na tę stronę z prawie podobnymi wymaganiami jak moje Wiele punktów końcowych na tej samej stronie Muszę osiągnąć tę samą funkcjonalność, ale chcę również przekazać niektóre parametry do strony, na której wszystkie te adresy URL będą mapowane. powiedz przykład http://mojawitryna.com/test/link1 http://mojawitryna.com/test/link2 http://mojawitryna.com/test/link3 chcę zmapować je na ten sam adres URL http://mojawitryna.com /test/finalDestination wraz z nim chcę również wysłać kilka innych parametrów, takich jak 1. adres e-mail użytkownika 2. nazwa użytkownika, abym mógł ich używać na tej stronie dla mojej niestandardowej logiki. Wiem, jak to zrobić w JSP/Java, gdzie ja mogę wysłać je jako parametry żądania w żądaniu POST i odzyskać je w końcowym JSP, jak mogę to osiągnąć, to wordpress przy użyciu php. Moje preferencje to nie używać żadnego ciągu zapytania. Czy jest to możliwe tak, jak gdybym utworzył adres URL z http://mojawitryna.com/test/użytkownik1 http://mojawitryna.com/test/użytkownik2 http://mojawitryna.com/test/użytkownik3, gdzie można pobrać użytkownika1 itp. z bazy danych i możemy zapewnić, że będą one unikatowe dzięki aplikacji i mapowaniu tych adresów URL do tego samego punktu końcowego. jak mogę pobrać nazwę użytkownika na mojej ostatniej stronie? Z góry dziękuję


title: Strona główna Niestandardowe łącze menu nie działa

text: Próbuję mieć domyślne łącze menu podczas korzystania z moich niestandardowych menu, aw moim dokumencie `functions.php` mam to: function home_page_menu_args( $args ) { $args['show_home'] = true; return $args; } add_filter( 'wp_page_menu_args', 'home_page_menu_args' ); Chodzi o to, że w niestandardowych opcjach menu> strony mam to: „Brak elementów”. Więc nie wiesz, co się dzieje, działało na innych stronach, ale nie na tej, jakiś pomysł?


title: Dodaj klasę ciała nadrzędnej kategorii

text: Nie jestem programistą, ale zwykle radzę sobie z Wordpressem, robiąc moje badania i znajduję swoje rozwiązanie. Nie mogę znaleźć tego, co muszę zrobić tym razem, więc próbowałem zebrać razem trochę kodu - próbuję zrobić, gdy jestem w Archiwum Kategorii, chcę dodać klasę ciała nadrzędnej kategorii. To jest to, co próbowałem i działa niezależnie od tego, że otrzymuję identyfikator kategorii rodziców, ale chcę slug/nicename: add_filter('body_class','hw_custom_body_class'); function hw_custom_body_class($classes){ if(is_category()){ $categories = get_the_category(); $category = strtolower($categories[0]->category_parent); $klasy[]='kategoria-'.$kategoria; zwróć $klasy; }}


title: Usuwanie krótkich wersji adresu URL archiwum kategorii

text: Szukam witryny, w której ktoś skonfigurował /%category%/%postname% jako strukturę Permalink. Wydaje się, że efektem ubocznym tego jest to, że archiwum kategorii pojawi się zarówno pod zwykłym /category/foo, jak i /foo. Jedną wadą tego jest to, że tworzy zduplikowaną stronę. Innym jest to, że żaden link „Starsze posty” na tej drugiej stronie nie będzie działać, ponieważ będzie wskazywał na /foo/page/2, który zwróci błąd 404. Czy jest jakiś sposób, aby _wyłączyć_ wersję /foo strony bez zmiany strukturę Permalink?


title: Kopiowanie miniatury posta do pola niestandardowego

text: Właśnie przeszedłem do innego motywu i używa on niestandardowego pola `bigimage` do powiązania obrazu z postem, zamiast używać miniatur postów WordPress. Jak skopiować adresy URL wszystkich istniejących post-miniatur do odpowiedniego pola niestandardowego „duży obraz” odpowiedniego posta? Czy moglibyśmy napisać kilka instrukcji MySQL, aby to osiągnąć?


title: Wtyczka CAPTCHA, w której mogę używać własnych obrazów i zadawać własne pytania?

text: Zastanawiam się tylko, czy ktoś z was natknął się na tego rodzaju wtyczkę. Zasadniczo chciałbym móc (a) określić swój własny obraz; (b) określić własne pytanie kwestionujące; c) podać własną odpowiedź. Jak w: (a) obraz słowa „pomarańczowy” napisany w języku staroangielskim (b) „Wpisz słowo, które widzisz na obrazku” (c) odpowiedź brzmi „pomarańczowy” Czy taka wtyczka istnieje? Dziękuję!


title: Lista kategorii z miniaturą i opisem na stronie głównej

text:
Naprawdę potrzebuję kompleksowego rozwiązania tego problemu, więc oferuję prawie jedną czwartą mojej reputacji w bounty :) Chciałbym mieć wtyczkę, która tworzy niestandardową listę kategorii na mojej stronie głównej. Aby to zrobić, chciałbym, aby ekran „Edycja kategorii” został rozszerzony o kilka dodatkowych funkcji, jak opisano poniżej... * Dodaje obsługę „Prześlij/Usuń obraz” do ekranu Edycji kategorii dla danej kategorii (pozwala to na zakończenie użytkownika, aby przesłać obraz, który będzie używany do reprezentowania kategorii. W idealnym przypadku jego rozmiar powinien zostać automatycznie zmieniony do 125 pikseli szerokości przez wtyczkę podczas przesyłania. * Dodaje pole wejściowe „Tytuł kategorii” do ekranu edycji kategorii dla danej kategorii. jest dodatkiem do istniejącego domyślnego pola „Nazwa". * Dodaje pole wyboru zatytułowane „Pokaż na liście na stronie głównej", aby umożliwić selektywne wyświetlanie każdej kategorii na liście na stronie głównej. * Gdy wyświetlana jest strona główna, wtyczka dołącza zawartość z polem niestandardowa lista kategorii, w tym niestandardowa miniatura i tytuł każdej kategorii. Wynikowy znacznik powinien być nieuporządkowaną listą bez zagnieżdżania, na przykład...

  Tytuł kategorii 1 Tutaj znajduje się tekst opisu kategorii

  Tytuł kategorii 2 Tekst opisu kategorii jest tutaj
 itd...
 Oto plik pośredniczący, który zacząłem... add_filter( 'the_content', 'cb_category_listing' ); function cb_category_listing( $treść) { if ( is_home() ) { $cat_args['title_li'] = ''; $cat_args['exclude_tree'] = 1; $cat_args['wyklucz'] = 1; $myContent = wp_list_categories(apply_filters('widget_categories_args', $cat_args)); $treść .= $moja treść; } return $treść; }


title: surowy kod vs wordpress

text: Obecnie jestem studentem CS i początkującym programistą/web developerem. Zastanawiam się, czy warto poświęcać czas na opanowanie html i css do tworzenia stron internetowych, gdy usługi CMS/wysiwyg jak wordpress i różne inne wydają się coraz bardziej funkcjonalne. **Czy ktoś myśli, że te usługi wydawnicze mogą w końcu sprawić, że potrzeba projektowania stron internetowych z surowego kodu będzie niepotrzebna? Jeśli nie, wyjaśnij dlaczego.** Jeśli projektowanie strony internetowej stanie się w końcu tak proste, jak używanie Photoshopa, wolałbym zainwestować swój czas w języki programowania.


title: Usuń informacje o motywie z głównego ekranu deski rozdzielczej - nie wygląd

text: Udało mi się wykorzystać kod z postu: Ogranicz elementy menu ADMIN na podstawie nazwy użytkownika, zamień nazwę użytkownika na rzeczywistą nazwę użytkownika. Problem polega na tym, że motyw nadal wyświetla się na głównym pulpicie nawigacyjnym, a kliknięcie nazwy motywu powoduje przejście administratora do menu wyglądu, które zostało ukryte za pomocą kodu. Jakieś myśli, jak to obejść? Oto kod ze wspomnianego posta: function remove_menus() { global $menu; globalny $bieżący_użytkownik; get_currentuserinfo(); if($current_user->user_login == 'nazwa_użytkownika') { $restricted = array(__('Wpisy'), __('Media'), __('Linki'), __('Strony'), __ ('Komentarze'), __('Wygląd'), __('Wtyczki'), __('Użytkownicy'), __('Narzędzia'), __('Ustawienia') ); koniec ($menu); while (prev($menu)){ $wartość = rozbij(' ',$menu[klucz($menu)][0]); if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);} }// end while }// end if } add_action('admin_menu', 'remove_menus');


title: Formularz do dodawania postów do niestandardowego typu postu (ponownie)

text: Prawie dostałem odpowiedź na moje ostatnie pytanie, ale nie do końca. Miałem dodać ostatni kod do mojego źródła i zadziałałoby, ale osoba pomagająca nie odpowiedziała teraz i nie wiem, co zrobić :S Formularz dodawania postów do niestandardowego typu postu Czy ktoś może mi powiedzieć, gdzie umieścić `wp_redirect(get_permalink($pid)); exit;` w moim kodzie, aby przekierowywał do wpisu po dodaniu wpisu do bazy danych?


title: Uzyskaj niestandardowy adres URL archiwum post_type

text: To wydaje się głupie pytanie. Ale nie mogę tego rozgryźć :(. Muszę wyświetlić przycisk w domu, który prowadzi do niestandardowego adresu URL archiwum post_type (archive-{post_type}.php). Jak to zrobić?


title: Wtyczka interfejsu zaplecza

text: Back-end Wordpressa jest fajny, ale chciałbym do pewnego stopnia dostosować interfejs użytkownika. Moim celem jest uczynienie doświadczenia użytkownika NAPRAWDĘ prostym dla nieprzeszkolonych użytkowników. Podejrzewam, że istnieją do tego wtyczki, ale pomyślałem, że zapytam ekspertów ze Stack Exchange, zanim będę ścigał jakiekolwiek pomysły w potencjalnie głębokich króliczych norach. Jaka jest więc preferowana metoda dostosowywania interfejsu użytkownika w wordpressie?


title: Edytuj / usuń niestandardowe typy postów za pośrednictwem strony internetowej (nie administratora)

text: Chcę, aby użytkownicy mogli edytować i usuwać własne posty, nie tylko poprzez panel administracyjny, jak to jest domyślnie. Rozejrzałem się po sieci, ale nie znalazłem żadnych informacji na ten temat. Jak to zrobić?


title: zmiana permalinku na niestandardowy szablon w postach z określonej kategorii

text: Stworzyłem unikalny szablon pojedynczego posta, aby dać ludziom możliwość czytania wszystkich postów z określonej kategorii za pomocą niesamowitego „reveal.js”, do którego uzyskują dostęp za pośrednictwem tego linku <a href="?show=presentation/">prezentacja< /a> Problemem są brzydkie adresy URL, które w efekcie wyglądają jak website.com/post-name/?show=presentation website.com/completely-different-post-name/?show=presentation Chciałbym, żeby wyglądały website.com/post-name/presentation/ website.com/completely-different-post-name/presentation/ Spędziłem ostatnie 10 godzin próbując to rozgryźć (nawet jeszcze nie poszedłem spać, kupa śmiechu); niestety nic nie działało. Czy jest na to sposób? Na marginesie, strona, na której próbuję to zrobić, jest zainstalowana w podkatalogu (localhost/wp), ale rozwijam to dla mojej rzeczywistej witryny, która jest zainstalowana w katalogu najwyższego poziomu


title: Dodaj stronę jako statyczny html do innej strony

text:
Czy istnieje sposób na włączenie Wordpress Page do innej? Nie mówię tylko o pobieraniu zawartości za pomocą get_page(), ale o zaimportowaniu całej strony (motyw + zawartość). Rozglądałem się godzinami za sposobem, aby to osiągnąć, ale nie mogę znaleźć sposobu, myślę, że jest to dość niezwykła rzecz, ale jest to konieczne do tego, co chcę zrobić z moją witryną. Chcę osiągnąć to: Strona1 używa tego szablonu: <?php /* Nazwa szablonu: page-template1 */ ?>
 <?php if (have_posts()) : while (have_posts( )) : the_post();?>
 <h2 id="post-<?php the_ID(); ?>"><?php the_title();?>

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

 <?php endwhile; endif; ?>

 Witaj import_page("page2");
 Strona2 używa tego szablonu: <?php /* Nazwa szablonu: page-template2 */ ?>
 Świat
 <?php if (have_posts()) : while (have_posts( )) : the_post();?>
 <h2 id="post-<?php the_ID(); ?>"><?php the_title();?>

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

 <?php endwhile; endif; ?>

 Wynik:
 Świat
 <?php if (have_posts()) : while (have_posts()) : the_post();?>
 <h2 id="post-<?php the_ID(); ?>"><?php the_title();?>

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

 <?php endwhile; endif; ?>

 Witaj
 Świecie
 <?php if (have_posts()) : while (have_posts()) : the_post();?>
 <h2 id="post-<?php the_ID(); ?>"><?php the_title();?>

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

 <?php endwhile; endif; ?>


title: Jaka jest różnica między miniaturami postów a polecanymi obrazami (jeśli występują)?

text: W Kodeksie dotyczącym miniatur postów widzę: > Miniatury postów to funkcja motywu wprowadzona w wersji 2.9. Została > szybko zmieniona na Polecane obrazy w wersji 3.0. Miniatura posta, teraz > Polecany obraz, to obraz wybrany jako obraz reprezentatywny dla > Wpisy, Strony lub Niestandardowe typy postów. W dzienniku zmian wersji 3.0: > Zmień etykiety interfejsu multimedialnego z „Miniatury postów” na „Polecany obraz” Czy jest jakaś różnica w zachowaniu miniatur postów i polecanych obrazów, czy też w wersji 3.0 zmieniła się tylko nazwa? Dlaczego nazwa się zmieniła? Jest to źródłem nieporozumień, ponieważ rozmiar obrazu jest nadal nazywany „miniaturą” lub „kciukiem”, podczas gdy w interfejsie użytkownika wszędzie jest napisane wyróżniony obraz.


title: Prawidłowe znaki dla akcji, haczyków i filtrów

text: Nigdy nie widziałem tagu takiego jak `do_action('something_10')`. Czy to nieważne, jeśli używam numerów? Jeśli metoda jest prawidłowa, w jaki sposób mogę warunkowo wpisywać różne liczby w ciągu znacznika? Na przykład, czy poniższy kod jest poprawny ($grade to liczba)? do_action("new_grade_$grade")


title: Eksportuj określone menu

text: Jak mogę wyeksportować określone menu z wordpress? Mam listę z wieloma adresami URL i muszę ją skopiować do wielu witryn. Ale nie chcę tego robić ręcznie.


title: is_user_logged_in nie zwraca niczego na niestandardowej stronie

text: Próbuję użyć uwierzytelniania WordPress na niestandardowej stronie PHP, jednak po sprawdzeniu „is_user_logged_in” nic nie zwraca, a inne funkcje również nie zwracają niczego przydatnego. Kod, którego używam, to: wymagaj $_SERVER['DOCUMENT_ROOT'] . "/wp-load.php"; wymagają $_SERVER['DOCUMENT_ROOT'] . "/wp-blog-header.php"; print_r(is_user_logged_in()); Zalogowałem się do panelu administratora przed testowaniem tego. Podczas bycia zalogowanym lub wylogowanym funkcja nadal niczego nie zwraca i nie ma błędów PHP.


title: Przeniesienie witryny na nowy serwer powoduje błąd serwera 500

text: Przenoszę witrynę WordPress z mojej starej firmy hostingowej do nowej. Jestem na aktualnej wersji 3.5.1. Stworzyłem domenę w nowej witrynie kopiując wszystkie pliki, w tym wszystkie ukryte, przynajmniej według mojej wiedzy, i umieściłem ją na nowym serwerze. Upewniłem się, że system ma PHP5. Na razie wp-config.php wskazuje stary serwer bazy danych. Skopiowałem bazę danych, ale na razie, jak powiedziałem, baza danych wskazuje na starą witrynę. Problem, który mam polega na tym, że przejście do nowej strony powoduje błąd serwera 500. Jak dowiedzieć się, na czym polega problem i jak go rozwiązać? Oto pełny tekst błędu: Internal Server Error Serwer napotkał wewnętrzny błąd lub nieprawidłową konfigurację i nie był w stanie zrealizować żądania. Skontaktuj się z administratorem serwera, aby poinformować o czasie wystąpienia błędu io wszystkim, co mogło być przyczyną błędu. Więcej informacji o tym błędzie może być dostępnych w dzienniku błędów serwera.


title: Skrót do galerii Wordpress: wyświetlaj tylko jeden identyfikator kategorii

text:
Dobry dzień. Używam skróconego kodu Galerii w mojej witrynie Wordpress do wyświetlania obrazów. Problem polega na tym, że galeria nie wyświetlała tylko zdjęć z określonej kategorii, na przykład id kategorii 35. Jak to określić w shortcodzie? Shortcode: [custom_gallery style="1" source="**cat=%cat_id%**" link="image" description="0" size="200x200" limit="10"] Teraz wypróbowałem następujące, ale nie działa - cat=%35% cat=%cat_id=35% Jakieś sugestie? Dziękuję SHORTCODE kod: /** * shortcode postów galerii */ function gallery_posts_func($atts, $content = null) { extract(shortcode_atts(array( "limit" => '5', "cat" => '', " szerokość_kciuka" => '', "wysokość_kciuka" => '', ), $atts)); globalne $wp_query,$stronicowane,$post; $temp = $wp_query; $wp_query= null; $wp_query = nowe WP_Query(); $query .= '&posts_per_page='.$limit; $query .= '&post_type=galeria'; $query .= '&taxonomy=gallery_cat'; $zapytanie .= '&gallery_cat='.$cat; $wp_query->zapytanie($zapytanie); ob_start(); ?> <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
 <?php $gogo_gallery_video_url = get_post_meta($post->ID, 'gogo_gallery_video_url', prawda); $gogo_gallery_links_to = get_post_meta($post->ID, 'gogo_gallery_links_to', prawda); $gogo_gallery_title_links_to = get_post_meta($post->ID, 'gogo_gallery_title_links_to', prawda); $gogo_gallery_custom_link = get_post_meta($post->ID, 'gogo_gallery_custom_link', prawda); if ($gogo_gallery_title && $gogo_gallery_video_url && $gogo_gallery_title_links_to=="gallery_title_links_image") { echo '
'; echo ''; echo ''.get_the_title().''; echo ''; echo '
'; } elseif ($gogo_gallery_title && $gogo_gallery_title_links_to=="gallery_title_links_image") { echo '
'; echo ''; echo ''.get_the_title().''; echo ''; echo '
'; } elseif ($gogo_gallery_title && $gogo_gallery_title_links_to=="gallery_title_links_content") { echo '
'; echo ''; echo ''.get_the_title().''; echo ''; echo '
'; } elseif ($gogo_gallery_title && $gogo_gallery_title_links_to=="gallery_title_links_link") { echo '
'; echo ''; echo ''.get_the_title().''; echo ''; echo '
'; } elseif ($gogo_gallery_title) { echo '
'; echo ''.get_the_title().''; echo '
'; } else { echo ''; } ?>

 <?php if (has_post_thumbnail()) { ?> <?php $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large '); if ($gogo_gallery_video_url && $gogo_gallery_links_to=="gallery_links_image") { echo ''; echo ''; echo ''; } elseif ($gogo_gallery_links_to=="gallery_links_image") { echo ''; echo ''; echo ''; } elseif ($gogo_gallery_links_to=="gallery_links_content") { echo ''; echo ''; echo ''; } elseif ($gogo_gallery_links_to=="gallery_links_link") { echo ''; echo ''; echo ''; } else { echo ''; } ?> <?php } ?>
 <?php if ($gogo_gallery_short_desc) { ?><?php echo $gogo_gallery_short_desc; ?><?php } ?>

 <?php endwhile; ?> <?php $wp_query = null; $wp_query = $temp; $treść = ob_get_contents(); ob_end_clean(); zwróć $treść; } add_shortcode("gallery_posts", "gallery_posts_func");


title: Dodaj niestandardowy tekst do stopki administratora na stronie niestandardowego typu posta

text: Chcę dostosować tekst stopki na stronie administracyjnej Custom Post Type. Mam wtyczkę, która tworzy ten niestandardowy typ postu i chcę dodać do niego funkcję dostosowywania admin_footer_text. Jak widać w kodzie poniżej mogę zmienić tekst stopki, ale tylko globalnie. function my_custom_footer_admin_text () { echo 'moja niestandardowa wiadomość'; } add_filter('admin_footer_text', 'my_custom_footer_admin_text'); Czy ktoś zna haczyk niestandardowej strony typu post? Lub jak mogę zmienić tekst stopki na określonej stronie z niestandardowym typem posta?


title: Dynamiczna nawigacja na pasku bocznym z podświetleniem bieżącej strony

text: Mój pasek boczny przechodzi przez wszystkie strony podrzędne na podstawie strony nadrzędnej. Na przykład, jeśli jesteś w sekcji „Informacje”, na pasku bocznym zobaczysz tylko strony podrzędne „Informacje”. Mój problem polega na tym, że nie mam możliwości wyróżnienia bieżącej strony. Na przykład, jeśli jesteś na stronie podrzędnej „Nasz zespół” (w sekcji „Informacje”), chciałbym nadać linkowi do paska bocznego „Nasz zespół” link do tagu klasy „bieżąca strona”. Czy istnieje sposób na dynamiczne dodanie klasy „bieżąca strona” do strony podrzędnej, na której się znajdujesz? <?php if ( $post->post_parent == '4' ) { query_posts("post_type=page&post_parent=4&orderby=menu_order&order=asc"); } elseif ( $post->post_parent == '6' ) { query_posts("post_type=page&post_parent=6&orderby=menu_order&order=asc"); } elseif ( $post->post_parent == '8' ) { query_posts("post_type=page&post_parent=8&orderby=menu_order&order=asc"); } elseif ( $post->post_parent == '10' ) { query_posts("post_type=page&post_parent=10&orderby=menu_order&order=asc"); } if ( have_posts() ) : while ( have_posts() ): the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?> ...


title: Jak prawidłowo zresetować dane postów

text: Mam ten fragment kodu, który wywołuję w pętli, aby uzyskać metadane obrazu (tytuł/podpis i opis). Działa dobrze, ale działa tylko dla pierwszego posta w pętli. Więc zakładam, że należy go zresetować. Patrząc tutaj, myślę, że `wp_rest_postdata();` jest właściwym sposobem na zresetowanie zapytania, ale nadal dane wyjściowe nie działają dla wszystkich poza pierwszym postem, powtarza dane z pierwszego postu dla każdego innego postu. funkcja get_image_metadata() { $image_id = get_post_thumbnail_id($post->ID); $args = array( 'post_type' => 'attachment', 'post_status' => null, 'post_parent' => $post->ID, 'include' => $image_id ); $dane_obrazu = get_posts($args); if ($image_data && isset($image_data[0])) { $meta_output['title'] = $image_data[0]->post_title; $meta_output['caption'] = $image_data[0]->post_excerpt; $meta_output['description'] = $image_data[0]->post_content; } //wp_reset_query(); wp_rest_postdata(); zwróć $meta_wyjście; }


title: Problem z wyświetlaniem tylko postów z komentarzami

text: Staram się stworzyć stronę, która pokaże tylko posty z komentarzami. Mam to w moim szablonie strony: <?php $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; query_posts( 'cat=-8378, -13444&orderby=comment_count&paged=' . $paged ); while (have_posts()) : the_post(); ?> Ale to nie działa. Wciąż pokazuje tylko mój normalny wyświetlacz postów. Jakieś sugestie? Dziękuję!


title: Użyj wp_localize_script dla nieistniejącego skryptu

text: ## Zadanie: To, co próbuję zrobić, to pobieranie danych przez WP Http API ze zdalnego serwera. Dane, które otrzymuję, są zakodowane w formacie „JSON”. W jednej z moich metod konwertuję je z powrotem, a następnie wstawiam do zmiennej klasy, aby móc jej później użyć w niektórych skryptach. ## Przykład: Jak staram się to zrobić // Uproszczone... proszę zauważyć, że wszystkie nazwy/zmienne/itd. w mojej klasie mają unikalne imiona. // ...to samo dotyczy obsługi skryptów. class http_api_example { public $remote_data; odpowiedź publiczna; funkcja publiczna __construct() { $this->request(); } public function request() { $request = wp_remote_request( 'http://example.com/HereYouGetSomeJSON' ); $this->odpowiedź = json_decode(wp_remote_retrieve_body($request)); } public function delivery_to_javascript() { wp_enqueue_script( 'json_handler', null, array(), null, true ); // ...wtedy próbuję to zlokalizować wp_localize_script( 'json_handler, 'json_object', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ,'ajax_nonce' => wp_create_nonce( 'json'handler_nonce ) ,'action' => 'json-handler-action' ,'data' => $this->response ) } } * * * ## Problem: Co nie działa > Z jakiegoś powodu nie mogę uzyskać dostępu do ` json_object` z konsoli (działa > dla innych obiektów w innych klasach w porządku).* * * ## Debuguj do tej pory ### Czy jest zarejestrowany i umieszczony w kolejce?Próbowałem sprawdzić, czy skrypt jest zarejestrowany: // 'registered': TRUE var_dump( wp_script_is( 'json_object' ) ); // 'queue': TRUE var_dump( wp_script_is( 'json_object', 'queue' ) ); dla pewności zajrzałem również do ` globalny $wp_scripts` i może potwierdzić, że tam jest. ### Czy to jest zlokalizowane? // Dane się pojawiają, JSON va r_dump ( $ GLOBALS ['wp_scripts']-> zarejestrowany ['json_object']-> ekstra; ### Gdzie to się kończy? Wszedłem do core i prześledziłem to w następujący sposób: 1. `wp_localize_script()` **✓** 2. » `$wp_scripts->localize()` **✓** 3. »» `WP_Dependencies: add_data() ` **✓** 4. »»» `WP_Dependencies: add_data()` **FIN!** **FIN!** odnotowuje wywołanie samego siebie. Jak widać z linku do repozytorium WP na GitHub, wewnątrz `->add_data()`, jest kolejne wywołanie `->add_data()` (do siebie). Porzuciłem wynik i otrzymałem z powrotem „PRAWDA”. Obecnie nie mam opcji „co mogę spróbować jeszcze?”. Może ktoś wpadł na pomysł, jak to ma działać, a może po prostu gdzie mógłbym poszukać dalej. Dziękuję.


title: Pomoc z wtyczką odwrotnej stronicowania

text: Widziałem tę prezentację o tym, dlaczego paginacja w Internecie jest dziwna. https://speakerdeck.com/u/espylaub/p/pagination-on-the-internet-and-why-its-weird Zainspirowało mnie to do spróbowania stworzenia wtyczki WordPress, która właśnie to zrobi. Oto co mam do tej pory... <?php /* Nazwa wtyczki: Odwrócona paginacja Opis: Paginacja zaczyna się wyżej i obniża się, aby zapewnić bardziej spójną numerację stron archiwum. Autor: Russell Heimlich Wersja: 0.1 */ function reverse_pagination_pre_get_posts($t) { $q = $t->query_vars; if ( empty($q['order']) || ((strtoupper($q['order']) != 'DESC') && (strtoupper($q['order']) != 'ASC') ) ) { $q['zamówienie'] = 'ASC'; } $t->zapytanie_zmienne = $q; } funkcja reverse_pagination_wp() { globalne $wp_query; $wp_query->posty = array_reverse($wp_query->posty); } if( !is_admin() ) { add_action('pre_get_posts', 'reverse_pagination_pre_get_posts'); add_action('wp', 'reverse_pagination_wp'); } Podczepiam się do akcji `pre_get_posts` i przełączam zmienną zapytania kolejności na ASC zamiast domyślnej DESC. Następnie musiałem odwrócić kolejność zwracanych postów, aby były w odwrotnej kolejności chronologicznej. Wybrałem akcję `wp` z powodów przedstawionych w tej odpowiedzi http://wordpress.stackexchange.com/a/22768 Jak na razie wszystko wygląda dobrze. Muszę tylko naprawić pierwszą stronę. Obecnie, jeśli mój blog ma 50 stron i nie ma ustawionego parametru `paged`, strona indeksu bloga pokaże mój pierwszy post zamiast najnowszego posta. Potrzebuję trochę logiki, aby sprawdzić, czy `paged` nie jest ustawione na tę samą wartość `$wp_query->max_num_pages` dla tego zapytania. Muszę również wyłączyć przekierowanie kanoniczne, które usuwa /page/1/ z adresu URL i dostosować funkcję `get_pagenum_link()` tak, aby zwracała /page/1/ dla `get_pagenum_link(1)` http://hitchhackerguide.com/ 2011/02/12/get_pagenum_link/ Jeśli jest coś jeszcze, co można dodać, aby ulepszyć tę wtyczkę, prosimy o mówienie! Dzięki i mam nadzieję, że uda nam się to osiągnąć, pracując razem nad tym.


title: Powiązanie identyfikatora posta z jego typem posta

text:
wprowadzam modyfikacje do motywu portfolio. tematem jest blog i portfolio. portfele są niestandardowymi typami postów z odpowiednimi taksonomiami. strona główna motywu wyświetla tylko jedno portfolio. oznacza to, że pokazuje tylko posty dla jednego niestandardowego typu posta. motyw wyświetla najnowsze posty dla każdej kategorii niestandardowego typu postu i tworzy menu filtrów wypełnione kategoriami. w ten sposób użytkownik może filtrować wyświetlane posty według kategorii, np. „projekt graficzny”, a skrypt JS ukrywa posty, które nie należą do tej kategorii. muszę wymieszać posty ze wszystkich portfolio i bloga na stronie głównej. więc muszę wysłać zapytanie do wszystkich ostatnich postów ze wszystkich portfeli i bloga, zapełnić menu filtrów typami postów, a następnie przekazać je do skryptu JS, aby ukryć posty, które nie należą do wybranego typu postów. Udało mi się odpytać wszystkie ostatnie posty ze wszystkich portfeli i bloga i zapełnić menu filtrów typami postów, korzystając z poniższego kodu: KOMENTOWANY KOD TO KOD ORYGINALNY, np. $terms <?php $args=array( 'post_type' => array('post', 'test-bscm', 'test-btum', 'test-inny', ), 'posts_per_page' => 16 ); $temp = $wp_query; $wp_query = null; $wp_query = nowe WP_Query(); $wp_query->zapytanie($args); /*$terms = get_terms($pcat);*/ ?> //wypełnij filtr typami postów <?php $args=array( 'show_in_menu' => true); $wyjście = 'nazwy'; $terms = get_post_types($args); ?>  <?php if ($home_portfoliolayout=="Brak kategorii") { echo '
'; } else if ($home_portfoliolayout=="Categories") { echo '
'; } ?>
 <?php echo '
'.__('Wszystkie projekty', 'apex'). '|
'; foreach ( $terms as $term ) { $filter_last_item = end($terms); if($term!=$filter_last_item){ echo '
 '.ucwords(str_replace('-', ' ', $term)).'|
'; }else{ echo '
'.ucwords(str_replace(' -', ' ', $termin)).'
'; } } ?>

 widzę 16 postów, które reprezentują najnowsze posty na blogu, testowe portfolio bscm, testowe portfolio bumów, i testowe inne portfolio. filtr pokazuje: Wszystkie projekty, Opublikuj, Strony, Testuj Bscm, Testuj Btum i Testuj inne. muszę usunąć Pages z wyników, ponieważ nie jest to potrzebne. oto kod pokazujący, jak są wyświetlane wyniki i jak skrypt JS ukrywa posty...  <div class="szesnaście kolumn wiersz <?php echo $folioteasers ?> portfolio"> <? php if ($wp_query->have_posts()) : ?> <?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <?php $custom = get_post_custom($post->ID); $foliocatlist = get_the_term_list( $post->ID, $pcat, '', '', '', '' ); $entrycategory = get_the_term_list( $post->ID, $pcat, '', '_', '' ); $entrycategory = strip_tags($entrycategory); $kategoria wpisu = strtolower($kategoria wpisu); $entrycategory = str_replace(' ', '-', $entrycategory); $entrycategory = str_replace('_', ' ', $entrycategory); $tytuł wpisu = pobierz_tytuł(); $blogimageurl = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); if($blogimageurl==""){ $blogimageurl = $templateurl.'/images/demo/460x272.jpg'; } ?> <div class="<?php echo $foliocolumns ?> kolumny teaser wszystkie grupy <?php echo $entrycategory ?>"> <a href="<?php the_permalink(); ?>" data-text= "» <?php _e('Odwiedź projekt', 'apex'); ?>" class="unoszenie"><?php echo ''; ?>
 <a href="<?php the_permalink(); ?>" class="bigplus">
<a href ="<?php the_permalink(); ?>"><?php echo $entrytitle ?>

<?php echo $foliocatlist ?>

 <?php endwhile; ?> <?php else : ?>

<?php _e('Ups, nie mogliśmy znaleźć tego, czego szukałeś...', 'apex'); ?>

 <?php endif; ?> <?php $wp_query = null; $wp_query = $temp; wp_reset_query(); ?>

 jak widać jest oparty na kategorii postów. więc oczywiście, gdy próbuję filtrować według jednego z wymienionych typów postów, wszystkie wyniki są ukryte. więc rozwiązaniem jest powiązanie identyfikatora posta z jego typem posta. wiem, że pojawia się po $custom = get_post_custom($post->ID); i zastąpię cały ten kod dla foliocatlist i entrycategory, po prostu nie znalazłem go w kodeksie. Dziękuję.


title: Stosowanie filtra tytułu posta: Ostatnio oglądane posty + qTranslate

text: Używam wtyczki Last Viewed Posts (LVP) na stronie obsługującej qTranslate. LVP wyświetla tytuły postów w obu językach. Znalazłem tę wskazówkę: tytuły w ostatnich postach pojawiają się razem we wszystkich językach z qtranslate Ale nie jestem pewien, jak zastosować ten filtr. Odpowiedni kod w LVP: foreach ($zg_post_IDs as $value) { // Wypisuj tak długo, jak są posty globalne $wpdb; $zg_get_title = $wpdb->get_results("SELECT post_title FROM $wpdb->posts WHERE ID = '$value+0' LIMIT 1"); foreach($zg_get_title as $zg_title_out) { echo "post_title . "\">". $zg_title_out->post_title . ", \n"; // Link wyjściowy i tytuł } Zamiast `echo $post->post_title;` ma `$zg_title_out->post_title`. Zastąpienie całego ciągu zg przez `apply_filters('the_title',$post->post_title)` nie zadziałało.


title: Jak opublikować zdjęcie na Facebooku, gdy post jest opublikowany?

text: Mam witrynę wordpress. Teraz korzysta z oficjalnej wtyczki Facebooka. Po opublikowaniu nowego posta na Facebooku zostanie opublikowana akcja. Opublikowana wiadomość zawiera małą miniaturę , tytuł posta i opis. Ale chcę zmienić to podejście. Odkryłem, że Posterous pozwala użytkownikowi publikować zdjęcie na Facebooku, gdy post zostanie opublikowany. Czy ktoś zna jakąś wtyczkę Wordpress, która może opublikować zdjęcie na Facebooku podczas publikacji? Dziękuje wszystkim. :)


title: Jak się dowiedzieć, która wtyczka wordpress eksportuje informacje o witrynie do autora wtyczki?

text: Czy jest jakaś wtyczka lub metoda poznania danych wychodzących? Obecnie co piąta wtyczka używa do pobierania danych z witryn. Zauważyłem, że autorzy wtyczek bardzo lubią tę funkcję. Ale jako użytkownicy wtyczek czasami to lubię. Do tej pory grzebałem w plikach wtyczek, aby usunąć ich kody. Ale nie jest to możliwe po każdej aktualizacji wtyczki. Myślę, że te funkcje ułatwiają własne funkcje wordpressa. Czy jest jakaś metoda, aby to wyłączyć? **Edytuj:** Na przykład wtyczka SEO Yoast używa tego pliku do pobierania informacji o użytkownikach. Pobiera nawet zawartość z zapytań do bazy danych. Czy to nie za dużo? W ten sam sposób każda wtyczka może również uzyskać hasła.


title: Tworzenie i używanie tabel w bazie danych Wordpress

text: Planuję mieć ponad 2000 stron na temat w mojej witrynie WordPress, a ponieważ każdy temat będzie wymagał niestandardowych typów stron, chciałbym utworzyć tabele dla każdego tematu w bazie danych WordPress. Każda strona będzie również wymagała nazwy szerokości/długości i alternatywnego tytułu dla każdej utworzonej strony. Czy ktoś może wyjaśnić, w jaki sposób możesz stworzyć i używać dedykowanej tabeli dla każdego niestandardowego typu strony? Zakładam, że możesz użyć dokładnej kopii tabeli wp_post?


title: Identyczne role członków we wszystkich witrynach w wielu witrynach

text: W systemie wielostanowiskowym potrzebuję kont redakcyjnych z niestandardowymi prawami. Dlatego wybrałem wtyczkę członków. Ponieważ mam wiele witryn, tworzenie i synchronizowanie ról dla wszystkich witryn staje się dość żmudne. a) czy można zarządzać moimi rolami dla wszystkich witryn globalnie (sieciowo)? b) czy sugerujesz użycie innej wtyczki?


title: Jak stworzyć paginację, która prowadzi bezpośrednio do postów, a nie do numerowanej strony?

text: Mam witrynę, która wyświetla 1 post na stronę, chciałbym automatycznie podzielić ją na strony z numerami pod postem. Domyślną funkcją paginacji jest link mówiący ?page=2. Szukałem, ale nie mogę znaleźć konkretów, które ściśle pasują do moich wymagań, próbowałem również użyć tej odpowiedzi: ale nie aktualizowałby się automatycznie. Tak więc funkcja wymagana. 8 post = 8 numerów, Kliknij numer, przeniesie Cię bezpośrednio do tego posta, < i >, aby przejść do następnego posta, To musi być zrobione z indeksu, a nie z wnętrza posta, Automatyczne i dynamiczne Do tej pory mogę spraw, by działała, nie jest ani dynamiczna, ani automatyczna paginacja. Już odpowiedziałam? jak mogę uzyskać paginację tak, jak chcę, gdy posty z zapytaniami za pomocą funkcji get_posts Nie sądzę, że została udzielona odpowiedź, Ta osoba ma 2 posty na stronie i chce, aby paginacja łączyła się inaczej. Z trudnej lektury strony nie udało mi się ustalić podobieństwa. Chcę mieć 12 postów, indeks agreguje te 12 postów, jeśli ustawię pokazywanie 1 posta na stronę, czyli 12 stron na 12 postów w paginacji, a kiedy go wybiorę, powiedz numer 2, adres URL stanie się stroną/2/ . To, czego chcę, to kliknięcie numeru paginacji 2, zabierze mnie do /%date%/%post_name%, co jest inną konfiguracją niż wpis, do którego już udzielono odpowiedzi, mam nadzieję, że to ma sens.


title: Dodaj widżet do statycznej strony głównej

text: Używam motywu premium, który kupiłem i chciałbym dodać widget społecznościowy do statycznej strony głównej. Stworzyłem statyczną stronę z suwakiem obrazu jako moją stronę główną. Przykładową stronę można znaleźć tutaj. Jak mogę dodać widżet społecznościowy do tej strony? Każda pomoc będzie bardzo mile widziana. Z góry dziękuję.


title: add_action w funkcji, czy to możliwe?

text: Próbuję dodać trochę js do nagłówka za pomocą `add_action('wp_head', 'js_func');`, który działa, gdy jest publikowany tuż po funkcji, jednak nie chcę, aby był publikowany na każdej stronie, tylko na stronie, która jest istotna do i próbuję to zrobić w ten sposób function things_to_do_on_this_page() { add_action('wp_head', 'js_func'); //inne funkcjonalne rzeczy } Jednak gdy jest wywoływana w ten sposób, js nie jest w ogóle umieszczany, co powoduje uszkodzenie strony. Czy można to zrobić?


title: Biały ekran tylko na pierwszej stronie

text: Mam słynny biały ekran, ale tylko na mojej stronie głównej. Głębsze strony ładują się dobrze. Przeniosłem mój katalog `themes` do `themes-old` i stworzyłem nowy katalog `themes`, w którym jest tylko dwadzieścia dziesięć. Zmieniłem motyw na dwadzieścia dziesięć. Nie mam włączonych wtyczek, ale przeniosłem katalog wtyczek i utworzyłem nowy, pusty katalog wtyczek. Włączyłem debugowanie. Jestem tutaj totalnie zagubiony. Zrobiłem dzisiaj kilka poprawek, ale już przywróciłem kopię zapasową mojego motywu, co nie pomogło, a poza tym ustawiłem dwadzieścia dziesięć jako mój motyw.


title: Udostępnij trudną stronę do edycji

text: Jest ta strona http://voitair.com/scent-system/scent-system, którą muszę udostępnić do edycji za pomocą panelu administracyjnego. To musi być zrozumiałe dla nie-programisty. Jakiego systemu lub wtyczki lub czegokolwiek mogę użyć, aby nadal działał tak, jak teraz, ale można go edytować?


title: Pusty ekran logowania wordpress

text: Chciałem zrobić kopię offline mojej witryny na żywo na moim komputerze, więc zainstalowałem xamp i zainstalowałem na nim wordpress, wyeksportowałem bazę danych i zrobiłem kopię plików na fttp i po zrobieniu wszystkiego i chciałem otworzyć moją witrynę na żywo aby coś edytować, daje mi pustą stronę, gdy otwieram „www.sitename.com/wp-admin”, ale kiedy otwieram „www.sitename.com/wp-login.php”, otwiera się, gdy wstawiam nazwę użytkownika i hasło daje mi również pustą stronę, otworzyłem wp-config i odkryłem, że host dp stał się **"localhost"** Myślę, że to jest mój problem, ale jak mogę odzyskać mojego dbhosta, czy istnieje sposób, aby go znaleźć


title: Czy mogę hostować WP-admin lokalnie dla zdalnego bloga?

text: Mam problem polegający na tym, że mój motyw tworzy stos rozmiarów obrazów podczas przesyłania (ponieważ tak powinno), a mój serwer okresowo knebluje ten proces. Powoduje to stos problemów „Serwer MySQL zniknął z powodu…” i kończę z przesyłaniem multimediów, które nie zawierają żadnych danych. Serwer dedykowany nie mieści się w budżecie. A mój hosting nie jest wielkim fanem udostępniania większej ilości pamięci RAM na moim koncie. Więc przejście z mojego obecnego rozwiązania hostingowego nie jest opcją. Jednak mam serwer testowy w moim biurze z 4 procesorami i 16 GB pamięci RAM i pomyślałem: „Hej, czy jest sposób, abym mógł lokalnie hostować wszystkie funkcje WP-admin i po prostu wprowadzać zmiany do zdalny serwer?" Tysiące przeprosin, jeśli zostało to poproszone gdzie indziej. Wszystko, co udało mi się znaleźć na ten temat, dotyczyło tylko założenia lokalnego serwera testowego. Mój przypadek jest inny - chcę, aby backend był hostowany gdzie indziej niż frontend (i tak, ostateczna baza danych powinna oczywiście być również zdalna, chyba że znajdę sposób, aby po prostu przesłać zmiany bazy danych do serwera na żywo).


title: save_post nie wywoływana we wtyczce / polu niestandardowym nadal zapisuje nadpisywanie metaboksów

text: Mam wtyczkę, która zapisuje metaboksy do niektórych stron. Pisze metaboxy dobrze i wszystko działa tak, jak powinno... dopóki nie zapiszę. Save_post nie jest wywoływany i nie wiem dlaczego. Oto kod w mojej klasie __Construct Plg_Admin_Meta { public static function start() { return new self(); } funkcja publiczna __construct() { $this->plugin_url = WP_CONTENT_URL . '/wtyczki/' . basename(dirname(__FILE__)); $this->plugin_dir = dirname(__FILE__); add_action('admin_init', array($this, '_admin_init')); add_action('save_post', array($this, '_save_post'), 99); } Metaboksy są wykonane z pól niestandardowych, a jeśli edytuję obszar tekstowy pola niestandardowego, zapisuje to dobrze, ale zamiast tego chcę zapisać dane wprowadzone z metaboksu. Z jakiegoś powodu save_post się nie uruchomi. Próbowałem umieścić kostkę (var_dump($_POST)) na początku mojej funkcji _save_post i nawet się nie uruchamia. Oto moja funkcja publiczna _save_post funkcja _save_post($post_id) { //die(dump_var($_POST)); update_post_meta($post_id, 'content__service_overviews', "test2"); // Meta posta nie jest wysyłana do automatycznego zapisu if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } } Plg_Admin_Meta::start(); Jak widać, próbuję teraz ręcznie zaktualizować pole, ale funkcja nie jest nawet wywoływana. EDYCJA: Żądana cała klasa: class Plg_Admin_Meta { public static function start() { return new self(); } funkcja publiczna __construct() { $this->plugin_url = WP_CONTENT_URL . '/wtyczki/' . basename(dirname(__FILE__)); $this->plugin_dir = dirname(__FILE__); $this->prefiks = 'treść__'; $this->page_fields = array( 'site' => array( 'textarea:slideshow', 'text:address', 'text:phone', 'text:fax', 'text:twitter_link', 'text:weather_link' , 'text:meta_description', 'text:meta_keywords', 'text:google_analytics_account_number', 'text:google_site_verification_code' ), 'home' => array( 'textarea:about_enernex', 'textarea:introducing_utility_stats', 'textarea , 'textarea:workshop_button' ), 'about' => array( 'textarea:co_zrobimy_zdjęcie', 'textarea:co_robimy', 'textarea:nasza_misja_zdjęcie', 'textarea:nasza_misja', 'textarea:zdobądź_poznaj_nas_w_zdjęciach', 'nas , „obszar tekstowy: zdobądź_poznaj_nas_pracownika” ), 'careers' => array( 'textarea:why_enernex_photo', 'textarea:why_enernex', 'textarea:wsparcie_naszej_misji_zdjęcie', 'textarea:wsparcie_nasza_misja', 'textarea:the_innovation_valley_photo', 'textarea_contact '=the_innovation' > array( 'textarea:photo', 'textarea:contact_information', 'textarea:map_image', 'textarea:directions' ), 'employees' => array( 'text:title', 'textarea:text', 'textarea: photo' ), 'support' => array( 'textarea:announcing_utility_stats', 'textarea:faq', 'textarea:utility_ownership_key', 'textarea:support' ), 'newsroom' => array( 'textarea:service_overviews', ' obszar tekstowy:m edia_contacts', 'textarea:industry_resources_and_related_links' ), 'services' => array( 'textarea:main_text', 'textarea:power_systems_consulting_photo', 'textarea:smart_grid_engineering_photo', 'textarea_photo_smartiec_photo', 'textarea_photo_textgriiec' -workshop' => array( 'textarea:pierwsze_zdjęcie', 'textarea:przegląd_kursu', 'textarea:topics_covered', 'textarea:nasi_instruktorzy', 'textarea:daty_warsztatu', 'textarea:who_should_attend', 'textarea:key_be textarea:schedule_location_and_cost', 'textarea:second_photo', 'textarea:location' ), 'cyber-security' => array( 'textarea:meet_the_team', 'text:media_kit_download_link' ) ); $this->post_fields = array( 'news' => array( 'textarea:overview', 'textarea:story' ), 'press' => array( 'textarea:overview', 'textarea:story' ), 'whitepapers ' => array( 'textarea:overview', 'textarea:uploads' ), 'area' => array( 'textarea:overview', 'textarea:uploads', 'textarea:projects' ), 'links' => array ( 'text:URL' ), 'jobs' => array( 'textarea:basic_function', 'textarea:education_and_experience', 'textarea:skills', 'textarea:obowiązki_i_odpowiedzialności', 'textarea:contact_information', 'textarea:notes' ), 'employees' => array( 'text:position', 'text:department', 't ext:year_joined', 'text:power_industry_years', 'text:education', 'text:expertise', 'text:phone', 'text:email_address', 'textarea:biography', 'textarea:headshot' ), 'blog ' => array( 'textarea:author', 'textarea:content' ), 'announcements' => array( 'text:link_to_announcement', 'textarea:content' ) ); add_action('admin_init', array($this, '_admin_init')); add_action('save_post', array($this, '_save_post'), 99, 2); } public function _admin_init() { $post_id = isset($_REQUEST['post']) ? $_REQUEST['post'] : fałsz; if ($post_id) { $content = get_post($post_id); $slug = $treść->post_name; $post_type = $treść->post_type; if (isset($post_type)) { switch($post_type) { case 'strona': $this->_create_metaboxes('page', $this->page_fields[$slug]); przerwanie; case 'post': $category = get_the_category($post_id); $ślimak = $kategoria[0]->ślimak; $this->_create_metaboxes('post', $this->post_fields[$slug]); przerwanie; } } } } public function _create_metabox_content($post, $metabox) { $post_id = $post->ID; $meta_key = $metabox['args']['meta_key']; $meta_value = get_post_meta($post_id, $meta_key, true); switch ($metabox['args']['type']) { case 'text': ?> <input type="text" name="<?php echo $meta_key; ?>" value="<?php echo $meta_value; ?>" style="font-family:'Georgia', 'Times New Roman', 'Bistream Charter', 'Times', 'serif';font-size: 13px; line-height: 19px; color: #333; szerokość: 100%;" /> <?php przerwa; case 'textarea': wp_editor( $meta_value, $meta_key, array( 'textarea_name' => $meta_key, 'textarea_rows' => 4, 'tinymce' => array( 'content_css' => $this->plugin_url . '/ malutkie.css' )) ); przerwanie; } } public function _create_metaboxes($post_type, $fields_array) { if (!empty($fields_array)) { wp_enqueue_style('admin', $this->plugin_url . '/admin.css'); foreach ($fields_array as $field) { $tokens = explode(':', $field); $typ = $tokeny[0]; $meta_key = $to->przedrostek . $tokeny[1]; $id = 'metabox_' . $tokeny[1]; $title = ucwords(preg_replace('/\_/', ' ', $tokeny[1])); add_meta_box( $id, $title, array($this, '_create_metabox_content'), $post_type, 'normal', 'high', array( 'meta_key' => $meta_key, 'type' => $type ) ); } } } public function _save_post($post_id) { //die(var_dump($_POST)); // Meta posta nie jest wysyłana do automatycznego zapisu if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } update_post_meta($post_id, 'content__service_overviews', "test2"); if (isset($_REQUEST['post_ID'])) { foreach ($_REQUEST as $meta_key => $meta_value) { if (strstr($meta_key, $this->prefix)) { //update_post_meta(intval($_REQUEST ['post_ID']), meta_key, meta_value); } } } } } Plg_Admin_Meta::start();


title: WP_Nav Podświetl problem nadrzędny

text:
Próbuję dowiedzieć się, jak wyróżnić nadrzędną nav strony i utknąć. Widziałem coś takiego: <li <?php if(is_page('services')) { echo 'class="current_page_item"'; } ?> > Usługi
 Mam różne typy postów i podzieliłem każdy typ postu na stronę, problem zaczyna się, gdy klikam w dół na „ usług” i kliknij „zgłoszenie serwisowe”, które podświetla nawigacja bloga zamiast usług. Jak mogę to naprawić? Nie mam nic przeciwko używaniu do tego PHP lub CSS, ponieważ strona jest dla mnie.


title: Upłynął limit czasu błędu z pomyślnym wp_remote_post

text: **Co próbuję zrobić:** Przekazywanie danych POST za pomocą wp_remote_post. foreach ( $articles as $article_id ) { $postarray = array( 'method' => 'POST', 'timeout' => 5, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' = > true, 'headers' => array(), 'body' => array( 'article_id' => $article_id ), 'cookies' => array() ); $ odpowiedź = wp_remote_post ($ adres URL, $ postarray); if ( is_wp_error($response)) { $error_message = $response->get_error_message(); echo $ komunikat_błędu; } else { // reszta kodu tutaj } } Pracuję z ponad 20 postami na połączenie. Za każdym razem, gdy pętla się kończy, otrzymuję komunikat o błędzie: > „Przekroczono limit czasu operacji po 5001 milisekundach przy odebranych 0 bajtach” Dziwne jest to, że dane są faktycznie odbierane i pomyślnie przechowywane na wyznaczonym serwerze `$url`. Czy ktoś może wskazać mi właściwy kierunek, gdzie powinienem szukać, aby uniknąć otrzymania tego komunikatu o błędzie? Odniesienie: wp_remote_post


title: Dynamiczne paski boczne oparte na nazwie strony

text: Chciałbym zrobić dynamiczny pasek boczny dla mojej witryny WordPress, aby pobierał prawidłowy szablon paska bocznego na podstawie tytułu strony. Więc gdybym miał 10 pasków bocznych, wszystkie nazwane tak: Nazwa szablonu paska bocznego: Nazwa szablonu paska bocznego — informacje: Nazwa szablonu paska bocznego kontaktu: Nazwa szablonu paska bocznego pracy: Itd. Nazwa szablonu paska bocznego: Strona1 Tak więc pasek boczny „Informacje” pojawi się na stronie Informacje, a to samo dla kontaktu itp... Jakiś pomysł Jak bym to zrobił? Czy istnieje alternatywny sposób, jak to zrobić?


title: Nie obciążaj klienta do momentu wysłania produktu - woocommerce

text: Czy można ustawić woocommerce, aby nie obciążać klienta, dopóki produkt nie zostanie faktycznie wysłany?


title: Jak wyświetlić pierwszy post

text: Chcę wyświetlić na pierwszej stronie mojego motywu pierwszy najnowszy post w nagłówku, a następnie kontynuować pętlę w sekcji głównej treści, zaczynając od drugiego do posta i tak dalej, jak mogę to osiągnąć?


title: Witryna podrzędna nie pojawia się w menu Sieć

text: Jak widać na zrzucie, tylko główna witryna pojawia się w menu Moje witryny, chociaż pojawia się poprawnie w „Administracji sieci”. Użyłem instalacji subdomeny podczas konfiguracji Wordpress MU. A to jest część Wordpress MU w wp-config.php define('WP_ALLOW_MULTISITE', true); define('MULTISITE', prawda); define('SUBDOMAIN_INSTALL', prawda); define('DOMAIN_CURRENT_SITE', 'www.mojadomena.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); ![tylko pojawia się strona główna](http://i.stack.imgur.com/8e4nB.png)


title: Jak stworzyć niestandardowe tagi dla SEO Wordpress?

text: Używam Wordpress SEO by Yoast, darmowej wersji i zastanawiam się, czy istnieje sposób na tworzenie niestandardowych tagów, takich jak %%city%%. Chcę stworzyć własny, który może pobierać dane z innej wtyczki, której używam jako „katalogu” o nazwie Web 2.0 Directory. Chcę wprowadzić opcje wprowadzone z tego, takie jak %%doctorname%% i %%city%%. czy to możliwe? Jeśli tak, do jakich plików powinienem się odwołać i czy możesz podać mi krótki przegląd, jak się do tego zabrać? Każdy spis katalogów ma osobne pola dla tych elementów, ale nie wiem, gdzie mogę utworzyć własne wywołania tagów, aby utworzyć te niestandardowe tagi. Dziękuję!


title: Dokumentacja Wordpress Search: jak ulepszyć zapytanie wyszukiwania za pomocą terminów taksonomicznych, niestandardowych pól meta?

text: Próbuję zrozumieć, jak działa wyszukiwanie w Wordpress. Nie znalazłem zbyt wielu informacji w Kodeksie. Prawdopodobnie wyszukiwanie nie jest najlepszą funkcją WP. Nawet Wordpress.org korzysta z wyszukiwarki Google. Chciałbym stworzyć niestandardowy formularz wyszukiwania, aby umożliwić ludziom wyszukiwanie przy użyciu moich niestandardowych taksonomii i niestandardowych pól meta. Wyobrażam sobie, że zapytanie wyszukiwania działałoby dokładnie tak, jak zwykłe zapytanie WP, dlatego zapytanie podatkowe i zapytanie meta powinno być możliwe. Ale jak przekazać dane z formularza przesłanego przez użytkownika do zapytania wyszukiwania? Czy można przekazać zmienne formularza do ciągu wyszukiwania /?s= w pasku adresu? to ułatwiłoby sprawę... Wiem, że jest wiele wtyczek. Niektóre z nich są dość skomplikowane. Ale nie mam nic przeciwko uczeniu się na swój własny sposób i ostatecznie kilka, które wypróbowałem, wymagałoby pewnej adaptacji do mojego motywu (który wykorzystuje prawie dziesięć różnych typów postów i kilka niestandardowych taksonomii oraz mnóstwo niestandardowych pól obsługiwanych przez wtyczkę Advanced Custom Fields) . Czy jest jakiś szczegółowy artykuł dotyczący tej sprawy? EDIT Właśnie wpadłem na pomysł, aby utworzyć formularz na jednej stronie, a następnie przekazać zmienne pól wejściowych za pomocą $GET do innego szablonu strony, który zawiera niestandardowe WP_Query, a z niektórymi IF i ELSEs wykonać niestandardowe zapytanie ... W końcu ja opublikuję odpowiedź z kodem, kiedy skończę. To jest bliskie temu, o co pytałem, chociaż chciałem wiedzieć, czy to możliwe bez tworzenia nowego szablonu z nowym zapytaniem, no cóż...


title: Nie można zapisać danych postmeta

text:
Próbuję zapisać dane pól niestandardowych w niestandardowym typie postu, ale nic nie dociera do bazy danych. Ten sam kod działał dobrze w innej wtyczce, ale nie będzie działał tutaj. Oto kod. class SH_job_post_class{ public function metaboxes(){ add_action('add_meta_boxes', function(){ add_meta_box('SH_job_listings_metabox', __( 'Dodatkowe informacje wymagane dla zadania*', 'sh_textdomain' ), array($this, 'cb_function_for_meta , „sh_job_listings”, „normalny”, „wysoki”); }); } public function cb_function_for_meta_box($post){ // Pole Nounce do ochrony formularza wp_nonce_field( 'my_meta_box_nonce', 'sh_meta_box_nonce' ); $wartość = get_post_meta($post->ID); $applyby = isset($value['SH_applyby'])? $wartość['SH_applyby'] : ''; ?>
 Złóż wniosek <input type="text" name="applyby" id="applyby" value="<?php echo esc_attr($applyby); ?>" />
 <?php add_action('save_post', function($post_id){ // Zatrzymaj skrypt podczas wykonywania autozapisu if( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return ; // Sprawdź numer jednorazowy. Jeśli go nie ma, zatrzymaj skrypt if( !isset( $_POST['sh_meta_box_nonce'] ) || !wp_verify_nonce( $_POST['sh_meta_box_nonce'], 'my_meta_box_nonce' ) ) return; / Zatrzymaj skrypt, jeśli użytkownik nie ma uprawnień do edycji if( !current_user_can( 'edit_post' ) ) return; // Zapisz pole tekstowe if( isset( $_POST['applyby'] ) ){ update_post_meta( $post_id, 'applyby ', strip_tags( $_POST['applyby'] ) ); } }); } } add_action('init', function(){ new SH_job_post_class(); });


title: Przepisz slug typu post tylko dla motywu potomnego

text: Jestem w multisite, gdzie niektóre blogi mają ten sam motyw nadrzędny ze względów konserwacyjnych. Wszystkie moje cpts pochodzą z tego motywu nadrzędnego, ale bardzo chciałbym, aby jeden z blogów miał maskę URL. Uważam, że ta odpowiedź jest bardzo przydatna do zmiany etykiet, ale próbowałem zrobić to samo i przypisać inny slug do `$wp_post_types[$post_type]->rewrite['slug']` i to się nie powiodło, przynosząc całą tablicę przepisywania na NULL. Próbowałem również .htacces z `RewriteRule ^/newslug$ /oldslug [L]`, ale bez powodzenia. Czy jest na to czysty sposób?


title: Reguły przepisywania nie działają w WordPress

text: Próbuję dodać nowe reguły przepisywania za pomocą interfejsu API przepisywania: add_rewrite_rule('product/([A-Z0-9]{10})', 'index.php/product/?asin=$1', 'bottom' ); add_rewrite_rule('product/(([A-Za-z0-9_])*)', 'index.php/product/?product=$1', 'bottom'); add_rewrite_rule('compare/((([A-Z0-9]{10}),?)*)', 'index.php/compare/?asin=$1', 'dół'); add_rewrite_rule('categories/(([A-Za-z0-9]|\-|\_)*)', 'index.php/categories/?subcategory=$1', 'dół'); Po aktualizacji permalink dodaje następujące wiersze do pliku `.htaccess`: RewriteRule ^product/([A-Z0-9]{10}) /index.php/product/?asin=$1 [QSA,L] RewriteRule ^product/(([A-Za-z0-9_])*) /index.php/product/?product=$1 [QSA,L] RewriteRule ^compare/((([A-Z0-9]{10 }),?)*) /index.php/compare/?asin=$1 [QSA,L] RewriteRule ^categories/(([A-Za-z0-9]|\-|\_)*) /index. php/categories/?subcategory=$1 [QSA,L] wynikające z następującego pliku `.htaccess`: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^product /([A-Z0-9]{10}) /index.php/product/?asin=$1 [QSA,L] RewriteRule ^product/(([A-Za-z0-9_])*) /index. php/product/?product=$1 [QSA,L] RewriteRule ^compare/((([A-Z0-9]{10}),?)*) /index.php/compare/?asin=$1 [QSA, L] RewriteRule ^categories/(([A-Za-z0-9]|\-|\_)*) /index.php/categories/?subcategory=$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f R ewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # KONIEC WordPressa Ale kiedy próbowałem uzyskać dostęp do następującego adresu URL: http://example.com/product/ABCDE324AB Wydaje się, że to nie działa. Zawsze otrzymuję stronę nie znalezioną. Jakieś pomysły?


title: niestandardowe tagi typu posta

text: Mam ten kod: $args=array( 'post_type' => array ('portfolio'), 'orderby' => $orderby, 'order' => 'DESC', 'paged' => $paged, 'posts_per_page' => $post_per_page, 'ignore_sticky_posts' => $do_not_show_stickies ); if($pf_categorynotin){ $args['tax_query'] = array( array( 'taxonomy' => 'portfolio_category', 'field' => 'slug', 'terms' => $pf_categorynotin, 'operator' => ' NIE W'                     )                 ); //category__in } Pytam o to, jak dodać również taksonomię "portfolio_tag", ponieważ chcę wylistować tagi z mojego niestandardowego typu postu. Jakieś sugestie, jak to osiągnąć? Dziękuję! Późniejsza edycja: oto fragment kodu, który służy do pobierania kategorii portfolio i sposobu ich wyświetlania: snippet


title: Jak mogę wyświetlać tylko linki z kategorii podrzędnej?

text: Używając tego kodu z kodeksu: <?php $category = get_the_category(); if($category[0]){ echo 'term_id ).'">'.$category[0]->cat_name.'' ; } ?> Link do kodeksu: http://codex.wordpress.org/Function_Reference/get_the_category Mogę wyświetlić kategorię, w której znajduje się post, jako link (np. Biznes). Nie chcę jednak wyświetlać kategorii nadrzędnych. Chcę tylko wyświetlić kategorie podrzędne określonej kategorii nadrzędnej. Moja struktura kategorii wygląda następująco: Premium (nadrzędna) > Premium Themes (Child) > E-commerce (Child), Business (Child), Fotografia (Child) itp. Chcę więc wyświetlać tylko elementy podrzędne kategorii Premium Themes. Każda pomoc jest bardzo ceniona.


title: Jak rozpoznać, na której stronie renderowana jest treść?

text: Stworzyłem motyw dziecięcy w oparciu o dwadzieścia dwanaście. Ponieważ prezentuję zawartość trochę inaczej na stronie głównej i na stronie archiwum, chciałbym wiedzieć wewnątrz `content-[format].php`, na której stronie jest renderowany post. Wtedy mogę zdecydować, jaki rozmiar obrazu mogę zaprezentować. Jak mogę to wiedzieć?


title: Czy możliwe jest kolejkowanie skryptu z metody widżetu (rozszerzonego obiektu WP_Widget)?

text:
Tworzę wtyczkę widżetu, którą użytkownik może potencjalnie wielokrotnie używać wielu iteracji widżetu w jednym obszarze widżetów / wielu obszarach widżetów na jednej stronie. Ze względu na jego funkcjonalność będą różne zmienne na poziomie widżetów, które będę musiał indywidualnie przekazać z PHP do JavaScript, aby podjąć działanie (poprzez jQuery). Użyłem `$widget_id` do zawinięcia widżetu, który działa dobrze w HTML. Mam jednak problem z przekazaniem informacji do JavaScript - przynajmniej podczas próby użycia `wp_localize_script` do przekazania informacji do pliku JavaScript. Moja próba osiągnięcia tego została wykonana przez dodanie akcji-haka do kolejkowania JavaScript w metodzie widżetu. Niestety wygląda na to, że nie mogę nawet stamtąd umieścić JavaScript w kolejce, nie mówiąc już o przekazywaniu informacji! Oto co mam: class my_widget extends WP_Widget { private $widget_id; prywatna $zmienna; prywatna $plugin_location; function my_widget() { parent::WP_Widget(false, $name = 'Moja wtyczka widżetu'); $this->plugin_location = plugin_dir_url(__FILE__); } widget funkcji($args, $instance) { $this->widget_id="widget-".time().rand(1,100).rand(1,100); //utwórz unikalny identyfikator dla widżetu, wiem, że są prawdopodobnie lepsze sposoby na zrobienie tego... ale to na razie działa... extract( $args ); $this->variable = $instance['variable']; add_action('wp_enqueue_scripts', array( &$this, 'plugin_scripts')); echo '
widget_id . '">'; ... tworzenie i wyświetlanie widgetu .. echo '
'; } ... nieistotne funkcje administracyjne widżetów ... public function plugin_scripts(){ //tutaj ustawiamy i przekazujemy istotne informacje specyficzne dla KAŻDEGO INDYWIDUALNEGO widżetu (może mieć wiele w jednym obszarze widżetów) dla jQuery do wykonywania funkcji i metod do pliku JavaScript $widget_info_to_pass = array( "widget_id" => $this->widget_id, "variables" => $this->variables ); wp_register_script( 'my-site-script'.$this->widget_id, $this->plugin_location . "js/my.js", array('jquery'),'1.2.0'); wp_enqueue_script( 'moj-skrypt-witryny'.$this->widget_id ); wp_localize_script('my-site-script'.$this->widget_id, 'php_params', $widget_id_to_pass); } } add_action('widgets_init', create_function('', 'return register_widget("mój_widget");')); To nie umieszcza skryptu w kolejce, jestem całkiem pewien, ponieważ widget nie uruchamia się, dopóki hak `wp_enqueue_scripts` nie pojawi się i zniknie. Ważna uwaga: **wygląda na to, że aby użyć `wp_localize_script` musisz wywołać funkcję przed wp_head.** Do tej notatki, wypróbowałem większość hooków i nie byłem w stanie nawet ustawić kolejkowania skryptu przed `wp_head`. Gdybym mógł nawet uzyskać metodę widżetu, aby umieścić skrypt w kolejce, mogę w jakiś sposób ręcznie dodać osadzony kod JavaScript definiujący informacje dla każdej instancji widżetu (może tablica asocjacyjna?) - ale nie mogę w ogóle dodać do kolejki żadnych skryptów. Czy możliwe jest kolejkowanie skryptu z metody widżetu rozszerzonego obiektu `WP_Widget`, czy też stoczę tutaj bitwę nie do wygrania? Czy brakuje mi innych sposobów na zrobienie tego? \------------------- AKTUALIZACJA --------------------- Zaktualizowałem go, korzystając z twoich rad w ten sposób : class my_widget extends WP_Widget { private $widget_id; prywatna $zmienna; prywatna $plugin_location; function my_widget() { parent::WP_Widget(false, $name = 'Moja wtyczka widżetu'); $this->plugin_location = plugin_dir_url(__FILE__); } widget funkcji($args, $instance) { $this->widget_id="widget-".time().rand(1,100).rand(1,100); //utwórz unikalny identyfikator dla widżetu, wiem, że są prawdopodobnie lepsze sposoby na zrobienie tego... ale to na razie działa... extract( $args ); $this->variable = $instance['variable']; //tutaj ustawiamy i przekazujemy istotne informacje specyficzne dla KAŻDEGO INDYWIDUALNEGO widżetu (może mieć wiele w jednym obszarze widżetu) dla jQuery do wykonywania funkcji i metod do pliku javascript $widget_info_to_pass = array( "widget_id" => $this ->widget_id, "zmienna" => $this->zmienna ); wp_register_script( 'my-site-script'.$this->widget_id, $this->plugin_location . "js/my.js", array('jquery'),'1.2.0'); wp_enqueue_script( 'moj-skrypt-witryny'.$this->widget_id ); wp_localize_script('my-site-script'.$this->widget_id, 'php_params', $widget_id_to_pass); echo '
widget_id . '">'; ... tworzenie i wyświetlanie widgetu .. echo '
'; } ... nieistotne metody administrowania widgetami ... } add_action('widgets_init', create_function('', 'return register_widget("mój_widget");')); Aby upewnić się, że są przekazywane prawidłowe informacje, utworzyłem plik my.js zawierający następujące elementy: widget_id = php_params.widget_id; zmienna = php_params.zmienna; console.log(widget_id + "---" + zmienna); Niestety, wysyła do konsoli tylko trzy razy FINAL `widget_id` i zmienną. Jakiś powód, dla którego tak się dzieje? Masz pomysł, jak sprawić, by wyprowadzał odpowiednie iteracje?


title: Usuń ?ver= z wp_register_script

text: Dostaję narzekania na test szybkości Google dotyczący ciągów zapytań w moich skryptach. Tak więc próbuję je usunąć, przekazując false jako argument dla tego parametru. Jednak wydaje się, że nie ma to żadnego skutku: wp_register_script('mójskrypt', get_bloginfo('katalog_szablonu').'/scripts.mojnumerwersji.js',false,false,true); wp_enqueue_script('mojskrypt'); PS: część „moj numerwersji” w nazwie pliku js jest moim sposobem kontrolowania pamięci podręcznej/wersjonowania, a nie podejściem ?ver=, które najwyraźniej wyłącza niektóre serwery proxy (według testu Google pagespeed): > **Usuń ciągi zapytań z zasobów statycznych ** Włączenie publicznego buforowania > nagłówków HTTP dla zasobów statycznych umożliwia przeglądarce pobieranie > zasobów z pobliskiego serwera proxy, a nie ze zdalnego > serwera źródłowego. Dowiedz się więcej > > **Sugestie dotyczące tej strony** > > Zasoby ze znakiem „?” w adresie URL nie są buforowane przez niektóre serwery > cache proxy. Usuń ciąg zapytania i zakoduj parametry w adresie URL dla > następujących zasobów:


title: Gdzie należy umieścić wp_redirect, aby działało?

text: Mam frontonową stronę edycji posta znajdującą się w mysite/post_id/edit i próbuję przekierować użytkowników, którzy nie są autorami, z powrotem do posta. Oto kod, nad którym pracuję: <?php global $current_user; get_currentuserinfo(); if($post->post_author != $current_user->ID): wp_redirect( the_permalink() ); Wyjście; ?> Problem, który mam, polega na tym, że wydaje się, że wyświetla on tylko link bezpośredni do posta, a nie przekierowuje. wp_redirect mówi "wp_redirect nie zostanie wywołany, jeśli strona została uruchomiona, więc upewnij się, że wywołałeś ją wyżej." - ale po umieszczeniu kodu na górze pliku header.php nadal otrzymywałem ten sam problem z wyświetlaniem permalinka, a nie przekierowywaniem. Gdzie byłoby odpowiednie miejsce, aby dodać ten kod, aby przekierować? Z góry dziękuję! **EDYTUJ** : Próbowałem czegoś za radą Milo, ale podążę za postem Tommixa, zanim zaktualizuję informacje o Milo


title: Dobry praktyczny sposób na wykonanie pętli w pętli, aby pokazać niestandardowy typ dziecka za pomocą kodu szablonu

text:
Używam wtyczki Version WP e-Commerce 3.8.12.1 Użyłem niestandardowego typu postu „event” z polem wielowartościowym „event_photos”, a typem pola jest wpsc-product. Aby pokazać pojedyncze "zdarzenie" użyj single-event.php : <?php while ( have_posts() ): the_post(); ?> <?php /* Dołącz pojedynczy widok zdarzenia. */ include ŚCIEŻKA SZABLONU.'/event-templates/single.php'; <?php koniec; // koniec pętli. ?> Aby wyświetlić listę produktów typu "event" użyj "/event-templates/single.php" :
 <?php $event_photos_obj = get_field('event_photos' ); //Pokaż produkt na liście if( $event_photos_obj ): echo '
'; foreach ($event_photos_obj jako $products) : setup_postdata($products);?>
 <?php $target_product = get_field('event_picture_photo', $products->ID); ?>
 <?php if ( wpsc_the_product_thumbnail(0,0,$products->ID) ) : ?> <a rel="<?php echo wpsc_the_product_title(); ?>" class=" <?php echo wpsc_the_product_image_link_classes( ); ?>" href="<?php echo esc_url( wpsc_the_product_image(0,0,$products->ID) ); ?>"> <img class="product_image" id="product_image_< ?php echo $produkt->ID ?>" alt="<?php echo wpsc_tytuł_produktu(); ?>" tytuł="<?php echo wpsc_tytuł_produktu(); ?>" src="<?php echo wpsc_tytuł_produktu(0, 0,$products->ID); ?>"/>  <?php endif; ?>

 <?php endforeach; echo '
'; inaczej : echo „Δεν υπάρχει φωτογραφία”; endif; ?>
 Moje pytanie brzmi, jak powiedzieć wp, aby indeksował w określonym produkcie, a następnie używał kodu szablonu „wpsc-single_product.php” :
 <?php // bułka tarta wpsc_output_bułka tarta(); // Wtyczka umożliwiająca dodawanie elementów na górze strony produktów, na przykład wyszukiwanie na żywo do_action( 'wpsc_top_of_products_page' ); ?>
 <?php /** * Uruchom tutaj pętlę produktu. * To jest widok pojedynczych produktów, więc powinien być tylko jeden */ ?>
 <?php if ( wpsc_the_product_thumbnail() ) : ?> <a rel="<?php echo wpsc_the_product_title(); ?>" class="<?php echo wpsc_the_product_image_link_classes(); ?>" href="<?php echo esc_url( wpsc_the_product_image() ); ?>"> <img class="product_image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="<?php echo wpsc_the_product_title(); ?>" title="<?php echo wpsc_the_product_title(); ?>" src="<?php echo wpsc_the_product_thumbnail(); ?>"/ >  <?php if ( function_exists( 'gold_shpcrt_display_gallery' ) ) echo gold_shpcrt_display_gallery( wpsc_the_product_id() ); ?> <?php else: ?> <a href="<?php echo esc_url( wpsc_the_product_permalink() ); ?>"> <img class="no-image" id="product_image_<?php echo wpsc_the_product_id(); ?>" alt="Brak obrazu" title="<?php echo wpsc_the_product_title(); ?>" src="<?php echo WPSC_CORE_THEME_URL; ?>wpsc-images/noimage.png" width="<?php echo get_option ('product_image_width'); ?>" height="<?php echo get_option('product_image_height'); ?>" />  <?php endif; ?>

 <?php echo wpsc_product_comments(); ?> <?php do_action( 'wpsc_theme_footer' ); ?>
 Czy jest to lepszy sposób na użycie WP_Query?


title: Formularz w WordPressie : 404

text: W mojej witrynie WP mam stronę Kontakt, której adres URL to mysite.com/contact/ i która zawiera `<form>` z atrybutem działania ustawionym na action="/contact/" Kliknięcie przycisku przesyłania powoduje przejście do this : mojawitryna.com/kontakt/ To jest dokładny adres URL mojej strony kontaktowej (która działa bardzo dobrze, jeśli używam tego adresu URL). Jednak daje 404 po dotarciu do tego adresu URL za pomocą przycisku przesyłania ! To nie ma dla mnie sensu, ktoś może to wyjaśnić?