title: Jak ukryć niestandardowe pola dodane przez wtyczkę?

text:
Chcę ukryć niepotrzebne pola niestandardowe dodane przez wtyczkę „Wszystko w jednym seo” do ekranu edycji posta. W tym celu dodałem następujący kod do functions.php: function my_remove_meta_boxes() { remove_meta_box('aiosp_noindex_wrapper', 'post', 'normal'); remove_meta_box('aiosp_nofollow_wrapper', 'post', 'normalny'); remove_meta_box('aiosp_noodp_wrapper', 'post', 'normalny'); remove_meta_box('aiosp_noydir_wrapper', 'post', 'normalny'); remove_meta_box('aiosp_disable_wrapper', 'post', 'normalny'); remove_meta_box('aiosp_disable_analytics_wrapper','post', 'normalny'); } add_action( 'add_meta_boxes_post', 'my_remove_meta_boxes', 10, 2 ); Ale to nie działa zgodnie z oczekiwaniami. Parametry `$id` podane powyżej funkcjom `remove_meta_box` są pobierane z atrybutów id elementów div html odpowiednich pól niestandardowych. Na przykład:

 ...
 **Aktualizacja** Zgodnie z instrukcjami bueltge, oto rozwiązanie wykorzystujące jquery: Umieść następującą funkcję w functions.php: function remove_all_in_one_seo_fields() { $screen = get_current_screen(); if ( $screen->plik_nadrzędny != "edit.php" ) return; wp_enqueue_script( 'niestandardowe', get_template_directory_uri() . '/js/custom.js', array(), null, true ); } add_action( 'admin_footer', 'remove_all_in_one_seo_fields', 10, 2 ); Oto plik js/custom.js: ( function( $ ) { // ukryj pola "wszystko w jednym seo" ( function() { $('#aiosp_noindex_wrapper').remove(); $('#aiosp_nofollow_wrapper'). remove(); $('#aiosp_noodp_wrapper').remove(); $('#aiosp_noydir_wrapper').remove(); $('#aiosp_disable_wrapper').remove(); $('#aiosp_disable_analytics_wrapper').remove( ); } )(); })( jQuery );


title: Edytuj niestandardową stronę administracyjną

text: Stworzyłem niestandardową stronę menu administratora z: `add_menu_page` Ta strona przesyła formularz do tabeli wp_options w bazie danych. Podstawowy zapis za pomocą `update_option` jak: function addressbook_save (){ if(isset($_POST['Submit'])) { // pobierz opcję $customer = get_option( 'customer' ); // dodaj nowe dane do opcji $customer[] = $_POST['customer']; // zapisz go z powrotem do bazy danych update_option( 'customer', $customer ); } Pokazuję również dane z tego formularza na tej samej stronie z pętlą foreach. Tutaj pojawia się problem: chcę mieć możliwość stworzenia przycisku, który pozwoli mi edytować przesłane dane. Może po prostu pracuję nad tym zbyt długo, aby zrozumieć, dlaczego nie mogę tego zrobić


title: Blokowanie Css wtyczki, aby załadować niestandardowe w katalogu szablonów

text: Jaka jest najpopularniejsza metoda na zatrzymanie/zablokowanie ładowania przez wtyczkę ich stylów css (znajdujących się w katalogu wtyczek), abym mógł użyć utworzonej przeze mnie niestandardowej kopii (znajdującej się w moim katalogu szablonów). Pytam o to, ponieważ mam jeden dokument css (spełniony przy użyciu sass, scss i grunt), który ładuje odwiedzający moją witrynę. Chcę dodać wtyczkę css do tego dokumentu (i korzystać z funkcji zmiennych sass). Wielkie dzięki.


title: Czy można zmienić dwadzieściatwelve_entry_meta linków „według autora”?

text: W motywie Dwadzieścia dwanaście funkcja `twentytwelve_entry_meta()` wyświetla linki „według autora” (tj. te, które mają tytuł „Wyświetl wszystkie posty użytkownika xxxx”) przy użyciu „nazwa_użytkownika”. Jeśli więc zostanie wybrana „trudna” nazwa użytkownika administratora, ten link może wyglądać mniej więcej tak: Jan Kowalski Czy jest jakiś sposób, aby to zmienić `twentytwelve_entry_meta()` i zachować link do innych postów autora, ale użyć czegoś innego niż "user_nicename" w treści linku? Np.: Jan Kowalski **update** : Moja (nieznacznie zmieniona z domyślnej) funkcja `twentytwelve_entry_meta()`: function dwadzieściatwelve_entry_meta( ) { // Tłumacze: używane między elementami listy, po przecinku znajduje się spacja. $categories_list = get_the_category_list( __( ', ', 'dwadzieścia dwanaście' ) ); // Tłumacze: używane między elementami listy, po przecinku znajduje się spacja. $tag_list = get_the_tag_list( '', __( ', ', 'dwadzieścia dwanaście') ); $date = sprintf( '<time class="entry-date" datetime="%3$s">%4$s</time>', esc_url( get_permalink() ), esc_attr( get_the_time() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ) ); $author = sprintf( '%3$s ', esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), esc_attr( sprintf( __( 'Wyświetl wszystkie posty %s', 'dwunastu' ), get_the_author() ) ), get_the_author() ) () ); // Tłumacze: 1 to kategoria, 2 to tag, 3 to data, a 4 to nazwisko autora. if ( $tag_list ) { $utility_text = __( 'Opublikowano %3$s przez %4$s', 'dwadzieścia dwanaście' ); } elseif ( $categories_list ) { $utility_text = __( 'Opublikowano %3$s przez %4$s', 'dwadzieścia dwunastu' ); } else { $utility_text = __( 'Opublikowano %3$s przez %4$s', 'twentytwelve' ); } printf( $utility_text, $categories_list, $tag_list, $date, $author ); } Funkcja przepisywania z pozornie zduplikowanego pytania: // dodaj nasze niestandardowe reguły przepisywania dla archiwów autorów add_action('author_rewrite_rules', 'my_author_rewrite_rules'); function my_author_rewrite_rules() { $author_rules['autor/([0-9]+)/?$'] = 'index.php?author=$matches[1]'; $author_rules['autor/([0-9]+)/strona/?([0-9]{1,})/?$'] = 'index.php?author=$matches[1]&paged=$ mecze[2]'; $author_rules['autor/([0-9]+)/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?author=$matches[1]&feed=$matches[2 ]”; $author_rules['autor/([0-9]+)/feed/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?author=$matches[1]&feed=$matches [2]”; zwróć $autor_reguły; } Po tym ponownie zapisałem permalinki. Po tym adres URL autora nie uległ zmianie; co więcej, kliknięcie adresu URL zwraca teraz 404. Nie jesteś pewien, czy po dodaniu funkcji `my_author_rewrite_rules()` muszę dalej modyfikować funkcję `twentytwelve_entry_meta()`?


title: wstępnie wybrane pola niestandardowe w niestandardowym typie posta

text: Mam niestandardowy typ postu o nazwie "stock", a każdy post będzie miał pola stock_id, stock_name, stock_description i stock_available,... Chciałbym mieć wartości domyślne dla tych pól, aby użytkownik nie musiał ich ładować każdy nowy przedmiot. Czy jest jakiś sposób?


title: Uniemożliwianie instalacji wtyczki w starszych wersjach WordPress

text: Tak więc, jeśli wtyczka nie powinna być nigdy instalowana w starszej wersji WordPressa, jaki jest najlepszy sposób na to? Zwykle robię coś takiego: if ( ! function_exists( 'get_post_format' ) ) { $error_handler = set_error_handler( 'my_plugin_die' ); trigger_error( '', E_USER_ERROR ); } function my_plugin_die( $errno, $errstr, $errfile, $errline ) { global $wp_version; exit( 'Ta wtyczka wymaga WordPress w wersji 3.0 lub nowszej. Obecnie używasz wersji ' . $wp_version . '. Proszę zaktualizuj do najnowszej wersji WordPressa przed zainstalowaniem tej wtyczki.' ); } Umieszczam to bezpośrednio w pliku wtyczki - poza jakąkolwiek klasą. Wydaje się, że działa dobrze we wszystkich moich testach, ale wydaje się dość surowy. Czy jest jakaś szansa, że wtyczka posiadająca ten kod zostanie kiedykolwiek aktywowana? Jak radzić sobie w takich sytuacjach? Wydaje się, że nie ma absolutnie żadnej dokumentacji tego rodzaju.


title: Wyświetlaj niestandardowe posty losowo w niestandardowych archiwum taksonomii

text: Próbuję uzyskać losowe wyjście w archiwum taksonomii dla moich „obszarów” taksonomii niestandardowej Mam taksonomię-obszary.php, w której mam pętlę standardową. Ten wyświetla posty z 3 niestandardowych typów postów: Hotele Puby Restauracje Jak tylko spróbuję uzyskać je losowo za pomocą <?php query_posts("orderby=rand"); ?> przestaje działać i zaczyna wyświetlać standardowe posty jak w index.php. Próbowałem dodać parametry do postów zapytania, ale degeneruje to pętlę, która oczywiście nie wyświetla już właściwego archiwum dla taksonomii. Jak mogę to naprawić? Chciałbym uniknąć tworzenia taksonomii-aree-$term.php dla każdego obszaru, który zamierzam zdefiniować w mojej taksonomii niestandardowej...! Po kilku próbach próbowałem z tym, <?php query_posts("posts_per_page=24&orderby=rand&areas=north-east"); ?> i spróbowałem uczynić go dynamicznym w ramach aktualnej taksonomii za pomocą tego: <?php query_posts("posts_per_page=24&orderby=rand&areas=$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taksonomia' )) echo $term->slug;"); ?> Ale z pustym wyjściem. Dziękuję i pozdrawiam.


title: add_post_meta do powtarzalnego metaboksu z frontendu

text: Tworzę nowy post z frontnendu wordpress. Udało mi się stworzyć post za pomocą `wp_insert_post` i pomyślnie dodałem pojedyncze wartości metabox za pomocą `add_post_meta`. ale nie mogę ustawić wartości powtarzalnych pól metabox z interfejsu użytkownika. Te powtarzalne pola mają następujące klucze: edd_variable_prices[0][name] edd_variable_prices[1][name] edd_variable_prices[2][name] edd_variable_prices[3][name] i tak dalej... Używam `add_post_meta($ pid, 'edd_variable_prices[0][name]', 'Jakaś cena', true);` aby wprowadzić ich wartości, ale to nie zadziałało. Jak dodać powtarzalne wartości metabox z frontendu?


title: Wiele nazw domen — jedna instalacja WP (nie wielostanowiskowa) — domyślnie każda nazwa domeny do archiwum kategorii

text: Przypadek użycia jest dość prosty - oto: 1. Pięć osób współdzieli jedną instalację Wordpress - nie wielu użytkowników 2. Każda osoba bloguje i umieszcza swoje posty w swojej własnej, unikalnej kategorii 3. Każda osoba ma własną nazwę domeny 4. Wszystkie nazwy domen są wskazywane lub parkowane w tym samym folderze instalacyjnym WP 5. Nazwa domeny każdej osoby pokazuje tylko posty z ich kategorii, tj. * http://blogger1.com zwróci archiwum kategorii postów Blogger1, * http://blogger2.com zwróci archiwum kategorii postów Bloggera2, * itp. 6. Przyjazne Google indeksowanie dla każdej nazwy domeny 7. Preferuj rozwiązanie do przepisywania zamiast przekierowywania, ale przekierowanie jest dopuszczalne 8. Konto „master” mogłoby publikować lub edytować dowolnego z blogerów posty poprzez login domeny „głównej”. 9. Bonus - jeśli można to rozszerzyć na niestandardowe typy postów Środowisko 1. Jedna instalacja najnowszej wersji WP (nie dla wielu użytkowników) 2. Ładne Permalinki 3. Cpanel - do skonfigurowania parkowania domeny 4. Brak subdomen 5. Dostęp do `.htaccess` 6. Dostęp do `functions.php`


title: Jak zrobić pewną treść postu noindex i no follow. nie cały post?

text: na mojej stronie woocomemrce staram się umieszczać często zadawane pytania, które są generowane za pomocą kodu skrótu. te często zadawane pytania są wspólne dla wszystkich produktów, co może prowadzić do poważnego problemu z powielaniem treści . jak sprawić, by tylko treść FAQ była noindex a pozostała część produktu jak opis i zdjęcia pod śledź i indeks ?


title: Jak zmienić język tylko strony logowania?

text: Mój blog wordpress ma nazwę `de_DE`. Oznacza to, że moja strona logowania jest również wyświetlana w `de_DE`. Chciałbym **tylko** mieć stronę logowania w `en_US`. Więc **Jak programowo zmienić język jednej strony?** **Uwaga** : Mam WPML, ale nie chcę go używać, chcę zmienić tylko jedną stronę w całej witrynie.


title: jak utworzyć hasło chronione hasłem na niektórych stronach przy użyciu jednego wspólnego hasła?

text: Utworzyłem 5 pages.ale stronę główną i jedną podstronę wyświetlającą strony publiczne, pozostałe trzy strony ustawiają ochronę hasłem za pomocą jednego wspólnego hasła. jeśli wprowadzę hasło, wyświetli się trzy zabezpieczenie hasłem. ale teraz obsługuje każdą stronę, ustawiając indywidualne hasło. jak by to było wspólne hasło?


title: Jak wtyczka wordpress może generować strony bez postów?

text: Chciałbym ukryć wszystkie posty na stronie głównej Wordpress, więc muszę usunąć `loop_start` lub `the_post`. Próbowałem funkcji `remove_action`, ale to nie usuwa postów. Jakieś pomysły, jak wtyczka może generować puste strony?


title: Niestandardowy typ postu Permalink / Przepisywanie nie działa od razu

text: Uderzając w ścianę z cegieł z następującymi rzeczami: Mam: * 1 niestandardowy typ wpisu o nazwie `cpt_community` * 1 niestandardową taksonomię o nazwie `tax_community` Jeśli ustawię `'rewrite' => true` w mojej rejestracji CPT, wtedy permalinki do wpisu dla ten CPT ma postać `http://<domena>/cpt_community/test_item/` i otrzymuję błąd 404 podczas przeglądania. Jeśli ustawię `'rewrite' => false`, to permalinki to `http://<domena>/?cpt_community=test_item/` i działa to dobrze. Więc oczywiście robię coś złego/głupiego - pytanie brzmi: co? [Aktualizacja] * Po każdej zmianie opróżniam reguły przechodząc do Ustawienia > Permalinki (i zapisywanie) * Po zostawieniu wszystkiego samego na godzinę wszystko zaczęło działać poprawnie - więc po co to opóźnienie? * * * **Kod** Funkcja rejestracji CPT community_post_type() { $labels = array('name' => 'Community'); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite ' => false, 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'has_archive' => true, 'supports' => array(' tytuł”, „redaktor”, „wyciąg”, „niestandardowe pola”, „komentarze”, „poprawki”, „miniatura”, „autor”, „atrybuty strony”) ); register_post_type('cpt_community', $args); } add_action( 'init', 'community_post_type' ); Funkcja rejestracji taksonomii niestandardowej community_tax_type() { register_taxonomy( 'tax_community', 'cpt_community', array( 'hierarchical' => false, 'label' => 'Typ treści społeczności', 'show_ui' => true,'query_var' => true, 'rewrite' => true, 'singular_label' => 'Typ treści społeczności', 'capabilities' => array('assign_terms' => 'edit_community_tags') ) ); # zezwalaj rolom na dodawanie tagów taksonomii społeczności do CPT społeczności $roles = array("subskrybent","współautor","autor","redaktor","administrator"); foreach ($role jako $role_name) { $role = get_role($role_name); $role->add_cap("edit_community_tags"); } } add_action( 'init', 'community_tax_type' );


title: Jak dodać widżet z telefonu z systemem Android?

text: Obecnie mój jedyny dostęp do internetu jest przez telefon i muszę dodać widget do strony Wordpress. Wymaga to przeciągnięcia i upuszczenia widżetu na pasek boczny, czego nie mogę zrobić za pomocą przeglądarki internetowej na urządzeniu. Czy jest jakiś sposób na obejście tego?


title: Paginacja Wordpress nie działa - zawsze wyświetla pierwszą zawartość stron

text: Pracuję nad stroną internetową, na której prowadzę bloga, ale mam też niestandardowy typ posta, który pozwala mi wrzucać niektóre filmy. Chciałbym użyć paginacji, aby jeśli wyświetlanych jest więcej niż 9 filmów, to nastąpiła paginacja. Pierwsza część tego działa. Filmy są rzeczywiście ograniczone do 9 na stronę, a paginacja poprawnie wyświetla się na dole. Jednak kiedy klikam link do drugiej strony, mimo zmiany adresu URL, wyświetlane są filmy z pierwszej strony. W przypadku moich „normalnych” postów na blogu paginacja działa dokładnie tak, jak powinna. To jest obecny kod, którego używam dla mojego niestandardowego typu postu: <?php if ( have_posts() ) : ?> <?php $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; query_posts('post_type=videos&posts_per_page=9&paged=$paged'); ?> <?php /* Uruchom pętlę */ ?> <?php while ( have_posts() ): the_post(); ?> Jakakolwiek pomoc byłaby bardzo mile widziana.


title: „Podgląd zmian” dający 404

text: Podgląd postu działa dobrze, ale po opublikowaniu posta i zmianie jego treści i „podglądzie zmian” przed ponowną aktualizacją, daje 404. Myślę, że dowiedziałem się, dlaczego tak się dzieje, ale nie jestem pewien, jak to naprawić to. adres URL błędu 404 to: news/article/sdf-gsdfg/?preview=true&preview_id=3480&preview_nonce=1259e265ea&post_format=standard ale usunięcie post_format z adresu URL, aby utworzyć adres URL dla błędu 404 to: news/article/sdf-gsdfg /?preview=true&preview_id=3480&preview_nonce=1259e265ea nie podaje 404 i pokazuje zmiany. Nie mam pojęcia, dlaczego tak się dzieje i jak to naprawić. Inne posty, które widziałem, nie mają nawet ciągu post_format w adresie URL. Każda pomoc jest mile widziana, dzięki.


title: Jak edytować posty za pomocą nowego api wp_editor?

text: Używam bbPress 2x i zmodyfikowałem wtyczkę, aby używać nowego wp_editor zamiast obszaru tekstowego do dodawania nowych tematów i odpowiedzi. Ta część działa pięknie. Utknę, gdy ktoś kliknie edytuj temat lub odpowiedź. Treść posta nie wyświetla się w edytorze. Prawdopodobnie po prostu brakuje mi czegoś naprawdę głupiego i mam nadzieję, że ktoś może się wtrącić, jak naprawić ten ostatni element. Oto czego używam: ` $tabindex = bbp_get_tab_index(); $settings = array( 'wpautop' => true, 'media_buttons' => true, 'editor_class' => 'tumble', 'tabindex' => $tabindex ); wp_editor( '', 'bbp_topic_content', $settings ); ` dzięki **EDYTUJ** Właśnie otrzymałem odpowiedź na moje pytanie i działa świetnie Podziękowania na adres: http://soderlind.no/archives/2011/09/25/front-end-editor-in-wordpress- 3-3/#comment-207831 ` $post = get_post($post_id, 'OBJECT'); wp_editor(esc_html($post->post_content), 'textarea01', $settings); `


title: Jak wyświetlić listę tagów za pomocą get_tags w tabeli html?

text:
Jakieś sugestie dotyczące najprostszego sposobu wyświetlania tagów za pomocą get_tags w tabeli html (4 kolumny w poprzek)? Przykład: Etykieta 1 | Tag2 | Etykieta 3 | Etykieta 4 Etykieta 5 | Etykieta 6 | Etykieta 7 | Tag 8 Do wyświetlania tagów używam następującego kodu, znalazłem go w kodeksie.: $tags = get_tags(); $html = '
'; foreach ($tags as $tag){ $tag_link = get_tag_link($tag->term_id); $html .= "name} Tag' class='{$tag->slug}'>"; $html .= "{$tag->nazwa}"; } $html .= '
'; echo $html;


title: Domyślna strefa czasowa zakodowana na stałe jako UTC?

text: Podczas debugowania wtyczki, którą pisałem, zauważyłem, że w linii 36 pliku wp-Settings.php domyślna strefa czasowa jest zakodowana na stałe w UTC z wywołaniem funkcji date_default_set_timezone(). Oznacza to, że każde wywołanie funkcji daty/czasu PHP będzie działać z czasem lokalnym UTC. Czy ktoś może mi wyjaśnić, dlaczego jest to rozsądny wybór projektu przez zespół Wordpress? Rozumiem, że chcą przechowywać i manipulować czasem wewnętrznie jako UTC, ale czy nie lepszą alternatywą byłoby jawne przełączenie na „tryb UTC”, gdy muszą wykonać taką logikę? Zakładając, że wiesz, jak ustawić strefę czasową serwera php.ini, ten zakodowany na sztywno UTC w zasadzie unieważnia opis funkcji date() podany w php.net: > data — Formatuj _lokalny_ czas/datę Co uważam za coś złego, nie?


title: Jak działa folder mu-plugins w instalacji wielostanowiskowej?

text: Jestem trochę zdezorientowany, kiedy powinienem umieszczać pliki wtyczek w mu-plugins. Wiem, że to wtyczki Must-Use i wiem, że są automatycznie włączane. Czy w ustawieniach sieci wymusza to włączenie pliku wtyczki we wszystkich blogach podrzędnych? To ma sens, więc czy to jedyny raz, kiedy powinienem umieścić plik wtyczki TAM w sieci? Kiedy chcę, aby kod wtyczki był uruchamiany w każdym blogu podrzędnym? Na przykład, jeśli chcę automatycznie ustawić nowy rozmiar miniatury, czy powinienem to zrobić tam? Czy są inne przykłady. A co z aktywacją sieci?


title: Uzyskiwanie obiektu Product w niestandardowej pętli

text: Obecnie tworzę motyw dla witryny, która używa `WooCommerce`, aby udostępnić sklep Klientom. Dopiero zacząłem się tym zajmować, a obecnie pracuję nad stronami kategorii produktów. Natrafiłem na blokadę drogową, próbując pobrać obiekt Product. Przeczytałem, że użycie zmiennej `global $product` powinno zwrócić obiekt WC_Project, ale kiedy robię `the_post(); Zwracany jest var_dump($produkt)`, `NULL`. Próbowałem następnie utworzyć obiekt Product, wykonując `the_post(); $product = new WC_Product(get_the_ID())`, ale kiedy zrobiłem `var_dump($product)`, dało mi ogólne informacje o produkcie (`post_name`, `post_description`, itp.), ale nic więcej niż gdybym nazwał `get_post()`. Czy ktoś może mi powiedzieć, co przegapiłem?


title: register_nav_menus, a następnie programowo utwórz menu

text: Mam wywołanie `register_nav_menus` w functions.php mojego motywu: //register nav menu i stoper nav. register_nav_menus( array( 'main-nav' => 'Nawigacja główna', 'footer-nav' => 'Nawigacja stopką' ) ); Działa to dobrze, ale chciałbym wykonać dodatkowy krok polegający na programowym stworzeniu menu i przypisaniu go do „main-nav”, ustawionego na automatyczne dodawanie nowych stron. Ten motyw jest używany jako punkt wyjścia do instalacji Wordpress, więc chciałbym dodać tę funkcjonalność, aby zaoszczędzić trochę czasu na powtarzalnych zadaniach, takich jak ręczne tworzenie tych menu za pomocą wyglądu -> menu. Czy ktoś wie, jak to zrobić?


title: Usuń sekcję komentarzy z nowej strony

text: Przejmuję w pracy serwis wordpress. Obecnie na wszystkich stronach nie ma sekcji komentarzy „Zostaw odpowiedź”. Kiedy tworzę nową stronę, ta sekcja istnieje na nowej stronie. Jak to usunąć? O ile widzę, wszystkie opcje na stronie są takie same. Próbowałem już odznaczyć „Zezwalaj ludziom na komentowanie nowych artykułów”, ale nic to nie dało


title: wp_localize_script nie tworzy zmiennej w sekcji nagłówka

text: Próbuję stworzyć funkcję ajax w wordpressie, umieściłem skrypt w kolejce i zadeklarowałem zmienne w następujący sposób w `functions.php`: function my_enqueue_scripts() { wp_enqueue_script( 'load_post', get_template_directory_uri() . '/js/load_post.js' , array( 'jquery' ), '1.0', 1 ); wp_localize_script( 'load_post', 'wp_ajax', array( 'url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'ajax_nonce' ) ) ); } add_action('wp_enqueue_scripts', 'my_enqueue_scripts'); load_post.js : jQuery(document).ready(function($) { jQuery('#next-container').click(function($) { var $container = jQuery('#isotope-container'); var IDs = []; jQuery(".element").each(function($){ IDs.push(this.id); }); jQuery('#next-container').html('loading'); jQuery.ajax ({ type: 'POST', url: wp_ajax.url, dataType: 'html', data: { action: 'load_post', ajax_nonce: wp_ajax.nonce, post_ids: identyfikatory, }, //{'post_ids[]': Identyfikatory }, sukces: function(data) { jQuery('#next-container').html(''); $container.isotope('insert', $(data)); } }) }) }) Jednak w mój `load_post.js` Nie mogę uzyskać zmiennej `wp_ajax`. Nie widzę żadnej zmiennej dodanej w sekcji head mojego kodu źródłowego w Google Chrome lub IE. Skąd bierze się mój problem? Czy coś mi brakuje?


title: Akcja pre_get_posts nie działa

text: Próbuję załadować tylko dwa typy postów ('wiadomości' i 'recenzje') na `stronę domową` za pomocą `pre_get_posts`: // Załaduj posty na stronie głównej(recenzje i wiadomości) function search_home_posts($query) { if( $query->is_home() && $query->is_main_query() && !is_admin() ) { $query->set( 'post_type', array( 'recenzje', 'wiadomości' ) ); } } add_action( 'pre_get_posts', 'search_home_posts' ); Ale wydaje się, że nic to nie robi, ponieważ wszystkie typy postów i strony są wyświetlane na `stronie głównej`. Jakiś pomysł, co się dzieje?


title: post var problem z pętlą shortcode

text:
Mam funkcję wyświetlania dzieci strony w pliku php paska bocznego przy użyciu wp_list_pages: global $post; ?>
        <?php if($post->post_parent)        $children = wp_list_pages("sort_column=menu_order&title_li=&child_of=".$post->post_parent)");&echo=0 else        $children = wp_list_pages("sort_column=menu_order&title_li=&child_of=".$post->ID."&echo=0"); if ($dzieci) { ?>
        <?php echo $dzieci; ?>
 Utworzyłem również krótki kod, który pokazuje niestandardowy typ posta przy użyciu postów z zapytaniem: function casetudy_shortcode()    {    extract(shortcode_atts(array(            'type' => ' ' _studies', ' ,            'case' => '',            'size' => 'small'            ),$atts)); // Zapytanie        query_posts('post_type='.$type.'&showposts='.$limit.'&p='.$case); //Pętla       if ( have_posts() ): while ( have_posts() ): the_post(); //zwróć sb_post_image('100','100'); //the_post_thumbnail('portfolio'); return  "
".get_the_title()."" . get_the_excerpt() ."
";; koniec; w przeciwnym razie:    endif; wp_reset_query(); }    add_shortcode('casestudy', 'casestudy_shortcode'); Problem, jaki mam, polega na tym, że gdy shortcode znajduje się na stronie, podstrony się nie wyświetlają. Zakładam, że zastępuje zmienną $post. Próbowałem użyć wp_query i get_posts dla shortcode, ale otrzymuję ten sam wynik. Czy można to obejść?


title: Dodanie kategorii w parzystych pozycjach na głównej pętli ze zmodyfikowaną paginacją

text: Mam różne kategorie pokazujące się nad główną pętlą. Chcę dodać konkretny post kategorii na parzystych pozycjach głównej pętli. Przykładowa lista aktualnych postów z kategoriami: cat1 cat1 cat1 cat1 wymagany: cat1 catA cat1 catA cat1 catA cat1 catA Używam tego do pominięcia obecnego posta w kategorii, ale nie mogę dodać żądanego posta kategorii w jego miejsce. <?php if($wp_query->current_post%2==1 && in_category('cat1')) kontynuuj; ?> Będąc amatorem z wp moja wiedza jest ograniczona. Jak mogę to zrobić? **UPDATE:** Moja logika polega na użyciu dwóch pętli na index.php, jednej z kategorią, a drugiej wykluczającej tę kategorię: <?php for($y=0;$y<5;$y++) { ?> <?php $off_num = ($paged-1)*5+$y; ?> <?php if(is_home()) query_posts("posts_per_page=1&cat=-1&offset=$off_num"); ?> <?php while ( have_posts() ): the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> <?php koniec; ?> <?php if(is_home()) query_posts("posts_per_page=1&cat=-1,-10&offset=$off_num"); ?> <?php while ( have_posts() ): the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> <?php koniec; }?> W sumie ten kod pokazuje 10 postów, czy muszę dodać `wp_reset_query` lub inną taką funkcję? Moja Paginacja też się popsuła. Wcześniej było to 577 stron, a teraz po tym kodzie jest 2350 stron, a te po 577 dają błąd 404. Jak zmienić usunąć powyższe problemy?


title: Używanie numeru do ograniczania rejestracji lub blokowania na wielu stronach

text: Chcę zakazać ludziom lub ograniczyć rejestrację na unikalny dowód osobisty (można to uznać za 11-cyfrowy numer). Czy znasz jakąś wtyczkę lub fragment kodu? Strona będzie oparta na MultiSite + BuddyPress. **Aktualizacja:** Nie szukam bana IP. Możesz to traktować jak numer telefonu.. I każdy użytkownik musi mieć 1 unikalny numer telefonu i muszę go zablokować, jeśli zajdzie taka potrzeba. (Przepraszam, za słaby angielski)


title: Książka WordPress dla grafików?

text: Czy istnieje dobra książka o WordPressie przeznaczona dla grafików? Rozpocząłem współpracę z przyjacielem w aranżacji, w której projektuje stronę i buduję ją w WordPressie. Działa to świetnie, ponieważ mam zmysł projektowania niewidomej małpy. Chciałby dowiedzieć się więcej o WordPressie i jak najlepiej go projektować. Znam kilka dobrych książek o WordPressie, ale większość z nich jest przeznaczona dla projektantów/programistów. Szukam czegoś, co będzie służyć jako wskazówka, oferując sugestie dotyczące konwencji projektowych, które dobrze pasują do WordPressa. Czy istnieją takie książki? Jeśli nie ma książki przeznaczonej specjalnie dla projektantów, jaką inną książkę byś zaproponował?


title: Zamknij bloga wordpress - zachowaj witrynę bez zmian, ale zapobiegaj włamaniom

text: Zeszłego lata stworzyłem blog podróżniczy na mojej stronie internetowej, aby udokumentować moją podróż. Teraz podróż dobiegła końca i nie będę zamieszczać żadnych nowych postów na tym blogu. Nie chcę też mieć żadnych nowych komentarzy. Jak mogę zamknąć bloga (aby uczynić go odpornym na zewnętrzne hacki, nawet jeśli nie instaluję żadnych nowych aktualizacji), ale zachować wszystkie posty, komentarze, zdjęcia itp. bez zmian? To, co znalazłem, to * https://github.com/megumiteam/staticpress (chociaż wynikowa statyczna strona zawiera całą treść bloga, projekt jest naprawdę pomieszany.) * https://github.com/aral/wordpress -migration-tools (nie mogłem wypróbować tego, ponieważ jest napisany w Pythonie i nie znam żadnego Pythona.) ~~Czy jedno z nich jest godne polecenia?~~ Czy istnieje inny sposób, aby zapobiec wszelkim interakcjom ze stroną , więc nie musisz dbać o aktualizacje wordpress (lub wtyczek), jednocześnie utrzymując bezpieczeństwo witryny?


title: Skrypt, aby uzyskać listę wszystkich obrazów, które są odłączone?

text: W moim functions.php mam potrzebę wylistowania wszystkich obrazów w folderze uploads, które nie są aktualnie dołączone do posta w bazie danych WP. Wygląda na to, że za każdym razem, gdy obraz jest przesyłany do folderu przesyłania WP (przez FTP lub przez Media Manager), rekordy są umieszczane w bazie danych WP, prawda? Jak mogę uzyskać listę wszystkich zdjęć, które nie są obecnie dołączone do żadnego posta?


title: Jak wplatać linki wp_links w pętlę?

text: Chcę utworzyć pętlę, w której 2 lub 3 elementy z mojego bloga zostaną połączone w następujący sposób: <loop> <post1> <post2> <blogroll1> <post3> <blogroll3> </loop> Będę używał obrazów i fragmentów dla pętli, a celem jest uzyskanie linków `wp_links` do wyświetlania DOKŁADNIE tak jak `wp_posts`, więc jeśli rzeczywiście mogę w jakiś sposób połączyć linki do zmiennej `$post` i zapętlić je, JAKBY były postami , byłoby świetnie. Uzyskiwanie postów przez `get_bookmarks` jest łatwe, ale jak sfałszować WP, by myślał, że są `$posts` i jak połączyć je z obiektem `$post`?


title: Najlepsze praktyki tworzenia i obsługi formularzy za pomocą wtyczek?

text: Piszę wtyczkę, która tworzy i obsługuje prosty formularz. To było moje podejście, ale okazało się, że ma kilka poważnych wad: 1) Podczas aktywacji wtyczki utwórz pustą stronę dla formularza na mysite.com/form i kolejną pustą stronę do przetworzenia formularza na mysite.com/ formularz procesu. (Muszą to być oddzielne strony z odrębnymi adresami URL, aby można było śledzić zgłoszenia za pomocą Google Analytics. W przeciwnym razie zrobiłbym to wszystko za pośrednictwem AJAX. Wiem, wiem... nie moja decyzja.) 2) Na " wp”, sprawdź, na jakiej stronie jesteśmy. 2a) Jeśli jest to moja strona formularza, dodaj filtr „the_content”, aby wyrenderować formularz (potrzebuje kilku dynamicznych ukrytych elementów, takich jak jednorazowa, dlatego nie uwzględniłem tylko znaczników formularza, kiedy pierwotnie tworzyłem stronę formularza). 2b) Jeśli to moja strona processform, dodaj filtr „the_content”, aby przetworzyć POST i wygenerować wszelkie opinie. Główny problem dotyczy mojej obsługi POST. Podłączam go do filtru „the_content” (ponieważ potrzebuję go do dostarczania opinii), ale ten filtr jest czasami uruchamiany wiele razy podczas ładowania strony, powodując wielokrotne przetwarzanie POST. Poniżej zamieściłem to, co mam, ale nie mogę oprzeć się wrażeniu, że moje podejście jest całkowicie złą drogą. Jak utworzyłbyś i obsłużył formularz z wtyczką, gdybyś potrzebował go do trafienia adresu URL sukcesu (tj. nie przez AJAX)? Mój kod: <?php // Przy aktywacji utwórz puste strony function my_form_install() { // UTWÓRZ STRONĘ FORMULARZA $page_markup = ''; $arr_page_options = array( 'post_status' => 'publish', 'post_type' => 'strona', 'post_author' => 1, 'post_title' => 'Formularz', 'post_content' => $page_markup, 'comment_status' => 'zamknięte' ); // UTWÓRZ STRONĘ PRZETWARZANIA/SUKCESU FORMULARZA $success_page_markup = ''; $arr_success_page_options = array( 'post_status' => 'publish', 'post_type' => 'page', 'post_author' => 1, 'post_title' => 'Proces formularza', 'post_content' => $success_page_markup, 'comment_status, 'comment_status ' => 'zamknięte' ); } register_activation_hook(__FILE__,'my_form_install'); // W akcji wp sprawdź, czy jest to jedna z naszych stron. Jeśli tak, dodaj nasze filtry. function check_current_page($obj_wp) { if(isset($obj_wp->query_vars["nazwa strony"])) { $nazwa_strony = $obj_wp->query_vars["nazwa strony"]; switch($page_name) { case "form": add_filter('the_content', 'my_render_form'); przerwanie; case "form-process": add_filter('the_content', 'my_process_form'); przerwanie; } } } add_action('wp', 'check_current_page'); // Funkcja do renderowania formularza function my_render_form($page_markup) { $page_markup .= '<metoda formularza="post" action="/form-process"> <input type="text" name="some_input_field" /> < input type="prześlij" value="prześlij" /> </form>'; zwróć $page_markup; } // Funkcja do przetwarzania formularza function my_process_form($page_markup) { if($_POST) { // Przetwarza formularz. Wiązałoby się to z wieloma możliwymi zwrotami, // ale dodałem tylko jeden, aby uprościć sprawę. $page_markup .= 'Twój formularz został przetworzony.'; } return $page_markup; } ?>


title: Umieszczanie tekstu w polu wyszukiwania. np. „Przeszukaj moją witrynę”

text: Chciałbym dodać tekst w moim pustym polu wyszukiwania na moim blogu. Mój blog: www.bornsquishy.com Aktualny kod searchform.php: <form method="get" id="searchform" action="<?php bloginfo('home'); ?>"> <input type="text" value="<?php the_search_query(); ?>" name="s"> <input type="submit" value="Go"> </form> Jestem pewien, że to prosta poprawka, ale nie mam absolutnie nic o php. EDYCJA - Oto jak rozwiązałem problem: <form method="get" id="searchform" action="<?php bloginfo('home'); ?>"> <input type="text" placeholder="Przeszukaj moje Witryna" value="<?php the_search_query(); ?>" name="s"> <input type="submit" value="Go"> </form>


title: Powiel posty za pomocą Feedwordpress

text: Feedwordpress ma problem z tworzeniem duplikatów postów. Ta duplikacja nie jest jednak przewidywalna, więc trudno ją debugować. Muszę być w stanie odtworzyć zduplikowane posty, zanim będę mógł przejść dalej. Czy ktoś był w stanie odtworzyć zduplikowane posty, gdy kanał jest aktualizowany za pomocą feedwordpress? Jeśli tak, jakie kroki wykonałeś, aby wymusić utworzenie duplikatu posta podczas aktualizacji kanału? Jako dodatkową uwagę wiem, że pole bazy danych GUID nie jest ustawione w zduplikowanym poście. To jeden ze sposobów na odróżnienie duplikatów od oryginału. Może być 5 duplikatów, z których wszystkie nie mają zestawu GUID, ale tylko jeden oryginał z zestawem GUID.


title: Dlaczego print_r zwraca $classObj->userObj w kilku miejscach na stronie?

text: Próbuję nauczyć się interpretować wyniki z print_r dla rozwijanej przeze mnie wtyczki bridge. **Tło** Moim pierwszym problemem było ustawienie możliwości edytora, otrzymując uprawnienia administratora. Pracując nad tym zdałem sobie sprawę, że dodawane były tylko dwie pierwsze możliwości w macierzy. To jest teraz naprawione. Jednak **Moving Forward** Zacząłem teraz wracać i patrzeć na wykonywane połączenia i wstawiane w wp_die, var_dump i print_r w miejscach, aby sprawdzić, czy wyniki są zgodne z oczekiwaniami. Teraz pojawia się pytanie. **Wyniki nie są zgodne z oczekiwaniami i może ktoś wyjaśni dlaczego**. **Kod** Plik zawiera funkcję get_userdata( $user_id ). W tym pliku znajduje się sprawdzenie is_numeric, puste i jeśli !$user_id zwraca false. Następnie, jeśli !$user to wywołać klasę, której metoda o nazwie fillUserData. FillUserData wygląda następująco: public static function fillUserData($visitor, $classObj, $user_id) { if( $user_id != 0 ) { global $XF; $userModel = $XF->getModelFromCache('XenForo_Model_User'); $user = $userModel->getUserById($user_id, array('join' => XenForo_Model_User::FETCH_USER_FULL)); $classObj->userObj = $user; echo '<pre>'; echo $identyfikator_użytkownika; print_r( $classObj->userObj[username] ); echo '</pre>'; //umierać(); if( $user_id == $visitor->get('user_id')) { // robienie rzeczy return $classObj; } else { // robienie rzeczy return $classObj; } } // zwróć fałsz; echo 'To jest bałagan'; } W tym momencie jestem zdezorientowany. Spodziewałem się, że zwrócona jest tylko jedna tablica. Ale kilka jest zwracanych w motywie (w tym motywy domyślne itp.). Ten pierwszy pojawia się w lewym górnym rogu tematu i jest absolutnie tym, czego się spodziewałem. [Aktualizacja: Aby wyjaśnić, ta tablica jest zdecydowanie dla aktualnie zalogowanego użytkownika] Array ( [user_id] => 3 [username] => Albert [email] => albert@tuxreports.com [płeć] => [custom_title] = > [language_id] => 1 [style_id] => 0 [strefa czasowa] => Europa/Londyn [widoczne] => 1 Ten następny jest nad pierwszym postem napisanym przez innego użytkownika.To nie jest to, czego się spodziewałem. [Aktualizacja: Ta tablica wyświetla się nawet wtedy, gdy nikt nie jest zalogowany na stronie] Array ( [user_id] => 1 [nazwa użytkownika] => LPH [email] => lph@tuxreports.com [płeć] => [custom_title] => [language_id] => 1 [style_id] => 0 [strefa czasowa] => Europa/Londyn [widoczne] => 1 [user_group_id] => 2 Te tablice są zwracane nad innym postem wykonanym przez innego użytkownika .... i nie to, czego się spodziewałem, ponieważ istnieje warunek warunkowy if `( $user_id != 0 )`. Jeśli przejdę do pojedynczej strony, wtedy print_r pokaże się dla tego autora post, a nie użytkownik Jestem zalogowany jako ... **Moje pytanie brzmi:** Czy używam $classObj->userObj = $user źle? Dlaczego autor wpisów na blogu WordPressa wyświetla się w print_r, gdy $user warunkowy sugeruje, że nie powinien? Mam nadzieję, że to wystarczająca informacja, aby ktoś wyjaśnił mi, dlaczego to nie działa zgodnie z oczekiwaniami. Moja wiedza jest bardzo słaba (w najlepszym wypadku). Oczywiście, jeśli nie powinienem wywoływać klasy w ramach funkcji wtykowej, proszę zasugerować lepszą metodę. Dziękuję Ci!


title: Funkcja powrotu tylko na niektórych stronach

text:
Chciałbym, aby ta funkcja powracała tylko na niektórych stronach. Jak mogę to zrobić? // Funkcja wycofywania akordeonu rekolekcje_accordion() { ?>
 <?php global $post; $c = 0; $klasa = ''; $args = array( 'posts_per_page' => 6, 'post_type'=> 'slajd', 'slideshow'=> 'rekolekcje'); $mojeposty = get_posts( $args ); foreach( $myposts jako $post ): setup_postdata($post); $c++; if( $c == 6 ) $klasa .= ' ostatnia'; ?> <a href="<?php echo get_post_meta($post->ID, "slide_url_value", true); ?>"> <?php the_post_thumbnail('szybka wyszukiwarka'); ?>  <div class="slide<?php echo $class;?>" style="szerokość:200px;">
<?php the_title(); ?>
 <?php the_content(); ?>
 <?php endforeach; ?>
  <?php } add_action('nktframework_abovecontent', 'retreats_accordion', 10); Próbowałem dodać to do funkcji, ale wydaje się, że nie działa. if( is_page(107) ) return;


title: Linki do plików wtyczek nie działają

text: Czy ktoś widział problem, w którym nie można rozwiązać linków do plików wtyczek, co skutkuje błędami 404? Na przykład mam wtyczkę, która upuszcza szablon strony do katalogu aktywnego motywu, a ten plik szablonu odwołuje się do pliku reset.css. Plik reset.css znajduje się w folderze /wp-contet/plugins/[nazwa wtyczki]/templates. Wszystko jest w porządku, dopóki nie utworzysz nowej strony z szablonem, a następnie nie wyświetlisz strony; układ jest zły. Podczas przeglądania źródła widzę, że link do pliku reset.css jest poprawny (http://site.com/wp-content/plugins/plugin-name/templates/reset.css), ale kiedy umieszczam ten adres URL w przeglądarce powoduje to błąd „nie znaleziono strony”. Próbowałem dezaktywować inne wtyczki, sprawdzałem uprawnienia i włączałem dziennik debugowania, ale jak dotąd nic nie pomogło. Jakieś pomysły? o


title: Jak programowo przełączać się między głównymi menu?

text: Powiedzmy, że utworzyłem 2 różne menu podstawowe (w sekcji Wygląd > Menu ..). Następnie w sekcji (Lokalizacja motywu > Nawigacja podstawowa) mogę ustawić aktywację 1 Menu. Jak więc mogę przełączać się między tymi podstawowymi menu w czasie wykonywania (programowo z frontendu .. Z KLIKNIĘCIEM PRZYCISKU lub coś takiego)?


title: Jak pobrać wartość poprzez get_option, gdy wartość_opcji jest przechowywana w tablicy wielowymiarowej?

text: Próbuję określić, w jaki sposób pobrać niestandardowe wartości z wp_options, gdy wartości są przechowywane w pojedynczej tablicy opcji. Na przykład mam następujące dane w wp_options dla opcji_wartość, gdzie nazwa_opcji = "moja_kategoria_pola_opcja". Wartość i:n reprezentuje identyfikator kategorii, która przechowuje niestandardowe dane „my_title”] a:2:{i:10;a:1:{s:8:"my_title";s:48:"Mrożona herbata : Świetny wybór na orzeźwienie";}i:20;a:1:{s:8:"my_title";s:30:"Czarna herbata jest dobra dla duszy";}} W jaki sposób mogę uzyskać wartość „my_title” (który powinien brzmieć „Hello World”), gdy przeglądam stronę archiwum kategorii dla tej kategorii?


title: Filtrować dowolny identyfikator URI żądania HTTP?

text: Chcę filtrować dowolny identyfikator URI żądania HTTP wykonany za pośrednictwem interfejsu API HTTP. Przypadki użycia: 1. Sprawdzanie aktualizacji WordPressa przechodzi na http://api.wordpress.org/core/version-check/1.6/, ale https://api.wordpress.org/core/version-check/1.6/ działa też i zawsze chcę z tego korzystać. 2. Nowy plik WordPress pochodzi z http://wordpress.org/wordpress-3.4.2.zip, ale https://wordpress.org/wordpress-3.4.2.zip też działa. 3. Czasami chcę debugować żądania i przekierować te tymczasowe do niestandardowej domeny na moim lokalnym serwerze. 4. Niektóre wtyczki wysyłają żądania do innych serwerów i chcę je zastąpić, gdy serwer zewnętrzny przestanie działać. Żądania aktualizacji są na razie najważniejsze, ponieważ wciąż istnieje nie naprawiony błąd 16778 (więcej informacji), a żądania HTTPS zmniejszają ryzyko ataku Man-in-the-middle. Przeszukałem dokładnie, przestudiowałem podstawowy kod… ale skończyłem jak Nacin dwa lata temu: > Myślałem, że na pewno możesz filtrować adres URL żądania HTTP, ale teraz > nie mogę go znaleźć. Co mnie ominęło? Czy ja? :)


title: Czy możliwe jest tworzenie relacyjnych wartości metabox w niestandardowym poście?

text: Mam niestandardowy typ wpisu („Model”) dla agencji modelek sportowych, który wymaga od modela podania sportów, w których jest kompetentny, a także zaszeregowania ich umiejętności od 1 do 5. Na przykład, biorąc pod uwagę informację: ` Model: Joe Mydło. Piłka nożna: 4. Łucznictwo: 2` Przechowałbym to w custom_post_type `'model'` z polami: `Nazwa modelu: Joe Soap. Sport: piłka nożna, łucznictwo (taksonomia). Ranga: 4, 2. ` Jak powiązać `4` z `piłką nożną` i `2` z `łucznictwem` za pomocą metaboksu, gdzie różne modele mogą mieć różne sporty na swoich listach?


title: Jaka jest różnica między akcjami „wp_footer” i „get_footer”?

text: Pracuję nad stworzeniem wtyczki i próbuję dodać linię tekstu na dole strony, widzę dwie akcje, które wydają się rozsądne, `wp_footer()` i `get_footer()`. wp_footer brzmi, jakby bardziej pasował do kodu, który musi znajdować się na samym końcu strony (jak pliki JavaScript), ale get_footer nie miał żadnej dokumentacji na swojej stronie codex wordpress. Którego powinienem użyć do czegoś takiego?


title: Dlaczego to sprawdzanie, czy użytkownik jest upoważniony do edytowania posta, kończy się niepowodzeniem dla wszystkich oprócz superadministratorów?

text: Próbuję ustalić, czy użytkownik może edytować fragment treści. Chciałbym, aby wszystkie role kontrybutora i wyższe były autoryzowane za pomocą jednego sprawdzenia. Oto mój kod: if( empty( $post_id ) || !current_user_can('edit_post', $post_id)) { return; } Niestety, jedynymi użytkownikami, którzy nie otrzymują `return`u są superadministratorzy. Jakiś pomysł dlaczego?


title: dodaj niestandardową klasę do wp_nav_menu za pomocą zaczepu filtra nav_menu_css_class

text: Mam niestandardowy typ posta w moim motywie Wordpress. Chcę dodać niestandardową klasę do menu nawigacyjnego dla stron utworzonych w tym niestandardowym typie wpisu. Czytałem, że możesz użyć haka filtra: "nav_menu_css_class", ale moje kotlety php są dość ograniczone. Jak skonfigurować ten zaczep filtra, aby stosował się tylko do moich niestandardowych stron typu post w menu nawigacyjnym i nadać im niestandardową klasę?


title: Disqus: Uzyskaj ostatnie 5 komentarzy

text: czy można uzyskać ostatnie komentarze 5 z konkretnego konta disqus bez użycia (aweful) wtyczki? Chcę umieścić je w suwaku treści i nie znajduję do tego żadnego API! Dzięki!


title: Uzyskaj aktualny identyfikator taksonomii niestandardowej według identyfikatora pocztowego

text: Jeśli znam bieżący identyfikator postu, który mam w zmiennej $pid, używam $terms = get_the_terms($pid, 'custom_category'); Jak uzyskać tylko termin id/term_taxonomy_id, jeśli var_dump $terms widzę to, czego chcę ... ale nie mam pojęcia, jak do cholery zwrócić tylko identyfikator, a nie tablicę, tylko identyfikator. Pamiętaj... Mniej niż 1/2 wiem, co robię... po prostu stawiam czoła obracającej się klawiaturze, aby uzyskać to, czego chcę... ale codziennie uczę się więcej. Pozdrawiam, Brian


title: przenieś komentarze ze starej bazy danych do nowej bazy danych

text: Niedawno stworzyłem nową witrynę wp z tą samą zawartością z mojej starej witryny wp. czy istnieje sposób na przeniesienie komentarzy z mojej starej bazy danych do nowej bazy danych? próbowałem zaimportować starą tabelę wp_comments do mojej nowej bazy danych za pośrednictwem phpmysql. zaimportowały i pojawiły się w moim wp admin, ale nie były powiązane z poprawnymi postami i kategoriami. patrząc na plik .sql, zgaduję, że to nie zadziałało, ponieważ wszystkie stare komentarze mają różne identyfikatory komentarzy_post_ID od mojej nowej bazy danych. czy istnieje sposób na obejście tego lub innego sposobu na migrację starych komentarzy? Dziękuję!


title: Wyzwalaj zaplanowane zdarzenia crona po wizycie zalogowanego użytkownika

text: Buduję całkowicie prywatną witrynę, na której niezalogowani użytkownicy mogą oglądać tylko stronę wp-login.php. Po całym dniu debugowania zdałem sobie sprawę, że wizyty niezalogowanych użytkowników są tym, co wyzwala zaplanowane działania wp_cron. Mimo że żadna z dokumentacji tego nie sugeruje, a nawet nie znalazłem niczego na ten temat podczas czytania podstawowego kodu, moje testy są bardzo konsekwentne w pokazywaniu tego wyniku. Moje pytanie brzmi: **jak mogę odpalić zadania cron utworzone za pomocą wp_schedule_event na stronie, która nie zezwala na odwiedzających niebędących użytkownikami?** * * * -EDIT- Okazuje się, że mój skrypt prywatyzacyjny powodował problem, ponieważ ładowałem się na haku akcji "init". Sprawdzenie is_logged_in na "parse_request" zapewniło bezpieczeństwo witryny, jednocześnie pozwalając na uruchomienie crona. Problem polegał na tym, że wp_cron działa również na "init".


title: Strona opcji dla widżetu

text: Zacząłem tworzyć wtyczkę, która wymagała tylko kilku opcji. Ale z biegiem czasu liczba ustawień wzrosła i większość z nich chcę przenieść na osobną stronę. Widziałem sporo samouczków na temat stron opcji i widżetów, ale nie mogłem znaleźć takiego, który wyjaśniałby, jak utworzyć stronę opcji dla konkretnego widżetu. Jak można to osiągnąć ? Zamierzam zachować tylko kilka ustawień, które miałyby wpływ na poszczególne instancje, a reszta byłaby globalna i na stronie opcji.


title: Wiele stron na jednej z różnymi kodami HTML

text:
Jestem trochę zdezorientowany, jak można to osiągnąć. Mam stronę, którą już zakodowałem za pomocą statycznego HTML/CSS i staram się włączyć ją do wordpressa. Wyzwaniem jest jednak to, że strona internetowa to jednostronicowy plik index.html z 4 "sekcjami". Chcę, aby każda sekcja była stroną, do której każdy może uzyskać dostęp w celu późniejszej edycji treści. Zorientowałem się, jak sprawić, by strona zapętliła moje cztery strony przez inne zasoby przepełnienia stosu, jednak wyzwaniem, przed którym stoję, jest znacznik HTML. Czy istnieje sposób, aby każda sekcja zapętlała inny kod HTML dla danej sekcji? Każda sekcja ma inny format. Na przykład, sekcja pierwsza może mieć 4 div, podczas gdy sekcja trzecia ma jeden div i ma inny identyfikator. Bieżąca pętla zapętli tylko ten sam rodzaj kodu HTML. Czytałem o polach niestandardowych, które planuję włączyć dla określonych części sekcji, ale z szerszego zakresu nie mogę najpierw dowiedzieć się, jak uzyskać różne znaczniki HTML dla każdej sekcji. <?php $strony = get_pages(); foreach ($pages as $page_data) { $content = apply_filters('the_content', $page_data->post_content); $title = $page_data->post_title; $slug = $page_data->post_name; echo "<idiv='$slug'>"; echo "
$tytuł
"; echo $treść; echo "
"; } ?>


title: Jak przyspieszyć funkcję wordpress z wieloma pętlami?

text:
![tutaj podaj opis obrazka](http://i.stack.imgur.com/laOV6.jpg) Jestem nowicjuszem w PHP i napisałem tę funkcję. Jest to nawigacja alfabetyczna, która pokazuje tylko litery zawierające posty zarówno w tej liście, jak i aktualnie filtrowanym terminem taksonomii „genero”. Używam wielu zapytań taksonomicznych, aby znaleźć posty „artistas”, które na przykład są oznaczone zarówno jako „rock”, jak i „funk”. Funkcja działa idealnie i wyświetla dokładnie to, czego chcę, ale ... Wiele pętli naprawdę opóźnia czas ładowania, a ponieważ jestem n00b, nie jestem pewien, jak zoptymalizować funkcję. Wszelkie wskazówki lub wskazówki byłyby bardzo mile widziane. Jeśli chcesz, mogę zamienić czas na czas (piszę jakiś wredny CSS) :) dziękuję! <?php funkcja bam_artist_alfa() { $taksonomia = 'alfa'; $uri = mój_url(); $home = 'http://buenosairesmusic.com/'; // zapisz terminy, które mają posty w tablicy jako przejściowe if ( false === ( $alphabet = get_transient( 'bam_archive_alphabet' ) ) ) ) { // Nie było go tam, więc zregeneruj dane i zapisz przejściowe $ warunki = get_terms($taksonomia); $alfabet = tablica(); if($terms){ foreach ($terms jako $term){ $alphabet[] = $term->slug; } } set_transient( 'bam_archive_alphabet', $alphabet ); } if(strstr($uri, '/artista/') ) { $uri = str_replace('/artista/','/?alfa=', $uri); $uri = substr_replace($uri ,"",-1); } $all_link = usuńqsvar($uri, 'alfa'); $ostatni = $all_link[strlen($all_link)-1]; if($last == '?') $all_link = substr_replace($all_link ,"",-1); if($all_link == $home) $all_link = $home.'artistas'; if( isset($_GET) && isset($_GET['alfa']) ) { $is_alfa = (!is_tax('alfa') && !$_GET['alfa'] ? false : true ); } else { $is_alfa = (!is_tax('alfa') ? false : true ); } $all_current = ($is_alfa == true ? null : 'bg1 round-res' ); ?>
 <li class="all-link<?php echo $all_current; ?>"> <?php if(!$is_alfa) { echo 'A-Z' ; } else { ?> <a href="<?php echo $all_link; ?>">A–Z <?php }?>
 <?php $zapytanie = $_SERVER['QUERY_STRING' ]; $gatunek = null; $orden = (isset($_GET) && isset($_GET['orden']) ? '&orden=fecha' : null); if( strstr($uri,'/genero/') ) { $genre = str_replace('/genero/','/?genero=', $uri); $gatunek = substr_replace($uri ,"",-1); $gatunek = eksploduj('/',$gatunek); $gatunek = koniec($gatunek); } elseif( isset($_GET) && isset($_GET['genero']) ) { $genre = $_GET['genero']; } if(!empty($gatunek)) { $spacje = strpos($gatunek,' '); $genre = ($spacje === false ? $genre : explode(' ', $genre) ); } function has_artists($i, $genre) { if(empty($genre)) { $termquery['tax_query'] = array( array( 'taxonomy' => 'alfa', 'terms' => $i, ' pole' => 'ślima', ), ); $termquery['post_type'] = 'artyści'; } else { $alfaquery[] = array( 'taksonomia' => 'alfa', 'terms' => $i, 'field' => 'slug', ); if(is_array($genre)) { $genres[] = array( 'taksonomia' => 'genero', 'terms' => $genre, 'field' => 'slug', 'operator' => 'AND' ); } else { $genres[] = array( 'taksonomia' => 'genero', 'terms' => $genre, 'field' => 'slug', ); } $termquery['tax_query'] = array_merge($gatunki, $alfaquery); $termquery['tax_query']['relation'] = "ORAZ"; $termquery['post_type'] = 'artyści'; } $has_artists = get_posts($termquery); if($ma_artystów) { return true; } else { return false; } } foreach(range('a', 'z') as $i) : $current = ($i == get_query_var($taxonomy)) ? "bg1 round-res" : "pozycja menu"; if(empty($genre)) { $link = $home.'?alfa='.$i.$orden; } else { $genrestring = (is_array($genre) ? implode('+',$genre) : $genrestring = $genre ); $link = $home.'?alfa='.$i.'&genero='.$genrestring.$orden; } if ( has_artists($i,$genre) && $i != get_query_var($taxonomy) ){ ?> <li class="<?php echo $current; ?>"> <?php printf('%s', $link, strtoupper($i) ) ?>
 <?php } else { ?> <li class="<?php echo $current; jeśli ($i != get_query_var($taxonomy)) {echo ' pusty';} ?>"> <?php echo strtoupper($i); ?>
 <?php } endforeach; ?>
 <?php } ?>


title: Identyfikator autora echa w author.php

text: To prawdopodobnie bardzo proste pytanie. Ale jak mam powtórzyć identyfikator użytkownika w author.php? Próbowałem the_author_meta('ID') Ale to nie chciało działać. Chcę na przykład powtórzyć to na końcu adresu URL; http:///www.domain.com/author/sampleauthor-id Oczywiście, gdzie "id" to ID konkretnego autora. Jakieś pomysły?


title: Uzyskaj zapisane pliki cookie Wordpress do niestandardowego logowania

text: Stworzyłem niestandardowe okno logowania. Używam metody `wp_signon()`. Wszystko działa dobrze. Ponadto mam pole wyboru Zapamiętaj mnie, aby następnym razem móc zapamiętać poświadczenia użytkownika. Wiem, że mogę to zrobić na swój własny sposób obsługi plików cookie, ale chcę wiedzieć, czy jest jakaś wbudowana metoda Wordpress, aby uzyskać pliki cookie. Oto mój dotychczasowy kod: $creds['user_login'] = $user_login; $creds['user_password'] = $user_pass; $creds['remember'] = ($remember_me === "prawda") ? prawda fałsz; $użytkownik = wp_signon ($kredyty, fałsz ); Widzę ciasteczka `auth` na zakładce Cookies Firebug, ale są one dodawane z hashami. Jak mogę je odszyfrować lub jakąkolwiek bezpieczniejszą metodą uzyskania plików cookie. Widziałem również w `utils.js` i jest kilka metod pobierania i ustawiania plików cookie, ale pobiera tylko pliki cookie w postaci zwykłego tekstu. (Popraw mnie, jeśli się mylę). Po prostu chcę, aby dane, które Wordpress przechowywał w ciasteczkach po zalogowaniu. Po wylogowaniu i powrocie do mojego pola logowania może wypełnić moje pole logowania nazwą użytkownika i hasłem (jak domyślna strona logowania Wordpress).


title: Zaloguj się z telefonu komórkowego

text: Używam wtyczki „Dostęp dla członków”, aby ograniczyć zawartość mojego bloga tylko do zarejestrowanych użytkowników. Działa to z komputera bez problemu. Ale jeśli chcę się zalogować z mojego telefonu z Androidem, strona logowania zawsze wyświetla się bez względu na to, czy wprowadzę poprawne dane uwierzytelniające, czy nie. Nie loguję się. Wyłączyłem wszystkie inne wtyczki i użyłem motywu TwentyEleven. Jak mogę się zalogować z urządzenia mobilnego?


title: do której akcji się podłączyć, aby wykonać akcję po opublikowaniu

text: Mam kilka funkcji, które napisałem, aby opublikować tytuł i link do posta na Twitterze po opublikowaniu posta. Zastanawiam się, do której funkcji wp to podłączyć? save_post nie ma prawdziwej dokumentacji referencyjnej. Zasadniczo chcę po prostu uruchomić akcję, gdy post zostanie pomyślnie opublikowany. Dziękuję bardzo.


title: Problem relacji tag-post

text: tag nie działa w wordpressie tak, jak powinien. Kiedy dodaję tag do niestandardowego typu postu, pojawia się on na liście tagów, a związek można zobaczyć w tabeli „term_relationships”, a tagi są widoczne w postach, gdy edytuję stronę. Ale liczba postów dla tagu pozostaje zero i link do tagu nie daje mi postów związanych z tagami. Na przykład mysite.com/tag/mytags nie daje mi postów związanych z tym tagiem. Próbowałem tego ręcznie, ponieważ użyłem ich również wp_insert_term i wp_set_post_term, a problem jest taki sam. ten problem występuje tylko wtedy, gdy używam niestandardowego typu post.Ale kiedy używam post type:post.To działa idealnie.Czy jest coś, czego mi brakuje? Z góry dziękuję


title: Czy mogę połączyć 2 nowe WP_Query($variable)?

text: Używam sieci wielostanowiskowej i mam skonfigurować kwerendę sql, która używa swith_to_blog(); i zapytania o posty. Czy istnieje sposób, aby zadeklarować zapytanie w nowym WP_Query i faktycznie scalić to zapytanie z innym? Zasadniczo, jeśli to zrobię: $number1 = new WP_Query($multisitequery); Czy mogę to połączyć z: $number2 = new WP_Query($normalquery); `$normalquery` przechowuje ustawienia, takie jak paginacja, na stronę, fragment, tytuł itp. w shortcode portfela. Chciałbym, aby zawierał posty z zapytaniami z mojego nowego zapytania `$multisite`. Czy można to osiągnąć? Chcę tylko uratować mnie przed tworzeniem zupełnie nowej konfiguracji shortcode lol Z góry wielkie dzięki. Rory _**EDIT=_** Mam to: $portfolio = array(); $portfolio = $ustawienia; Dalej w dół moja funkcja portfela "po wszystkich $settings['options']" mam: $portfolio_query = new WP_Query( $portfolio ); `$portfolio_query` używa pętli na szablonie strony. Chcę dodać do tego dodatkowe zapytanie, takie jak: global $wpdb, $blog_id, $post; $blogs = $wpdb->get_results( $wpdb->przygotuj( "WYBIERZ * Z wp_blogs ORDER BY blog_id" ) ); $globalcontainer = array(); foreach ($blogs as $blog){ switch_to_blog($blog->blog_id); $globalquery = query_posts($args); $globalcontainer = array_merge( $globalcontainer, $globalquery ); restore_current_blog(); } gdzie zakładam, że `$globalcontainer` będzie tablicą do połączenia z `wp_query();`. Biorąc pod uwagę to, z czym odpowiedziałeś, teoretycznie mógłbym po prostu: $mergedqueryargs = array_merge($portfolio , $globalcontainer); $portfolio_query = nowe WP_query($mergedqueryargs); Czy to byłoby poprawne? Po drugie, w odniesieniu do nadpisywania klucza tablicy array_merge ..... Jak mam się zatrzymać nadpisywania?


title: Jak filtrować selektor ról?

text: Wiem, że role w WordPressie nie są hierarchiczne, ale zastanawiam się, czy istnieje jakaś możliwość „przypisywania użytkowników do ról”. Wszystko, co widzę, czy mogę dodawać użytkowników, czy nie. Prawdziwym kickerem jest to, że użyłem wtyczki Members Justina Tadlocka, aby stworzyć nową rolę o nazwie „Klienci”, która usuwa wszystkie rzeczy, których nie powinni widzieć lub nie powinni być w stanie kontrolować – co działa świetnie. Ale jeśli daję im możliwość tworzenia nowego użytkownika, mogą również wybrać moją rolę „superadministratora”, który może wszystko zobaczyć. Więc w pewnym sensie trochę oszukują system. Czy mimo to można „ukryć” określoną rolę przed pojawieniem się w tym, w czym użytkownik może ustawić nowego użytkownika/edytować użytkownika? A może usunąć identyfikator roli z ekranu dodawania/edycji użytkownika na podstawie jego roli? Wiem, że brzmi to trochę poza tym, co WordPress ma robić dla uprawnień użytkownika, ale z administracyjnego punktu widzenia brzmi to użytecznie - przynajmniej w mojej głowie ;) Dzięki!


title: wp_nav_menu: pokaż menu tylko jeśli istnieje, w przeciwnym razie nie pokazuj nic

text: Próbuję użyć wp_nav_menu do wyświetlania tylko menu, jeśli takie istnieje, w przeciwnym razie nie wyświetlaj niczego. Jeśli usunę menu, wyświetli listę stron. Mój plik functions.php zawiera: if (function_exists('register_nav_menus')) { register_nav_menus ( array('main_nav' => 'Główne menu nawigacyjne'));} Jak mogę użyć wp_nav_menu, aby wyświetlić tylko menu, jeśli takie istnieje, w przeciwnym razie nic nie pokazuj?


title: Konwertuj javascript z uruchomionymi plikami xml na platformę wordpress

text: Mam stronę, którą chcę przekonwertować na platformę wordpress. Na istniejącej stronie używam javascript do ściągania obrazów i tekstu z plików xml. Czy nadal mogę sprawić, by to działało w szablonie wordpress? Strona internetowa: http://www.icdesign.co.nz/index.php


title: Pobierz część szablonu a funkcja zlokalizuj szablon

text: Jestem w single.php, gdzie próbuję pobrać szablon related-posts.php. Problem polega na tym, że podczas korzystania z części get template powiązany-posts.php nie otrzymuje niestandardowej nazwy taksonomii z single.php w `wp_Query`. Rozwiązaniem jest ponowne pobranie terminów post wp w related-posts.php w celu użycia `get_template_part`. Ale technicznie nie powinno to być wymagane, ponieważ rodzic (single.php) już go posiada. Ale kiedy używam funkcji zlokalizuj szablon, działa dobrze. Czuję, że ta metoda byłaby wolniejsza niż `get_template_part`. Co powinienem zrobić?


title: pobierz nazwę kategorii na ekranie administratora

text: Chcę uzyskać nazwę kategorii, w której edytuję posty. Mam więc ten kod, który znalazłem tutaj function add_custom_submenus() { global $submenu, $post; $submenu['edit.php'][] = array( __('Wstecz'), // tytuł menu 'edit_posts', // czapka menu 'edit.php?category_name=' .$category_name // menu link ); } Mój link pokazuje się świetnie. Znam stronę, na którą muszę wrócić. Po prostu mam problem ze znalezieniem nazwy strony. Ekran administratora pokazuje edit.php?category_name=band-member band-member to nazwa kategorii, w której edytuję posty. Próbowałem więc utworzyć link do strony postów dla członków zespołu. Nie mogę znaleźć php, aby uzyskać nazwę kategorii bieżącego posta, który edytuję.


title: Odpytywanie dwóch taksonomii

text: Mam dwie taksonomie: „rodzaj przewodnika” i „narzędzia”. Wyglądają mniej więcej tak: **Typ poradnika** – Artykuł – Film – Ściągawka **Narzędzie** – System zarządzania nauką * Narzędzie quizu – Ukryj kolumnę ocen (artykuł) – Tworzenie dziennika ocen (artykuł) – Długa odpowiedź Kroki pytań (artykuł) - Dopasowanie pytań (artykuł) - Prawda czy fałsz (artykuł) - Korzystanie z narzędzia Quiz (wideo) - Korzystanie z narzędzia Quiz (ściąga) * Narzędzie powiadomień * Narzędzie oceny Zrzut ekranu doskonale przedstawia problem: Potrzebuję aby ograniczyć to zapytanie podatkowe, aby obejmowało tylko te elementy, które są oznaczone za pomocą „Narzędzia quizu”. Screen: http://cl.ly/0t3J143q0A1X2w2y2X2n Próbuję to zrobić z tax_query, z relacją AND: $args = array( 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'guide-type', 'field' => 'slug', 'terms' => 'video' ), array( 'taxonomy' => 'tool', 'field' => 'slug', 'terms' => co tu umieścić, aby pobrać aktualne narzędzie (narzędzie Quiz)? ) ); $zapytanie = nowe WP_Query( $args ); Ale po prostu nie mogę wymyślić, jak ograniczyć się tylko do elementów listy, które są oznaczone za pomocą „Narzędzia quizu”. Zwróć uwagę na część „co tu wstawiam”. Pomoc doceniona. AKTUALIZACJA: Właśnie przyszło mi do głowy, że nie muszę odpytywać obu taksonomii, zamiast tego wyjdź z tax_query i użyj 'get_the_category()' jako części $args: // Zapytanie $args = array( 'tax_query' = > array( array( 'taxonomy' => 'guide-type', 'field' => 'slug', 'terms' => 'samodzielne ' ) ), 'category_name' => get_the_category() Coś w tym stylu? Wszelkie pomysły, jak mogę ograniczyć tę „category_name” do bieżącej, na którą patrzę (narzędzie quizu).


title: Wordpress zainstalowany w podkatalogu - Apache obsługuje 404s

text: Rozwijam szereg witryn (dla celów wielojęzycznych) instalowanych z jedną instancją Wordpress w katalogu głównym serwera, a następnie kolejnymi instancjami w podkatalogach z kodem krajów. Tak więc istnieją instalacje pod następującymi przykładowymi adresami URL: http://example.com http://example.com/en http://example.com/fr itd. Instalacja w katalogu głównym ma motyw do radzenia sobie z wykrywaniem języka i przekazywanie do odpowiedniego podkatalogu, a także różne inne funkcje przekierowania. Problem polega na tym, że podczas próby uzyskania dostępu do „ładnego” linku bezpośredniego w jednej z podinstalacji, np. http://example.com/en/nazwa-strony, Apache przechwytuje i podaje błąd 404, zanim instalacja podkatalogu dostanie szansę na odszyfrować i przekierować permalink. Dziwne jest to, że w moim lokalnym konfiguracji dev (MAMP), ta konfiguracja działa dobrze, a te linki prowadzą do poprawnych stron w podkatalogu WP. Ta strona jest na AWS z systemem Amazon Linux AMI w wersji 2014.03. Przypuszczam, że pytanie brzmi zasadniczo, czy możliwe jest powstrzymanie Apache przed próbami radzenia sobie z 404 w pewnych podkatalogach i pozostawienie tego całkowicie WP, czy też jakiś sposób zmiany jednego z plików .htaccess, aby osiągnąć podobny. Sugestia pod adresem http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install nie zadziała, ponieważ WP jest również zainstalowany w katalogu głównym. Dziękuję.


title: Ślimak bazowy w wielu kategoriach na stronie archiwum kategorii

text: Mam mały problem z podstawowymi ślimakami kategorii. Załóżmy, że mam kategorię o nazwie „Zasoby”, z kategorią ślimaka ustawioną na „zasób”. Tak więc każdy post w zasobie kategorii pojawi się z tego rodzaju linkiem bezpośrednim: example.com/resource/test-post Ustawiłem informację o slug kategorii bazowej na tylko slug kategorii. Dlatego archiwum kategorii dla kategorii „resource” wygląda tak: example.com/resource/ Jednak chcę, aby plik archiwum kategorii był w liczbie mnogiej: example.com/resources/ Czy jest jakiś sposób, aby to osiągnąć? Nic nie znalazłem. ten problem w Google...


title: Jak dołączyć arkusz stylów do niestandardowego administratora za pomocą parent_slug

text: Używając tego kodu z kodeksu: function my_enqueue($hook) { if( 'edit.php' != $hook ) return; wp_enqueue_script( 'mój_niestandardowy_skrypt', plugins_url('/mójskrypt.js', __PLIK__) ); } add_action( 'admin_enqueue_scripts', 'moja_kolejka' ); to doda niestandardowy arkusz stylów do wp-admin na stronie edycji, jak możemy to zmienić, abyśmy mogli użyć ślimaka z niestandardowej strony opcji administratora, która ma podmenu, czy istnieje sposób, abyśmy mogli użyć ślimaka pozycji menu nadrzędnego? [b]EDYTUJ[/b]: Oto jak zaadaptowałem powyższy kod: function Auctionwp_custom_admin_style($hook) { if('edit.php' != $hook) return; wp_enqueue_style( 'my_custom_script', get_bloginfo( 'stylesheet_directory' ) . '/css/custom_style.css', false, '1.0.0' ); } add_action( 'admin_enqueue_scripts', 'auctionwp_custom_admin_style' ); to, co teraz próbuję zrobić, to zmienić instrukcję if, aby używać slug menu nadrzędnego zamiast edit.php dzięki


title: Modyfikowanie wyjścia HTML wstawionych obrazów

text: Używam Wordpressa od lat. Za każdym razem, gdy dodawałem obraz do artykułu, ręcznie zapisywałem cały kod HTML dla każdego obrazu. Użyłem również wtyczki lightbox obrazów o nazwie Highslide, aby ludzie mogli powiększać moje miniatury. Przykładowa miniatura z linkiem do większego obrazu wygląda tak w moim podręczniku HTML:  Ale teraz zainstalowałem najnowszą wersję Wordpressa i widzę, jak łatwo jest dodawać obrazy bezpośrednio do artykułu bez konieczności pisania kodu HTML. Otrzymane dane wyjściowe są następujące:  To, co chciałbym zrobić, to zmodyfikować Wordpress, aby automatycznie dodać rel="highslide" i class="highslide" do linku za każdym razem, gdy wstawiam połączony obraz, aby wtyczka highslide działała. Sądzę, że ostateczny wynik będzie wyglądał tak:   Przejrzałem podstawowe pliki, ale nie mogę dowiedzieć się, gdzie Wordpress generuje kod HTML podczas wstawiania obrazów. Czy ktoś wie, jak zmodyfikować Wordpress, aby dodać te dwa atrybuty? Będę naprawdę wdzięczny za pomoc! :) Dziękuję Ci!


title: get_userdata() nie działa w mojej wtyczce

text: używam funkcji **get_userdata()** w mojej wtyczce, ale nie pokazuje ona żadnych wartości, pokazuje pusty wynik. Widzę wartość obecną w phpmyadmin. Używam go we wtyczce **add_action('user_register','user_sf_lead')** , ale pokazuje dowolną wartość w moim kodzie. $user_info = get_userdata($user_id); 'Name' => $user_info->ID, 'First_Name__c' => $user_info->first_name, mogę uzyskać wartość id za pomocą **$user_info->ID**, ale nie ma wartości dla **$user_info->first_name ** Pobieram wszystkie wartości z tabeli **users**, ale nie ma wartości z tabeli **usermeta** Próbowałem wszystkich możliwych funkcji get_current_user_id, get_user_by, wp_get_current_user, ale nic nie działa. Poniżej znajduje się mój kod add_action( 'profile_update', 'user_sf_lead'); add_action('user_register','user_sf_lead'); // Funkcja do przechowywania profilu użytkownika w Salesforce function user_sf_lead($user_id){ $SOAP_CLIENT_BASEDIR = plugin_dir_path(__FILE__).'Force.com-Toolkit-for-PHP/soapclient/'; require_once ($SOAP_CLIENT_BASEDIR.'/SforcePartnerClient.php'); require_once ($SOAP_CLIENT_BASEDIR.'/SforceHeaderOptions.php'); require_once ('Force.com-Toolkit-for-PHP/Samples/userAuth.php'); $user_info = get_userdata($user_id); echo "*****".$bieżący_użytkownik->typ użytkownika; spróbuj { $mySforceConnection = new SforcePartnerClient(); $mySoapClient = $mySforceConnection->createConnection($SOAP_CLIENT_BASEDIR.'/partner.wsdl.xml'); $mylogin = $mySforceConnection->login("nazwa użytkownika", "hasło"); echo "*****".$user_info->typ użytkownika; $fields = array ( 'Name' => $user_info->ID, 'First_Name__c' => $user_info->first_name, 'Email__c' => $user_info->user_email, 'Last_Name__c' => $user_info->last_name, ' Opis__c' => $current_user->typ użytkownika, 'User_Name__c' => $user_info->user_login, ); $sObject = nowy SObject(); $sObject->pola = $pola; $sObject->type = 'Możliwość__c'; echo "**** Tworzenie następujących:\r\n"; $upsertResponse = $mySforceConnection->upsert("nazwa", tablica ($sObject)); //print_r($upsertResponse); $id = tablica(); foreach ($createResponse as $createResult) { print_r($createResult); array_push($ids, $createResult->id); } } catch (Wyjątek $e) { echo $mySforceConnection->getLastRequest(); echo $e->łańcuch błędów; } Ale za każdym razem, gdy aktualizuję rekord użytkownika w wordpressie, mogę uzyskać wszystkie wartości. Ale potrzebuję ich po raz pierwszy, gdy użytkownik się zarejestruje. **Używam tego kodu w mojej niestandardowej wtyczce**. Jakieś rozwiązanie?


title: Jak dodać wyszukiwanie autora w domyślnej wyszukiwarce wordpress?

text: Chciałbym włączyć wyszukiwanie autora do domyślnego wyszukiwania WordPressa. Czy jest jakiś sposób na zrobienie tego? dobrze wiedzieć, że pobiera wszystkie posty z permalinkami i nazwiskami autorów. w ten sam sposób potrzebuję wyszukiwania autorów. Czy to możliwe?


title: Dołącz plik, który ma w nim funkcję

text: Używam `include 'filename.php'` aby załadować plik php do pliku szablonu, po prostu dlatego, że oryginalny plik szablonu PHP robił się ogromny i chciałem podzielić sekcje na różne pliki, aby później móc się do nich odnieść. Include działa świetnie, dopóki nie spróbuję użyć funkcji w dołączonym pliku, po czym przestaje działać. Szukałem w Internecie i wygląda na to, że skoro dołączony plik jest uruchamiany na zdalnym serwerze (czy to prawda?), nie pobiera mojej funkcji z functions.php, tak jakby działała normalnie. Jaki jest właściwy sposób, aby to zrobić? Wygląda na to, że nie powinienem używać `include`, a może powinienem użyć czegoś innego? Uproszczony przykład kodu: HTML: <div id="section"> <?php include 'codesnippet.php'; ?> </div> codenippet.php: <ul> <li> <?php the_title(); ?> </li> </ul> Gdy jakakolwiek funkcja znajduje się w dołączonym pliku, otrzymuję błąd, że strumień nie może zostać otwarty podczas próby dołączenia go. Ten sam rodzaj błędu, który otrzymasz, jeśli błędnie wpiszesz nazwę pliku w funkcji dołączania.


title: Masz pomysł, jak naprawić ten błąd podczas wymuszania SSL na określonej stronie?

text: Jestem w trakcie wymuszania na kilku stronach z formularzami używania SSL. Po skonfigurowaniu SSL otworzyłem konsolę i zacząłem debugować błędy. Skończyło się na zainstalowaniu wtyczki WordPress HTTPS i wymuszam SSL na poszczególnych stronach. Pomogło to naprawić kilka błędów z wyjątkiem jednego. [zablokowane] Strona pod adresem „https://www.twojadomena.com/something/” została załadowana przez HTTPS, ale zawierała niezabezpieczoną treść z adresu „http://www.twojadomena.com/?mcsf_action=main_css&ver=3.8”: treść powinna być również ładowana przez HTTPS. Jestem załamany po kilku godzinach i badaniach próbujących pozbyć się ostatniego błędu. Arkusz stylów pochodzi z wtyczki Mail Chimp. Generuję również inny błąd, gdy próbuję przesłać formularz Mail Chimp: XMLHttpRequest nie może załadować http://www.twojadomena.com/. Żądany zasób nie zawiera nagłówka „Access-Control-Allow-Origin”. W związku z tym nie ma dostępu do źródła „https://www.twojadomena.com”. Oprócz tych błędów, w ustawieniach ogólnych URL WordPress/Site jest ustawiony na http://www.twojadomena.com (fikcyjny adres URL). Jeśli ktoś mógłby mi pomóc, byłoby to bardzo mile widziane.


title: Używanie nonce zewnętrznego WP Admin

text: W sumie mam dwie strony z wordpressem. Jedna strona wordpress wyświetla formularz, aby dokonać rejestracji na stronie. Druga strona wordpress faktycznie przetwarza dane i wstawia je do niestandardowej tabeli MySQL, którą mam. Chciałbym użyć funkcji nonce dziedziczącej po Wordpressie. Użytkownik nie musi być administratorem Wordpress ani mieć żadnych uprawnień, aby móc to zrobić. Czy ktoś może mi podać przykład lub pokazać, jak to zrobić poza WP Admin na stronie Wordpress? Z góry dziękuję za wszelkie porady!


title: Zaawansowane pola niestandardowe: wp_get_attachment_url nie działa, strona załącznika mówi „Brak załącznika”

text: Użyłem zaawansowanych pól niestandardowych, aby dodać pole przesyłania pliku do niestandardowego typu postu. Mam następujący kod w szablonie dla tego niestandardowego typu postu: $file = get_field('file'); echo wp_get_attachment_url($plik['id']); Ale to niczego nie wyświetla. Sprawdziłem, że $file['id'] jest poprawną wartością (i próbowałem nawet zakodować tę wartość na stałe jako argument do `wp_get_attachment_url()`). Jeśli zamiast tego użyję `get_attachment_link()`, wypisze adres URL. Ale jeśli przejdę do tego adresu URL, wynikowa strona będzie zawierała komunikat „Brak załącznika”.


title: Czy zmiana domyślnej aktualizacji tabeli bazy danych WordPress jest bezpieczna?

text: Chcę dodać kilka kolumn tabeli do tabeli `wp_terms`. Czy bezpiecznie jest używać w tym celu funkcji `dbDelta` ze zmodyfikowanym zapytaniem `CREATE`-MySQL? Czy na dłuższą metę napotkam problemy? Czy aktualizacja jest bezpieczna? Jako nowicjusz w bazach danych mam nadzieję, że ktoś z większym doświadczeniem może mi pomóc. ## Tło Dla wtyczki, nad którą aktualnie pracuję, muszę dodać metadane do terminu taksonomii. Pierwszą rzeczą jest numer porządkowy, a drugą rodzaj terminu. Oba służą do sortowania postów w interfejsie. W kodeksie WordPressa znalazłem w tym celu haki akcji `{taxonomy}_add_form_fields` i `{taxonomy}_edit_form_fields`, ale niestety zapisuje to metadane w tabeli `wp_options` jako tablicę zserializowaną. Prawdopodobnie można użyć składni `WHERE REGEXP` do zapytania o poprawną opcję, ale wydaje się to powolne i trochę hackowe. Wydajność ma znaczenie w projekcie (mnóstwo postów przypisanych do mnóstwa terminów taksonomicznych) i dlatego szukam sposobu na sortowanie i porządkowanie wyników bezpośrednio na warstwie bazy danych. Z góry dziękuję Roman


title: Dostosowywanie reguł przepisywania dla adresu URL pojedynczego posta CPT, aby działał jako stronicowany adres URL

text: Mam CPT o nazwie `Service` zarejestrowany w następujący sposób: $args = array( 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'has_archive' => false, 'rewrite' => array('slug' => 'services', 'with_front' => false), 'query_var' => true, 'capability_type' => 'post', 'hierarchical' => false, 'show_in_nav_menus' => false , 'menu_position' => 20, 'supports' => array( 'tytuł' 'redaktor', 'miniaturka', 'autor', 'poprawki') ); register_post_type('usługa', $args); Mam stronę o nazwie "Usługi", która ma przypisany niestandardowy szablon, który wyświetla wszystkie usługi z ich permalinkami typu `services/copywriting` (gdzie 'copywriting' to nazwa usługi). Na razie w porządku. Mam inny CPT o nazwie „Studium przypadku”. Teraz `Case Studies` są połączone z postami `Services` poprzez wtyczkę Posts 2 Posts. Próbuję wykonać następujące czynności: użyć pojedynczego adresu URL postu `Service` typu `/services/copywriting` do wyświetlenia wszystkich `case studies` skojarzonych z tą `usługą`. W tym celu dodałem następującą regułę przekierowania szablonu: tak, aby zamiast szablonu `single.php` wyświetlał się szablon `archive.php`. add_action("przekierowanie_szablonu", 'przekierowanie_szablonu'); funkcja template_redirect() { global $wp, $wp_query; // jeśli usługa CPT i jest to adres URL pojedynczej strony, przekieruj do szablonu archive.php if($wp->query_vars["post_type"] == "usługa" && is_single()){ include(SCIEŻKA TEMPLAT. '/archive.php '); Wyjście; //dzięki komentarzowi @kaisera } } W szablonie `archive.php` mam: * niestandardowy SQL, który pobiera wszystkie `Studia przypadków` związane z bieżącą `Usługą` (które określam patrząc na adres URL` services/copywriting` gdzie 'copywriting' jest bieżącą usługą). * funkcja tworząca linki do paginacji typu `services/copywriting/page/<page_num>` Jednak te linki typu `services/copywriting/page/<page_num>` nie działają i zawsze są przekierowywane do pojedynczego „Usługa” link URL „usługi/copywriting”. Czy jest coś, co mogę dodać, aby przepisać reguły lub filtry, albo coś, co sprawi, że łącza na stronach będą działały w ten sposób? Aby `services/copywriting/page/2` działał i został przekierowany do szablonu `archive.php`, gdzie mój niestandardowy SQL uruchomi się i wyświetli poprawne `Studia przypadków`. Czy muszę mieć dedykowany szablon zamiast `archive.php`? Będę bardzo wdzięczny za wszelkie wskazówki i pomoc! Wielkie dzięki Dasha **EDYTUJ** Zainstalowałem wtyczkę Rewrite Analyzer. A test dla `services/copywriting/page/2` dopasował następujący wzorzec: services/([^/]+)/page/?([0-9]{1,})/?$ z następującym podstawieniem: service: copywriting paged: 2 Nie mam jednak pojęcia, co to oznacza :( **EDIT 2** OK, próbowałem dodać regułę przepisywania w następujący sposób w `functions.php`: add_action('init', ' my_rewrite_add_rewrites'); function my_rewrite_add_rewrites(){ //przepisz regułę dla pojedynczego posta w serwisie, spraw aby działała jako stronicowana add_rewrite_rule( '^services/(.+?)/?(page/([0-9]+))?/ ?$', 'index.php?post_type=service&service=$matches[1]&paged=$matches[3]', 'top' ); } Opróżniłem reguły przepisywania.Jednak gdy przechodzę do adresu URL typu `services/copywriting/page/2` zawsze wyświetla adres URL bez bitu strony `services/copywriting/`. Nie mogę dowiedzieć się, co jest nie tak. Czy moje wyrażenie regularne jest błędne, czy konstrukcja `index.php` czy jedno i drugie? pomyślałbym Doceniam każdą pomoc!


title: Instalacja wielostanowiskowa łącząca subdomeny i podkatalogi

text: Muszę stworzyć złożoną instalację na WordPressie, którą chciałbym uruchomić z jednej bazy kodu. Moja konfiguracja jest skomplikowana z powodu wielu czynników. Przede wszystkim mam już oprogramowanie obsługujące stronę główną witryny, więc nie mogę zainstalować WordPressa w katalogu głównym domeny. example.com // <- witryna obsługiwana przez silnik inny niż WordPress Do tego chciałbym dodać instalację wielostanowiskową działającą w strukturze podkatalogów: example.com/multisite/ // <- wielostanowiskowa instalacja WordPressa example.com/multisite/site1 example.com/multisite/site2 (...) Jak dotąd jest to łatwe. Złożoność pojawia się, gdy chcę również zasilać niektóre subdomeny za pomocą tej instalacji WordPress: site3.example.com // <- witryny subdomen Chciałbym również zasilać za pomocą WordPress site4.example.com (...) byłbym wdzięczny, jeśli ktoś mógłby mi powiedzieć, czy jest to możliwe, czy nie. Jeśli to możliwe, czy udało Ci się uruchomić coś takiego? Jaka jest właściwa droga do tego? Czy dodatkowe wtyczki są pomocne? Docenię każdą pomoc.


title: Treść powyżej 10 000 znaków nie będzie wyświetlana za pomocą funkcji the_content()

text: Mój przyjaciel właśnie zauważył, że jego witryna nie wyświetla stron zawierających dużo treści. Z jakiegoś powodu są po prostu puste, a jeśli usunie jakąś treść ze strony, wyświetli się ona ponownie. Znak z 10 000 znaków wydaje się być progiem - wszystko powyżej i znika. Bawiłem się jego szablonami i zauważyłem, że treść zostanie wyświetlona, jeśli użyję `echo get_the_content()` zamiast `the_content()`, ale wtedy traci on automatyczne formatowanie. Czy ktoś wcześniej napotkał ten problem? Szukałem i przeszukiwałem tę stronę, ale niczego nie znalazłem. Z góry dziękuję za jakiekolwiek światło, które możesz na to rzucić!


title: get_option('sticky_posts') zwraca naklejki, które są w koszu

text: Wartość get_option('sticky_posts') obejmuje te, które znajdują się w koszu. Jak mogę uzyskać wartość minus kleje, które są w koszu? var $stickies = count(get_option('sticky_posts'));


title: Jak pokazać popularny post w wordpressie w ciągu ostatnich 24 godzin?

text:
Mam query_post na moich kodach. Spowoduje to wyświetlenie popularnego posta wszechczasów. Ale chcę wyświetlić popularny post w ciągu ostatnich 24 godzin. Jak mogę to zrobić? <?php query_posts('orderby=comment_count&order=DESC&paged=' .get_query_var('paged'));?> Widziałem tu wiele odpowiedzi związanych z tym tematem, ale nie dokładnie z tym kodem. Poniżej znajduje się mój pełny kod. <?php /* Nazwa szablonu: spróbuj */ ?> <?php get_header(); ?>

Archiwum bloga

 <?php if ( ! dynamic_sidebar( 'Alert' ) ) : ?>  <?php endif ?>
 <?php query_posts('showposts=15&orderby=comment_count&order =DESC&paged=' .get_query_var('paged'));?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

 <?php if(has_post_thumbnail()) :?>
 <?php the_post_thumbnail (); ?>
 <?php endif; ?>
 <?php the_excerpt(); ?>

 <a href="<?php the_permalink(); ?> "><?php tytuł_(); ?>

 <?php kategoria_(', ') ?>

 <?php echo get_the_date(); ?>w<?php echo get_the_time(); ?>
 <?php if(function_exists(kkLikeButton())){kkLikeButton();}?>

 <?php endwhile; else: ?>

<?php _e('Wystąpił błąd.'); ?>

<?php _e('Przepraszamy za wszelkie niedogodności, kliknij ponownie w przeglądarce lub skorzystaj z poniższego formularza wyszukiwania.'); ?>
 <?php get_search_form(); /* wyświetla domyślny formularz wyszukiwania Wordpress */ ?>
 <?php endif; ?>

<?php next_posts_link('«Starsze wpisy') ?>

<?php previous_posts_link('Nowsze wpisy »') ?>

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


title: Jak odzyskać tekst: Brak filmu tego aktora

text:
Hy, buduję witrynę kinową, na stronie filmu mam pole niestandardowe, które linkuje do strony aktora, kiedy dodaję film i linkuję aktora, na stronie aktora dostaję film, teraz problem polega na tym, jak mogę dodać w tym kodzie tekst "Brak filmu tego aktora", jeśli nie wybrano żadnego filmu, chcę odzyskać zautomatyzować ten tekst. Aby odzyskać filmy mam ten kod. <?php //utwórz nowe zapytanie pętli dla filmów tego aktora $movies = $wpdb->get_col("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'dystrybucja' AND meta_value LIKE '%".get_the_ID()." %'"); $the_query = nowe WP_Query( array( 'post__in' => $movies) ); // Pętla while ( $the_query->have_posts() ): $the_query->the_post(); echo '
'; ?> <img class="aktor-img" src="/scripts/timthumb.php?src=<?php the_field('img'); ?>&h=110&w=75&zc=1" alt="<?php the_title (); ?>" title="<?php tytuł_(); ?>"/> <?php tytuł_(); echo '
'; koniec; // Zresetuj dane posta wp_reset_postdata(); ?> Każda pomoc byłaby wdzięczna. Z góry dziękuję!


title: Jak wybrać odbiorcę wiadomości e-mail w formularzu kontaktowym 7 w oparciu o stan adresu wprowadzony w formularzu i zapisać do bazy danych?

text: Korzystanie z Formularza Kontaktowego 7 **Sytuacja** Gdy gość wypełnia formularz na stronie internetowej, wpisuje: * Imię i nazwisko * E-mail * Telefon * Adres (ulica, miasto, województwo, kod pocztowy) * Wiadomość Muszę zapisać te informacje do bazy danych do wykorzystania w przyszłości i muszę wysłać e-mail na centralny adres e-mail i na określony adres e-mail, który zmienia się w zależności od stanu odwiedzającego. Zasadniczo sprzedawcy mają terytoria, a kontakty z witryny muszą zostać wysłane na główny adres e-mail witryny, a także do osoby odpowiedzialnej za terytorium. Nie wszystkie stany mają przypisanego sprzedawcę. **Podjęte kroki** Zainstalowałem Contact Form DB, aby zapisać wszystkie zgłoszenia do bazy danych. Korzystam z metody opisanej na stronie Contact Form 7, aby wybrać odbiorcę - Odbiorca Wybieralny z Rurami. Używam nazwy stanu jako listy rozwijanej do wyboru i adresu e-mail sprzedawcy po potoku. [select* state „Alabama|jan@example.com” „Alaska” „Arizona|jan@example.com” „Arkansas|mary@example.com” „Kalifornia|mary@example.com” „Kolorado” ] „Poczta” CF7 do wysłania na centralny adres e-mail witryny oraz na adres e-mail sprzedawcy, który działa w wybranym stanie. central@example.com,[stan] **Problemy** Gdy odwiedzający wybiera stan, do którego przypisano sprzedawcę, adres e-mail sprzedawcy jest wprowadzany do bazy danych, a nie stan. Gdy odwiedzający wybierze nazwę stanu, który nie ma wyznaczonego sprzedawcy, nazwa stanu jest wprowadzana do bazy danych, ale nie jest wysyłana wiadomość e-mail. Próbowałem również skonfigurować "Mail" do wysyłania do `central@example.com` i "Mail (2)" do wysyłania do `[stan]` (adres e-mail sprzedawcy), jednak żaden e-mail nie został wysłany do `central@example. com` gdy nie podano adresu e-mail dla nazwy stanu na liście rozwijanej. Na koniec spróbowałem wpisać nazwę stanu w tym formacie - `"Alaska|"`. W tym przypadku nic nie zostało wprowadzone do bazy danych dla „stanu” i nie wysłano żadnego e-maila. Przetestowałem to za pomocą obu wymienionych powyżej opcji „Poczta”. **Rozwiązanie?** Teraz rozumiem, że mogę po prostu wpisać `central@example.com` dla wszystkich nazw stanów bez wyznaczonego sprzedawcy — i to jest w porządku. Problem z tym - adres e-mail jest nadal wpisywany do bazy danych dla `stanu`. Wyobrażam sobie, że potrzebuję sposobu, aby wziąć nazwę stanu ([_raw_state]) i przekazać ją do ukrytego pola CF7, aby można ją było zapisać w bazie danych, ale nie wydaje mi się, jak to zrobić.


title: Prawidłowe sprawdzenie dowolnej strony administratora z edytorem

text: Przeczytałem kodeks, ale stwierdziłem, że jest nieco niekompletny. Lubię ładować rzeczy tylko na stronach, na których widoczny jest edytor postów. Powinno to obejmować niestandardowe typy postów i wszystko. Jestem trochę pewny co do obiektu `get_current_screen()`. Kiedy używać `base`, `parent_base`... Czy to byłoby właściwe sprawdzenie? Przetestowałem to na stronach i postach i wydaje się, że działa. Tylko pytam, bo jestem ciekawa, czy mógłbym to lepiej. $ekran = get_current_screen(); if ( 'post' == $screen->base || 'page' == $screen->base ) { // Załaduj rzeczy }


title: Jak dodać post bez przypisywania do kategorii?

text: Czy ktoś może wyjaśnić, jak dodać post w WordPressie bez przypisywania go do żadnej kategorii. Właściwie chcę wyświetlić jakieś wiadomości lub szybkie informacje. Więc to nie wchodzi do żadnej kategorii na moim blogu. W tym czasie nie chcę przypisywać do żadnej kategorii. na przykład http://www.someSiteURL.com/this-is-news-about-something-awesome/ http://www.someSiteURL.com/wordpress-themes/Anan-wordpress-theme-review/ Pierwszy adres URL to co chcę mieć. Ale domyślnie automatycznie dodaje „bez kategorii”. Moja struktura linku bezpośredniego to „/%category%/%postname%/” i używam Yoast do ukrycia słowa „kategoria” w adresach URL. Czy ktoś może pomóc w tej sytuacji? I uprzejmie informuję, że nie chcę dodawać strony na takie rzeczy. Nie chcę też dodawać do tego kategorii, takich jak „wiadomości” lub „informacje”. Dziękuję za Twój czas,


title: wykryć język, w jakim jest napisany post

text: Czy istnieje sposób oceny języka, w jakim jest napisany post/strona? Tworzę wielojęzyczną stronę i prawie wyrywam sobie włosy, próbując uzyskać nawigację front-endową, aby uwzględnić wybrany język. Jak dotąd wtyczka polylang http://wordpress.org/extend/plugins/polylang/ działała dobrze ze wszystkim innym.


title: Nie można przekazać zmiennej w konfiguratorze motywów dodaj ustawienia()

text: Mam opcje motywu zapisane jako dane serializowane. I nazwałem nazwę opcji, pobierając nazwę motywu. $motyw = wp_get_theme(); $ustawienia = sanitize_title($motyw).'-opcje'; // nie zmieniaj! Ale kiedy próbuję przekazać zmienną $settings z konkatenacją lub bez niej. Kończy się tym fatalnym błędem. Błąd krytyczny: Wywołaj funkcję członkowską check_capabilities() na obiekcie niebędącym obiektem w C:\Users\SISIR\Dropbox\wamp\www\l\wp-includes\class-wp-customize-control.php w wierszu 160 Sprawdź Sekcja `$settings.'[skin']` która nie działa, ale kiedy zastąpię tę część kodu `'lead_capture_theme_option[skin]'`, działa. Sam błąd krytyczny też jest zagadkowy. add_action( 'customize_register', 'lead_capture_theme_customize_register', 11 ); funkcja lead_capture_theme_customize_register ($wp_customize) { $theme = wp_get_theme(); $ustawienia = sanitize_title($motyw).'-opcje'; // nie zmieniaj! // var_dump($ustawienia); $wp_customize->add_section( 'lead_cap_color_scheme', array( 'title' => __( 'Schemat kolorów', 'nazwa motywu' ), 'priority' => 35 ) ); $wp_customize->add_setting( $settings.'[skin]', array( 'default' => 'light', 'type' => 'theme_mod', 'capability' => 'edit_theme_options') ); $wp_customize->add_control( 'lead_capture_theme_option[skin]', array( 'label' => 'Wybierz schemat kolorów', 'type' => 'select', 'choices' => array('default', 'custom' ), 'section' => 'lead_cap_color_scheme', 'settings' => 'lead_capture_theme_option[skin]' ) ); $wp_customize->add_setting( 'lead_capture_theme_option[logo]', array( 'type' => 'theme_mod', 'capability' => 'edit_theme_options') ); $wp_customize->add_control( nowy WP_Customize_Image_Control( $wp_customize, 'lead_capture_theme_option[logo]', array( 'label' => 'Prześlij logo', 'section' => 'lead_cap_color_scheme') ) ); }


title: Echo wyróżnionego obrazu strony przypisanej do bloga w index.php

text: Mam stronę moich postów ustawioną na stronę o nazwie Blog. Jest to ustawione na użycie szablonu Szablon: szablon domyślny. Więc index.php renderuje tę stronę. Chcę mieć możliwość ustawienia polecanego obrazu tej strony, którą nazwałem Blog, i wyświetlania tego wyniku u góry strony z wpisami na blogu w mojej witrynie. Dla każdej innej strony w mojej witrynie mogę to osiągnąć dzięki <div style="background-image: url('<?php echo $featured_src[0]; ?>');"> Czy ktoś ma pojęcie, dlaczego polecany obraz będzie działał dla page.php, ale nie dla index.php?


title: dwadzieścia trzynaście rozmiar nagłówka

text: Jestem nowy w wordpressie, więc naprawdę przepraszam, że zadałem takie głupie pytanie. Chcę tylko wiedzieć, gdzie jest css obrazu nagłówka. Sprawdziłem style.css, ale nie ma css obrazu nagłówka. Proszę pomóż. Dziękuję


title: Jaka jest zasada tworzenia motywu, który nie obsługuje widżetów/menu?

text: Tworzę minimalistyczny motyw, a moim planem nie jest umieszczanie w nim menu ani widżetów. Strona przeglądu motywów na wordpress.org stwierdza: > Niezależnie od tego, czy wdrażasz wymagane, zalecane czy opcjonalne funkcje, motywy są > wymagane do obsługi właściwej implementacji rdzenia WordPress wszystkich zawartych > funkcji. To jest dla mnie dość niejasne. Czy to oznacza, że muszę uwzględnić wszystkie podstawowe funkcje WordPressa? Co jest uważane za podstawową funkcję? Czy widżety i menu są podstawowymi funkcjami?


title: Policz wszystkie komentarze niestandardowego typu postu

text: Wiem, jak liczyć komentarz na post, użytkownika i łącznie, ale mam problemy z uzyskaniem **całkowitej ilości komentarzy w określonym typie postu**. Myślę, że mogę przejść przez wszystkie posty i policzyć każdy komentarz, ale szukam czegoś szybszego i tańszego w zasobach Doceń twoją pomoc ** Do tej pory mam to (myślę, że to zły sposób, ale mogę się mylić): ** /*** LICZENIE WSZYSTKICH KOMENTARZY WEDŁUG TYPU POSTU ***/ function countCptCommentsTotal() { // FAQ ARGS $faqStatsArgs = array( 'post_type' => 'some_post_type', 'post_status' => 'publish', 'posts_per_page ' => -1 ); $faqstats_query = nowe WP_Query($faqStatsArgs); // PĘTLA $allAnswers = 0; while ($faqstats_query->have_posts()) { $faqstats_query->the_post(); $curfaqid = get_the_ID(); $allAnswers = $allAnswers + countPostComments($curfaqid); } wp_reset_query(); zwróć $allAnswers; }


title: Paginacja w niestandardowym typie posta nie działa, jeśli permalinki są ustawione na przepisywanie adresu URL

text: Podczas przepisywania adresu URL w ten sposób: .../%postname%/ To jest odpowiednia część moich argumentów rejestracji typu postu: 'rewrite' => array( 'slug' => 'haendler', 'with_front' => false ) Moja paginacja w niestandardowym typie posta nie działa. Paginacja jest dostępna, ale kiedy klikam drugą stronę, link `http://www.example.com/%postname%/page/2` zawsze zmienia się z powrotem na `http://www.example.com/%postname% /` Jeśli wyłączę permalinki do domyślnego stylu ciągu zapytań, podział na strony jest w porządku. Jaki może być powód, dla którego adres URL automatycznie usuwa wartość `page/2`? Z góry dziękuję


title: Brak podfolderu na posty w wielu witrynach

text: Podejrzewam, że odpowiedź brzmi nie, ale pomyślałem, że sprawdzę jeszcze raz. Jestem w trakcie przekształcania bloga WordPress w ciąg wielu witryn, w których każda witryna reprezentuje kategorię postów w oryginalnym blogu. Wiem, że musisz mieć podfolder lub subdomenę dla każdej Multi Site, np. www.domena.com/multisite, ale czy można to usunąć dla postów, aby wszystkie posty we wszystkich witrynach Multi miały format www.domena.com/to-jest-post-może-być-na-dowolnym- multi-site Potrzebuję, aby posty nadal technicznie należały do odpowiedniej Multi Site, ponieważ używam wtyczek dla każdego z nich, aby tweetować na własnym, oddzielnym koncie na Twitterze i wyświetlać ten kanał jako widżet.


title: Jak ręcznie stworzyć galerię fancybox?

text:
założenie, że tak naprawdę nie wiem nic o frameworku wordpress, wiem tylko, jak z niego korzystać. Muszę zmienić już istniejącą galerię z dużą ilością obrazów, na prostą galerię, taką jak fancybox (wtyczka...). Starszy programista zbudował stronę z natywnymi funkcjami wp, ale naprawdę nie wiem, jak się tam przenieść. Zainstalowałem wtyczkę (fancybox) dodając ją za pomocą narzędzi "dodaj wtyczkę" w backendzie, ale teraz muszę edytować istniejącą stronę o nazwie "taxonomy-lookbook-cat.php", a oto jej kod źródłowy : <?php /* Nazwa szablonu: Lookbook */ ?> <?php get_header(); ?>

 <?php $ kot = get_query_var('lookbook-cat'); ?> <?php $catargs = array( 'orderby' => 'name', 'order' => 'ASC', 'style' => 'list', 'show_count' => 0, 'hide_empty' => 0 , 'use_desc_for_title' => 0, 'title_li' => __( '' ), 'echo' => 0, 'taxonomy' => 'lookbook-cat', 'walker' => null ); ?>

<?php echo wp_list_categories( $catargs ); ?>

 <?php $args = array( 'post_type' => 'lookbook', 'zamówienie' => 'ASC', 'lookbook-cat' => $cat, ); $items_small = nowe WP_Query($args); ?> <?php if( $items_small->have_posts()): ?>

 <?php while( $items_small->have_posts() ) : $items_small-> Poczta(); ?> <li id="mała-<?php the_ID(); ?>"> <?php the_post_thumbnail( 'karuzela-mała' ); ?>
 <?php endwhile; ?>

 <?php jeszcze: ?> Och nie ma produktów! <?php endif; ?> <?php wp_reset_query(); ?> <?php $items_big = nowe WP_Query( $args ); ?> <?php if( $items_big->have_posts() ): ?>

 <?php $licznik = -1; ?> <?php while( $items_big->have_posts() ): $items_big->the_post(); ?> <?php $licznik++; ?> <li id="duży-<?php the_ID(); ?>"> <?php $attributes = array( 'id' => 'img-' . $licznik, ); ?> <?php the_post_thumbnail( 'duża karuzela', $atrybuty); ?>
<?php the_content(); ?>

 <?php endwhile; ?>

  <?php else: ?> Och nie ma produktów! <?php endif; ?>

 <div class="fb-like" data-href="<?php echo bloginfo('url') . $_SERVER["REQUEST_URI"]; ?>" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false">

  <?php get_footer(); ?> podzielony jest na "dwie galerie" dużą i małą. Muszę przepisać tę stronę i za chwilę lub w cyklu foreach powinna pokazać coś takiego:

 Dzięki za wsparcie, potrzebuję go!


title: Dlaczego Wordpress przekierowuje, gdy oddzielam wp-core i wp-content?

text: Próbuję ustawić moje projekty Wordpress tak, abym mógł mieć `http://www.example.com/` jako adres URL mojej witryny, powiedzmy zmapowany do `/var/www/vhosts/www.example.com/` i w tym miejscu chciałbym użyć następującej struktury: /var/www/vhosts/www.example.com/wp-core/ /var/www/vhosts/www.example.com/wp-content/ /var/www /vhosts/www.example.com/wp-config.php Chciałbym, aby `wp-core/` zawierał podstawową instalację Wordpressa jako `svn:external` oraz z `wp-content` i `wp-config.php ` przechowywane w moim repozytorium SVN, zawierające motywy, konfigurację itp. dla każdej witryny. Poniższy artykuł wydaje się wyjaśniać, jak skonfigurować powyższą strukturę: http://codex.wordpress.org/Installing_WordPress_With_Clean_Subversion_Repositories Jednak napotykam problem, w którym strona ładuje się poprawnie, odczytuje jej konfigurację z `wp- config.php` powyżej `wp-core` zgodnie z przeznaczeniem, jednak kiedy próbuję się zalogować, Wordpress przekierowuje żądanie z `http://www.example.com/wp-login.php` do `http:// www.example.com/wp-login.php/` - zwróć uwagę na końcowy ukośnik. Oto potwierdzenie dodatkowych linii w `wp-config.php`, które dodałem w tym celu: define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content'); define('WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/wp-content' ); Oto odpowiednie wiersze z `wp_options` w mojej bazie danych: SELECT nazwa_opcji,wartość_opcji FROM wp_options WHERE nazwa_opcji = 'home'; strona główna,http://www.example.com SELECT nazwa_opcji,wartość_opcji FROM opcje_wp WHERE nazwa_opcji = 'adres URL witryny'; siteurl,http://www.example.com Oto mój .htaccess: # POCZĄTEK WordPress <IfModule mod_rewrite.c> # Hej, chodźmy! RewriteEngine On # Base to ścieżka URL katalogu domowego RewriteBase / # Base trafia do WordPress RewriteRule ^$ /wp-core/index.php [L] # Pomiń prawdziwe pliki i katalogi RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{ REQUEST_FILENAME} !-d # W przeciwnym razie wyślij go do WordPress RewriteRule .* /wp-core/index.php [L] </IfModule> # KONIEC WordPress Śledząc to w Chrome, widzę, że `HTTP 301` z prawidłowego adresu adres z końcowym ukośnikiem jest zwracany przez serwer, więc wskazuje to na `.htaccess` powyżej, jednak pierwsza linia poniższego fragmentu nieco temu przeczy: 127.0.0.1 - - [06/Feb/2014:21 :02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (2) silnik przepisywania init z żądanym uri /wp-login.php/ 127.0.0.1 - - [06/luty /2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (1) przechodzi przez /wp-logi n.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Użytkownicy/ joe/tmp/example.com/trunk-new/] dodaj informację o ścieżce postfix: /Users/joe/tmp/example.com/trunk-new/wp-login.php -> /Users/joe/tmp/example.com /trunk-new/wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] ( 3) [perdir /Users/joe/tmp/example.com/trunk-new/] rozpakuj prefiks na katalog: /Users/joe/tmp/example.com/trunk-new/wp-login.php/ -> wp -login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Użytkownicy /joe/tmp/example.com/trunk-new/] zastosowanie wzorca '^$' do uri 'wp-login.php/' 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] dodaj postfix informacji o ścieżce: /Users/joe/tmp /example.com/trunk-new/wp-login.php -> /Users/joe/tmp/egzamin ple.com/trunk-new/wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/ początkowy] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] usuń prefiks dla poszczególnych katalogów: /Users/joe/tmp/example.com/trunk-new/wp-login.php/ -> wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [ perdir /Users/joe/tmp/example.com/trunk-new/] zastosowanie wzorca '.*' do uri 'wp-login.php/' 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (2) [perdir /Users/joe/tmp/example.com/trunk-new/] przepisz 'wp-login.php/ ' -> '/wp-core/index.php' W szczególności: `requested uri /wp-login.php/` wskazuje, że Apache otrzymuje żądanie `/wp-login.php/`, a nie `wp-login.php ` i `mod_rewrite` przechodzą przez żądanie. Czy ktoś może zaoferować jakieś sugestie, jak mogę to skonfigurować, aby móc mieć pliki WP core w jednym katalogu w katalogu głównym doc i `wp-config/` obok katalogu WP core?


title: Niestandardowy link do pobrania

text: Jak skonfigurować Wordpress, aby rozpoznawał www.example.com/wp-content/uploads/2010/12/history.pdf jako coś takiego jak www.example.com/about/pdf-download/ Chcę, aby użytkownik nie widział aktualny link, ale nowy.