title: niechciane przekierowanie przy zapisywaniu niestandardowego typu postu / niestandardowego posta nie zapisującego

text:
Dodałem (lub przynajmniej próbowałem dodać) niestandardowy typ postu, który ma niestandardowe pole meta umożliwiające dołączenie pliku do posta. Ta funkcja była w najlepszym razie niekonsekwentna, pozwalając na przesłanie niektórych plików, podczas gdy inne zawodzą bez wyświetlania komunikatu o błędzie. Przez niepowodzenie rozumiem, że post jest automatycznie zapisywany jako wersja robocza, a użytkownik jest przekierowywany bez ostrzeżenia do strony „posty” w obszarze administracyjnym. Przeczytałem kod i wydaje mi się, że nie mogę dowiedzieć się, dlaczego tak się stało, więc jeśli ktoś ma jakieś pomysły, chciałbym je usłyszeć. W załączniku kod, którego używam: function save_custom_meta_data($id) { /* --- weryfikacja bezpieczeństwa --- */ if(!wp_verify_nonce($_POST['file_upload_nonce'], "nonce_for_uploads")) { return; //$id; } // koniec if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return;// $id; } // koniec if( !current_user_can( 'edit_post' ) ) return; /* — koniec weryfikacji bezpieczeństwa — */ // Upewnij się, że tablica plików nie jest pusta if(!empty($_FILES['wp_custom_attachment']['name'])) { // Użyj interfejsu API WordPress do przesłania pliku $ upload = wp_upload_bits($_FILES['wp_custom_attachment']['name'], null, file_get_contents($_FILES['wp_custom_attachment']['tmp_name'])); if(isset($upload['error']) && $upload['error'] != 0) { wp_die('Wystąpił błąd podczas przesyłania pliku. Błąd to: ' . $upload['error']) ; } else { $upload['file'] = str_replace('\\', '/', $upload['file']); add_post_meta ($id, 'wp_custom_attachment', $upload); update_post_meta ($id, 'wp_custom_attachment', $przesyłanie); add_post_meta ($id, 'wp_custom_attachment_url', $_POST['wp_custom_attachment_url']); update_post_meta ($id, 'wp_custom_attachment_url', $_POST['wp_custom_attachment_url']); } // end if/else } else { // Pobierz odwołanie do pliku powiązanego z tym postem $doc = get_post_meta($id, 'wp_custom_attachment', true); // Pobierz wartość adresu URL do pliku przechowywanego w elemencie tekstowym $delete_flag = get_post_meta($id, 'wp_custom_attachment_url', true); // Określ, czy plik jest powiązany z tym postem i czy została ustawiona flaga usuwania (przez wyczyszczenie pola wprowadzania) if(strlen(trim($doc['file'])) > 0 && strlen(trim($ delete_flag)) == 0) { // Próba usunięcia pliku. Jeśli usunięcie się nie powiedzie, wydrukuj błąd WordPress. $doc['plik'] = str_replace('\\', '/', $doc['plik']); if(unlink($doc['file'])) { // Usunięcie powiodło się, więc zresetuj metadane WordPress update_post_meta($id, 'wp_custom_attachment', null); update_post_meta ($id, 'wp_custom_attachment_url', ''); } else { wp_die('Wystąpił błąd podczas próby usunięcia twojego pliku.'); } // end if/else } // end if } // end if/else } A oto wywołanie zwrotne meta pola //odwołanie zwrotne dla funkcji przesyłania pliku show_download_file_box() { //ustaw jednorazowy. wp_nonce_field('nonce_for_uploads', 'file_upload_nonce'); //podaj kod HTML ?>
 Prześlij tutaj swój plik PDF.
 <input type="file" id="wp_custom_attachment" name="wp_custom_attachment" value="" size="25" /> <?php // Pobierz nazwę i adres URL przesłanego pliku lub powiedz użytkownikowi, że żaden plik nie istnieje $doc = get_post_meta(get_the_ID(), 'wp_custom_attachment', true); if (is_array($doc)) { //zamień ciąg znaków jest używany do rozwiązania problemu z lokalnym hostem na komputerach z systemem Windows. $doc['plik'] = str_replace('\\', '/', $doc['plik']); $doc_link = $doc['plik']; $doc_name = nazwa podstawowa($doc['plik']); } else { //plik nie jest ustawiony, więc mówimy o tym użytkownikowi. technicznie możliwe jest posiadanie //postu biblioteki plików, które jest puste. Nie sugeruję tego, ale może moglibyśmy użyć tego // do umieszczenia nadchodzących przedmiotów. $doc_link = ""; $doc_name = "nie ustawiono"; } // Utwórz ukryte pole wejściowe używane do usunięcia pliku i ustaw adres URL pliku jako wartość elementu tekstowego // Następnie użyj nazwy pliku i pokaż użytkownikowi, co jest aktualnie połączone ?> <input type="hidden" id ="wp_custom_attachment_url" name="wp_custom_attachment_url" value="<?php echo $doc_link; ?>" size="30" />  Bieżący plik to <?php echo $doc_name; ?>
 <?php // Wyświetl opcję „Usuń”, jeśli istnieje adres URL do pliku if(is_array($doc) && strlen(trim($doc['file'])) > 0) { $html .= '' . __('Usunąć plik') . ''; } // koniec jeśli echo $html; } add_action('save_post', 'save_custom_meta_data'); A oto wezwanie do utworzenia pola meta: function add_IDL_meta_boxes() { //Inne meta pola usunięte z tego dla uproszczenia add_meta_box( 'download_library_file_box', // $id 'Plik do pobrania', // $title 'show_download_file_box', / / $callback 'download-library', // $page 'side' // $context ); } add_action('add_meta_boxes', 'add_IDL_meta_boxes');


title: Jak auto gen. niestandardowe wartości typu posta w innym niestandardowym typie postu w adresie URL?

text: Stworzyłem dwa niestandardowe typy postów (CPT), np. książki i recenzje. Jak mogę automatycznie wygenerować stronę z recenzjami dla konkretnego tytułu książki? To, co do tej pory zrobiłem, stworzyłem stronę recenzji (page-reviews.php), która wyświetla recenzje na podstawie $id książki. W CPT „recenzje” znajduje się rozwijane menu z identyfikatorem odpowiadającym tytułowi książki. Pomyślałem o czymś takim jak `moja_domena.com/books/{title-book}/reviews` Ale jak mogę automatycznie wygenerować tę ścieżkę URL do rozpoznania i jak uzyskać $id książki w recenzjach (page-reviews.php) czy powinienem zmienić `'hierarchical' => true, 'rewrite' => array( 'slug' => 'reviews' ),` Pozdrawiam,


title: Przekierowywanie postów z określonej kategorii do subdomeny

text: Mamy witrynę WordPress, która zawiera posty i strony z różnymi kategoriami. Teraz przenieśliśmy posty z konkretnej kategorii do subdomeny i chcemy przekierowania 301, aby każdy post z tej konkretnej kategorii wskazywał na subdomenę. Wszystkie posty mają rozszerzenie .html w domenie głównej, więc zmieniliśmy również strukturę permalinków subdomeny na .html. na przykład: mamy http://www.mojadomena.com/kategoria/nazwa-kategorii i stworzyliśmy poddomenę dla tej kategorii http://nazwa-kategorii.mojadomena.com możemy łatwo przekierować tę kategorię do poddomeny używając przekierowania .htaccess 301, ale tylko strona główna kategorii jest przekierowywana nie wszystkie posty, chcemy przekierować wszystkie posty z tej kategorii na punkty do postów poddomeny. Przykładowy post: www.mojadomena.com/sample-posts.html tej kategorii należy przekierować za pomocą nazwykategorii.mojadomena.com/sample-posts.html. Jak przekierować wszystkie posty z tej kategorii również z tą kategorią do subdomeny? Ponadto, czy powinniśmy usunąć wszystkie posty z domeny głównej, czy też musimy ją zachować ?


title: różne CNAME do odpowiednich podfolderów

text: Mam trzy witryny Wordpress hostowane na serwerze Apache w trzech różnych podfolderach, takich jak www.mojadomena.com/sub1;www.mojadomena.com/sub2;www.mojadomena.com/sub3 Teraz mam trzy nowe nazwy domen (www.sub1 .com; www.sub2.com; www.sub3.com) i spróbuj CNAME do odpowiednich podfolderów. Postanowiłem nie używać przekierowania adresu URL, ponieważ nie ukrywa on www.mydomian.com, a także nie używać przekazywania adresów URL ramek, ponieważ iframe zabija responsywność motywu. Teraz jedyną możliwością jest użycie metody CNAME. Moje pytanie brzmi, jak zmodyfikować .htaccess, aby to zrobić? czy w inny sposób jeszcze lepszy? Nie jestem serwerem i zrobiłem wyszukiwania, nie dostałem tego, czego chcę. Doceń każdego, kto mógłby mi pomóc.


title: Dodawanie pozycji kategorii do pozycji menu bez kategorii

text: Korzystam z Kalendarza wydarzeń Pro i chciałbym, aby wydarzenia, które kategoryzuję jako „Polecane”, były automatycznie dodawane jako element nawigacji drugiego poziomu w menu nawigacyjnym mojej witryny, pod pozycją najwyższego poziomu „Wydarzenia”. Moje pytanie nie powinno dotyczyć tylko wydarzeń, ale stron, ponieważ ECP to tylko typ strony. Moje menu nawigacyjne powinno wyglądać następująco: WYDARZENIA (/events/) - Polecane wydarzenie nr 1 (/events/featured/event1/) - Polecane wydarzenie nr 2 (/events/featured/event2/) - Polecane wydarzenie nr 3 (/ events/featured/event3/) — Wyświetl wszystkie wydarzenia (/events/) Jakakolwiek pomoc, jak to osiągnąć? Dziękuję!


title: Produkt do gier do wynajęcia co miesiąc

text: Chcę wyświetlać produkty związane z grami na mojej witrynie wordpress z przyciskiem wynajmu i rezerwacji na miesięczny abonament. Czy ktoś może mi podać odpowiednią wtyczkę lub kod? Z góry dziękuję.


title: Czy można przekierować na nowy adres zamiast wyświetlać stronę błędu 404?

text: Oto moje pytanie: Niedawno przeniosłem swoją witrynę z **_blog.mysite.com_** do **_www.mysite.com_**. Następnie dodałem stałe przekierowanie 301 za pomocą tego kodu w pliku .htaccess. RewriteEngine na RewriteCond %{HTTP_HOST} ^blog\.mysite\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.blog\.mysite\.com$ RewriteRule ^/?$ "http\:\/\/www \.mojastrona\.com\/" [R=301,L] Wszystko było OK, a kiedy wchodzę na moją stronę wpisując **_blog.mojawitryna.com_** zostaje automatycznie przekierowany na **_www.mojawitryna.com_* *. Zauważyłem jednak, że kliknięcie wyniku wyszukiwania Google w mojej starej witrynie nie powoduje przekierowywania do nowej witryny. Zgadnij, że URL wyniku Google to http://blog.mysite.com/how-to-create-simple-but-fully-styled-navigation Chociaż nie przekierowuje do http://www.mysite.com/how-to -create-prosta-ale-w pełni-stylizowana-nawigacja Przechodzi tylko do starego adresu URL, którym jest http://blog.moja-strona.com/jak-utworzyc-prosta-ale-w pełni-stylizowana-nawigacja, która pokazuje mój hosting strona błędu 404 dostawcy. Utworzyłem więc niestandardową stronę błędu 404 i dodałem kod php, aby uzyskać adres URL wyników wyszukiwania Google i zastąpić słowo „blog” słowem „www”, a następnie przekierować do http://www.mysite.com/how -utworzyć-prostą-ale-w pełni stylizowaną-nawigację Tak więc teraz wszystko działa idealnie i nie ma żadnych stron błędów. Ale chcę wiedzieć, czy to, co zrobiłem, jest w porządku z logiką SEO. Słyszałem, że stałe przekierowanie 301 informuje wyszukiwarki, że witryna została przeniesiona. I gdzie jest nowa strona. Chcę wiedzieć, czy przekierowanie 301 nie uległo uszkodzeniu po utworzeniu niestandardowej strony 404 i dodaniu trudnego przekierowania... Dzięki... Mam nadzieję, że rozumiesz. :-)


title: Problem z linkami wordpress w aktywnej witrynie

text: Staram się stworzyć stronę internetową pod następującym linkiem: http://www.knowthelaw.in/ Strona została stworzona za pomocą wordpressa z wykorzystaniem motywu dwadzieścia jedenaście. Problem, z którym się borykam, jest następujący: Gdy tylko zgodzisz się na wyłączenie odpowiedzialności i naciśniesz przycisk „Przejdź do ..”, zostanie wyświetlony błąd 404. Strona, do której przekierowuje, to „Witamy!” strona, do której można również uzyskać dostęp z sekcji „O programie”. Oprócz tej jednej strony wszystkie inne strony działają OK. Ten problem nie występuje w witrynie wordpress na localhost. Co zrobiłem do tej pory: 1. Sprawdziłem wszystkie permalinki. 2. Zmieniono łącze przycisku „Kontynuuj ..” na łącze „?page_id”. To nie działa. 3. Zachowaj permalink w menu rozwijanym. To też nie działa. Jestem w mojej głowie, aby dowiedzieć się, na czym polega problem. Jakakolwiek pomoc jest mile widziana.


title: Wyświetlaj posty z tagiem, który pasuje do aktualnego tytułu posta

text: Jak wyświetlić posty z tagiem, którego imię odpowiada tytułowi bieżącego posta? Na przykład, jeśli jesteś na poście o nazwie „Hipopotam” na dole strony, chciałbym, aby były wyświetlane posty z tagiem „Hipopotam”.


title: Jak mogę sprawić, by inny motyw był wyświetlany dla zalogowanych użytkowników a dla gości?

text: Cóż, jak mówi tytuł, to moje pytanie. Ale więcej szczegółów: Obecnie korzystam z wtyczki "wkrótce" (http://wordpress.org/extend/plugins/underconstruction/), aby każdy przypadkowy przechodnia nie widział strony internetowej wyglądającej dziwnie, gdy śmieję wokół, próbując to wymyślić. Ale idealnie chciałbym użyć jednego z tych minimalistycznych motywów, załadować trochę treści (strony z informacjami, kontaktami, lokalizacjami itp.), a następnie pozostawić ten minimalistyczny motyw, aby wszyscy mogli go obejrzeć, gdy ja (ponieważ jestem tylko osoba, która może się zalogować) jest w stanie zobaczyć rzeczywisty motyw, gdy wprowadzam w nim modyfikacje. Jakieś wtyczki, które to robią lub inne proste sposoby na zrobienie tego? Twoje zdrowie! ==== Edycja aktualizacji: Pomyślałem, że zostawię aktualizację i powiem, że znalazłem DUŻO fajniejszą wtyczkę niż underconstruction. Jest to: „Tryb konserwacji WP” (Lego jest super fajny! Mówi ten „chłopiec”, który dorastał na stałej diecie Lego, i tak przez dietę, mam na myśli czasami, że klocki Lego zostały połknięte!) http:// wordpress.org/extend/plugins/wp-maintenance-mode/ Chociaż tak nie jest (hmm... chociaż mogę się mylić, być może z własnym arkuszem stylów i wykluczeniem kilku stron, do których prowadzą linki z domu uzyskałbym 50% drogi do tego, czego chcę) zrobić to, o co prosiłem w pierwotnym pytaniu o posiadanie wielu stron wraz z dowolnym motywem, który lubię (który jest inny niż ten, który rozwijam i przeglądam, gdy jestem zalogowany jako administrator ), w celu posiadania jednej strony, która informuje odwiedzających, co się dzieje, jest znacznie lepsza niż UnderConstruction.


title: Jak uniknąć duplikowania tej samej meta_value?

text:
Mam "publication_year" jako meta_key dla niektórych obrazów/załączników. Chcę wyświetlić wszystkie meta_wartości w tabeli html, ale nie chcę powtarzać tej samej wartości roku_publikacji, mój kod to: <?php $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image ', 'numberposts' => -1, 'orderby' => 'menu_order', 'order' => ASC ); $załączniki = get_posts( $args ); echo '
'; if ($attachments) { foreach ( $attachments as $post ) { setup_postdata($post); echo '
'; if ( get_post_meta( $post->ID, '_publication_year', true )) { echo get_post_meta( $post->ID, '_publication_year', true ); }; echo '	'; echo ''; echo pobierz_wyciąg(); echo '
'; } } echo '
'; i dzięki temu otrzymuję to: 2002 imageDesc1 2003 imageDesc2 2003 imageDesc3 2003 imageDesc4 2004 imageDesc5 ale chcę to: 2002 imageDesc1 2003 imageDesc2 imageDesc3 imageDesc4 2004 imageDesc5 Więc jeśli są załączniki z tymi samymi _latami publikacji_ , chcę je _powtarzać_ i nie Unikam powielania tej samej meta_value?


title: dołącz kilka zdjęć do posta + galerię

text: Zastanawiam się, czy możliwe jest dołączenie kilku obrazów do postu, a następnie wyświetlenie tych obrazów w galerii miniatur / zanikania? Nawiasem mówiąc, obrazy również powinny zostać przeskalowane do stałego rozmiaru + miniatura. Dziękuję


title: wp_dequeue_script nie działa dla mojej wtyczki. Chcę usunąć motywy JS z pulpitu nawigacyjnego

text: Jest motyw, którego używa mój klient. Kolejkuje wiele skryptów w obszarze administracyjnym wordpress. Chciałbym je usunąć z kolejki, aby moja wtyczka działała poprawnie. Komentowanie tego kodu `wp_enqueue_script( "ocmx-jquery", get_template_directory_uri()."/scripts/ocmx.js", array( "jquery" ) ); ` sprawia, że moja wtyczka działa poprawnie. Więc zamiast edytować ich kod, chcę dodać do mojej wtyczki `wp_dequeue_script( 'ocmx-jquery' );`. Dodałem to i to tak, jakbym nigdy tego nie robił. Czy jest lepszy sposób, aby powiedzieć, że JS motywu nie ładuje się na stronie ustawień moich wtyczek?


title: Wyświetl listę postów, które należą do tej samej kategorii, co bieżący tytuł posta

text: Jak wywoływać dodatkowe posty, które mają tag pasujący do tytułu bieżącego posta? Na przykład, jeśli bieżące posty są zatytułowane „opos”, chciałbym, aby na dole strony wyświetlały się teasery wszystkich postów oznaczonych „opossum”.


title: Gdzie przechowywać niestandardowe dane tagowania powiązane z niestandardowym typem postu

text: Moja aplikacja umożliwia użytkownikom dodawanie tagów do obrazu (podobnie jak na facebooku). Każdy tag może składać się z maksymalnie 8 atrybutów i obecnie nie ma limitu liczby tagów, które użytkownik może dodać. Obecnie informacje o tagach są przechowywane w 3 parach post meta klucz/wartość. Każda wartość meta postu jest serializowana przed zapisaniem. Zbliżamy się do przepisania tej funkcjonalności i chciałem poprosić o poradę na temat najlepszego podejścia do przechowywania danych tagów. IMO istnieją dwa podejścia: 1. post meta klucz/wartość dla każdego tagu/atrybutu (może to stworzyć ogromny zbiór danych - „n” tagi razy 8 atrybutów) 2. Nowa tabela tylko dla tagów Oba podejścia unikają przechowywania zserializowanych danych, które moim zdaniem są tym, czego potrzebuję. Jakie jest lepsze podejście? Czy trzecia opcja może być jeszcze bardziej wykonalna?


title: jQuery vs. $ - Tworzenie skryptów jQuery w JavaScript w WordPress przy użyciu Bibliotek Zewnętrznych

text: Staram się wykorzystać Date Time Picker Trenta Richardsona (patrz tutaj). Próbuję uzyskać wybrany czas po zamknięciu wyskakującego okienka, więc używam następującego kodu (w zewnętrznym pliku .js): jQuery(function() { var startDateTextBox = jQuery('#start_date_field'); startDateTextBox.datetimepicker( { onClose: function(dateText, inst) { var testStartDate = startDateTextBox.datetimepicker('getDate'); alert(testStartDate); } }); }); Pojawia się jednak alert, że zmienna jest niezdefiniowana (co zdarza się również, gdy przechodzę przez funkcję). Co ja robię źle? Otworzyłem źródło Trenta i zauważyłem, że używa $ zamiast jQuery - widziałem gdzie indziej, że zawsze powinieneś używać jQuery w WordPressie, aby przełączyć go w "tryb bez konfliktu" - czy to dokładne? Jakie są konsekwencje używania $ zamiast jQuery?


title: Niedostępne niestandardowe typy postów i niestandardowe archiwum taksonomii

text: Stworzyłem kilka własnych typów postów, powiedzmy: * `post_type_1` * `post_type_2` Te typy postów są ze sobą powiązane, każdy `post_type_1` ma rodzica wielu `post_type_2`. Następnie stworzyłem niestandardową taksonomię dla `post_type_2`, nazwijmy ją `tax_1`. Oto kod: function registerPostType1() { $supports = array( 'tytuł', 'edytor', 'miniaturka', 'wyciąg', 'komentarze', 'post-formaty' ); $args = array( 'public' => true, 'hierarchical' => false, 'query_var' => false, 'has_archive' => true, 'rewrite' => array('slug' => 'posttype1'), 'podpory' => $podpory ); register_post_type('post_type_1', $args); } function registerPostType2() { $supports = array( 'tytuł', 'redaktor', 'autor', 'miniaturka', 'wyciąg', 'komentarze', 'post-formaty' ); $args = array( 'public' => true, 'hierarchical' => false, 'query_var' => false, 'has_archive' => true, 'rewrite' => array('slug' => 'post-type- 2'), 'taxonomies' => array('post_tag'), 'supports' => $supports ); register_post_type('post_type_2', $args); } function registerTax1() { $args = array( 'hierarchical' => false, 'query_var' => 'tax-1' ); register_taxonomy('tax-1', 'post_type_2', $args); } add_action('init', 'registerPostType2'); add_action('init', 'registerTax1', 0); function registerPostType1Query() { add_rewrite_tag('%posttype1%','([^&]+)'); } function addPostType1QueryVar($query_vars) { $query_vars[] = 'posttype1'; zwróć $query_vars; } function modifyPostType2Query($query) { if ($query->is_main_query() && haveTaxonomyQuery($query, 'tax-1')) { $query->set('orderby', 'rand'); // Losowo uporządkuj posty $query->set('posts_per_page', 1); // Pokaż tylko jeden post $query->set('meta_key', 'posttype1'); $query->set('meta_value', $query->query_vars['posttype1']); } } function haveTaxonomyQuery($query, $taxToFind) { if (!property_exists($query, 'tax_query') || empty($query->tax_query) || !property_exists($query->tax_query, 'zapytania')) { zwróć FAŁSZ; } foreach ($query->tax_query->zapytania jako $index => $taxQuery) { if ($taxQuery['taxonomy'] === $taxToFind) return TRUE; } zwróć FALSE; } add_action('init', 'registerPostType1Query'); add_filter('query_vars', 'addPostType1QueryVar'); add_action('pre_get_posts', 'modifyPostType2Query'); Teraz próbuję stworzyć posty dla `post_type_1`, w których dla każdej strony `post_type_1` mają link do strony archiwum `tax-1` (powiedzmy `term-1` & `term-2`), w którym strona zostanie użyta do filtrowania 1 losowego posta w kategorii `tax-1` (w zależności od tego, który termin został kliknięty) i będzie miała związek z poprzednim postem `post_type_1`. Krótko mówiąc, jest to jak relacje między `miastem` (`post_type_1`), `ludźmi` (`post_type_2`) i `gender` (`tax-1`), a następnie `mężczyzną` (`term-1`) i `female ` („termin-2”). Dlatego mam: * `single-post_type_1.php` * `single-post_type_2.php` * `taxonomy-tax-1.php` Poniżej znajduje się kod generujący link do `taxonomy-tax-1.php` jest w pliku `single-post_type_1.php`: <a href="<?php echo get_term_link('term-1', 'tax-1') ?>?posttype1=<?php the_ID(); ?> "> <img src="<?php bloginfo('template_url'); ?>/images/term-1.jpg" />  Na początku link pokazał mi stronę 404, potem odświeżę permalink z _Ustawienia_ -> _Permalinki_ i działało dobrze. Jednak następnego dnia, kiedy ponownie wszedłem na tę stronę, zamiast tego wyświetliła mi się strona indeksowa, dopóki nie odświeżę permalinków. Próbowałem również zainstalować wtyczkę analizatora przepisywania, taką jak **Monkeyman Rewrite Analyzer** i próbowałem porównać przepisanie między każdą z nich (działającą i błędną, która pokazuje mi stronę główną). Inny był błąd, który pokazał coś takiego (przy podstawieniu reguły przepisywania `tax-1`): > Ta zmienna zapytania nie jest publiczna i nie zostanie zapisana. Czy ktoś ma pojęcie, co zrobiłem źle? To naprawdę denerwujące, że trzeba za każdym razem odświeżać permalinki. Każda pomoc byłaby bardzo mile widziana. Z góry dziękuję.


title: Dodaj wyskakujące okienko potwierdzenia javascript w linku „Przenieś do kosza”

text: Chcę otworzyć komunikat o błędzie javascript, gdy ktoś kliknie link „Przenieś do kosza” w polu Publikuj w wp-admin


title: Problem z HTML5, WordPress i Tiny MCE – zawijanie znacznika kotwicy wokół div skutkuje dziwnym wyjściem

text:
Więc używam HTML5 na stronie internetowej i próbuję zawinąć div w tag kotwicy, który jest podobno akceptowany w witrynach HTML5. Ale kiedy to robię...
Niektóre treści
 ...za pomocą edytora WordPress Tiny MCE, otrzymuję następujące dane wyjściowe:

Niektóre treści

 Wszelkiego rodzaju bałagan. Jeśli przejdę do edytora wizualnego i z powrotem do tekstu w Tiny MCE, kod zmienił się na następujący:
Niektóre treści
 Czy ktoś wie, jak zmusić Tiny MCE, aby na to zezwolił? (najlepiej bez uciekania się do zaawansowanej wersji wtyczki Tiny MCE) Dzięki za wszelkie porady.


title: Filtr „post_gallery” galerii WordPress nie działa z kanałami?

text:
Możemy użyć filtra `post_gallery`, aby zmodyfikować/zamienić domyślny szablon galerii WordPressa (AKA kod wyjściowy) do naszych potrzeb. Ale wydaje się, że nie ma to wpływu na znaczniki w kanałach RSS. Niezależnie od tego, co robię, znaczniki obrazów galerii w moim kanale RSS są po prostu takie:       Czy jest więc sposób (coś w rodzaju filtra, funkcji itp.) na zmodyfikowanie domyślnych znaczników galerii WordPress w kanałach RSS? # Co próbowałem Na początek (tylko dla sprawdzenia), wszystko, co musiałem zrobić, to skomentować ten bit w pliku podstawowym `wp-include/media.php`: if ( is_feed() ) { $output = "\ n"; foreach ( $attachments as $att_id => $attachment) $output .= wp_get_attachment_link($att_id, $size, true) . "\n"; zwróć $wyjście; } I to trochę zadziałało. Teraz znaczniki galerii w moich kanałach RSS są takie same, jak to, co widzisz na interfejsie mojej witryny (tj. W postach). Ale kiedy robię to samo, używając filtru `post_gallery`, to nie działa — nie ma to wpływu na znaczniki w kanałach RSS. Nie mam pojęcia dlaczego! Ogólnie rzecz biorąc, jest to kod (powiązany z `post_gallery`) w moim functions.php. czy robię coś źle? * * * Ponieważ często jestem pytany, co próbuję zrobić — w tym przypadku chcę zmodyfikować znaczniki galerii WordPress w kanałach RSS, aby wyglądały tak:

Szczeniaki są urocze

Kocięta też są


title: Jak dodać przycięty niestandardowy obraz nagłówka?

text: Nie widzę w moim niestandardowym motywie żadnej opcji przesyłania obrazu nagłówka (chociaż w nagłówku jest do niego kod) Czy muszę go jakoś zarejestrować? Ponadto mam określony rozmiar, który chcę zaimplementować, czy można mocno przyciąć obraz nagłówka podczas przesyłania? (Chcę, aby był przycięty, a nie zmieniony za pomocą CSS) **Znalazłem rozwiązanie:** Użyłem `custom_header_support` $custom_header_support = array( 'width' => 260, 'height' => 300, 'header-text' => fałsz, ); add_theme_support( 'custom-header', $custom_header_support );


title: wyłącz jscrollpane w określonym div

text: Zainstalowałem bibliotekę jscrollpane i działa dobrze, ale muszę ją wyłączyć w #content, który znajduje się w szablonie strony głównej // jQuery.noConflict(); jQuery(document).ready(function($) { //mówi WP rozpoznanie zmiennej $ //wklej tutaj swój kod jquery $('#content').jScrollPane(); }); //zakończ funkcje gotowe do dokumentów /* ]]> */ </script> http://www.integritycorp.org/study/ chcę tylko wyłączyć na stronie głównej, ale pracuję nad resztą motywu Dzięki


title: Metaboksy nie zapisują danych

text:
Przebudowuję metabox dla wtyczki i teraz nie zapisuje wprowadzonych danych. HTML jest prawie taki sam jak poprzednio, ale funkcja save_meta po prostu nie działa. Przeczytałem sporo samouczków, sprawdziłem mnóstwo pytań na StackExchange i kilku innych witrynach i próbowałem zidentyfikować łatwe pułapki, ale żadna z nich nie wydaje się być problemem. Czy ktoś mógłby to sprawdzić i pokazać mi, co tutaj przegapiłem? Uwagi: To wszystko w klasie. Tablica w funkcji time_date_meta jest przeznaczona dla innej funkcji, która zwraca kod HTML. O ile wiem, to nie jest problem. Pole HTML pojawia się poprawnie i ma prawie taki sam kod źródłowy, jak ręcznie napisane pola HTML, które miałem wcześniej. Różnice między ręcznie napisanym kodem HTML a danymi wyjściowymi tej funkcji to takie rzeczy, jak atrybut name, class i id. Kiedy edytuję post, który ma już metadane sprzed przepisania tego metaboxa, tylko pola czasu i lokalizacji pokazują prawidłowe dane. Nie mam żadnego z adresem URL filmu, a data w ogóle nie działa. function __construct() { // Dodaj meta pole godziny i daty seminarium add_action( 'load-post.php', array( $this, 'seminar_create_meta_box' ) ); add_action( 'load-post-new.php', array( $this, 'seminar_create_meta_box' ) ); // Zapisz metadane add_action( 'save_post', array( $this, 'save_meta' ), 10, 2 ); } function seminar_create_meta_box() { add_meta_box( 'cemb_seminar_meta', 'Informacje o seminarium', array ( $this, 'time_date_meta'), 'cemb_seminar', 'side', 'high' ); } // Koniec funkcji seminar_create_meta_box() time_date_meta( $post ) { // Przechwyć dane globalne $post; $checks = array( 'data', 'godzina', 'minuta', 'ampm', 'lokalizacja' ); $meta = tablica(); foreach ( $sprawdza jako $czek) { $meta_key = 'cemb_seminar_'. $czek; $meta_value = get_post_meta( $post->ID, $meta_key, true ); $data = ( $check == 'data' && empty( $meta_value ) ? time() : date( 'D, n/j/Y', strtotime( $meta_value ) ) ); $wartość = ( $check == 'data' ? $data : esc_attr( $meta_value ) ); $meta[$check] = ( !empty( $meta_value ) ? $value : '' ); } // Koniec $checks foreach // Uzyskaj opcjonalny adres URL wideo $meta_value = get_post_meta( $post->ID, 'cemb_seminar_video_url', true ); $metas['videourl'] = ( !empty( $meta_value ) ? esc_url( $meta_value ) : '' ); // Bezpieczeństwo wp_nonce_field( basename( __FILE__ ), 'cemb_seminar_nonce' ); // Wyjście ?>

<?php $datepicker_args['class'] = 'seminar_date'; $datepicker_args['id'] = 'cemb_seminar_date'; $datepicker_args['label'] = 'Data'; $datepicker_args['wartość'] = $meta['data']; echo $this->toolkit->date_picker( $datepicker_args ); ?>

<?php $time_args['class'] = 'floatright'; $time_args['id'] = 'cemb_seminar_time'; $time_args['label'] = 'Czas'; $time_args['hours']['class'] = 'seminar_time'; $time_args['hours']['id'] = 'cemb_seminar_hour'; $time_args['hours']['military'] = false; $time_args['hours']['value'] = $metas['hours']; $time_args['minutes']['class'] = 'seminar_time'; $time_args['minutes']['id'] = 'cemb_seminar_minute'; $time_args['minutes']['mintype'] = 'kwartały'; $time_args['minutes']['value'] = $metas['minute']; $time_args['ampm']['class'] = 'seminar_time'; $time_args['ampm']['id'] = 'cemb_seminar_ampm'; $time_args['ampm']['value'] = $metas['ampm']; echo $this->toolkit->time_fields( $time_args ); ?>

<?php $input_args['class'] = 'seminar_location'; $input_args['id'] = 'cemb_seminar_location'; $input_args['inputtype'] = 'tekst'; $input_args['label'] = 'Lokalizacja'; $input_args['value'] = $metas['location']; echo $this->toolkit->input_field( $input_args ); ?>

<?php $input_args['class'] = 'seminar_video'; $input_args['id'] = 'cemb_seminar_video_url'; $input_args['inputtype'] = 'tekst'; $input_args['label'] = 'URL wideo'; $input_args['value'] = $metas['videourl']; echo $this->toolkit->input_field( $input_args ); ?>

 <?php } // Koniec funkcji seminar_meta_box() save_meta( $post_id ) { if ( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return $post_id; } // Koniec sprawdzania automatycznego zapisu if ( $_POST['post_type'] == 'cemb_seminar' ) { if ( !current_user_can( 'edit_post', $post_id )) { return $post_id; } elseif ( !current_user_can( 'edit_page', $post_id )) { return $post_id; } // Koniec sprawdzania możliwości } // Koniec sprawdzania typu post_type if ( empty( $_POST['cemb_seminar_nonce'] ) && check_admin_referer( basename( __FILE__ ), 'cemb_seminar_nonce' ) ) { return $post_id; } else { $checks = array( 'data', 'godzina', 'minuta', 'ampm', 'lokalizacja', 'video_url' ); foreach ( $sprawdza jako $czek) { $meta_key = 'cemb_seminar_'. $czek; $wysłane = $_POST[$meta_klucz]; if ( empty( $posted ) && $posted != 'cemb_seminar_video_url' ) { // Zwróć komunikat o błędzie, jeśli jakiekolwiek pole oprócz video_url jest puste $msg_args = array( 'which' => 'empty', 'field' => $ meta_klucz ); $notice[] = $this->display_notices( $msg_args ); zwrócić; } else { if ( $meta_key == 'cemb_seminar_date' ) { // Pobierz datę opublikowania i przekonwertuj ją na czas PHP $new_meta_value = ( isset( $posted ) ? strtotime( $posted ) : '' ); } else { // Pobierz opublikowane dane i oczyść je do użycia jako klasa HTML. $nowa_meta_wartość = ( isset( $wysłana ) ? sanitize_html_class( $wysłana ) : '' ); } // Koniec sprawdzania $meta_key // Pobierz wartość meta klucza pola niestandardowego. $meta_value = get_post_meta( $post_id, $meta_key, true ); if ( $new_meta_value && $meta_value == '' ) { // Jeśli dodano nową wartość meta i nie było poprzedniej wartości, dodaj ją. add_post_meta( $post_id, $meta_key, $nowa_meta_value, true ); } elseif ( $nowa_meta_wartość && $nowa_meta_wartość != $meta_wartość ) { // Jeśli nowa metawartość nie odpowiada starej wartości, zaktualizuj ją. update_post_meta( $post_id, $meta_key, $nowa_meta_value ); } elseif ( $new_meta_value == '' && $meta_value ) { // Jeśli nie ma nowej wartości meta, ale istnieje stara wartość, usuń ją. delete_post_meta( $post_id, $meta_key, $meta_value ); } // Koniec sprawdzania wartości meta } // Koniec sprawdzania pustego } // Koniec $checks foreach $semester_meta = get_post_meta( $post_id, '_semester', true ); if ( empty( $semester_meta ) ) { $semester = $this->determine_semester( $data ) . ' ' . data( 'T', $data ); update_post_meta( $post_id, '_semester', $semester ); } // Koniec pustego sprawdzenia } // Koniec jednorazowego sprawdzenia } // Koniec save_meta()


title: dodawanie tagów .current* do niestandardowych typów postów i taksonomii

text: TwentyTen dodaje kilka klas do niestandardowych menu, na przykład: `#access #menu-item-262.current-menu-item, #access #menu-item-262.current-menu-ancestor` Wszystkie odnośniki najwyższego poziomu w moim podstawowa nawigacja ma klasę `.current-menu-ancestor`, gdy użytkownik jest na stronie podrzędnej -- **z wyjątkiem sytuacji, gdy przeglądam zawartość w niestandardowym typie wpisu, który zbudowałem**. _**Jak ustawić bieżącą stronę w nawigacji podczas przeglądania niestandardowego typu posta?_** Dzięki...


title: Gdzie rozpoczynają się sesje?

text: Mam tę stronę tutaj http://www.taranmarlowjewelry.com/, używam motywu dwudziesteeleven i jest sesja, którą muszę dostosować o nazwie 'PHPSESSID' Problem, który mam z PHPSESSID polega na tym, że kiedy wejdziesz na moją stronę, zobaczysz nic w prawym górnym rogu, po odświeżeniu pojawia się koszyk, gdy skasuję PHPSESSID, znowu znika. Używam wtyczki wp e-commerce


title: Opcje ekranu Wordpress WYSIWYG

text: Czy istnieje sposób na ustawienie pola wyboru dla pola WYSIWYG w tych opcjach, aby administrator mógł je ukryć w przypadku, gdy nie ma potrzeby umieszczania treści na stronie


title: TinyMCE — domyślnie pokazuj opcje zaawansowane (2. wiersz)

text: Dlatego dostosowałem trochę mojego tinyMCE, aby dodać kilka przycisków i zmienić kolejność niektórych rzeczy: function myformatTinyMCE($in) { $in['theme_advanced_buttons1']='pogrubienie,kursywa,podkreślenie,bullist,numlist,hr,blockquote,link, odłącz,uzasadnijlewo,uzasadnijśrodek,uzasadnijdobrze,uzasadnijuzasadnione,wycięcie,wcięcie”; $in['theme_advanced_buttons2']='wybierz format, wklej tekst, wklej słowo, znak, cofnij, ponów'; zwróć $w; } add_filter('tiny_mce_before_init', 'myformatTinyMCE' ); Pomyślałem, że nie dodając `wp_adv` na końcu pierwszej listy przycisków, domyślnie wyświetli się drugi wiersz, ale tak nie jest - po prostu całkowicie tracę drugi wiersz. Chcę pokazać drugi wiersz - zawsze, bez naciskania lub wyświetlania przycisku `wp_adv`. Jak mogę domyślnie wyświetlić drugi wiersz w moim TinyMCE?


title: Formularz kontaktowy nie działa!

text: Dodałem nową stronę Skontaktuj się z nami, ale nie działa i mówi > **E-mail nie został poprawnie skonfigurowany. Proszę dodać kontaktowy adres e-mail!** Proszę o pomoc... Skąd mogę to poprawnie skonfigurować? Oto link **http://designstutorial.com/?page_id=93**


title: Zezwalanie określonym użytkownikom na dodawanie postów tylko przy użyciu określonych niestandardowych terminów taksonomii

text: Przeszukiwałem fora, ale mogę znaleźć tylko trochę pokrewne problemy. To jest mój problem: chciałbym przypisać niektórym redaktorom możliwość dodawania postów tylko we wstępnie zdefiniowanym terminie niestandardowej taksonomii. Stworzyłem taksonomię o nazwie wydarzenia, która zawiera listę wydarzeń dodawanych przez administratora. Niektórzy użytkownicy mogą dodawać posty tylko za pomocą jednego wydarzenia, np. „Japonia” lub „Haiti”. Ktoś z podpowiedzią, jak sobie z tym poradzić? czy istnieją wtyczki do zarządzania użytkownikami, które mają takie możliwości? Pozdrawiam, Joost.


title: Zatrzymaj wykonywanie określonej wtyczki na podstawie identyfikatora produktu w koszyku

text: Próbuję zatrzymać wykonywanie określonej wtyczki na podstawie identyfikatora produktu w koszyku. Jednak nie mogę go uruchomić. Jest kilka miejsc, w których chcę, aby wtyczka przestała wstawiać swoją funkcję. (głównie strona kasy, strona z podziękowaniami i wiadomość e-mail wysyłana do klientów) To właśnie zrobiłem do tej pory. Jednak to po prostu nie działa. $znaleziono = fałsz; globalny $woocommerce; foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) { $_product = $values['data']; if( $_product->id == 1097 ) { $found = true; } } if ($found){ global $wdt; remove_action('wp_enqueue_scripts', array($wdt, 'enqueue_scripts')); remove_filter('woocommerce_checkout_fields', array($wdt, 'checkout_fields'), 20, 1); remove_action('woocommerce_before_order_notes', array($wdt, 'show_field'), 20); remove_filter('woocommerce_checkout_fields', array($wdt, 'checkout_fields'), 20, 1); remove_action( 'woocommerce_checkout_update_order_meta', array( $wdt, 'save_field' ) ); remove_action( 'woocommerce_admin_order_data_after_shipping_address', array( $wdt, 'admin_show_field' ) ); remove_filter( 'woocommerce_locate_template', array( $wdt, 'email_template' ), 10, 3 ); } Zasadniczo, co zrobiłem, to spojrzałem na klasę wtyczki i próbowałem odwrócić akcję i filtry dodane przez klasę. W związku z tym widzisz te akcje usuwania i filtrowania linii. Naprawdę doceniam jakąkolwiek pomoc tutaj. Dziękuję. Wygląda na to, że nie mogę określić, co jest nie tak z moim kodem. FYI, pierwsza część funkcji klasy wtyczki jest następująca: <?php if ( !class_exists( 'woo_deltime' )) { /** * Ta klasa dodaje selektor daty i godziny dla dostawy podczas wysyłki * Czas dostawy zostanie zapisany jako część zamówienia i będą zawarte w wiadomościach e-mail */ class woo_deltime { /** * Konstruktor klasy * Dodaj hooki do Woocommerce */ function __construct() { // Dodaj do kolejki skrypty i style add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts ' ) ); // Pokaż pole czasu dostawy przed uwagami do zamówienia, np. po adresie dostawy add_action( 'woocommerce_before_order_notes', array( $this, 'show_field' ), 20 ); // Sprawdź, czy pole czasu dostawy jest wymagane add_filter( 'woocommerce_checkout_fields', array( $this, 'checkout_fields' ), 20, 1 ); // Oszczędź czas dostawy do zamówienia ( post ) meta add_action( 'woocommerce_checkout_update_order_meta', array( $this, 'save_field' ) ); // Pokaż czas dostawy na stronie szczegółów zamówienia w obszarze administracyjnym add_action( 'woocommerce_admin_order_data_after_shipping_address', array( $this, 'admin_show_field' ) ); // Zmień szablon wiadomości e-mail, aby zawierał czas dostawy add_filter( 'woocommerce_locate_template', array( $this, 'email_template' ), 10, 3 ); }


title: Wyświetl zawartość przesłanego pliku w edytorze

text: Mam niestandardowy metabox, który pozwala użytkownikowi przesyłać pliki .csv podczas tworzenia strony. Zawartość pliku .csv jest pokazana na utworzonej stronie w "frontendzie". Chciałbym pokazać zawartość strony administratora w edytorze WYSIWYG, aby użytkownik mógł w razie potrzeby zmienić. Czy ktoś może mi powiedzieć, jak przeglądać zawartość przesłanego pliku? Naprawdę nie sądzę, że kod do metaboxa i funkcja przesyłania jest konieczny, ale jeśli ktoś chce, daj mi znać. M.


title: Twórz oceny użytkowników i używaj wyników w zapytaniu sql

text: Tworzę wtyczkę, która wyświetla niestandardowe typy postów na podstawie wyniku oceny użytkownika. W tym celu potrzebuję, aby użytkownik wypełnił formularz (niezbyt skomplikowany). Przesłanie tego formularza wymaga również zapisania tożsamości użytkownika, abym mógł go pobrać z bazy danych. Czy istnieje wtyczka, której mogę użyć do tego testu, czy muszę samodzielnie zakodować?


title: Lepszy sposób na usunięcie składni HTML z całej treści

text:
Mam kilka artykułów zaimportowanych przez bardzo starą instalację Joomla 1.0. Treść tych postów zawiera dużo niechcianego kodu HTML. Udało mi się wyczyścić wszystko czymś takim (zrobiłem szablon z tym w środku, potem go otworzyłem): <?php $tochange = get_posts('post_type=post&numberposts=-1'); foreach ($tochange as $post): setup_postdata($post); $zmienione = tablica(); $zmieniony['ID'] = $post->ID; $changed['post_content'] = strip_tags($post->post_content, ''); print_r($post->ID); echo '
'; $out = wp_update_post($zmieniony); echo 'zmieniono:'.$out.'
'; unset($zmieniony); na każdym kroku; ?> Ale wydaje się to trochę nadęte, biorąc pod uwagę, że tworzy pętlę dla _każdego_ posta. Jakieś sugestie?


title: Nieprawidłowy adres URL w sortowalnych nagłówkach kolumn i stronicowanie w administratorze, gdy znajduje się za serwerem proxy

text: Ostatnio zmieniłem adres URL mojej witryny z atlas.site.com na site.com, jedna rzecz, na którą właśnie natknąłem się w obszarze administracyjnym dla postów, niestandardowych typów postów, stron, na których jest więcej niż jedna strona postów, strzałki dla następnej, poprzedniej, pierwszej i ostatniej strony, wszystkie wskazują na atlas.site.com/wp-admin/... Zrobiłem wyszukiwanie i zamianę atlasu w db, ale być może nie szukam w właściwe miejsce i zwrócił 0 wyników, a WP_SITEURL i WP_HOME w wp-config są ustawione na http://www.site.com/ To samo dotyczy tytułu, autora, daty na górze kolumn do sortowania. Dziękuję


title: Jak usunąć całe menu administratora?

text: Muszę dostosować panel administracyjny dla mojego użytkownika. Jak więc usunąć całe menu administratora? Nie usuwaj pozycji menu, mam na myśli całkowicie usuń lewy pionowy pasek menu, dołącz projekt menu (np. CSS, background..etc). Chcę, żeby było puste. Mogę to zrobić przez css hack. Ale wolę użyć do tego haka. Jakieś pomysły? Dziękuję


title: Zmień status posta niestandardowego na wersję roboczą przed dzisiaj

text:
Wypróbowałem ten kod, który zrobiłem, ale wygląda na to, że nie robię tego poprawnie. Główny problem polega na tym, że mój kod pobiera wszystkie posty uporządkowane według daty wartości meta, ale muszę ukryć posty od dzisiejszej daty (czego nie mogę zrobić), więc zrobiłem to z php strtotime (co też jest w porządku), ale głównym problemem jest to, że potrzebuję tylko 5 najnowszych postów ... Jeśli ktoś może dać wskazówkę, aby ten kod działał, byłoby to świetne echo '
'; globalne $wp_query; $tData = strtotime('teraz'); $query = new WP_Query( array( 'post_type' => 'event', 'posts_per_page' => 999, 'post_status' => 'publish', 'meta_key'=>'event_date', 'orderby' => 'meta_value' , 'zamówienie' => ASC ) ); $liczba = 0; while ( $query->have_posts() ): $query->the_post(); $database_date = get_field('data_zdarzenia'); if( strtotime($databazy_danych) > strtotime('teraz') ) { $count++; if ($count !="6") { echo '
'; echo ''; echo ''; echo '
' . pobierz_tytuł() . '

'; $originalDate = get_field('event_date'); $newDate = date("l M d", strtotime($originalDate)); echo $nowaData . '

'; } } koniec; wp_reset_postdata(); echo '
';


title: Używanie search.php bez pola „s” w searchform.php

text: Przepraszam, jeśli to proste/głupcze pytanie, ale wciąż rozumiem, jak działa wyszukiwanie w WordPressie. Chcę całkowicie zastąpić standardowe wyszukiwanie w moim szablonie wyszukiwaniem niestandardowym, które wysyła zapytania tylko do określonego niestandardowego typu postu i jego pól meta. Mam formularz wyszukiwania, który to robi i search.php, który zwraca prawidłowe dane. **Jednak** wyszukiwanie nie będzie działać, chyba że dołączę pole wejściowe o nazwie 's' i nie jest ono puste. Rozumiem, że WP potrzebuje tego, aby uzyskać dostęp do search.php? Nie potrzebuję pola wyszukiwania, ponieważ moje wyszukiwanie opiera się na niestandardowych taksonomii i polach meta. Jak więc nadal korzystać z wyszukiwania bez tego pola? czy to możliwe?


title: ustaw permalink dla CPT

text: Mam CPT i dwie niestandardowe taksonomie, które zarejestrowałem. Zarejestrowałem również taksonomię dla CPT. To jest mój kod rejestru: $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'provider' ), 'capability_type' => 'strona', 'has_archive' => false, 'hierarchical' => false, 'menu_position' => null , 'register_meta_box_cb' => 'init_metaboxes_gallery', 'supports' => array( 'title', 'editor', 'custom-fields', 'thumbnail', 'excerpt', 'comments' ) ); register_post_type( 'dostawca', $args ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug ' => 'strefa','hierarchiczna' =>'prawda' ), ); register_taxonomy( 'strefa', array( 'dostawca' ), $args ); $args = array( 'hierarchical' => true, 'labels' => $labelscat, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug ' => 'procat','hierarchical' =>'prawda' ), ); register_taxonomy( 'procat', array( 'dostawca' ), $args ); Przekleństwo ustawiłem etykiety dla każdego rejestru. Chcę, aby link wyglądał następująco: www.mysite.com/procat/procat-sub/zone/zone-sub Jeśli nie ma sub dla procat lub dla strefy, będzie to oczywiście bez sub. Ustawiłem więc strukturę permalinka w panelu administracyjnym na: /%procat%/%zone%/%postname%/, ale adres URL to nadal www.mysite.com/provider/provider-name


title: Niestandardowe typy i kategorie postów?

text: Przez całe życie nie wydaje mi się, aby kategorie powstały z mojego niestandardowego typu postu. Dodałem następujący -- prosty -- kod na dole pliku `functions.php` mojego motywu, ale nie widzę kategorii w moim niestandardowym poście od strony administratora. register_post_type("customy", array( 'label' => 'Niestandardowe', 'description' => 'Niestandardowe elementy dla tej strony.', 'public' => true, 'hierarchical' => true, 'supports' => array('tytuł', 'redaktor', 'autor', 'miniaturka', 'poprawki'), 'taksonomie' => array('kategoria') )); register_taxonomy_for_object_type('kategoria', 'niestandardowe');


title: Prosty widget powodujący biały ekran

text:
Ten kod widżetu powoduje, że moja witryna WP wyświetla biały ekran. Przerabiałem kod około 5 razy, próbując go rozwiązać, ale bez powodzenia. <?php class last_mag_issue_widget extends WP_Widget { function last_mag_issue_widget() { $widget_ops = array('classname' => 'widget_latest_issues', 'description' => 'Najnowsze problemy Mag' ); $this-> WP_Widget('latest_issues', 'Najnowsze problemy', $widget_ops); } //zakończ widżet funkcji konstruktora( $args, $instance ) { extract( $args ); // opcje widgetu $title = apply_filters( 'widget_title', $instance['title'] ); $pastissues = $instance['pastissues']; $tenproblem = $instancja['tenproblem']; echo $before_widget; echo '
'; if ( $title ) { echo $before_title . $tytuł . $po_tytule; } wp_reset_query(); $wp_query = nowe WP_Query(); $wp_query->query(array( 'post_type' => 'mag-issue', 'post_status' => 'publish', 'paged' => 1, 'posts_per_page' => 1)); if ( have_posts() ): while ( have_posts() ): the_post(); $image_url = get_post_meta($post->ID, 'press_smart', prawda); $image_title = the_title(); $image_thumbnail = the_post_thumbnail( array(125,166) ); echo '

Najnowsze wydanie
 ' . $image_thumbnail . '

 '; if ( $thisissue == true) { echo '

W tym wydaniu

'; for ($i=1; $i < 10; $i++) { $meta_nagłówka = get_post_meta($post->ID , 'nagłówek_' . $i , prawda); if ( $headline_meta ) { echo '
' . $nagłówek_meta . '

';} } koniec; endif; wp_reset_query(); echo '

 '; } if ( $pastissues == true ) { $wp_query->query(array( 'post_type' => 'mag-issue', 'post_status' => 'publish', 'paged' => 1, 'posts_per_page' => 9, 'przesunięcie' => 1)); if ( have_posts() ): while ( have_posts() ): the_post(); $post_url = get_post_meta( $post->ID, 'press_smart', true ); $post_title = the_title(); echo '

Poprzednie wydania

 ' . $post_title . '
'; koniec; endif; wp_reset_query(); echo '

'; } echo '
'; echo $after_widget; } //koniec funkcji widget() aktualizacja funkcji( $nowa_instancja, $stara_instancja ) { $instance = $stara_instancja; $instance['title'] = strip_tags( $nowa_instance['title'] ); $instance['thisissue'] = strip_tags( $new_instance['thisissue'] ); $instance['pastissues'] = strip_tags( $new_instance['pastissues'] ); zwróć $instancję; } //koniec funkcji update() function form($instance) { $title = esc_attr( $instance['title'] ); $tenproblem = esc_attr( $instancja['tenproblem'] ); $pastissues = esc_attr( $instance['pastissues'] ); ?>
 <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Tytuł widżetu'); ?> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title' ?>" type="tekst" value="<?php echo $tytuł; ?>" />

 <input id="<?php echo $this->get_field_id('ta sprawa' ?>" name="<?php echo $this->get_field_name('tenproblem'); ?>" type="pole wyboru" value="1" <?php sprawdzone( '1', $toproblem ); ?>/> <label for="<?php echo $this->get_field_id('thisissue'); ?>"><?php _e('Wyświetl nagłówki?'); ?>

 <input id="<?php echo $this->get_field_id('pastissues'); ?>" name="<?php echo $this->get_field_name(' pastissues'); ?>" type="pole wyboru" value="1" <?php sprawdzone( '1', $pastissues ); ?>/> <label for="<?php echo $this->get_field_id('pastissues'); ?>"><?php _e('Pokaż poprzednie problemy?'); ?>
 <?php } //koniec funkcji form() } // Zarejestruj widżet add_action( 'widgets_init', 'register_mag_issues_widget' ); funkcja register_mag_issues_widget() { register_widget( 'latest_mag_issues_widget' ); } ?> Dzięki, Dom


title: Problem z buforem wyjściowym w widoku pojedynczego posta

text:
Utworzyłem następującą funkcję, której używam do ładowania widoków pojedynczych postów: // Funkcja postu basey_single_post() { global $post; ob_start(); echo apply_filters('basey_page_title_news', __('
Wiadomości
','basey')); ?> <?php basey_post_before(); ?> <artykuł <?php post_class() ?> id="post-<?php the_ID(); ?>"> <?php basey_post_inside_before(); ?>  <?php echo apply_filters('basey_post_title', '
'.get_the_title().'
'); ?> <?php basey_entry_meta($post->ID); ?>
 <?php echo __('Wysłano w ','basey'); Kategoria(', '); ?>
 <?php $tag = get_the_tags(); if (!$tag) { } else { ?>
<?php the_tags(); ?>
<?php } ?>
<?php comments_popup_link( __( ' 0 komentarzy', 'puste' ), __( ' 1 komentarz', 'puste' ), __ ( ' % komentarzy', 'blank' ), 'comments-link', __('Comments closed', 'blank')); ?> <?php if ( comments_open() ) : ?>| <a href="<?php the_permalink(); ?>#respond" title="<?php echo __('Dodaj komentarz','basey'); ?>"><?php echo __('Dodaj komentarz Komentarz','basey'); ?><?php endif; ?>

 <?php the_content(); ?>
  <?php wp_link_pages(array('before' => '
' . __('Strony:', 'basey'), 'po' => '
' )); ?>  <?php basey_post_inside_after(); ?> <?php comments_template(); ?> </artykuł> <?php basey_post_after(); $display = apply_filters('basey_single_post_view',ob_get_clean()); return $wyświetlacz; } i w razie potrzeby nadpisuję to: // Post function basey_single_post_override() { global $post; ob_start(); echo 'DODAWANIE TESTOWE'; echo apply_filters('basey_page_title_news', __('
Wiadomości
','basey')); ?> <?php basey_post_before(); ?> <artykuł <?php post_class() ?> id="post-<?php the_ID(); ?>"> <?php basey_post_inside_before(); ?>  <?php echo apply_filters('basey_post_title', '
'.get_the_title().'
'); ?> <?php basey_entry_meta($post->ID); ?>
 <?php echo __('Wysłano w ','basey'); Kategoria(', '); ?>
 <?php $tag = get_the_tags(); if (!$tag) { } else { ?>
<?php the_tags(); ?>
<?php } ?>
<?php comments_popup_link( __( ' 0 komentarzy', 'puste' ), __( ' 1 komentarz', 'puste' ), __ ( ' % komentarzy', 'blank' ), 'comments-link', __('Comments closed', 'blank')); ?> <?php if ( comments_open() ) : ?>| <a href="<?php the_permalink(); ?>#respond" title="<?php echo __('Dodaj komentarz','basey'); ?>"><?php echo __('Dodaj komentarz Komentarz','basey'); ?><?php endif; ?>

 <?php the_content(); ?>
  <?php wp_link_pages(array('before' => '
' . __('Strony:', 'basey'), 'po' => '
' )); ?>  <?php basey_post_inside_after(); ?> <?php comments_template(); ?> </artykuł> <?php basey_post_after(); $display = ob_get_clean(); return $wyświetlacz; } add_filter('basey_single_post_view','basey_single_post_override'); Pojawia się jednak ten błąd: `Błąd krytyczny: nie można ponownie zadeklarować basey_comment() (wcześniej zadeklarowanych w /home/usr/public_html/dev/wp-content/themes/basey/comments.php:1) w /home/usr/public_html/dev /wp-content/themes/basey/comments.php w wierszu 26`, który wygląda następująco: <?php function basey_comment($komentarz, $args, $głębokość) { $GLOBALS['komentarz'] = $komentarz; ?> <li <?php comment_class(); ?>> <artykuł id="komentarz-<?php komentarz_ID(); ?>"> <nagłówek class="wizytówka-autora komentarza"> <?php echo get_avatar($komentarz,$rozmiar='32'); ?> <?php printf(__('%s', 'basey'), get_comment_author_link()); ?> <godzina datetime="<?php echo comment_date('c'); ?>"><a href="<?php echo htmlspecialchars(get_comment_link($comment->comment_ID)); ?>"><?php printf(__('%1$s', 'basey'), get_comment_date(), get_comment_time()); ?></time> <?php edit_comment_link(__('(Edytuj)', 'basey'), '', ''); ?>  <?php if ($comment->comment_approved == '0') { ?>
 ×
<?php _e('Twój komentarz oczekuje na moderację.', 'basey'); ?>

 <?php } ?>
 <?php comment_text() ?>
 <?php comment_reply_link(array_merge($args, array('depth ' => $depth, 'max_depth' => $args['max_depth']))); ?>
 <?php } ?> <?php if (post_password_required()) { ?>

 ×
<?php _e('Ten post jest chroniony hasłem. Wprowadź hasło, aby wyświetlić komentarze.', 'basey'); ?>

 </sekcja> <?php return; } ?> <?php if (have_comments()) { ?>

<?php printf(_n('Jedna odpowiedź na “%2$s”', '%1$s Odpowiedzi na „%2$s”', get_comments_number(), 'basey'), number_format_i18n(get_comments_number()), get_the_title()); ?>

 <?php wp_list_comments(array('callback' => 'basey_comment')); ?>
 <?php if (get_comment_pages_count() > 1 && get_option('page_comments')) { // czy są komentarze do nawigacji ?>
<?php previous_comments_link(__('← Starsze komentarze', 'basey')); ?>

<?php next_comments_link(__('Nowsze komentarze →', 'basey')); ?>
  <?php } // sprawdź nawigację po komentarzach ?> <?php if (!comments_open() && !is_page() && post_type_supports(get_post_type(), 'comments')) { ? >
<?php _e('Komentarze są zamknięte.', 'basey'); ?>
 <?php } ?> </sekcja> <?php } ?> <?php if (!have_comments() && !comments_open() && !is_page( ) && post_type_supports(get_post_type(), 'comments')) { ?>

<?php _e('Komentarze są zamknięte.', 'basey'); ?>

 <?php } ?> <?php if (comments_open()) { ?>

< ?php comment_form_title( __('Zostaw odpowiedź', 'basey'), __('Zostaw odpowiedź %s', 'basey') ); ?>

<?php cancel_comment_reply_link(); ?>
 <?php if (get_option('comment_registration') && !is_user_logged_in()) { ?>
<?php printf( __('Musisz być zalogowany w, aby dodać komentarz.', 'basey'), wp_login_url( get_permalink() ) ); ?>
 <?php } else { ?> <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform "> <?php if (is_user_logged_in()) { ?>
<?php printf(__('Zalogowany jako %s.', 'basey'), get_option('siteurl'), $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php __('Wyloguj się z tego konta', 'basey'); ?>"><?php _e ('Wyloguj się »', 'basey'); ?>
 <?php } else { ?> <etykieta dla="autora"><?php _e('Nazwa', 'basey'); if ($req) _e(' (wymagane)', 'basey'); ?> <input type="text" class="text" name="autor" id="autor" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex ="1" <?php if ($req) echo "aria-required='prawda'"; ?>> <?php _e('E-mail (nie zostanie opublikowany)', 'basey'); if ($req) _e(' (wymagane)', 'basey'); ?> <input type="email" class="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex ="2" <?php if ($req) echo "aria-required='prawda'"; ?>> <?php _e('Witryna', 'basey'); ?> <input type="url" class="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex ="3"> <?php } ?> <?php _e('Komentarz', 'basey'); ?> <textarea name="comment" id="comment" class="input-xlarge" tabindex="4"></textarea> <input name="submit" class="btn btn-primary" type="prześlij" id="prześlij" tabindex="5" value="<?php _e('Prześlij komentarz', 'basey'); ?>"> <?php comment_id_fields(); ?> <?php do_action('formularz_komentarza', $post->ID); ?> </form> <?php } // jeśli wymagana jest rejestracja i nie jesteś zalogowany ?>
 <?php } Wszelka pomoc byłaby BARDZO mile widziana - u mnie odrobiny kończą się tutaj. Dziękuję! _EDYTUJ:_ To może być bardziej pytanie o prawidłowe używanie bufora wyjściowego i/lub filtrów WP. Dziękuję!


title: Jak wstawić identyfikator galerii do posta?

text: Czy można wstawić konkretny identyfikator galerii do posta w wordpressie 3.5? Chcę załadować galerię z postu za pomocą Ajax. Używam do tego shortcode `[galeria]`. Ale kiedy używam go w ten sposób: echo do_shortcode('[gallery id="'.$_POST['postid'].'"]'); Otrzymuję wszystkie obrazy dołączone do posta za pomocą $_POST['postid'], a nie obrazy z galerii, która jest wstawiona do tego posta.


title: Jak zmienić nazwę wp-login.php dla Multisite?

text: Chcę ukryć i zmienić nazwę `wp-login.php` w moim adresie URL do celów brandingowych w konfiguracji Multisite. Z tego posta na forum widzę, że mogę zmienić `mysite.com/wp-login.php` na `mysite.com/login`, wstawiając `RewriteRule ^login$ wp-login.php` do mojego `.htaccess`. Podoba mi się, że pasek adresu URL nie pokazuje przekierowania logowania do wp-login. Jeśli spróbuję zalogować się pod podwitryną `mojawitryna.com/subsite1/login`, pokaże się to jako przekierowanie z `mojawitryna.com/subsite1/wp-login` do `http://mojawitryna.com/subsite1/wp-login.php ?privacy=1&redirect_to=%2Fsubsite1%2Flogin` 1. Jak mogę wyświetlić ją jako `mysite.com/subsite1/login` bez przekierowania na pasku adresu? 2. Jeśli wpiszę `mysite.com/wp-login.php`, wyświetli się strona nie znaleziona. Świetny! Teraz, jeśli wpiszę `mysite.com/subsite1/wp-login.php`, pokaże się, że strona istnieje. O nie! Jak ukryć, że ta strona istnieje dla podwitryn? Próbowałem sugestii `functions.php` w moim motywie potomnym, ale utworzyła pętlę przekierowania.


title: Niestandardowy (nowy) plik motywu

text: w domyślnych plikach tematycznych tj. index.php, single.php itp. mogę normalnie korzystać ze wszystkich funkcji WP. Ale jeśli utworzę nowy plik motywu, na przykład custom-file.php i umieszczę go w folderze motywu, nie mam dostępu do domyślnych funkcji WP, takich jak get_header itp. Czy jest coś, co mogłoby być zawarte w custom pliki, aby były rozpoznawane przez WP jako część motywu?


title: Różne linki „czytaj więcej”

text: Czy istnieje prosty sposób na dodanie kolejnego linku „czytaj więcej”? Używam standardowego linku „Kontynuuj czytanie” dla niektórych postów, ale chcę też użyć innego tekstu, takiego jak „więcej informacji” dla innych postów. Czy mogę to zrobić za pomocą `the_excerpt`? Późniejsza aktualizacja: są to dwie standardowe funkcje dwudziestuelven, które są używane w linkach „czytaj więcej” lub „czytaj dalej”. function dwadzieściaeleven_continue_reading_link() { return ' ' . __( 'więcej +', 'dwadzieścia jedenaście' ) . ''; } function dwadzieściaeleven_auto_excerpt_more( $więcej ) { return '…' . dwadzieścia jedenaście_kontynuuj_odczyt_link(); } add_filter( 'excerpt_more', 'twentyeleven_auto_excerpt_more' ); Bazując na kodzie amit pomyślałem o dołączeniu instrukcji `if / else` do funkcji `twentyeleven_auto_excerpt_more`, ale zrobiłem coś złego, ponieważ to nie działa. Oto kod: function dwadzieściaeleven_auto_excerpt_more( $more ) { $read_more_link_2 = "Wyświetl obraz"; if ( in_category( 'wydarzenia' )) { return $read_more_link_2; } else { return '…' . dwadzieścia jedenaście_kontynuuj_odczyt_link(); } add_filter( 'excerpt_more', 'twentyeleven_auto_excerpt_more' ); Myślę, że to oczywiste, że PHP nie jest moją mocną stroną.


title: blokuj wyszukiwarki dla wszystkich stron Z WYJĄTKIEM strony głównej

text: Mam pytanie. Większość mojej strony jest chroniona hasłem, więc nie jest indeksowana przez wyszukiwarki. Innymi słowy, nie pojawiają się w wynikach wyszukiwania – to dobrze. Istnieje jednak około 40 stron, które nie są chronione hasłem, więc pojawiają się w wynikach wyszukiwania - to nie jest dobre. Przeczytałem ciekawą część tutaj w "Yoast": https://yoast.com/prevent-site-being-indexed/, która omawia użycie: Header set X-Robots-Tag "noindex, nofollow" w pliku .htaccess. Według Yoasta wydaje się to preferowaną metodą blokowania wszystkich stron. Ale chcę zablokować wszystkie strony i zezwolić tylko na jedną stronę - moją główną stronę główną. W jaki sposób mogę to zrobić? Czy jest dodatkowy kod, który mogę dodać do powyższego przykładu? Proszę doradź. Pozdrawiam, Steve


title: Definiowanie możliwości dla niestandardowego typu postu

text: Przy tworzeniu niestandardowego typu posta staram się zdefiniować możliwości, ale to nie działa. Co jest nie tak z tym kodem? $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'hierarchical ' => false, 'menu_position' => null, 'supports' => array('title'), 'capabilities' => array( 'edit_post' => 'edit_video', 'edit_posts' => 'edit_videos', ' edit_others_posts' => 'edit_others_videos', 'publish_posts' => 'publish_videos', 'read_post' => 'read_videos', 'read_private_posts' => 'read_private_videos', 'delete_post' => 'delete)_videos);


title: wyświetlaj tytuł ostatnich postów w polu tekstowym na stronie głównej

text: Utworzyłem dwa pola tekstowe na mojej stronie głównej za pomocą krótkiego kodu z-edity i chcę wyświetlać tytuły ostatnich postów jako tekst markizy w pierwszym łączu i część tekstu również jako markizę w drugim polu. Jakaś pomoc ?


title: Strefa członków z zarządzanym zewnętrznie uwierzytelnianiem htaccess / htpasswd?

text: Patrzę na możliwość przekonwertowania witryny klienta z niezliczonych ręcznie zbudowanych stron internetowych na instalację WordPress. Wyzwaniem jest to, że mamy wolny obszar i obszar tylko dla członków. Obszar tylko dla członków to folder chroniony przez standardowe uwierzytelnianie Apache .htaccess / htpasswd. Folder haseł jest zarządzany zewnętrznie przez starsze oprogramowanie rozliczeniowe, którego NIE chcemy zmieniać. Myślę, że najlepszą odpowiedzią może być wykonanie DWÓCH instalacji WordPressa, jednej w katalogu głównym domeny i jednej w folderze członków. W ten sposób żadna z instalacji nie musi być świadoma uwierzytelniania Apache. Mam wrażenie, że MultiSite nie spełniłby mojego celu, ponieważ potrzebuję prawdziwego fizycznego folderu obszaru członków. Nie jestem pewien, czy funkcja „wirtualna” da mi to, czego chcę – zarówno przepisywanie adresu URL, jak i wyzwalanie uwierzytelniania htpasswd. Przeszukałem fora i repozytoria wtyczek związane z członkami lub innymi obszarami prywatnymi. Wszystkie rozwiązania, jakie mogę znaleźć, zakładają, że członkowie są zarządzani przez WordPress. W moim przypadku tak nie jest! Zamierzam użyć WordPressa do zarządzania treścią i pozostawić WordPressa nieświadomego problemu z uwierzytelnianiem. Czy podwójna instalacja jest wykonalna i czy jest to właściwe podejście? Czy mogę po prostu wykonać podwójną instalację do pojedynczej bazy danych MySQL, po prostu określając niestandardowy prefiks tabeli (nie wp_) dla drugiej instalacji?


title: Co robi funkcja do_action() w wordpressie?

text: W moim projekcie wordpress widziałem kilka razy użycie funkcji `do_action()`. Nie wiem, jak działa ta funkcja, dlaczego ją nazywamy lub gdzie jej używamy? Czy ktoś może mi to wyjaśnić?


title: Jak zaimplementować paginację wstecznie np. pierwszy - 20 - 19 - 18 - ... - 3 - 2 - 1 - ostatni

text: Jak mogę zaimplementować paginację w stylu wstecznym, jak pokazano w tytule. (najnowsze) pierwsza - 20 - 19 - 18 - ... - 3 - 2 - 1 - ostatnia (najstarsza) Mam wtyczkę wyszukiwania, nie ma jeszcze wtyczki do tego. Ponieważ chcę statycznego wyniku na paginację, dla SEO mam nadzieję, że nie mylę się z tą opinią. Dziękuję. **EDYTUJ** Próbuję wyjaśnić próbką. np.: każda strona ogranicza się do 3 postów i ma łącznie 15 postów (w sumie 5 stron). Pozycja w Blog Home Default to strona 5 (ponieważ najnowsze strony to 5). Strona główna bloga jest więc wyświetlana w następujący sposób: (data) – Tytuł **15** Sty 2011 – Fałszywy tytuł **14** Sty 2011 – Fałszywy tytuł **13** Sty 2011 – Paginacja fikcyjnego tytułu: ( 5) - 4 - 3 - 2 - 1 A jeśli kliknę stronę 4, wpis treści nie wyświetla się poprawnie, wyświetla się tak: (data) - Tytuł **06** Sty 2011 - Fałszywy tytuł **05** Sty 2011 – fikcyjny tytuł **04** sty 2011 – fikcyjny tytuł wyświetla paginację: 5 - (4) - 3 - 2 - 1 Zamiast tego strona 4 powinna wyglądać tak: **12** Sty 2011 - A fikcyjny tytuł **11** sty 2011 - fikcyjny tytuł **10** sty 2011 - fikcyjny tytuł wyświetlanie stron: 5 - (4) - 3 - 2 - 1 > uwagi: Wstawiam również próbkę z **datą* * , aby była przejrzysta próbka. Jak to się stanie bez dotykania rdzenia Wordpressa? Dziękuję.


title: Widżet WordPress wielokrotnego użytku

text: Widget stworzyłem używając prostego przykładu na WordPress Codex: <?php function widget_container_latest_posts() { global $wpdb; globalny $post; get_template_part( '/zawiera/kontenery/kontener-najnowsze-posty' ); } wp_register_sidebar_widget( 'widget_container_latest_posts_1', 'Kontener Najnowsze posty', 'widget_container_latest_posts', array( 'description' => 'Kontener Najnowsze posty - Dodaje ostatnie posty.' ) ); ?> Działa dobrze, ale chcę, aby ten widżet był używany wiele razy, a nie tylko jeden raz po przeciągnięciu go na miejsce widżetów paska bocznego, abym mógł dodać go na przykład na wszystkich innych paskach bocznych. Dziękować


title: Ogólna strona szablonu taksonomii-terminu

text: z powodu mojej hierarchii taksonomii mój szablon taksonomii-type.php jest już używany, czy istnieje sposób, aby mieć tylko jeden szablon taksonomii-type-term.php? Mam 13 podwarunków, czy muszę utworzyć 13 szablonów typu taksonomii-[term].php ? Dziękuję. Cyryl


title: Jak diagnozować i kontrolować problemy z kodowaniem?

text: Co mamy do projektu to: * wiele lokalizacji (produkcja, test, rozwój lokalny); * migrowane wieloma metodami (PHPMyAdmin, Navicat, BackupBuddy); Problem polega na tym, że **podczas gdy oryginalna witryna produkcyjna wydaje się działać dobrze, pozostałe instalacje są stale nękane problemami z kodowaniem tekstu**. Oryginalna strona jest skonfigurowana z `łacińską` tabelami MySQL, ale WP jest skonfigurowany i obsługuje strony jako `UTF-8`, co (na naszym czacie) już jest problematyczne. Reszta witryn (których bazy danych w większości odzwierciedlają oryginalną witrynę produkcyjną) wyświetlają problemy, takie jak: * uszkodzone znaki (możliwe do poprawienia poprzez dostosowanie ustawień kodowania WP); * zepsute znaki (nie można ich naprawić przez dostosowanie ustawień kodowania WP); * strona działa dobrze, ale dostarcza uszkodzone znaki do zewnętrznych bibliotek. Ponieważ przez jakiś czas próbowałem to rozwiązać i nie ma zbyt wielu informacji na temat diagnozowania problemów z kodowaniem w WP, moje pytania są następujące: 1. Jak wiarygodnie zdiagnozować, czy witryna ma problemy z konfiguracją kodowania, nawet jeśli może ich nie wyświetlać w normalne okoliczności? 2. Jakie zasady należy sformułować, umieścić w dokumentacji i egzekwować, aby zapobiec problemom z kodowaniem podczas migracji?


title: Przypisać jeden polecany obraz do wielu postów?

text: Zaimplementowałem formularz front-endowy do przesyłania postów. Przesyłanie obrazu jest obsługiwane przez bibliotekę multimediów Wordpress 1. Użytkownicy klikają „Prześlij obraz” 2. Otwiera się biblioteka multimediów 3. Użytkownicy wybierają istniejący obraz lub przesyłają nowy 4. Ścieżka do obrazu (URL) zostaje wypełniona w pole `<input>` **Problem:** Moje pytanie dotyczy polecanego obrazu: Jeśli użytkownicy wybiorą **istniejący** obraz z Biblioteki mediów, ten obraz zostanie ponownie dodany do Biblioteki mediów, czego chciałem uniknąć z dwóch powodów: a) Oszczędność miejsca na dysku * Obecnie mam jeden obraz zapisany dwukrotnie:`http://localhost/?attachment_id=2523` oraz `http://localhost/images/picture.jpg` b) Unikanie duplikaty w bibliotece multimediów * Użytkownicy mogą uzyskać dostęp do Biblioteki multimediów z poziomu interfejsu użytkownika i nie chcę ich, więc zobacz zduplikowane obrazy **Czy można przypisać jeden obraz jako polecany obraz do wielu postów?** Oto, co mam : // $featuredimg zawiera adres URL do obrazu: http://mydomain.com/wp-content/uploads... $filetype = wp_check_fil etype( nazwa podstawowa( $featuredimg ), null ); $wp_upload_dir = wp_upload_dir(); // Przygotuj tablicę danych posta dla załącznika. $attachment = array( 'guid' => $wp_upload_dir['url'] . '/' . basename( $featuredimg ), 'post_mime_type' => $filetype['type'], 'post_title' => preg_replace( '/ \.[^.]+$/', '', basename( $featuredimg ) ), 'post_content' => '', 'post_status' => 'dziedziczy' ); $thumb_id = wp_insert_attachment( $attachment, $featuredimg, $pid ); // Upewnij się, że ten plik jest uwzględniony, ponieważ wp_generate_attachment_metadata() od niego zależy. require_once( ABSPATH . 'wp-admin/includes/image.php' ); // Wygeneruj metadane dla załącznika i zaktualizuj rekord bazy danych. $attach_data = wp_generate_attachment_metadata ($thumb_id, $featuredimg ); wp_update_attachment_metadata ($thumb_id, $attach_data); update_post_meta( $pid, '_thumbnail_id', $thumb_id );


title: Jak mogę zmienić przypisaną rolę użytkownika w WordPress 3.5.1?

text: Moja obecna rola użytkownika to „Administrator”. Chciałbym zmienić swoją rolę na "Edytor" (poprzez pole bazy danych). Przeczytałem Database_Description, ale to nie pomogło.


title: Ogranicz dostęp do strony w backendzie

text: Jak mogę ograniczyć edycję strony z zaplecza tylko do określonego użytkownika? Wypróbowałem kilka wtyczek, ale pomyślałem, że zrobienie tego bez wtyczek będzie dla mnie dobrym rozwiązaniem. Jakie środki mogę podjąć, aby rozwiązać ten problem?


title: Jak ukryć pola w moich profilach użytkownika

text: Chcę ukryć pola link `nick`, `imię`, `nazwisko` itp. Nie mogłem znaleźć odpowiedzi w kodeksie i nie chcę dotykać podstawowych plików. Czy jest na to jakieś rozwiązanie?


title: Wtyczka: Jak mam sobie radzić z usuwaniem komentarzy?

text: Piszę wtyczkę, która tworzy api dla niestandardowego typu postu. Użytkownicy mogą komentować niestandardowe typy postów, a komentarze są dodawane przy użyciu podstawowych metod komentarzy WP. Moje pytanie pojawia się, gdy próbuję poradzić sobie z tym, co zrobić podczas usuwania komentarza. Rozumiem, jakich metod użyć, ale moje pytanie dotyczy bardziej ogólnej procedury. Kiedy dodasz komentarz, może to być odpowiedź na inny komentarz. Jeśli rodzic komentujący zdecyduje się usunąć swój komentarz, co należy zrobić z odpowiedziami? Czy należy je również usunąć? Czy ich wskaźnik nadrzędny powinien po prostu przesunąć się o jeden w górę drzewa? Możesz również zastąpić treść usuniętego komentarza komunikatem typu „Komentarz usunięty”. Jak symbol zastępczy. Wówczas odpowiedzi mogłyby zachować ten sam wskaźnik nadrzędny, ale utraciłyby kontekst treści oryginalnego komentarza nadrzędnego. Czy przemyślam to?


title: Wtyczka parsera XML

text: Mam źródło danych XML, które aktualizuje się codziennie. Czy istnieje wtyczka, która pozwoli mi tworzyć zapytanie i aktualizować je codziennie przy jak najmniejszym stopniu programowania i wyświetlać dane na stronie?


title: Jak wyświetlić zaplanowane posty w Kalendarzu Google?

text: Zazwyczaj planuję posty z dużym wyprzedzeniem, zanim zostaną opublikowane. Czasami mogę mieć nawet 5-10 zaplanowanych postów do opublikowania w nadchodzących tygodniach. Czy istnieje sposób na pokazanie kalendarza ze wszystkimi moimi zaplanowanymi postami? Idealnie chciałbym je zobaczyć w Kalendarzu Google.


title: Wtyczka do edycji opcji na wielu stronach?

text: czy ktoś zna wtyczkę do masowej edycji ustawień instalacji wielostanowiskowej? Coś jak Plugin Commander dla ustawień?


title: foreach, posiadanie wp_query w środku, przerwy po wyświetleniu jednego wyniku

text:
Staram się tworzyć zakładki kategorii, które pokazują posty z wybranej zakładki kategorii. Próbowałem po swojemu, ale otrzymuję tylko jeden post dla każdej kategorii, podczas gdy powinien zwrócić wszystkie posty w tej kategorii. Wklejam poniższy kod, czy ktoś może mi pomóc rozwiązać ten problem?
 <?php $args = array( 'orderby' => 'name', 'parent' => 13 ); $categories = get_categories( $args ); $i=0; foreach ( $kategorie jako $kategoria ) { $i++; echo '
nazwa)).'" href="dtab'.$i.'">' . $kategoria->nazwa . '
'; } ?>

 <?php $pargs = array( 'orderby' => 'name', 'parent' = > 13 ); $categories_loop = get_categories( $pargs ); foreach ( $categories_loop as $category_loop ) { query_posts('category_name='.$category_loop->slug.'&posts_per_page=-1&order=desc'); $j=0; ?> <?php if ( have_posts() ): ?> <?php while ( have_posts() ): the_post(); $j++ ?> <div class="tab-pane" id="dtab<?php echo $j ?>">

 DATA	 TYTUŁ	 ROZMIAR
 <?php $file_size = rwmb_meta('file_size'); $file_url = rwmb_meta( 'file_url'); ?>
 <?php the_time('d/m/Y'); ?>	 <?php the_title(); ?>	 <?php echo $rozmiar_pliku; ?>	 <a href="<?php echo $file_url ?>" class="button3 download_btn" target="_blank">POBIERZ

 <?php endwhile; ?>
<?php //previous_posts_link('PREV'); ?>

<?php //next_posts_link('NEXT' ,$download_query->max_num_pages); ?>
 <?php wp_reset_query();?> <?php else: ?>
<?php _e( 'Przepraszamy, nie znaleziono zawartości.' ); ?>
 <?php endif; } ?>


title: Jak wyświetlić polecany obraz z galerii obrazów za pomocą odwołania w kodzie? (przykład w obrębie)

text:
Próbowałem uzyskać polecany obraz postu, który ma być wyświetlany poza pętlą dla wszystkich miniatur obrazów. W ten sposób polecany obraz (produktu) jest wyświetlany w dużym rozmiarze, a miniatury tuż pod nim. Wszystkie zdjęcia w poście (produktu) są umieszczone w ich własnej galerii zdjęć. Proszę zobaczyć komentarz w kodzie - miejsce, w którym próbuję wyświetlić polecany obraz. Jestem pewien, że po prostu brakuje mi czegoś łatwego! Dziękuję!! if (themedy_get_option('product_gallery')) { add_action('genesis_post_content', 'themedy_product_images', 1); } function themedy_product_images() { ?> <?php global $post; $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => 999, 'order'=> 'ASC ', 'orderby' => 'menu_order' ) ); if ( $images ) { ?>
 <?php //Jak tutaj wstawić wyróżniony obraz posta?>

 <?php foreach ( $obrazy jako $obraz ){ $gallery_image_info = wp_get_attachment_image_src( $obraz->ID, 'pełny'); $gallery_image = $gallery_image_info[0]; $gallery_thumb_info = wp_get_attachment_image_src( $image->ID, 'Galeria kciuk'); $gallery_thumb = $gallery_thumb_info[0]; $gallery_image_alt = get_post_meta($image->ID, '_wp_attachment_image_alt', prawda) ? trim(strip_tags( get_post_meta($image->ID, '_wp_attachment_image_alt', true))) : trim(strip_tags( $image->post_title )); echo '”; } ?>

 Jeśli używam: <?php the_post_thumbnail(); ?> Wyprowadza:  Obraz jest zbyt duży :( potrzebuję go do wyświetlenia z następującą klasą .. class="alignnone size-large wp-image-6593"


title: Przenieś wartość z jednego metaklucza do drugiego

text: Pytanie dotyczące migracji: Jak uporządkować zapytanie MySQL, aby przenieść wartość z jednego meta_key do innego meta_key? np. mam stary meta_klucz „guest_sort” powiązany z „posts” do „tf_exhibitor_sort” pod typem wpisu „exhibitor_listing” Przeniosłem już posty z oryginalnej kategorii postów do post_type. Nadal możliwe, czy nie mam szczęścia i będę musiał wprowadzić dane? Dziękuję.


title: Skąd wordpress wie, którą witrynę skonfigurować (na wielu witrynach)?

text: Ok dla subdomeny to proste. Wydaje mi się, że po prostu szuka subdomeny: `blog5.site.com` => `explode('.', $_SERVER['REQUEST_URI'])...` Ale jak to robi w przypadku konfiguracji podkatalogów? Powinno to być interesujące, biorąc pod uwagę, że strony, taksonomie i inne elementy mogą zająć pierwszą część części po nazwie domeny witryny. Jak odróżnić wewnętrzny blog od strony bloga głównego? Jedyne, o czym mogłem pomyśleć, to dopasowanie bazy danych do całej listy blogów, a jeśli się nie powiedzie, dopasuje zawartość głównego bloga, ale byłoby to naprawdę głupie, ponieważ poważnie spowalnia witrynę...


title: Jak określić „Główny pasek boczny” dla motywu?

text:
Kiedy instaluję i aktywuję mój motyw, wszystkie domyślne widżety paska bocznego są umieszczane w pierwszym widżecie paska bocznego, który pojawia się u góry kolekcji widżetów mojego motywu. Jednakże, ponieważ ten obszar widżetu jest widżetem nagłówka, te elementy zniekształcają domyślny widok mojego motywu po pierwszej aktywacji (obszar nagłówka zostaje rozciągnięty do wysokości, aby pomieścić wszystkie te widżety). Wierzę, że dzieje się tak, ponieważ widget nagłówka jest pierwszym paskiem bocznym, który rejestruję w functions.php Czy istnieje sposób, poza zmianą kolejności moich widżetów paska bocznego, na określenie, do którego paska bocznego zostaną przypisane domyślne widżety? Rozumiem, że mogę zmienić kolejność, w jakiej rejestruję paski boczne, a domyślne widżety paska bocznego zostaną umieszczone w pierwszym. Jednak w moim przypadku chcę, aby pasek boczny „nagłówka” pojawił się jako pierwszy, aby dokładnie odzwierciedlał kolejność układu od góry do dołu rzeczywistych obszarów widżetów. Ale nie chcę, aby domyślne paski boczne były umieszczane w pasku bocznym „nagłówka”. Chcę, aby zostały umieszczone na pasku bocznym „Pasek boczny” (drugi zarejestrowany, jak widać z poniższego kodu) /* PASKI BOCZNE ************************* ********/ register_sidebar(array( 'name' => 'Header', 'id' => 'home-header-widget', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '', 'after_title' => '', ) ); register_sidebar(array( 'name' => 'Sidebar', 'id' => 'home-sidebar-widget', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ));


title: Dozwolony rozmiar pamięci 33554432 bajtów wyczerpany (próbowano przydzielić 9967617 bajtów) w ...\wp-includes\functions.php

text: Po przekroczeniu limitu czasu skryptu i nie można nic z tym zrobić (ponieważ działa na obskurnym udostępnionym zasobie hostowanym, w którym nie masz kontroli nad limitami czasu skryptu), czy możesz uruchomić zamknięcie rejestru lub coś w tym celu? Możesz zapytać, co to pytanie ma wspólnego z wordpressem... Cóż, w pewnym sensie tak. w mojej procedurze migracji przetwarzam tabelę rekordów 10 000 i przeprowadzam ciężkie parsowanie. Muszę wybrać * bo wszystko tam potrzebuję. Strona w końcu wygaśnie. Następnym razem, gdy uruchomię tę samą stronę, otrzymuję Dozwolony rozmiar pamięci 33554432 bajtów (próbowałem przydzielić 9967617 bajtów) w ...\wp-include\functions.php w wierszu 3335 Brak wtyczek, żadne ustawienia nie zostały zmienione. Mogę wygenerować ten błąd, kiedy tylko zechcę. Więc nie mów, że sprawdź swoje ostatnie działania i wtyczki i to wszystko. To jest w wersji waniliowej, tej, którą otrzymujesz po 5 minutowej instalacji. Cóż, moim pierwszym odruchem było uruchomienie mysql_free_result nad tym RS! ale pytanie brzmi, w którym momencie? idealnym punktem do tego byłoby tuż przed upływem limitu czasu. Tak więc potrzeba funkcji wyłączania ... ale pytanie brzmi, jak to zrobić?


title: Jaki jest parametr ID dla niestandardowych typów postów w query_posts?

text:
W sekcji Admin używam postów z zapytaniami, aby uzyskać tytuł i treść niestandardowego postu this query_posts('post_type=sfnewsletter'); dostanie mi zawartość, której potrzebuję, ale niestety muszę teraz przekazać identyfikator niestandardowego postu za pośrednictwem formularza, a następnie pobrać zawartość, którą wypróbowałem query_posts('p=32'); query_posts('page_id=32'); query_posts('strona=32'); query_posts('sfnewsletter_id=32'); I nie tylko nie otrzymuję odpowiedniego niestandardowego posta, niektórzy z nich zwracają post z identyfikatorem 14 (nie pierwszy lub ostatni post). Potwierdziłem, że 32 to poprawny identyfikator dla niestandardowego postu, który próbuję uzyskać. TO JEST FORMULARZ Przekazuje identyfikator poprawnie <form method="post" action="<?php echo sfn_form_url(); ?>" >

<?php _e( 'Do', 'sfnewsletter' ); ?>	  <select name="sfnewsletter_to" id="sfnewsletter_to"> <option value="0">Proszę wybrać</option> <?php wp_dropdown_roles() ?> </select>

<ty zakres="wiersz"><?php _e( 'Biuletyn', 'sfnewsletter' ); ?>	  <select name="sfnewsletter_newsletter" id="sfnewsletter_newsletter"> <option value="0">Proszę wybrać</option> <?php query_posts('post_type=sfnewsletter'); if (have_posts()) : while (have_posts()) : the_post(); echo '<wartość opcji="' .get_the_ID(). '">' .get_the_title(). '</option>'; koniec; endif; ?> </select>

 <input id="sfnewsletter_hidden" class="regular-text" type="hidden" name="sfnewsletter_hidden" value="<?php esc_attr_e( 'WYŚLIJ' ); ?>" /> <input type="submit" class="button-primary" value="<?php _e( 'Wyślij wiadomość', 'sfnewsletter' ); ?>" />
 </form> TO ROZWIĄZANIE, NA KTÓRE WYPADŁEM. ODPOWIEDŹ, KTÓRĄ ZAAKCEPTOWAŁEM WŁAŚCIWY SPOSÓB, ABY TO ZROBIĆ, MÓJ SPOSÓB TO KRÓWKA * * * ok, wymyśliłem rozwiązanie, które pasuje do mojej sytuacji. Ponieważ wydaje mi się, że nie jestem w stanie użyć mojego niestandardowego identyfikatora posta w zapytaniu, użyłem identyfikatora z formularza i przekonwertowałem go na permalink, a następnie użyłem go w zapytaniu, tak jak $sfnewsletter_slug = basename( get_permalink($sfnewsletter_newsletter ) ); $the_query = new WP_Query( array( 'post_type' =>'sfnewsletter', 'posts_per_page'=>1, 'name'=>$sfnewsletter_slug) ); To daje mi wyjście, którego szukam. * * *


title: Pętla dla niestandardowych typów postów filtrowanych według taksonomii

text: Używam funkcji Custom Post Type w Wordpress 3, aby utworzyć sekcję Wydarzenia dla mojej witryny. Jestem w stanie wyświetlić to za pomocą odpowiednich plików szablonów, ale chcę również, aby wykazy wydarzeń były widoczne na innych stronach. Zrobiłem to z normalnymi typami postów, ale są one oparte na identyfikatorach kategorii, których nie mają niestandardowe typy postów. Każde wydarzenie ma taksonomię dla kraju i chcę mieć możliwość przeglądania wydarzeń i wyświetlania tylko wydarzeń dla określonych krajów, więc chcę mieć możliwość ich filtrowania. Zajrzałem do Kodeksu i wymyśliłem następujące, ale nic nie wyświetla: <?php $args = array( 'post_type'=> 'events', 'country' => 'england' ); $the_query = nowe WP_Query( $args ); if ( $the_query->have_posts() ) : // Pętla while ( $the_query->have_posts() ) : $the_query->the_post(); echo '<li>'; tytuł(); echo '</li>'; koniec; endif; // Zresetuj dane posta wp_reset_postdata(); ?>


title: Obrazy miniatur

text: Czy jest jakiś sposób na automatyczne wygenerowanie miniatury o wymiarach 150 x 150 dla każdego posta na podstawie wybranego obrazu polecanego posta? Byłoby to lepsze niż ręczne wchodzenie do każdego postu, kopiowanie adresu URL obrazu 150x150 i wklejanie go w polu niestandardowym kciuka.


title: Dodajesz dodatkowe pola tekstowe i przesyłasz obraz do strony?

text: Mam stronę kontaktową: ![tutaj podaj opis obrazu](http://i.stack.imgur.com/oeHb9.png) Chciałbym dodać dodatkowe pole tekstowe poniżej edytora tekstu i kolejny przycisk przesyłania obrazu. A następnie wyświetl go w szablonie jako coś takiego: <?php echo get_field('adres')?> <?php echo get_field('photo')?> Czy jest prosty sposób na zrobienie tego w WordPress 3.5+?


title: Dane serializowane

text:
Próbuję dodać dane do serializowanego ciągu — otrzymuję serializowany ciąg z mojej bazy danych — np. a:1:{i:0;s:2:"32";} Odserializuj dodaj do niego wartość, np. 128 zserializuj i zapisz z powrotem Ale otrzymuję s:33:"a:2:{i:0;s:2:"64";i:1;s:3:"128";}"; Skąd się wzięło s:33 i otoczyło resztę cudzysłowami i kończyło się średnikiem? function addItem($serializedArray, $item) { $a = unserialize($serializedArray); $a[] = $pozycja; return serialize($a); } $lp = $wpdb->get_results( $wpdb->prepare("Wybierz MemNo z YP_Members Limit 0, 10") ); foreach ($lp jako $userid){ $user_id = $userid->MemNo; $meta_value = $wpdb->get_var( $wpdb->prepare("Wybierz meta_value z iropiusermeta Gdzie meta_key = 'user_iro_area' AND user_id = $user_id") ); echo "Użytkownik=".$identyfikator_użytkownika."
Wartość=".$meta_wartość."
"; if ($meta_value){ $user_iro_area = addItem($meta_value, "128"); update_user_meta($user_id, 'user_iro_area_new', $user_iro_area); } else { // Dodaj meta_key user_iro_area echo "Dodaj nowego mnie
"; $iro_group_num[] = "128"; $user_iro_area = serializuj ($iro_group_num); update_user_meta($user_id, 'user_iro_area_new', $user_iro_area); } } // Koniec głównej pętli while


title: Błąd po utworzeniu nowej witryny w wielostanowiskowej instalacji wordpress

text: Po uzyskaniu dostępu do wp-signup.php i utworzeniu nowego użytkownika i witryny, witryna jest tworzona normalnie, ale pojawia się błąd: > Ostrzeżenie: sprintf() [function.sprintf]: Za mało argumentów w > /home/storage/1 /b1/0c/liquidasites2/public_html/wp-includes/ms-functions.php > w linii 1271 Jakieś sugestie?


title: Dlaczego mój htaccess przepisany zwraca 404?

text: Oto mój plik `.htaccess` # POCZĄTEK WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^abc/products-(.+)$ def/products-$1 [R =301,L] Warunek ponownego zapisu %{REQUEST_FILENAME} !-f Warunek ponownego zapisu %{REQUEST_FILENAME} !-d Reguła ponownego zapisu . /wp/index.php [L] </IfModule> Mam wiele linków url w podkatalogu /abc/, na przykład http://www.domain.com/abc/products-12345 http://www.domain. com/abc/products-23456 http://www.domain.com/abc/products-34567 http://www.domain.com/abc/new-items Teraz chcę przepisać adres URL /abc/products- na / def/products- http://www.domain.com/def/products-12345 http://www.domain.com/def/products-23456 http://www.domain.com/def/products-34567 http ://www.domain.com/abc/new-items kod: `RewriteRule ^abc/products-(.+)$ def/products-$1 [R=301,L]` może spowodować przekierowanie strony, ale po wpisaniu `http://www.domain.com/abc/products-12345` przeglądarka przejdzie do `http://www.domain.com/def/products-12345` ale strona wyświetli się jako `404` . Jeśli go usunę, `http://www.domain.com/abc/products-12345` mógłby działać dobrze. Dlaczego i jak? Dziękuję. **Aktualizacja:** Przeniosłem `RewriteRule ^abc/products-(.+)$ def/products-$1 [R=301,L]` przed `RewriteRule ^index\\.php$ - [L]` nadal otrzymujemy „404”. I dodaję `echo get_query_var('page_id');` w `404.php`, to zwraca `0`. dlaczego adres URL może przekierowywać, ale nie trafia na właściwą stronę?


title: Jak zatrzymać wyświetlanie widżetu w witrynie mobilnej?

text: Na mojej głównej stronie użyłem widżetu wyszukiwania na pasku bocznym. Jednak motyw mobilny, którego używam (minileven), ma już wbudowane pole wyszukiwania w pasku menu. Powoduje to pojawienie się drugiego pola wyszukiwania na pasku bocznym (które pojawia się po treści posta) z powodu widżetu. Jak zatrzymać wyświetlanie widżetu wyszukiwania w witrynie mobilnej? Oto kod dla `sidebar.php` z motywu mobilnego: <?php /** * Pasek boczny zawierający główny obszar widżetów. * * @package Minileven */ ?> <?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?> <div id="secondary" class="widget-area" role="complementary"> <?php dynamic_sidebar ( 'pasek boczny-1' ); ?> </div><!-- #dodatkowy .widget-area --> <?php endif; ?> Alternatywnie, czy nie byłoby lepiej nie używać widżetu paska bocznego wyszukiwania i umieścić pole wyszukiwania na stałe w głównym motywie witryny? Czy zwykle motywy WordPress to robią? (Planuję opublikować stworzony przeze mnie motyw WordPress).


title: Pobierz fragment treści posta i wyślij go jako tytuł, aby utworzyć nowy post

text: Wyjaśniając mój cel: utworzyłbym tytuł, biorąc pierwsze słowa z treści posta. Np. w interfejsie administratora pole tytułu będzie puste, a pierwsze 10 słów treści zostanie wysłanych jako tytuł podczas tworzenia nowego posta. Dzięki za wszelką pomoc.


title: Paginacja: Jak zawsze pokazywać „poprzedni”?

text: Do paginacji używam następującego kodu. // Funkcja stronicowania my_paginate_links() { global $wp_rewrite, $wp_query; $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1; $pagination = array( 'base' => @add_query_arg('page','%#%'), 'format' => '', 'total' => $wp_query->max_num_pages, 'current' => $current , 'prev_text' => __(''), 'next_text' => __('next »'), 'end_size' => 1, 'mid_size' => 2, 'show_all' => true, 'type' = > 'lista' ); if ( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 )) ) .'page/%#%/', 'paged' ); if ( !empty( $wp_query->query_vars['s'] ) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) ); echo paginate_links( $paginacja ); } Gdy jest na pierwszej stronie, „poprzedni” link nie jest wyświetlany. Rozumiem dlaczego, ale chciałbym to pokazać, ponieważ projektuję witrynę w określony sposób. Czy jest część powyższego kodu, którą mogę zmienić, aby tak się stało? Przeczytałem kodeks dotyczący tego, ale nie mogłem znaleźć odpowiedzi, która miałaby dla mnie sens. Będę wdzięczny za wszelkie wskazówki. Dziękuję Ci.


title: Ponowne pisanie argumentu kategorii

text:
Mam motyw, który ma argument kategoria, jednak wyświetla je w złej kolejności <?php $categories= get_categories('taxonomy=types&title_li='); foreach ($categories as $category){ ?> Chcę, aby wyświetlał to w ślimaku, powiedzmy na przykład, aby mogły być w porządku. Czy byłoby tak, gdybym dodał następujący argument? <?php $categories= get_categories('taxonomy=types&title_li=' 'orderby' => 'nazwa',); foreach ($categories as $category){ ?> to jest zapytanie o pełną kategorię, po prostu umieszcza je w złej kolejności: <?php $categories= get_categories('taxonomy=types&title_li='); foreach ($categories as $category){ ?> <?php //print_r(get_term_link($category->slug, 'types')) ?>
<a href="<?php echo get_term_link($category- >slug, 'typy') ?>" class="<?php echo $category->category_nicename;?>" data-type="<?php echo $category->category_nicename;?>"><?php echo $ kategoria->nazwa;?>


title: Jak usunąć wszystkie posty, kategorie i tagi z bazy danych Wordpress

text: Mam stronę WP z ponad 40 000 postów. Teraz chcę usunąć wszystkie posty, kategorie i tagi. Więc Cała zawartość i powiązana meta. Wszystko, co chcę zachować, to statyczne pliki. Czy istnieje prosty sposób na zrobienie tego poprzez bazę danych? Jakieś zapytanie, aby usunąć wszystkie odpowiednie tabele? Przepraszam, nie jestem dobry z db i kodem, więc proszę o szczegółowe wyjaśnienie lub pełne zapytanie. Wielkie dzięki. Wtyczki lub inne rozwiązanie nie działają dla mnie, potrzebuję zapytania mysql.


title: Paginacja dla ślimaka kategorii zwraca wartość 404, gdy strona >= 2

text: Mam niestandardowy typ i slug to: 'rewrite' => array('slug' => 'blog/%blogs_tax%'), A po `register_post_type()` mam funkcję do przepisywania zmiennej slug. Działa dobrze, ale mam problemy z paginacją... Gdy próbuję uzyskać dostęp do czegoś takiego jak http://www.site.com/blog/job/page/2/ (praca to kategoria), otrzymuję 404. paginacja za pomocą prostego ślimaka z innego niestandardowego typu, na przykład: `'slug' => 'cases/'`) działa dobrze... problem występuje tylko wtedy, gdy używam zmiennej w slugu (%blogs_tax% lub inny). Jak to naprawić? Dziękuję.


title: Jak utrzymujesz serwer live i testowy?

text: Mam działającą witrynę i serwer testowy (XAMPP), na którym pierwotnie zbudowałem witrynę przed jej opublikowaniem. Oczywiście istnieje wiele rzeczy, które musisz zrobić, aby przenieść witrynę z jednego miejsca do drugiego. Miałem nadzieję, że wykorzystam zbiorowe doświadczenie, aby znaleźć najlepszy sposób na zrobienie tego, ograniczając zamieszanie do minimum. Oczywistą odpowiedzią (przynajmniej dla mnie) jest zachowanie folderu plików do scalenia z plikami XAMPP, gdy jest on zbudowany w witrynie testowej, oraz folderu z tymi samymi plikami, ale z informacjami o serwerze produkcyjnym, które należy zastosować, gdy witryna zostanie przesłana . Jest to trochę bałaganiarskie i prowadzi do błędów. Czy istnieje program, którego nigdy nie spotkałem lub lepszy sposób na zrobienie tego? (Zostałem automatycznie ostrzeżony o subiektywności tego pytania, mam nadzieję, że zda ono test społeczności!)


title: Wbudowana funkcja sprawdzania poprawności danych dla adresów URL

text: Mam formularz frontonu, w którym użytkownicy mogą przesyłać adres URL swojej witryny. Właściwie weryfikuję adresy URL w Wordpress za pomocą funkcji PHP i chciałbym wiedzieć, czy istnieje wbudowana funkcja, która pozwala mi to zrobić? To jest funkcja, której faktycznie używam: function validateURL($URL) { $v = "/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_- ]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i"; return (bool)preg_match($v, $URL); }


title: Uzyskiwanie awatara na Facebooku / Twitterze do komentarza Jetpack

text: Korzystając z komentarzy Jetpack, użytkownik może zalogować się za pomocą Facebooka lub Twittera. Awatar, którego używa użytkownik, jest wyświetlany w polu komentarza Jetpack. Jednak gdy użytkownik przesłał swój komentarz, a ja chcę użyć `get_avatar`, awatar nie zostanie zwrócony. Co nie jest takie dziwne, ponieważ nie ma utworzonego użytkownika, a e-mail nie ma przypisanego gravatara. Jak mam odzyskać awatar z Facebooka/Twittera? Czy gdzieś w Jetpack jest taka funkcja?


title: Jak wyróżnić wszystkie aktualne kategorie podczas przeglądania pojedynczego posta?

text: Podczas przeglądania pojedynczego posta funkcja `wp_list_categories` już _zaznacza_ bieżącą kategorię tego konkretnego postu, przypisując klasę CSS `current-cat`. Jeśli jednak post jest mapowany do wielu kategorii, zaznaczana jest tylko pierwsza kategoria (uporządkowana hierarchicznie). Jak mogę przypisać klasę `current-cat` do **wszystkich** kategorii postu?


title: Jak wyłączyć komentarze na nowej stronie

text: Piszę wtyczkę, która po aktywacji tworzy kilka nowych stron. Na tych stronach chcę wyłączyć opcję komentarzy. Dodaję nowe strony za pomocą poniższego kodu: $page['post_type'] = 'page'; $page['post_status'] = 'opublikuj'; $page['post_author'] = 1; $page['post_parent'] = 0; $page['post_title'] = 'Strona testowa'; $page['post_content'] = 'to jest test. chcę wyłączyć opcję dyskusji.'; $pageid = wp_insert_post($strona); W kodeksie WordPress nie widzę żadnej opcji/właściwości/meta do wyłączenia sekcji Dyskusja strony/postu. Czy ktoś wie jak?


title: Posty niestandardowe nie stronicują na stronie archiwum i zwracają 404

text: Desperacko próbuję uruchomić paginację na mojej niestandardowej stronie archiwum typu postów, ale ciągle otrzymuję błąd 404 za każdym razem, gdy klikam `<?php next_posts_link('«Starsze wpisy') ?>` dla p2 wyników. Oto moja sytuacja: * Utworzyłem plik o nazwie 'archive-bvdirectory.php' dla mojego niestandardowego typu posta 'bvdirectory' (zobacz, jak to ustawiłem w moim functions.php poniżej) i 'single-bvdirectory.php ' do przeglądania pojedynczych postów niestandardowych, z których oba mogę wyświetlić dobrze. * _Usunąłem_ stronę o nazwie 'katalog', którą utworzyłem na stałe, ponieważ to czytam, może to powodować problemy z regułami przepisywania WP (URL byłby taki sam, więc ma to sens) * Odświeżyłem moje permalinki ad infinitum i nic to nie zmienia. Czy ktoś może zobaczyć problem z moim kodem lub zasugerować mi coś do wypróbowania? Dzięki za poświęcony czas, Osu **CTP i taksonomie są skonfigurowane tak:** function osu_bv_company() { // Utwórz niestandardowy typ wpisu register_post_type( 'bvdirectory', array( 'label' => __( 'Katalog' ) , 'public' => true, 'has_archive' => 'directory', 'show_ui' => true, 'query_var' => true, 'supports' => array( 'title', 'editor', 'autor', 'excerpt', 'post-thumbnails', 'custom-fields', 'revisions', 'page-attributes', 'thumbnail' // 'trackbacks', // 'comments' ), 'rewrite' => array(' ślimak'=>'katalog') ) ); // Utwórz taksonomię branży $bvindustrylabels = array( 'name' => 'Industry', 'singular_name' => 'Industry', 'search_items' => 'Wyszukaj branże', 'all_items' => 'Wszystkie branże', 'parent_item ' => 'Branża nadrzędna', 'edit_item' => 'Edytuj branżę', 'update_item' => 'Aktualizuj branżę', 'add_new_item' => 'Dodaj nową branżę', 'new_item_name' => 'Nowa nazwa branży', 'choose_from_most_used' => 'Wybierz z najczęściej używanych branż' ); register_taxonomy( 'bvindustry', 'bvdirectory', array( 'hierarchical' => true, 'labels' => $bvindustrylabels, 'sort' => true, 'args' => array('orderby' => 'term_order') , 'rewrite' => array('slug' => 'przemysł') ) ); // Utwórz taksonomię wielkości firmy $bvcosizelabels = array( 'name' => 'Rozmiar firmy', 'singular_name' => 'Rozmiar firmy', 'search_items' => 'Wyszukaj rozmiary firmy', 'all_items' => 'Wszystkie firmy rozmiary', 'parent_item' => 'Wielkość firmy nadrzędnej', 'edit_item' => 'Edytuj wielkość firmy', 'update_item' => 'Zaktualizuj wielkość firmy', 'add_new_item' => 'Dodaj nową wielkość firmy', 'new_item_name ' => 'Nowa nazwa firmy', 'choose_from_most_used' => 'Wybierz z najczęściej używanych rozmiarów firmy' ); register_taxonomy( 'bvsize', 'bvdirectory', array( 'hierarchical' => true, 'labels' => $bvcosizelabels, 'sort' => true, 'args' => array('orderby' => 'term_order') , 'rewrite' => array('slug' => 'rozmiar') ) ); } add_action('init', 'osu_bv_company'); **Mam następujące argumenty ustawione dla mojej pętli w archive-bvdirectory.php** $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; $args = array( // Ogólne args 'post_type' => 'bvdirectory', 'posts_per_page' => 2, 'orderby' => 'title', // ustaw to w formie 'order' => 'ASC', / / Ustaw to w formie 'paged' => $paged ); // Filtruj posty query_posts($args);


title: wtyczka: zmień tekst "crunching....", odrzuć przesyłanie i inna logika

text: Jestem nowy w wordpressie, ale klient chce, aby jeden z moich skryptów został przekonwertowany na wtyczkę wordpress. Podstawowa idea skryptu polega na tym, że plik jest przesyłany z określonym typem pliku, a następnie zaczyna się go dekodować (prywatny typ pliku w firmie). Teraz, gdy jest on przetwarzany, istnieje sposób na edycję „przetwarzania...”. tekst do wyświetlenia statusu dekodowania? Ponadto, jeśli dekodowanie się nie powiedzie, NIE MOŻNA PRZESŁAĆ... czy istnieje sposób na odrzucenie pliku i zatrzymanie procesu przesyłania? kod: add_action('wp_handle_upload', 'filetype_check'); function filetype_check($wyniki) { if ($wyniki['typ'] == "D3m58") { Przetwarzaj($wyniki['plik']); $result2 = wordingcheck(textdecode($decodedtext); if ($result2 != "") { echo "przesyłanie nie powiodło się, następujące powody: <br>\n" . $result2; die(); } } } Tekst powinien być umieszczone wewnątrz paska ładowania zamiast bieżącego `Crunching`.Zamiast `die()` chcę przerwać przesyłanie.> ![Oto co mam](http://img35.imageshack.us/img35/ 8174/y0lf.png)


title: Jak mogę dodać atrybut class do elementu html we wtyczce galerii NextGEN?

text: chcę uzyskać dostęp do jakiegoś elementu html `Li` w mojej galerii NextGEN przez jquery jak ta strona, więc muszę dodać klasy Css Jak mogę to zrobić? Przepraszam za mój zły język angielski


title: Przesyłanie bazy danych na serwer z lokalnego nie jest zgodne z datami postu

text: Właśnie stworzyłem niestandardowy WP CMS i mam problemy z niestandardowym postem utrzymującym prawidłową kolejność na froncie. W zapleczu kolejność dat jest poprawna, ale nie jest odzwierciedlana w interfejsie w tej samej kolejności. Kiedy pobieram DB na mój lokalny komputer, kolejność jest właściwa, ale po wejściu na serwer wyświetla się inaczej?