title: Usuń elementy menu ze strony administratora i ogranicz możliwości

text: Domyślnie zezwalam ludziom na subskrybowanie mojej witryny jako współtwórców, co umożliwia im określone działania. To, co chcę zrobić, to usunąć posty, komentarze, kontakt (ContactForm7) i narzędzia, pozostawiając im tylko opcje dodawania nowych zdarzeń (wtyczka zdarzeń). Chcę również mieć pewność, że nawet jeśli te przyciski są ukryte, ludzie nie mogą przesyłać się do tych PostTypes, jeśli wiedzą, jak to zrobić. W tej chwili czytam książkę o rozwoju wtyczek Professional WordPress i jest to dużo do ogarnięcia, więc na razie chciałbym to zrobić tylko na stronie funkcji mojego motywu. Oto, co próbuję zgodnie z kodeksem: add_action( 'admin_menu', 'jh_remove_menu_pages' ); funkcja jh_remove_menu_pages() { remove_menu_page('edit-comments.php'); remove_menu_page('tools.php'); remove_menu_page('edit.php'); remove_menu_page('wp-contact-form-7.php'); } Udało mi się znaleźć na tej stronie wszystkie pliki php, które muszę ukryć, ale nie jestem pewien co do pliku ContactForm7. EDYCJA: Udało mi się znaleźć rozwiązanie tutaj, aby usunąć formularz kontaktowy 7 z menu administratora. Zgodnie z kodeksem, powyższy kod nie usuwa uprawnień do bezpośredniego dostępu do ekranów (postów, narzędzi itp.) i nadal przesyła, jeśli wiedzieli, jak: _"Należy pamiętać, że nie uniemożliwi to użytkownikowi bezpośredniego dostępu do tych ekranów. Usunięcie menu nie zastępuje konieczności odpowiedniego filtrowania uprawnień użytkownika."_ Jak usunąć wszystkie możliwości wszystkich powyższych z wyjątkiem Zdarzeń i profil? Czytam przez remove_cap w kodeksie, ale obawiam się, że mogę nieumyślnie wyłączyć publikowanie zdarzeń, jeśli usunę możliwość Posts? I na koniec, jak wyświetlić tylko powiązane zdarzenia dla użytkownika, który jest w danym momencie zalogowany? Wielkie dzięki.


title: Włączenie Wordpressa w RESTful API

text: Używam świetnego małego produktu o otwartym kodzie źródłowym o nazwie Restler, aby zapewnić RESTful API do aplikacji Wordpress. Aby to zadziałało, chcę mieć możliwość załadowania środowiska Wordpress w ramach zestawu klas PHP, które Restler uruchomi, gdy nadejdzie żądanie. Pomysł ładowania środowiska WP - bez ładowania elementów interfejsu użytkownika - osiąga się za pomocą skryptu, który nazwałem AddWordpress.php: <?php error_reporting(E_ALL); $site_name='twoja_strona'; $site_domain='www.twojawitryna.com'; /** * Skonstruuj fałszywy globalny $_SERVER, aby WordPress wczytał określoną witrynę. * Pozwala to uniknąć wielu kłopotów z funkcją switch_to_blog() i wszystkimi jej pułapkami. */ $_SERVER=array( 'HTTP_HOST'=>$site_domain, 'REQUEST_METHOD'=>'GET', 'REQUEST_URI'=>"/{$site_name}/", 'SERVER_NAME'=>$site_domain, ); // Usuń wszystkie nasze niestandardowe zmienne, ponieważ będą one objęte zakresem jako globalne i mogą mieć wpływ na WordPress unset($site_name,$site_domain); // Udawaj, że wykonujemy proces AJAX. Powinno to pomóc WordPressowi nie ładować wszystkich rzeczy. define('DOING_AJAX',prawda); // Zatrzymaj WordPressa przy normalnej obsłudze danych wyjściowych. define('WP_USE_THEMES',fałsz); // włącz debugowanie define('WP_DEBUG', true); define('WP_DEBUG_LOG', prawda); // Załaduj WordPress - celowo używając bezwzględnego adresu URL z powodu problemów z względnymi ścieżkami w CLI. dołącz "/[ścieżka-do-root-www]/wp-load.php"; To działa jak urok. Mogę teraz uruchamiać takie skrypty z wiersza poleceń (`php test.php` gdzie poniżej skrypt to test.php): <?php include "AddWordpress.php"; $terms = get_terms("działania"); echo json_encode($terms); Problem, który mam, polega na tym, że jeśli chcę umieścić „AddWordpress.php” nie na górze pliku, ale wewnątrz wywołania metody – wiem, że to brzmi jak strasznie zły pomysł, ale są ku temu dobre powody …proszę mi wierzyć – wtedy wszystko się wali i mój dzień bardzo szybko się kręci. Dokładniej, plik testowy wygląda teraz tak: <?php function do_that_wordpress_thing() { include "AddWordpress.php"; } do_that_wordpress_thing(); $terms = get_terms("działania"); echo json_encode($terms); a błędy, które otrzymuję są następujące: Uwaga: is_404 został wywołany niepoprawnie. Tagi zapytań warunkowych nie działają przed uruchomieniem zapytania. Wcześniej zawsze zwracają fałszywe. Zobacz Debugowanie w WordPressie, aby uzyskać więcej informacji. (Ta wiadomość została dodana w wersji 3.1.) w /[ścieżka-do-www-root]/wp-includes/functions.php w wierszu 2944 Uwaga: is_home zostało wywołane niepoprawnie. Tagi zapytań warunkowych nie działają przed uruchomieniem zapytania. Wcześniej zawsze zwracają fałszywe. Zobacz Debugowanie w WordPressie, aby uzyskać więcej informacji. (Ten komunikat został dodany w wersji 3.1.) w /[ścieżka-do-www-root]/wp-includes/functions.php w wierszu 2944 Uwaga: is_search został wywołany niepoprawnie. Tagi zapytań warunkowych nie działają przed uruchomieniem zapytania. Wcześniej zawsze zwracają fałszywe. Zobacz Debugowanie w WordPressie, aby uzyskać więcej informacji. (Ten komunikat został dodany w wersji 3.1.) w /[ścieżka-do-www-root]/wp-includes/functions.php w wierszu 2944 Uwaga: is_archive zostało wywołane niepoprawnie. Tagi zapytań warunkowych nie działają przed uruchomieniem zapytania. Wcześniej zawsze zwracają fałszywe. Zobacz Debugowanie w WordPressie, aby uzyskać więcej informacji. (Ta wiadomość została dodana w wersji 3.1.) w /[ścieżka-do-www-root]/wp-includes/functions.php w wierszu 2944 ... itd ... *** AKTUALIZACJA *** Na rzecz, którą wybrałem up na PHP.net jest to fragment funkcji dołączania def: > Jeśli dołączanie występuje wewnątrz funkcji w pliku wywołującym, wtedy cały kod zawarty w wywoływanym pliku będzie zachowywał się tak, jakby był > zdefiniowany w tej funkcji . Będzie więc podążał za zmiennym zakresem tej funkcji >. Wyjątkiem od tej reguły są magiczne stałe, które są > oceniane przez parser przed wystąpieniem dołączenia. Myślę, że to musi odgrywać ważną rolę w tym, dlaczego to nie działa, ale wciąż jestem beznadziejnie zagubiony. Czy ktoś może wyjaśnić, dlaczego tak się dzieje? Każda pomoc byłaby BARDZO mile widziana.


title: Błąd krytyczny wp-settings.php w wierszu 119

text: Otrzymywanie tego komunikatu o błędzie po aktualizacji posta: > Ostrzeżenie: require(/home/thomwhite/wparch.com/wp-includes/post-template.php) > [function.require]: nie udało się otworzyć strumienia: Odmowa uprawnień w > / home/thomwhite/wparch.com/wp-settings.php w wierszu 119 > > Błąd krytyczny: require() [function.require]: Wymagane nieudane otwarcie > '/home/thomwhite/wparch.com/wp-includes/post- template.php' > (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') w > /home/thomwhite/wparch.com/wp-settings.php on-line 119 Wszelkie sugestie byłyby bardzo mile widziane!!!


title: Jak wstrzyknąć post w pętli

text: Próbuję wstrzyknąć post, gdy pętla jest uruchomiona. Ten post zostanie wstrzyknięty pod pewnym warunkiem, więc `if(x == j){ //inject post here }` Widzę, że wydaje się to łatwe do zrobienia, ale mam w zapytaniu argument posts_per_page do wykorzystania do stronicowania i Obawiam się, że wstrzyknięcie postu może zepsuć sprawę. Z góry dziękuję za wszelką pomoc!


title: Czy można mieć motyw z wbudowanymi fizycznymi plikami stron?

text: Tworzę motyw i zastanawiałem się, czy byłoby możliwe tworzenie stron w moim folderze motywu, które odzwierciedlałyby adres URL + ścieżkę wordpress. Więc na przykład mógłbym podczas uzyskiwania dostępu do: http://mydomain.com/about szukałby about.php lub about.html w moim folderze motywu? Osiągnąłem sukces, robiąc to, ale obsługując metodę `is_404`, a następnie renderując stronę za pomocą `get_template_part($pathname)`, jednak każda strona wyświetli stan odpowiedzi 404, który nie jest wykonalny? Czy jest inny sposób, aby to osiągnąć? Chciałbym, żeby istniał jakiś rodzaj aliasów URL, które mógłbym przyznać dla mojego motywu i móc z niego korzystać. Z góry dziękuję


title: Jak zmienić ?language=in na /cm/

text: Próbuję dodać języki do mojej witryny opartej na wordpressie i zainstalowałem wtyczkę xili-languages. Niestety używa lang param do rozróżniania języków i raczej widziałem coś takiego jak http://domain.com/cn/article-in-chinese/ zamiast http://domain.com/article-in-chinese/?lang =cn


title: Najlepszy sposób na wykorzystanie front-endu ajax?

text: Pytanie brzmi, w jaki sposób najlepiej / najłatwiej zrobić motyw za pomocą ajax, używając admin-ajax.php lub normalnie. Pytam, ponieważ widzę, że to komplikuje używanie admin-ajax.php do wszystkiego i używanie wtyczki jquery, aby na przykład włączyć historię przeglądarki. to myśli? Przepraszam za mój angielski!!!


title: Problem podczas filtrowania według „category_name”

text:
Mam następujący kod w celu wyświetlenia niestandardowego WP_Query:
 <?php $args = array( 'post_type' => 'preguntas', 'posts_per_page' => 50, 'category_name' => 'fianza' ); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); ?>
 <a href="<?php the_permalink() ?>" rel="zakładka" title="<?php the_title_attribute(); ?>"> <?php the_title(); ?>
 <?php the_terms( $post->ID, 'tipos', 'kategorie: ', ' / ' ); ?>
 <?php endwhile; ?>
 Jednakże, kiedy dodam argument `'category_name' => 'fianza'`, nie wyświetla on żadnych wyników (a jest treść w tej kategorii). Wiem, że jest to problem z `category_name`, ponieważ jeśli go zdejmę, wyświetli wszystkie wyniki bez problemu. Jakieś pomysły, co może być nie tak? Dziękuję! **Korzystanie z var dump prowadzi mnie do tego** `string(302) "SELECT SQL_CALC_FOUND_ROWS wp_5zuqa4_posts.ID FROM wp_5zuqa4_posts WHERE 1=1 AND 0 = 1 AND wp_5zuqa4_posts.post_type = 'preguntas' AND (wp_tus_5szuqa" wp_5zuqa4_posts.post_status = 'prywatny') GRUPA WG wp_5zuqa4_posts.ID ZAMÓWIENIE WG wp_5zuqa4_posts.post_date LIMIT ZAPIS 0, 10"`


title: remove_action w pliku wtyczki

text: Próbuję użyć remove_action( 'admin_notices', 'woothemes_updater_notice' ); We wtyczce, aby uniemożliwić edycję motywów pliku functions.php, jednak kod nie jest wykonywany. Czy muszę to w coś zawinąć, aby działał z plików wtyczek?


title: json_decode nie działa na Wordpressie

text: Próbuję przekonwertować ciąg json z powrotem na tablicę w wordpressie. Oto ciąg json, który otrzymuję z bazy danych: [ { "item_title": "Kindle Fire HD 7\", Dolby Audio, Dual-Band Wi-Fi, 16 GB - Zawiera oferty specjalne", "item_url" : "http://my.dev/tester/wordpress/wp-content/ecom-plugin-redirects/ecom_redirector.php?id=2342", "large_image": "http://my.dev/tester/wordpress/ wp-content/uploads/2013/03/29_51EN7cswSYL.jpg", "formatted_price": "199,00 USD", "stars_url": "http://my.dev/tester/wordpress/wp-content/plugins/ecom/img/ stars-4-0.gif", "product_review": "Najbardziej zaawansowany 7-calowy tablet świata z oszałamiającym wyświetlaczem HD, ekskluzywnym dźwiękiem Dolby i najszybszą siecią Wi-Fi w tablecie. Jeśli chodzi o wyświetlacze HD , świetna rozdzielczość to dopiero początek. Kindle Fire HD zapewnia bogate kolory i głęboki kontrast pod każdym kątem dzięki zaawansowanemu filtrowi polaryzacyjnemu i niestandardowej technologii przeciwodblaskowej. Nasz ekskluzywny dźwięk Dolby Digital Plus zawiera technologię do regulacji st głośności, twórz wirtualny dźwięk przestrzenny i dostarczaj łatwiejsze do zrozumienia dialogi w filmach i programach telewizyjnych.", "review_rating": "4 na 5", "reviews_url": "http://my.dev/tester/ wordpress/wp-content/ecom-plugin-redirects/ecom_redirector.php?id=2347", "reviews_label": "Przeczytaj wszystkie 9 972 recenzje klientów", "create_review_url": "http://my.dev/tester/wordpress/ wp-content/ecom-plugin-redirects/ecom_redirector.php?id=2346", "create_review_label": "Napisz recenzję", "form_id": "6653b8329db2abc61eba9f32c26d1c4c", "add_to_cart_action": "http://my.dev/ tester/wordpress/wp-content/ecom-plugin-redirects/add_to_cart.php", "asin": "B0083PWAPW", "total_items": "", "item_status": "W magazynie", "customer_images": [ "http ://my.dev/tester/wordpress/wp-content/uploads/2013/03/29_61hMQEAJpRL.jpg" ], "disclaimer": "", "item_attribute s": [ { "attr": "Binding", "value": "Elektronika" }, { "attr": "Brand", "value": "Amazon Digital Services Inc." }, { "attr": "Color", "value": "Czarny" }, { "attr": "EAN", "value": "2609000005244" }, { "attr": "Label", "value" : "Amazon Digital Services, Inc" }, { "attr": "Producent", "value": "Amazon Digital Services, Inc" }, { "attr": "Model", "value": "53-000406" }, { "attr": "MPN", "value": "0379" }, { "attr": "PackageQuantity", "value": "1" }, { "attr": "PartNumber", "value" : "0379" }, { " attr": "ProductGroup", "value": "Amazon Devices" }, { "attr": "ProductTypeName", "value": "ABIS_ELECTRONICS" }, { "attr": "Publisher", "value": "Amazon Digital Services, Inc" }, { "attr": "ReleaseDate", "value": "2012-09-14" }, { "attr": "Studio", "value": "Amazon Digital Services, Inc" } , { "attr": "Title", "value": "Kindle Fire HD 7\", Dolby Audio, Dual-Band Wi-Fi, 16 GB - Obejmuje oferty specjalne" }, { "attr": "UPC", "value": "848719003796" } ], "customer_review_url": "http://my.dev/tester/wordpress/w p-content/ecom-customer-reviews/61b553856a18b530399c2158ebbfc71d.html", "flickr_results": [ "http://my.dev/tester/wordpress/wp-content/uploads/2013/03/29_8418129172_d9cd0358ce_m.jpg" ], freebase_text": "Amazon.com, Inc. (NASDAQ:u00a0AMZN) to amerykańska międzynarodowa firma handlu elektronicznego z siedzibą w Seattle w stanie Waszyngton, Stany Zjednoczone. Jest to największy na świecie sklep internetowy. Firma produkuje również elektronikę użytkową – w szczególności czytnik e-booków Amazon Kindle – i jest głównym dostawcą usług przetwarzania w chmurze.\\nAmazon ma oddzielne witryny detaliczne dla następujących krajów: Stany Zjednoczone, Kanada, Wielka Brytania, Francja, Niemcy, Włochy, Hiszpania, Japonia i Chiny z międzynarodową wysyłką niektórych produktów do niektórych innych krajów. Oczekuje się również, że uruchomi swoje strony internetowe w Polsce, Holandii i Szwecji.\\nJeff Bezos zarejestrował firmę (jako Cadabra) w lipcu 1994 roku, a strona weszła do sieci jako amazon.com w 1995 roku. Firma została przemianowana na Amazon River , jedna z największych rzek na świecie, która z kolei została nazwana na cześć Amazonek, legendarnego narodu kobiet-wojowników w mitologii greckiej. Amazon.com zaczynał jako księgarnia internetowa, ale szybko się zdywersyfikował, sprzedając płyty DVD, CD, pliki MP3, oprogramowanie, gry wideo, elektronikę, odzież, meble, żywność, zabawki i biżuterię.\\nFirma została założona w 1994 roku dzięki co Bezos nazwał swoim \"żalem\", "freebase_image": "http://my.dev/tester/wordpress/wp-content/uploads/2013/03/0mgkg?maxwidth=150&maxheight=150&key=AIzaSyBU4RGRI2UlcVoS7fEAWhKBURGp7-DCb1A", " ebay_related_items": [ { "title": "Amazon Kindle Fire HD 16 GB, Dual-Band WiFi, 7 cali, Dolby Audio-Black (najnowszy model)", "image": "http://my.dev/tester/wordpress/ wp-content/uploads/2013/03/200_140.jpg", "url": "http://my.dev/tester/wordpress/wp-content/ecom-plugin-redirects/ecom_redirector.php?id=3946" , "currency_id": "USD", "current_price": "215.0" }, { "title": "Kindle Fire HD 7\" Dolby Aud io Dwuzakresowe Wi-Fi 16 GB z ofertami specjalnymi od Amazon", "image": "http://my.dev/tester/wordpress/wp-content/uploads/2013/03/201_140.jpg", "url ": "http://my.dev/tester/wordpress/wp-content/ecom-plugin-redirects/ecom_redirector.php?id=3966", "currency_id": "USD", "current_price": "170.0" } ] } ] Działa to, gdy używam `json_decode($json, true)` poza wordpressem. Prawidłowo konwertuje na tablicę bez żadnych problemów. Ale kiedy wewnątrz wordpressa muszę wykonać następujące czynności, aby uzyskać prawidłowy ciąg json: $valid_json = str_replace('\\\n', '\n', $json); $dane = json_decode($valid_json, true); Wartość przechowywana w `$valid_json` doskonale działa poza wordpress, ale wewnątrz wordpress otrzymuję zwrot `NULL`. Próbowałem użyć `var_dump()`, aby sprawdzić, czy otrzymuję dokładnie to samo: $post_id = get_the_ID(); $results_cache = get_results($post_id); $nazwa_szablonu = $wyniki_cache->nazwa_szablonu; $json = trim($results_cache->wynik); $json = str_replace('\\\n', '\n', $json); var_dump($json); var_dump($json_str); Dla pierwszego var_dump otrzymuję `string(9841)`. A dla drugiego, który jest ciągiem skopiowanym bezpośrednio z bazy danych otrzymuję `string(9839)` Kolejną rzeczą, którą zauważyłem jest to, że kiedy bezpośrednio kopiuję to, co jest zapisane w bazie danych i używam w niej `json_decode()` wordpress działa bez użycia: str_replace('\\\n', '\n', $json); funkcja, której użyłem do pobierania danych z bazy danych, używa funkcji `$wpdb` get_results($post_id){ global $wpdb; $post = $wpdb->get_row("Wybierz wynik, nazwa_szablonu FROM wyników WHERE post_id = '$post_id'"); return $post; } Nie wiem, jaka jest różnica między pobieraniem z bazy danych za pomocą zapytania a bezpośrednim kopiowaniem tego, co jest w bazie danych. Czy muszę coś jeszcze zrobić, aby to zadziałało?


title: Czy można dodać wyciąg do pliku core?

text: Chciałbym dodać jedną linię do pliku wp core. Zasadniczo na stronie 'edit.php', tuż nad <?php include('./admin-footer.php'); Chciałbym dodać instrukcję include php... include('./custom-file.php'); Plik niestandardowy znajduje się we wtyczce, a nie w motywie... więc jeśli napiszę go w moim pluginie function.php, adres URL będzie wyglądał następująco: include( plugin_dir_path( __FILE__) . '/custom-file.php'); Czy mogę w jakiś sposób dodać tę jedną linię za pomocą funkcji bez konieczności edytowania pliku core? Dziękuję!


title: Używanie nazwy strony tablicy wraz z identyfikatorem strony do wyrejestrowania skryptu

text: Jeśli używam tego: if (is_page(array(blabla-test-page, 20726, 20720, 38881))) {wp_deregister_script( 'gdsr_script' ); } `blabla-test-page` wygląda tak, jakby przesłaniała różne strony, nawet jeśli niektóre strony nie mają tej samej `body class`. Na przykład: strona z `id` 5555 nie ma klasy ciała `blabla-test-page`, ale z jakiegoś powodu wyrejestrowuje również ten skrypt... Jeśli usunę `blabla-test-page` i zmienię go na Numer identyfikacyjny, który ma, 5555 nie zostanie naruszony... Jak to się dzieje? Jak używać nazwy strony i identyfikatora strony razem? FYI: w `kodeksie` jest napisane `is_page( array( 42, 'about-me', 'About Me And Joe') )`, ale kiedy to zrobię, klasa o nazwie strony nie wyrejestruje skryptów . Myślę, że to bardzo dziwne.


title: WP_Query orderby post__in pozostaje nieskuteczny w Pętli

text: Próbuję wysłać zapytanie do niestandardowej tablicy postów dla strony głównej, starając się zachować kolejność podaną w tablicy. Do pewnego stopnia działa to dobrze, WordPress znajduje posty, ale w Pętli kolejność znów się miesza. Przede wszystkim używam haka `pre_get_posts` do zmiany głównego zapytania na stronie głównej, które wygląda mniej więcej tak: if ( is_home() && $query->is_main_query() ) { $query->set( ' post_type', array( 'post', 'strona', 'produkt' ) ); $query->set( 'post__in', array( 103, 14, 127, 115 ) ); $query->set( 'orderby', 'post__in' ); } Kolejność na stronie głównej jest pomieszana! Nie podąża za określoną tablicą ani datami publikacji (co jest ustawieniem domyślnym). Zamiast tego jest to 127, 103, 14, 115. Zrzuciłem `global $wp_query` na stronie głównej, aby sprawdzić, co się stało, a zapytany SQL rzeczywiście miał postać SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts. ID IN (103,14,127,115) AND wp_posts.post_type IN ('post', 'strona', 'produkt') AND (wp_posts.post_status = 'publish' OR wp_posts.post_author = 1 AND wp_posts.post_status = 'private') ZAMÓWIENIE BY FIELD( wp_posts.ID, 103,14,127,115 ) LIMIT 0, 10 Więc nie ma problemu! Tak właśnie powinno się stać. Jednak tablica postów w `$wp_query->posts` ma złą kolejność. Możesz zauważyć, że zapytanie zawiera niestandardowy post typu „produkt”. Czy to jest winowajca? Masz pomysł, gdzie szukać?


title: Wordpress jako tezaurus/słownik: jakie podejście?

text: Chcę opracować tezaurus/słownik języka berberyjskiego. Witryna umożliwiająca członkom społeczności dodawanie nowych słów/synonimów/antonimów. 1. Jak powiązać słowa (posty) ze sobą? za pomocą tagów? ale przy takim podejściu trudno jest utrzymać porządek, gdy nazwy/slugi postów są modyfikowane; wtedy tagi również powinny zostać zaktualizowane.. uważaj, że słowo „duży” jest już wstawione jako post, a następnie ktoś dodał słowo „duży” i powiązał je ze słowem „duży”, wstawiając na nim tag.. potem pojawia się trzeci użytkownik i dodał słowo „świetnie”; oznacza to, że wszystkie posty o podobnych synonimach powinny zostać zaktualizowane! **czy to nie jest złe podejście do tagów?** 2. Innym problemem jest dodanie antonimów; Nie mogę dodać ich jako tagów, ponieważ tagi są zarezerwowane dla synonimów! **więc jak rozwiązać tę złożoną strukturę zachowując wszystko, co jest łatwe w utrzymaniu?** **Aktualizacja** _Dlaczego taksonomie nie działają?_ Ponieważ taksonomie są przeznaczone do kategoryzowania rzeczy, które mają różne cechy; podobnie jak w bazie danych filmów, masz taksonomię dla aktorów, na przykład dla reżyserów.. Ale ponieważ słowa w słowniku są „równe”, powinny być traktowane tak samo.. więc myślę więcej o używaniu pól niestandardowych.. Dzięki za wszelką pomoc i przepraszam za długi post :) _PS; Nie chcę używać wtyczek, aby uniknąć problemów z zależnościami._


title: Sprawdź, czy użytkownik jest zalogowany, wewnątrz pliku php w katalogu szablonów

text: Mam plik php w moim katalogu szablonów, który generuje niektóre dane z bazy danych. Chcę tylko, aby te dane były dostępne dla moich użytkowników Wordpress. Próbowałem za pomocą tego wiersza kodu, ale wyświetla mi się błąd mówiący „nagłówki już wysłane”. Co jest nie tak? Czy jest jakiś inny sposób na rozwiązanie tego problemu? <?php require_once('../../../wp-blog-header.php'); if (is_user_logged_in()) { echo "Witaj świecie"; } else { echo "Nie masz dostępu do tego zasobu!"; } ?>


title: qProblem z kodowaniem znaków tłumaczenia przy włączonej wtyczce

text: Zainstalowałem wtyczkę qTranslate na moim blogu. Po włączeniu tej wtyczki niektóre słowa wyglądają dziwnie. Po wyłączeniu wszystko jest w porządku. Jak mogę rozwiązać ten problem? Mój blog: blog.mustibh.net Zdjęcie: http://mustibh.net/1.png


title: paginacja w niestandardowej liście utworzonej za pomocą funkcji get_pages

text: Mam niestandardową stronę, która wywołuje funkcję - powiedz generatelist, funkcje generatelist wywołują get_pages() i przechodzą przez tablicę, używając dla każdego i budując listę zawierającą różne dane z metadanych stron (tak, strony, nie posty! powód) funkcja zwraca listę (właściwie katalog stron) i wyświetla ją w obszarze zawartości strony niestandardowej. ponieważ lista staje się coraz dłuższa (w miarę dodawania kolejnych stron zakupów) chcę dodać stronicowanie do listy (zachowując resztę strony, w tym strony niestandardowe, które znajdują się po liście i oczywiście resztę motywu: stopka, pasek boczny itp.) Widziałem wtyczkę PageNavi, ale nie wiem, gdzie powinienem użyć tagu szablonu i jak kontrolować liczbę wpisów przed podziałem na strony. to pytanie jest podobne do tego, ale tak naprawdę nie otrzymałem odpowiedzi. ciesz się z jakiejkolwiek pomocy w tym (właściwie nie jestem facetem od php, bardziej typu python, ale zbudowałem tę wtyczkę, aby pomóc przyjacielowi, a teraz muszę to skalować)


title: Dodaj wiele obrazów do strony profilu autora

text: Opracowuję motyw stylu katalogu za pomocą wielu witryn, a każdy nowy autor musi mieć możliwość przesłania 5-10 zdjęć, aby były wyświetlane na jego stronie profilu. Czy jest jakiś sposób na zrobienie tego? Nie mam nic przeciwko, jeśli jest to wtyczka, ponieważ ten motyw jest przeznaczony dla klienta, a nie do ogólnego wydania.


title: Którego użyć do wykonania kodu podczas zapisywania strony ustawień wtyczki?

text: Piszę wtyczkę ze stroną ustawień/opcji i chcę, aby jakiś kod php był wykonywany za każdym razem, gdy ktoś zapisze ustawienia na tej stronie i tylko na tej stronie. Do jakich działań muszę się podłączyć, aby to osiągnąć?


title: Dodawanie niestandardowych pól do obrazu w postach

text: Zastanawiam się, jak mógłbym ustawić niestandardowe pole w moich postach Wordpress. Chcę, aby dostępne było pole do dodawania obrazu za pośrednictwem pulpitu nawigacyjnego postu – które ma ustawioną maksymalną szerokość i maksymalną wysokość, chcę, aby obraz zawsze unosił się w lewo w postach (zawijanie tekstu po prawej stronie). Czy ktoś może polecić do tego wtyczkę lub fragment PHP, który mógłbym dołączyć do tego (mógłbym dodać do single.php lub functions.php, prawda?) Dzięki jak zawsze!


title: Problem z serializowanymi tablicami w niestandardowej meta

text:
Niedawno przeniosłem moje „profile gatunkowe” akwarystyki z niestandardowej bazy danych do niestandardowego niestandardowego typu postu WordPress. Zrobiłem to, tworząc plik PHP, który uzyskał dostęp do poprzedniej bazy danych, wyodrębnił odpowiednie informacje i wstawił je do bazy danych WP. To zadziałało dla wszystkich profili i wszystkich dołączonych mediów, ale niektóre z moich „odniesień” (klucz pola meta) nie wyświetlają się z tyłu ani z przodu, mimo że znajdują się w bazie danych. Oto jeden z naciągniętych odnośników, nad którymi JEST wyświetlany: Array ( [0] => Array ( [ref_doc_title] => walczące ryby (Teleostei: Osphronemidae: Rodzaj Betta) z Singapuru, Malezji i Brunei. [ref_pub_year] = > [ref_page_nums] => Raffles Bull. Zool. Supplement (13):43-99.2005 [ref_publishers] => [ref_authors] => Tan, H.H. i P.K.L. Ng. ) [1] => Array ([ref_doc_title] => Ryby Parku Narodowego Danau Sentarum i obszaru Jezior Kapuas, Kalimantan Barat, Indonezja. [ref_pub_year] => [ref_page_nums] => Byk loterii. Zool. Suplement (13): 139-173. 2005 [ref_publishers] => [ref_autors] => Kottelat, M. i E. Widjanarti. ) [2] => Tablica ( [ref_doc_title] => [ref_doc_title] => [ref_page_nums] => www.fishbase.org [ref_publishers] => [ref_publishers] => ) [3] => Tablica ( [ref_doc_title] = > [ref_pub_year] => [ref_page_nums] => www.ibcbettas.org [ref_publishers] => [ref_authors] => ) [4] => Tablica ( [ref_doc_title] => [ref_page_nums] => [ref_page_nums] => www.petfrd.com [ref_publishers] => [ref_authors] => ) ) A w bazie danych wygląda to tak: `a:5:{i:0;a:5:{s:13:"ref_doc_title";s: 94:"Walczące ryby (Teleostei: Osphronemidae: Genus Betta) Singapuru, Malezji i Brunei.";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:47: "Raffles Bull. Zool. Supplement (13):43-99. 2005";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:24:"Tan, H.H. P.K.L. Ng.";}i:1;a:5:{s:13:"ref_doc_title";s:98:"Ryby Parku Narodowego Danau Sentarum i obszaru Jezior Kapuas, Kalimantan Barat, Indonezja.";s: 12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:49:"Raffles Bull. Zool. Suplement (13):139-173. 2005";s:14:"ref_publishers" ;s:0:"";s:11:"ref_authors";s:31:"Kottelat, M. i E. Widjanarti.";}i:2;a:5:{s:13:"ref_doc_title"; s:0:"";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:16:"www.fishbase.org";s:14:"ref_publishers"; s:0:"";s:11:"ref_authors";s:0:"";}i:3;a:5:{s:13:"ref_doc_title";s:0:"";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:17:"www.ibcbettas.org";s:14:"ref_publishers";s :0:"";s:11:"ref_authors";s:0:"";}i:4;a:5:{s:13:"ref_doc_title";s:0:"";s:12: "ref_pub_year";s:0:"";s:13:"ref_page_nums";s:14:"www.petfrd.com";s:14:"ref_publishers";s:0:"";s:11: "ref_authors";s:0:"";}}` Mam więc taki, który nie działa: Array ( [0] => Array ( [ref_doc_title] => Rewizja rodziny Badidae (Teleostei: Perciformes), z opis nowego rodzaju i dziesięciu nowych gatunków [ref_pub_year] => [ref_page_nums] => Ichthyol. Explor. Freshwat. 13(4): 295-372. [ref_publishers] => [ref_authors] => Kullander, S.O. and R Britz. 2002 ) [1] => Array ( [ref_doc_title] => Ewolucyjne i biogeograficzne wzory Badidae (Teleostei: Perciformes) wywnioskowane z danych sekwencji mitochondrialnego i jądrowego DNA.[ref_pub_year] => [ref_page_nums] => Mol. Filogen. i Evol. 32(3): 1010-1022. [ref_publishers] => [ref_authors] => Rüber, L., R. Britz, S. O. Kullander i R. Zardoya. 2004 ) ) A tak to wygląda w bazie: `a:2:{i:0;a:5:{s:13:"ref_doc_title";s:110:"Rewizja rodziny Badidae (Teleostei: Perciformes ), z opisem nowego rodzaju i dziesięciu nowych gatunków. ";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:44:"Ichthyol. Explor. Freshwat. 13 (4): 295-372. ";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:34:"Kullander, S.O. and R. Britz. 2002";} i:1;a:5:{s:13:"ref_doc_title";s:138:"Wzorce ewolucyjne i biogeograficzne Badidae (Teleostei: Perciformes) wywnioskowane z danych dotyczących sekwencji mitochondrialnego i jądrowego DNA.";s:12:" ref_pub_year";s:0:"";s:13:"ref_page_nums";s:42:"Mol. Phylogen. and Evol. 32(3): 1010-1022.";s:14:"ref_publishers";s :0:"";s:11:"ref_authors";s:57:"Rüber, L., R. Britz, SO Kullander i R. Zardoya. 2004";}}` Kod, którego używam na zapleczu jest następujący: function meta_references() { global $post; if ($post) { $references = get_post_meta( $post->ID , 'referencje ', TRUE ); if (get_post_meta( $post->ID, 'ref_type_desc', TRUE) != "") { $ref_type_desc = get_post_meta( $post->ID, 'ref_type_desc', TRUE); } else { $ref_type_desc = -1; } } ?>

Kliknij tutaj aby dodać nową referencję.
 <?php if (!empty($references)) { $count = count($references); for ($i = 1; $i <= $count; $ i++) { if ($ref_type_desc != -1 && $i == $ref_type_desc) { $this->print_reference($i, $references[$i-1], TRUE);} else { $this->print_reference($i, $references[$i-1]); } } } else { $this->print_reference(1); } ?>
Kliknij tutaj, aby wyłączyć przyciski Opisu typu.

 <?php } function print_reference($i, $array = NULL, $type_desc = NULL) { // każda informacja poniżej musi zostać zmieniona w references.js ?>

Referencja <?php echo $i; ?>

 Autorzy <input type="text" name="ref_authors[]" value="<?php if (isset( $tablica["odn_autorzy"])) { echo $tablica["odn_autorzy"]; } ?>" /> <etykieta>Wydawca</etykieta> <input type="text" name="odn_wydawcy[]" value=" <?php if (isset($tablica["ref_publishers"])) { echo $tablica["ref_publishers"]; } ?>" />

 Rok publikacji <input type="text" name="ref_pub_year[]" value="<?php if (isset($array["ref_pub_year" ])) { echo $tablica["ref_pub_year"]; } ?>" /> Numery stron <input type="text" name="ref_page_nums[]" value="<? php if (isset($tablica["ref_page_nums"])) { echo $array["ref_page_nums"]; } ?>" />

Tytuł dokumentu <input type="tekst" name="ref_doc_title[]" value="<?php if (isset($array["ref_doc_title"])) { echo $array["ref_doc_title"]; } ?>" />

Typ Opis? <input type="radio" class="ref_type_desc" name="ref_type_desc" style=" dopełnienie-górne:5px;margin-górny:5px;" value="<?php echo $i; ?>"<?php if ($type_desc == TRUE) { echo 'sprawdzone = "sprawdzone"'; } ?> />

Kliknij <a href="javascript:void (0);" id="<?php echo $i; ?>_del_reference">tutaj, aby usunąć Reference #<?php echo $i; ?>.

 <?php } A kod, którego używam na interfejsie użytkownika to : if (get_post_meta($post->ID, 'references', TRUE) != "") { $references = get_post_meta($post->ID, 'references', TRUE); if (strlen($references[0] ["ref_doc_title"]) > 0) { echo '
Referencje
' . "\n"; echo '
'; if (get_post_meta($post ->ID, 'ref_type_desc', TRUE) != "") { $type_desc = get_post_meta($post->ID, 'ref_type_desc', TRUE); $count = count($references); for ($i = 1; $i <= $count; $i++) { if ($i == $type_desc) { $n = $i - 1; $r = $referencje[$n]; echo '
' echo '' . $r["ref_authors"] . ', ' . $r["ref_pub_year"] . ''; echo '-' . $r["ref_publishers"] . ': ' . $r["ref_page_nums"]; echo '
' . $r["ref_doc_title"]; echo '
'; unset($references[$n]); } } } // Porównanie sortowania zdefiniowane przez użytkownika. Użyj małych liter, aby upewnić się, że funkcja sortowania jest dokładna cmp($a, $b) { $al = strtolower($a["autorzy_odn"]);$bl = strtolower($b["autorzy_odn"]);if ($al == $bl) { return 0; } return ($al > $bl) ? +1 : -1; } usort($references, "cmp");foreach ($references as $r) { echo '
'; echo '' . $r["ref_authors"] . ', ' . $r["ref_pub_year"] . ''; echo '-' . $r["ref_publishers"] .': ' . $r["ref_page_nums"]; echo '
' . $r["ref_doc_title"]; echo '
'; } echo '
'; } } **Nic nie wyświetla się w back-endzie ani w interfejsie dla żadnego z tych "niedziałających" odniesień, ale wpisy są w bazie danych z poprawnym identyfikatorem postu i meta_key.** Zastanawiam się więc , czy ta zserializowana tablica (ta niedziałająca) jest w jakiś sposób zniekształcona pod kątem korzystania z WordPressa? Nie sądzę, że jest zniekształcony przez standardy PHP, ponieważ mogę go idealnie `print_r` za pomocą polecenia `unserialize`. Jakakolwiek pomoc byłaby mile widziana, chyba wariuję! **EDYTUJ dla Chipa** Oto (skrócony) wynik twojego kodu dla jednego z profili gatunków, który NIE wyświetla referencji. Usunąłem długie fragmenty innych pól meta, ale zostawiłem dwa inne wydruki meta, aby pokazać, jak zwracają. array(19) { ["rodzaj"]=> array(1) { [0]=> string(20) "Yasuhikotakia" } ["gatunek"]=> array(1) { [0]=> string(16) "splendida" } .... ["referencje"]=> array(1) { [0]=> string(4117) "a:12: {i:0;a:5:{s:13:"ref_doc_title";s:74:"Zmienność genetyczna pięciu gatunków Yasuhikotakia w Tajlandii z wykorzystaniem AFLP.";s:12:"ref_pub_year";s:0:" ";s:13:"ref_page_nums";s:48:"Dziennik Techniki Rolniczej 6(4): 761-766";s:14:"ref_publishers";s:0:"";s:11:"ref_authors ";s:60:"Arthainsee, A., T. Leamkom, A. Jutagate i S. Chundum. 2010";}i:1;a:5:{s:13:"ref_doc_title";s:48:"Kompleks Botia modesta (Cobitidae, Botiinae).";s:12:"ref_pub_year";s:0: "";s:13:"ref_page_nums";s:22:"Ichthyofile nr 1: 1-8";s:14:"ref_publishers";s:0:"";s:11:"autorzy_odn.";s :14:"Grant, S. 2001";}i:2;a:5:{s:13:"ref_doc_title";s:15:"Ryby Laosu.";s:12:"ref_pub_year";s: 0:"";s:13:"ref_page_nums";s:52:"WHT Publications Ltd., Kolombo 5, Sri Lanka. 198 pkt. ";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:17:"Kottelat, M. 2001";}i:3;a:5:{s:13 :"ref_doc_title";s:168:"Botia kubotai, nowy gatunek bocji (Teleostei: Cobitidae) z dorzecza rzeki Ataran (Myanmar), z komentarzami na temat nomenklatury botiinae i diagnozą nowego rodzaju.";s:12:"ref_pub_year ";s:0:"";s:13:"ref_page_nums";s:17:"Zootaxa 401: 1-18";s:14:"ref_publishers";s:0:"";s:11:" ref_authors";s:17:"Kottelat, M. 2004";}i:4;a:5:{s:13:"ref_doc_title";s:96:"Sześćdziesiąt milionów lat ewolucji. Część pierwsza: rodzina Botiidae (Ryby: Ostariophysi: Cobitoidea). ";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:81:"Travaux du Museum d'Histoire Naturelle "Grigore Antipa" 44: 309-333";s: 14:"ref_publishers";s:0:"";s:11:"ref_authors";s:19:"Nalbant, T.T. 2002";}i:5;a:5:{s:13:"ref_doc_title"; s:128:"Hymenphysa, Hymenophysa, Syncrossus, Chromobotia i inne problemy w systematyce Botiidae. Odpowiedź dla Maurice'a Kottelata.";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:82:"Travaux du Museum d'Histoire Naturelle "Grigore Antipa" 47: 269 -277.";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:19:"Nalbant, T.T. 2004";}i:6;a:5:{s:13:"ref_doc_title";s:90:"Botia splendida, nowy gatunek bocji (Ryby: Cobitidae) z dorzecza Mekongu w Laosie.";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:46:"Biuletyn Zoologii Raffles 43(2): 463-467 ";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:19:"Roberts, T.R. 1995";}i:7;a:5:{s:13: "ref_doc_title";s:147:"Molekularna filogeneza południowoazjatyckiej rodziny ryb słodkowodnych Botiidae (Teleostei: Cobitoidea) i pochodzenie poliploidii w ich ewolucji.";s:12:"ref_pub_year";s:0:""; s:13:"ref_page_nums";s:49:"Molecular Philogenetics and Evolution 39: 529-541";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:53 :"Šlechtová, V., J. Bohlen, J. Freyhof i P. Ráb. 2006";}i:8;a:5:{s:13:"ref_doc_title";s:188:"Rodziny Cobitoidea (Teleostei; Cypriniformes) ujawnione na podstawie danych genetyki jądrowej i pozycji tajemniczego rodzaju Barbucca, Psilorhynchus , Serpenticobititis i Vaillantella.";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:54:"Molekularna Filogenetyka i Ewolucja 44(3): 1358-1365";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:44:" Šlechtová, V., J. Bohlen i H.H. Tan. 2007";}i:9;a:5:{s:13:"ref_doc_title";s:72:"Dwa nowe gatunki z rodzaju kobitidów [ì]Botia z basenu Lao Mekong.";s:12:" ref_pub_year";s:0:"";s:13:"ref_page_nums";s:46:"Japanese Journal of Ichthyology 42(2): 147-155";s:14:"ref_publishers";s:0:" ";s:11:"ref_authors";s:25:"Taki, Y. i A. Doi. 1995";}i:10;a:5:{s:13:"ref_doc_title";s:126:"Phylogeny of the East Asian Botiine Loaches (Cypriniformes, Botiidae) wywnioskowano z sekwencji mitochondrialnego cytochromu b.";s: 12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:29:"Hydrobiologia 544(1): 249-258";s:14:"ref_publishers";s:0:" ";s:11:"ref_authors";s:44:"Tang, Q., B. Xiong, X. Yang i H. Liu. 2005";}i:11;a:5:{s:13:"ref_doc_title";s:177:"Porównanie tempa ewolucji genu cytochromu b mitochondrialnego DNA i regionu kontrolnego oraz ich implikacje dla filogenezy Cobitoidea (Teleostei: Cypriniformes).";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:52:"Filogenetyka molekularna i ewolucja 39(2): 347-357" ;s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:46:"Tang, Q., H. Liu, R. Mayden i B. Xiong. 2006";}}" } ["_thumbnail_id"]=> array(1) { [0]=> string(5) "25351" } ["attached_media"]=> array(1) { [0]=> string (156) "a:12:{i:0;i:25351;i:1;i:25352;i:2;i:25353;i:3;i:25354;i:4;i:25355;i :5;i:25356;i:6;i:25357;i:7;i:25358;i:8;i:25359;i:9;i:253510;i:10;i:253511;i:11 ;i:253512;}" } Na jednym z działających profili wyświetla się w podobny sposób: ["referencje"]=> array(1) { [0]=> string(1145) "a:5:{ i:0;a:5:{s:13:"ref_doc_title";s:94:"Walczące ryby (Teleostei: Osphronemidae: Genus Betta) Singapuru, Malezji i Brunei.";s:12:"ref_pub_year"; s:0:"";s:13:"ref_page_nums";s:47:"Loteria Byka. Zool. Suplement (13): 43-99. 2005";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:24:"Tan, H.H. i P.K.L. Ng.";}i:1;a:5:{s:13:"ref_doc_title";s:98:"Ryby Parku Narodowego Danau Sentarum i obszaru Jezior Kapuas, Kalimantan Barat, Indonezja.";s:12 :"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:49:"Loteria Byka. Zool. Suplement (13): 139-173. 2005";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:31:"Kottelat, M. i E. Widjanarti.";}i:2;a:5 :{s:13:"ref_doc_title";s:0:"";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:16:"www.fishbase.org ";s:14:"ref_publishers";s:0:"";s:11:"ref_authors";s:0:"";}i:3;a:5:{s:13:"ref_doc_title"; s:0:"";s:12:"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:17:"www.ibcbettas.org";s:14:"ref_publishers"; s:0:"";s:11:"ref_authors";s:0:"";}i:4;a:5:{s:13:"ref_doc_title";s:0:"";s:12 :"ref_pub_year";s:0:"";s:13:"ref_page_nums";s:14:"www.petfrd.com";s:14:"ref_publishers";s:0:"";s:11 :"ref_authors";s:0:"";}}" } ** KOŃCOWA EDYCJA ** @goldenapples odpowiedział poprawnie. Otworzyłem teraz nowe pytaniena Stackoverflow (ponieważ nie jest specyficzny dla WordPressa). http://stackoverflow.com/questions/9088910/migrating-data-from-latin1-charset-to-utf-8 Jeśli ktokolwiek z was może pomóc, byłoby to bardzo mile widziane!


title: Czy ktoś może nazwać ten lightbox?

text: Jestem nowy na forach i mam nadzieję znaleźć odpowiedź na następujące pytanie: Wejdź na tę stronę: http://www.indochino.com/product/gray-glen-plaid-suit Kliknij na miniatury Czy ktoś może to zidentyfikować lightbox? Czy to wtyczka czy niestandardowa? Masz pomysł, czy można go używać z Wordpressem? Wreszcie, jeśli nikt nie może zidentyfikować tego _dokładnego_ lightboxa, czy znasz coś podobnego? Dziękuję! _Michał


title: Jak usunąć adres URL witryny z umieszczonych w kolejce skryptów i stylów?

text: Mam do czynienia z problemem SSL i chciałbym usunąć domenę ze wszystkich skryptów i stylów wyprowadzanych przez wp_enqueue_scripts. Spowodowałoby to wyświetlenie wszystkich skryptów i stylów ze ścieżką względną od katalogu głównego domeny. Wyobrażam sobie, że jest haczyk, którego mogę użyć do przefiltrowania tego, jednak nie jestem pewien, który ani jak się do tego zabrać.


title: Załaduj zawartość z pliku dołączanego w wtyczce

text: Tytuł nie jest najlepszy, więc możesz go zmienić, aby był bardziej przejrzysty... Problem: Próbuję załadować stronę z wtyczki i zastąpić wszystko, co wypuszcza WP. Ustaw to tak, że jeśli są na pierwszej stronie witryny, wyświetli stronę PHP w mojej wtyczce: if(is_front_page()){ $full_path = WP_PLUGIN_URL.'/'.str_replace(basename(FILE),"" ,nazwa_bazy_wtyczki(PLIK)); $url = $pełna_ścieżka . "/NAZWA WTYCZKI/plik.php"; uwzględnij($url); umierać(); } Ale to nie jest wyprowadzanie pliku. Nawet jeśli wstawię PEŁNĄ ścieżkę do pliku PHP, nie wyświetli go ani nic. Odtworzy tylko ten punkt, w kodzie źródłowym: <meta name="generator" content="WordPress 3.3.1" /> Potem już nic. Nigdy nie udało mi się włączyć dołączania do pracy, naprawdę nie chcę korzystać z rozwiązania iFrame. Myśli? :) Dziękuję! * Dylan **UPDATE** Aby to osiągnąć, użyłem get_file_contents i hooka template_redirect. Zamierzam zrobić kilka testów na serwerze na żywo, aby zobaczyć, co się dzieje! :)


title: zapytanie o aktualizację posta z polecanymi obrazami z tablicy

text: Mam 100 istniejących postów o niestandardowym typie postów, które muszę zaktualizować ich polecane obrazy... Jak mam utworzyć zapytanie, aby losowo zaktualizować te obrazy z tablicy, powiedzmy, 20 obrazów z biblioteki multimediów? Wszelkie wskazówki byłyby świetne, dzięki!


title: Jak uzyskać zewnętrzne dane logowania (sesję) w WordPressie?

text: chcę użyć sesji formularza logowania codeignider w formularzu logowania wp public function check_login() { if($this->session->userdata('logged_in')) { redirect('/'); } //Ustaw tytuł strony $data['title'] = "Sprawdź logowanie"; $username = $this->input->post('username'); $email = $this->input->post('nazwa użytkownika'); $hasło = $this->input->post('hasło'); $password = hash('sha1',$password); echo (int)$is_admin = $this->loginmodel->user_login($username, $email, $password); $_SESSION['sumit']['puri']=$this->sesja->userdata('id'); // print_r($is_admin); // }


title: Niestandardowe zapytanie wybierające dla taksonomii, które mają posty skategoryzowane w innej taksonomii

text: Mam niestandardowego typu posta „dostawca” – i chcę, aby ludzie mogli drążyć niestandardowe taksonomie, aby zobaczyć posty. Mam dwie niestandardowe taksonomie — jedną dla „usługi”, a drugą dla „lokalizacji”. Tak więc w niestandardowym szablonie wymieniam wszystkie dostępne usługi… po kliknięciu jednego z nich ładuję inny ekran, który wyświetla wszystkie lokalizacje (i przekazuję identyfikator usługi w ciągu zapytania adresu URL)… po kliknięciu lokalizacji ... (ponownie przekazuję identyfikator usługi i identyfikator lokalizacji w ciągu zapytania) i ładuję listę dostawców, którzy są skategoryzowani zarówno z tą usługą, jak i lokalizacją. Problem, z którym się spotykam, polega na tym, że istnieje możliwość, że na tej liście lokalizacji - będzie zawierała lokalizację, dla której żadne posty nie mają wcześniej wybranej usługi. Więc w zasadzie - kiedy dostanę tę listę lokalizacji, potrzebuję listy lokalizacji, które mają posty, które RÓWNIEŻ zostały skategoryzowane z konkretną usługą, więc nie mam pustej listy. Na przykład: powiedzmy, że wybieram usługę "fotografia" - a następnie z listy lokalizacji wybieram "Boston" - ale nie mam żadnych fotografów w Bostonie... ponieważ tak jest... nie mam chcesz, żeby „Boston” pojawił się na tej liście. Podczas gdy moja lista usług jest prostym wywołaniem „get_terms”… Myślę, że potrzebuję niestandardowego zapytania wybierającego ($wpdb->get_results), aby pobrać tę listę lokalizacji, ale po prostu nie jestem pewien, jakie musi być zapytanie ...


title: Przekazywanie parametru do funkcji filtra i akcji

text: Jest sposobem na przekazanie własnych parametrów do funkcji w `add_filter` lub `add_action`. Na przykład spójrz na następujący kod: function my_content($content, $my_param) { zrób coś... używając tutaj $my_param ... return $content; } add_filter('treść', 'moja_treść', 10, 1); Czy mogę przekazać własny parametr? coś takiego: add_filter('the_content', 'my_content($my_param)', 10, 1) lub add_filter('the_content', 'my_content', 10, 1, $my_param)


title: Jak utworzyć powiadomienie administratora z wtyczki z argumentem?

text: Koduję niestandardową wtyczkę, aby wykonać pewne czynności w określonych godzinach. Bawię się add_action i add_filter, ale aktualnie pracuję nad wysłaniem adresu URL posta na konto Twitter. Problem polega na tym, że chciałbym wyświetlić odpowiedź HTTP API Twittera jako powiadomienie administratora (Codex of Admin Notice), ale całkowicie się pogubiłem. Oto mój kod Logika : function Twit_the_url( $post_ID ) { //połącz się z Twitterem api //wyślij tweet z url //uzyskaj odpowiedź z Twittera //wyślij odpowiedź do powiadomienia administratora : add_action('admin_notices', create_function( "", "echo \" $httpstatus \";" ) ); zwróć $identyfikator_poczty; } add_action( 'publish_post', 'Twit_the_url'); Wszystko idzie dobrze, dopóki nie zadzwonię do admin_notices. tweet jest tworzony, $httpstatus istnieje, ale moja wiadomość nie jest wyświetlana! Szukałem wskazówek i instrukcji, ale nie mogę zrozumieć, dlaczego to nie działa. Przyjrzałem się dwóm różnym wtyczkom, aby zobaczyć, jak to robią, ale nic to nie zmienia. Więc jeśli ktoś mógłby mi powiedzieć, gdzie się mylę, byłoby świetnie! Dzięki


title: Jak wysłać domyślną wartość z nowym parametrem na 'add_filter'

text: Filtruję `the_content` i chcę przekazać drugi parametr z filtrem dla kontekstu. Mój problem polega na tym, że nie wiem, jak przekazać _wartość domyślną_ , `$content`, a także mój nowy parametr `$translation_terms`. Wywołuję filtr w następujący sposób: add_filter('the_content', xcsn_translate( $content, $ translation_terms ), 20, 2 ); Ale `$content` jest oznaczony jako "Niezdefiniowana zmienna: zawartość" iw mojej funkcji oczywiście nie zawiera zawartości do filtrowania. Moje pytanie: Jak przekazać domyślną wartość filtra `$content` wraz z moim nowym parametrem. Nie używam OOP, więc `$this' nie działa. Moja funkcja wygląda tak: function xcsn_translate( $content, $translation_terms ) { // Zrób coś }


title: Jak dodać parametry do add_filter()?

text: Mam ten przykład, aby dostosować długość fragmentu: function custom_excerpt_length() { return 30; } add_filter( 'długość_wypisu', 'długość_wypisu_niestandardowego' , 10, 1 ); i działa idealnie. Ale chcę przekazać parametr `$length` do funkcji `add_filter()`. Próbowałem więc: function custom_excerpt_length($length) { return $length; } add_filter( 'długość_wypisu', długość_wypisu_niestandardowego(30) , 10, 1 ); Ale niestety nie działa. Jak mogę przekazać parametr, jeśli to możliwe?


title: pętla nie wyświetla się podczas korzystania z niestandardowego szablonu strony

text:
Dobra Więc chcę stworzyć niestandardowy szablon strony, który wyświetla moje posty dokładnie tak samo jak mój `index.php`. Możesz zobaczyć kod mojego `index.php` na dole. Więc tworzę plik .php o nazwie customindex.php i używam dokładnie tego samego kodu mojego `index.php` i kodu na górze, aby oznaczyć go jako niestandardowy szablon strony: <?php /* Nazwa szablonu: Indeks niestandardowy */ Problem: strona z szablonem indeksu niestandardowego nie wyświetla żadnych postów i nie wiem dlaczego. Kod mojego `index.php`: <?php get_header(); ?>
<?php _e( 'Beliebte Zitate', 'html5blank'); ?>
 <?php get_sidebar(); ?>
 <?php get_template_part('pętla'); ?>

 <?php html5wp_pagination(); ?>

 <?php get_footer(); ?> Kod mojego customindex.php (prawie taki sam jak index.php): <?php /* Nazwa szablonu: Indeks niestandardowy */ ?> <?php get_header(); ?>
<?php _e( 'Beliebte Zitate', 'html5blank'); ?>
 <?php get_sidebar(); ?>
 <?php get_template_part('pętla'); ?>

 <?php html5wp_pagination(); ?>

 <?php get_footer(); ?> Mój plik loop.php wygląda tak: <?php if (have_posts()): while (have_posts()) : the_post(); ?> <id artykułu="post-<?php the_ID(); ?>" <?php post_class(''); ?>> WIELE SPRAW
 <?php endwhile; ?> <?php else: ?> <artykuł>
<?php _e( 'Przepraszam, nic do wyświetlenia.', 'html5blank' ); ?>

 <?php endif; ?>


title: Druga funkcja polecanego obrazu (post_thumbnail)

text: Czy ktoś wie, czy można dodać dodatkową funkcję Polecanego obrazu do stron i edytora postów?


title: Próbuję sprawić, by moja galeria była responsywna na podstawie postu

text:
Próbuję zbudować stronę galerii, która będzie odpowiadała na identyfikator posta. Po omówieniu pomysłów z przyjacielem, który jest znacznie bardziej zorientowany w WP, zasugerował, abym używał identyfikatora postu w moich argumentach, który jest przekazywany przez krótki kod. Przestudiowałem krótki kod galerii w kodeksie i zauważyłem ten `intval($post->post_parent)`, więc umieściłem go w moim kodzie dla identyfikatora galerii, a moja strona nadal wyświetla każdy obraz, który znajduje się w mojej bibliotece multimediów, a nie obrazy w galerii, którą stworzyłem. Chcę, aby moje prace Photoshopa były oddzielone od moich prac astrofotograficznych w moim portfolio. oto moja strona link do galerii (galeria, którą stworzyłem składa się TYLKO ze zdjęć kosmicznych, pozostałe obrazy to photoshop. http://lab.nmjgraphics.com/astrophotography-2/ Oto kod z mojej strony gallery.php : <?php //Wywołanie argumentów dla galerii W tym miejscu można zmienić informacje dla jakiej galerii ma być wyświetlana $gallery_shortcode = '[gallery id="' .intval($post->post_parent) .'" column= "3" order="ASC" orderby="ID" galeria itemtag="div" icontag="span" captiontag="p" gallery size="średni"]'; ?> <?php get_header(); ?>
Galeria Astrofotografii

 <?php echo do_shortcode($gallery_shortcode) ; ?>
 <?php get_footer(); ?> Czy istnieje również sposób na nadpisanie lub wyłączenie w inny sposób wstępnie wygenerowanego css, który wp wstawia do galerii? renderowany jest wiek:  Na koniec, jeśli to nie jest możliwe, myślę, że moim następnym najlepszym wyborem będzie wtyczka galerii nextgen?


title: Jak sprawić, by ta wtyczka była bardziej wydajna?

text: Cześć, mam wtyczkę http://pastebin.com/a7t1SPXj, która importuje kanały z różnych stron internetowych. Chciałbym pomóc w rozwiązaniu dwóch problemów. Po pierwsze, chciałbym nałożyć limit na datę pobrania najstarszych kanałów, ograniczając wszystkie wyniki do ostatnich 7 dni. Po drugie, kiedy dodaję więcej niż 10 kanałów, naprawdę zaczyna spowalniać stronę i pojawia się błędy przekroczenia limitu czasu PHP. Jak mogę sprawić, by była bardziej wydajna, aby nie wymagała długich czasów ładowania przy każdym załadowaniu strony? Dziękuję.


title: Pobierz dane z bazy danych w celu wyświetlenia strony administracyjnej jako powiązanej z klasą strony administracyjnej według BA Internet

text: Dlaczego programiści tak cholernie utrudniają korzystanie z opracowanych przez siebie narzędzi? Nie odpowiadaj, już wiem :) Odniosłem pewne sukcesy używając tego: https://github.com/bainternet/Admin-Page-Class ...do stworzenia strony administratora wtyczki. BA Internet, twórca wtyczek, oferuje pola repeaterów, w których stworzyłem zestaw trzech pól do stworzenia listy samouczków wideo. Oto mój kod: $options_panel->Title(__("Samouczki wideo","apc")); $repeater_fields_videos[] = $options_panel->addText('re_text_field_video_title',array('name'=> __('Tytuł filmu ','apc')),true); $repeater_fields_videos[] = $options_panel->addText('re_text_field_video_url',array('name'=> __('Video URL ','apc')),true); $repeater_fields_videos[] = $options_panel->addTextarea('re_textarea_field_video_description',array('name'=> __('Opis filmu ','apc')),true); //repeater block $options_panel->addRepeaterBlock('re_',array('sortable' => true, 'inline' => true, 'name' => __('Dodaj swoje filmy z YouTube, Vimeo lub Screencast.', 'apc'),'fields' => $repeater_fields_videos, 'desc' => __('Wymaga pełnego adresu URL do filmu.','apc'))); Oto dane w moim polu fdwp101_options w tabeli wp-options //Co widzę w polu fdwp101_options w tabeli wp-options s:3:"re_";a:1:{i:0;a:3:{ s:16:"re_text_field_video_title";s:32:"Tutaj tytuł wideo"; s:23:"re_text_field_video_url"; s:18:"http://youtube.com"; s:21:"re_textarea_field_video_description";s:98:"Tutaj opis filmu";}} Na koniec kod, którego używam (który nie działa) do wyświetlania danych na mojej stronie: $data = get_option('fdwp101_options'); //nazwa grupy opcji echo $data['re_text_field_video_title']; BA Internet oferuje ten kod do ściągania danych, chociaż nie mogę go uruchomić dla danych pól wzmacniaka: //pobierz dane do tablicy $data = get_option('demo_options'); //moje pole to fdwp101_options //dostęp do każdego pola przez jego identyfikator echo $data['text_field_id']; Pomysły?


title: Wyświetlaj na stronie wszystkie posty z określonych kategorii

text:
Chcę wyświetlić wszystkie posty z określonych kategorii na jednej stronie. Dlatego wyedytowałem plik page.php w moim folderze motywu. Dodałem klauzulę 'if-', aby sprawdzić, która strona jest aktualnie wyświetlana i załadować wszystkie posty z następujących kategorii. <?php get_header(); ?>

 <?php if (is_page(26)) { query_posts('cat=2,6,9,13&showposts=-1&orderby= data'); if (have_posts()) : while (have_posts()) : the_post(); get_template_part( 'treść', 'strona' ); koniec; endif; } else { while ( have_posts() ): the_post(); get_template_part( 'treść', 'strona' ); koniec; // koniec pętli. } ?>

 <?php get_footer(); ?> Ale po załadowaniu strony 26 nic się nie wyświetli.


title: Jak przeciągnąć wiele pozycji menu jednocześnie w WordPressie?

text: Powiedzmy, że dodałem 8 pozycji do menu. Teraz chcę umieścić wszystkie 8 przedmiotów pod innym przedmiotem. Przeciąganie ich jeden po drugim może zająć wieki. Jak przeciągnąć je wszystkie na raz?


title: WordPress 3.5: Ustawianie niestandardowej „pełnej ścieżki URL do plików” w Bibliotece mediów?

text: Ponieważ ostatnie zmiany w WordPress 3.5 usunęły opcję „pełna ścieżka URL do plików” z biblioteki multimediów, zastanawiam się, jak teraz ustawić tę opcję na niestandardową ścieżkę? Muszę ustawić moją „pełną ścieżkę URL do plików” dla moich plików multimedialnych na niestandardową subdomenę. Czy możecie mi pomóc w znalezieniu rozwiązania tego problemu? Pozdrawiam, faxxim


title: Tworzenie niestandardowych stron za pomocą odtwarzacza wideo

text: Hej, próbuję samodzielnie nauczyć się tworzenia wordpressa, buduję blog plotkarski o celebrytach i potrzebuję pomocy. Chcę zbudować stronę wideo. Czy ktoś wie o wtyczce lub czymkolwiek, czego mogę użyć, co pozwala mi mieć odtwarzacz wideo flash, który akceptuje również linki do youtube. Coś takiego jak wstawianie adresu URL filmu, youtube w razie potrzeby i informacji o filmie, a kiedy skończę, zapisuję go i ma własną stronę z filmem, do której mogę utworzyć link. na przykład ten link poniżej zawiera listę postów wideo: http://www.celebuzz.com/video/, a kiedy klikniesz na linki, przejdzie do pojedynczej strony wideo, takiej jak link poniżej http://www.celebuzz. com/video-post/sneak-preview-of-%e2%80%98austinally%e2%80%99-%e2%80%94-%e2%80%98world-records-work-wreckers%e2%80 %99-episode/ A może musiałbym utworzyć specjalny typ postu dla filmów. Byłbym bardzo wdzięczny, gdyby ktoś udzielił mi odpowiedzi na to pytanie, wprawiłoby mnie to w ekstremalną ekstazę.


title: Jak sprawdzić, czy obrazek jest już przechowywany w bazie postów witryny? (sieć)

text: Obecnie skonfigurowałem Wordpress tak, aby posty można było kopiować do innych witryn w sieci Wordpress. Jednak post może być nadawany więcej niż raz i chcę sprawdzić, czy obraz jest już opublikowany w tabeli `wp_posts` tej witryny. Jako przykład załóżmy, że obraz ma ścieżkę do obrazu: /wp-content/uploads/2012/01/an_image.jpg Wszystkie obrazy są przechowywane przez sieć w ramach tej konfiguracji folderów (zamiast domyślnego `/blogs.dir/ pliki/`). Innymi słowy, czy Wordpress może wysłać zapytanie do bazy danych, aby sprawdzić, czy jest już w tabeli, czy też musi być napisane jako zapytanie do bazy danych PHP?


title: Jak dodać atrybut onclick do listy checkboxów?

text: Mam tę tablicę dla pola wyboru: array( 'name' => __('Najnowszy produkt',''), 'desc' => __('Wybierz, czy chcesz wyświetlić najnowszy produkt',''), 'id' => $prefix .'checkbox', 'type' => 'checkbox', 'std' => '' ) Chcę dodać atrybut dla `onclick="chk(electronics, this.checked);"` . Jak mogę to zrobić?


title: Jak napisać niestandardowy punkt końcowy API, który akceptuje argumenty i przekazuje je do funkcji?

text: Piszę swoją pierwszą wtyczkę WP i czuję się dość zagubiony. To powinien być prosty problem, ale nie mogę znaleźć żadnych dobrych samouczków ani niczego. Oto kod, który ułożyłem z różnych źródeł – wiem, że niektóre z nich mogą nie mieć sensu, ale czy ktoś może wskazać mi właściwy kierunek? funkcja my_api_activate() { global $wp_rewrite; add_rewrite_endpoint('myapp',EP_ALL); $wp_rewrite->flush_rules(); } register_activation_hook( __FILE__, 'my_api_activate'); add_filter('query_vars', 'add_query_vars'); funkcja add_query_vars($vars){ $vars[] = "mojaaplikacja"; zwróć $zmienne; } add_action('parse_request', 'save_my_data'); function save_my_data( &$wp ){ if (array_key_exists('myapp', $wp->query_vars)){ add_post_meta('90', 'testkey', 'testval'); }       zwrócić; } Wielkie dzięki.


title: Jak zatrzymać WordPressa pokazywanie wirtualnego pliku Robots.txt?

text: Widzę plik robots.txt tutaj: http://persian.cc/robots.txt Ale Google nie może! Wiem, że mogę znaleźć pliki `robots.txt` w katalogu głównym strony, ale hej, w moim nie ma pliku robots.txt, a ten `robots.txt` jest wirtualnym plikiem stworzonym przez WordPressa. Jak powstrzymać wordpress od robienia tego? LUB Jeśli nie mogę powstrzymać Wordpress pokazujący ten wirtualny plik `robots.txt`, jak mogę powstrzymać Google przed szukaniem go w mojej witrynie? może kod `.htaccess` czy coś takiego?


title: wp_query powinno najpierw pokazywać lepki

text:
Mam problem, że mój motyw z jakiegoś powodu zawsze pokazuje na początku najnowsze posty. Chciałbym jednak, aby najpierw pokazywał wszystkie lepki, a potem zwykłe. Oto kod:  <div class="home-thumbs" style="width:<?php echo $top_width; ?>px;"> <?php $home_query = nowe WP_Query ("cat=$slider_cat&ignore_sticky_posts=0&showposts=$top_row_posts"); $i = 0;?> <ul class="kciuki" style="szerokość:<?php echo $top_width; ?>px;"> <?php while ($home_query->have_posts()) : $home_query-> Poczta(); $do_not_duplicate = $post->ID; $i++; ?> <li class="post-<?php the_ID(); ?> thumb-duży">

 <?php get_the_image( array( 'custom_key' => array( 'thumbnail' ), 'default_size' => '320x320', 'width' => '320', 'height' => '320' ) );?>

<?php echo get_the_title(get_the_ID());?>

 <?php endwhile; wp_reset_query(); $i = 0; ?>

 Ustawiając przyklejone posty na zero, spodziewałbym się pokazywać przyklejone posty na początku pętli, ale wydaje się, że licznik pętli z jakiegoś powodu opada przez identyfikatory postu i pokazuje po prostu najnowsze posty jako pierwsze, ignorując wszystkie moje argumenty wp_query.


title: WordPress wbudowany w menu ścieżki nawigacyjnej?

text: Szukam menu nawigacyjnego, które można wywołać (najlepiej z widżetu paska bocznego w header.php), które zawiera listę... Strona główna > Wpis/strona nadrzędna > Bieżąca strona/post lub alternatywnie... Strona główna > Kategoria nadrzędna > Bieżąca strona/post lub nawet Strona główna > Kategoria dla starszych rodziców > Kategoria nadrzędna > Bieżąca strona/post


title: Jak uzyskać drugi fragment adresu URL strony?

text: Mam posty z „polem niestandardowym” o nazwie „rok”. Rok waha się od `1900 do 2011`. Chcę utworzyć osobną stronę na każdy rok, na której będą wyświetlane posty z tego roku. Dlatego utworzę stronę z szablonem i niestandardowym zapytaniem, aby znaleźć wszystkie posty z tego konkretnego roku. Jednak zamiast tworzyć ponad 100 indywidualnych stron roku, chcę po prostu utworzyć 1 stronę, która wyodrębni parametr z adresu URL i do zmiennej, a następnie znajdzie posty z tą zmienną. Więc zamiast tworzyć pojedyncze strony, takie jak `base.com/year/1990 , base.com/year/1991, base.com/year/1992` chcę po prostu utworzyć jedną stronę i wyodrębnić rok. Na przykład chcę wyodrębnić `2008` z adresu URL tej strony: http://www.base.com/year/2008 Już wiem, że mogę wyodrębnić `rok` używając tego kodu: $post->post_name; ale jak uzyskać dodatkowe parametry? Dziękuję


title: Jak przejść do wstępnego generowania pliku css ze zmiennymi z opcji motywu?

text: Wiem, że było tu wiele dyskusji na temat renderowania pliku css ze zmiennymi php. Na przykład "nie nie" sposób ładowania wp-load.php. Od kilku miesięcy pracuję nad ramą motywu i jedną z rzeczy, które robi, jest wygenerowanie pliku css za pomocą akcji parse request. add_action( 'parse_request', 'parse_dynamic_css_request' ); function parse_dynamic_css_request($wp) { if ($_GET['dynamic-css'] && $_GET['dynamic-css'] == 'css') { require get_stylesheet_directory() . '/biblioteka/css/dynamic.css.php'; Wyjście; } } Chociaż to działa i wykonuje swoją pracę. Wiem, że musi być lepszy sposób na zrobienie tego, ponieważ wiem, że jest to ogromna korzyść, niekoniecznie idealna. Mam pomysł, jak to działałoby naprawdę dobrze i obsługiwało statyczny plik na froncie. Myślę, że skoro z wordpressem, możesz mieć jakiś funkcjonalny kod w pliku function.php motywów, który działa w adminie. Musi istnieć sposób z php, aby wygenerować plik css, gdy opcje motywów są zapisywane przez administratora. Po zapisaniu opcji motywu plik css.php jest przetwarzany, ale wyniki są zapisywane w statycznym pliku css. Następnie, gdy witryna jest ładowana na interfejsie użytkownika przez użytkowników, otrzymują statyczny plik, który został wygenerowany podczas zapisywania opcji. Mam całą logikę, której potrzebuję, a kod, który mam, będzie dobrze z punktu widzenia wordpress. Mój problem polega na tym, że moje umiejętności obsługi plików php są drastyczne, ponieważ prawie nigdy go nie używam. Więc jak bym się do tego zabrał z php. To, co chciałbym zrobić, to skopiować wygenerowany kod php do statycznego pliku css z php. Myślę, że byłoby przy użyciu file_get_contents(); Jakieś pomysły? Dziękuję,


title: Dodawanie filtra do moich postów

text:
Witam, chciałbym dołączyć link na końcu treści w moim poście. Obecnie mam to w moim pliku functions.php: function ifcj_comment_link() { global $post; return ' ID, 'Israel In The News Audio Link', true) . '">' . __( '
Testowanie
', 'ifcj' ) . ' '; } function ifcj_custom_excerpt_more( $output ) { if ( has_excerpt() || in_category( _x('izrael-w-wiadomościach', 'izrael-in-the-news category slug', 'ifcj') ) &&! is_attachment( ) ) { $wyjście .= ifcj_comment_link(); } return $wyjście; } add_filter( 'get_the_excerpt', 'ifcj_custom_excerpt_more' ); Wyświetla się dobrze na mojej stronie z kanałami kategorii: http://stage.standforisrael.org/category/israel-in-the-news/feed Ale ten konkretny link nie pojawia się na stronie archive.php. Czy coś mi umyka? Dziękuję


title: Dwukrotne wywołanie funkcji Thickbox 'tb_unload'

text: Zamykając Thickbox (klikając krzyżyk), wywołuję następującą funkcję, podpinając ją do akcji `tb_unload`. Jednak z jakiegoś powodu akcja jest wywoływana dwukrotnie i nie wiem dlaczego. Czy istnieje sposób na zatrzymanie działania funkcji więcej niż jeden raz? Albo jeszcze lepiej, dowiedzieć się, co powoduje dwukrotne wywołanie akcji? Dziękuję. jQuery(document).ready(function($){ $(window).bind('tb_unload', function(){ /** Ustaw parametry do przekazania do funkcji AJAX */ data = { security: $('input #_wpnonce', '#dd-options-edit-footer-page').val(), akcja: 'update-footer-images', }; $.post('admin-ajax.php', data, function( response){ alert(response); /** Umieść źródło obrazu w ukrytym obrazie, a następnie pokaż obraz */ $('#image-preview', '#dd-optinos-footer-page').html( odpowiedź);                  });              });          });


title: Dynamicznie dołączaj niestandardowy typ posta na końcu adresu URL

text: W tej chwili lista kategorii mojego menu nawigacyjnego zawiera tylko linki do normalnych archiwów post_type. Chciałbym dynamicznie dołączyć niestandardowy typ posta, w szczególności ?post_type=portfolio, na końcu każdego adresu URL tej konkretnej listy rozwijanej. Ale w tej chwili naprawdę nie wiem nic o php regex, z wyjątkiem tego, że myślę, że to jest to, czego potrzebuję, aby to działało. To jest kod, który do tej pory mam w moim pliku functions.php, specjalnie dla tej listy rozwijanej. Jak widać, mój motyw dołącza liczbę wpisów kategorii po zakończeniu linku i chciałbym go tam zatrzymać. $folio = wp_list_categories('show_count=1&echo=0&child_of=86&title_li=Portfolio '); $folio = preg_replace('/\<\/a\> \((.*)\)/',' $1',$folio); echo $folio; Dziękuję


title: Posty dodane za pomocą wp_insert_post są automatycznie przenoszone do kosza

text: Mam skrypt, który zapętla niektóre dane i automatycznie tworzy niektóre posty. foreach($data['title'] as $title) { $my_post = array( 'post_title' => $title, 'post_content' => $data['descr']["{$title}"], 'post_status ' => 'opublikuj', 'post_author' => 1, 'post_category' => array(7) ); // Wstaw post do bazy danych $post_id = wp_insert_post( $my_post ); add_post_meta($post_id, 'web_link', $data['link']["{$title}"]); } Po uruchomieniu skryptu dotarłem do postów w backendzie i zobaczyłem je na liście jako opublikowane. Następnie przechodzę do strony głównej (strona z moją listą postów), ale nie ma żadnej na liście. Wracam do zaplecza, aby zobaczyć, że wszystkie zostały przeniesione do kosza. Próbuję je wszystkie przywrócić, ale to samo się dzieje. Jakieś pomysły?


title: Jak wyświetlić pliki w katalogach na ekranie "Edytuj motywy"?

text: Lubię mieć foldery w folderze motywów na skrypty i style, ale nie mam dostępu do tych folderów w interfejsie „Edytuj motywy”. Jest to problematyczne dla klientów, którzy nie dają mi dostępu do FTP. Czy istnieje sposób, aby zobaczyć te foldery i znajdujące się w nich pliki z sekcji administratora Wordpress?


title: Dynamiczna zmiana nazwy folderu wp-content

text: Czy można dynamicznie zmienić nazwę folderu wp-content? Buduję niestandardowe ramy do wykorzystania w motywach i byłoby miło skonfigurować je tak, aby robiły wszystko samodzielnie. Używam teraz tego następującego kodu w wp-config define ('WP_CONTENT_DIR', '/name_of_new_folder'); define('WP_CONTENT_URL','http://example.com/name_of_new_folder'); Czy mogę przeciągnąć domenę witryny dynamicznie za pomocą PHP?


title: Alternatywny domyślny generator awatarów?

text: Większość komentujących na moim blogu WordPress nie ma konta Gravatar. Dlatego sekcja komentarzy jest prawie zawsze wypełniona tymi samymi awatarami starych tajemniczych ludzi. Szukam niestandardowych generatorów gravatara dla komentujących bez własnego awatara. Do tej pory znalazłem tylko Identicony, MonsterID i Wavatars. Uważam, że niektóre awatary generowane przez te silniki są brzydkie, przerażające i OTT. Również te nie mieszają się z tematem bloga i wystają jak ból kciuka. Czy ktoś może wskazać mi generator awatarów, który może generować ładnie wyglądające awatary?


title: Pętla na stronie statycznej

text: Mam kilka pytań dotyczących pętli. Jako przykładu używam motywu „dwadzieścia czternaście”. Tworzę 2 pliki php z podstawową pętlą. Jeden to home.php, a drugi to strona szablonowa o nazwie sample-page.php . Oba zawierają ten kod; if( have_posts() ) : while( have_posts() ) : the_post(); Zawartość; koniec; endif; Nic nadzwyczajnego, jedyną różnicą jest to, że mam deklarację szablonu na sample-page.php /** * Nazwa szablonu: Przykładowa strona */ Według WordPress Codex, kiedy ustawisz „Blog” jako statyczną stronę główną, stronę główną. php jest używane jako szablon, jeśli istnieje. "Static Front-page" użyje niestandardowego szablonu strony, jeśli istnieje, w moim przykładzie użyje sample-page.php . Oto moje pytania; 1. Dlaczego jest tak, że 2 identyczne pliki php dają różne wyniki? W moim przykładzie „sample-page.php” wyświetli „TREŚĆ STRONY”, a „home.php” wyświetli „OSTATNIE WPISY” 2. Po co nam pętla „while”, jeśli wszystko, czego chcemy, to wyświetlić „TREŚĆ STRONY”? Czy nie możemy po prostu użyć if( have_posts() ): the_post(); Zawartość(); endif; 3. Jeśli chcemy wyświetlać „OSTATNIE WPISY” na stronie szablonu. Dlaczego najpierw musimy zadać kilka zapytań? Te pytania mogą wydawać się niepotrzebne i nie mają żadnego celu. Nawet mój przyjaciel powiedział mi: „Dopóki umiesz prowadzić samochód, nie musisz rozumieć, jak działa silnik”. Ale nadal chcę wiedzieć. Byłbym naprawdę wdzięczny, gdyby ktoś mógł mi udzielić odpowiedzi na ten temat. Nawet jeśli nie znasz odpowiedzi, dziękuję za przeczytanie! Pozdrawiam Dan


title: Zezwalaj autorowi treści na publikowanie, ale nie na edycję ani usuwanie

text: Zatrudnię autora treści do mojego bloga WordPress. Będę jedynym administratorem bloga. Muszę określić rolę dla tego pisarza. Zastanawiałem się, czy istnieje rola użytkownika WordPress, która pozwoli mu publikować posty i strony (nawet bez zgody administratora), ale nie będzie w stanie ich edytować ani usuwać po opublikowaniu (lub zrobić to tylko po zatwierdzeniu przez administratora). Potrzebuję tego na wypadek, gdyby zmienił zdanie i postanowił zrujnować stronę, usuwając wszystkie utworzone przez siebie posty lub zamieniając je na śmieci.


title: Zapobiegaj wyświetlaniu niestandardowego typu postu w niestandardowych menu

text: Jak mogę to zrobić? Każdy zarejestrowany przeze mnie niestandardowy typ posta jest wyświetlany jako metapole na stronie menu... ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/HHvrw.jpg)


title: Dobre rozwiązanie do dodawania zakładek jQuery w dowolnym miejscu w WordPressie?

text: Czy jest jakieś rozwiązanie do korzystania z zakładek jQuery w natywnych skryptach WordPress? Jeśli znasz sposób na to, aby jakakolwiek metoda zakładek jQuery działała na frontendzie i backendzie, podziel się swoim rozwiązaniem. Próbowałem zaimplementować jQuery Tabs (przykładowe źródło dostępne pod linkiem) **Zależności:** 1. UI Core 2. Widget Factory 3. Effects Core (opcjonalnie; do użytku z opcjami pokaż i ukryj) **Uwagi dodatkowe:** Ten widżet wymaga trochę funkcjonalnego CSS, w przeciwnym razie nie zadziała. Jeśli tworzysz motyw niestandardowy, użyj pliku CSS określonego widżetu jako punktu wyjścia. Próbowałem również zaimplementować zakładki organiczne (demo) (źródło) Próbowałem umieścić w kolejce wszystkie natywne skrypty WordPressa i nie mogłem uruchomić zakładek. Użycie pierwszej opcji (jQuery i Jquery UI) z natywnymi skryptami WordPress nie zadziałało. Kiedy użyłem najnowszej wersji jQueury zamiast natywnego WordPress jQuery, zadziałały, ale potem reszta interfejsu administratora była zepsuta. A patrząc na źródło Organic Tabs, wygląda na to, że ten kod był ostatnio testowany pod kątem pracy z wersją jQuery: `1.7.1`. Na marginesie, wygląda na to, że natywna wersja WordPress jQuery to: `1.8.3` Oto style dodawane do zakładek jQuery i jQuery UI. $to_add['jquery-ui'] = 'http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css'; $to_add['tabs'] = './css/global/tabs.css';// ścieżka do niestandardowych stylów kart. Oto skrypty dodawane do kart jQuery i jQuery UI. $to_add['jquery'] = include_url('/js/jquery/jquery.js'); $to_add['jquery-ui-core'] = include_url('/js/jquery/ui/jquery.ui.core.min.js'); $to_add['jquery-ui-widget'] = include_url('/js/jquery/ui/jquery.ui.widget.min.js'); $to_add['jquery-effects-core'] = include_url('/js/jquery/ui/jquery.ui.effect.min.js'); $to_add['jquery-ui-tabs'] = include_url('/js/jquery/ui/jquery.ui.tabs.min.js'); Oczywiście odpalono na `admin_enqueue_scripts` używając `wp_enqueue_style()` i `wp_enqueue_script()` Używając ich samych znaczników HTML z przykładu, po prostu zmieniając identyfikator kontenera kart na klasę. <skrypt> $(funkcja(){ $(".tabs_container").tabs(); }); </script> Ustawienie jQuery Script na: `$to_add['jquery'] = 'http://code.jquery.com/jquery-latest.js';` Sprawia, że karty działają, ale wszystkie inne obszary strony pulpitu nawigacyjnego przerwanie. Strona pulpitu, do której się odnoszę, to: ekran edycji postu dla dowolnego typu posta. Próbuję dodać zakładki jQeury do metaboksu. Wygląda na to, że WordPress ładuje następujące skrypty na ekranie edycji posta: 1. jquery, 2. utils, 3. plupload, 4. plupload-html5, 5. plupload-flash, 6. plupload-silverlight, 7. plupload-html4 , 8. json2


title: Automatyczne publikowanie w Cron

text: Mam około 100 niepublikowanych postów. Chcę opublikować 1 losowy post przy każdym uruchomieniu crona. Czy istnieje sposób lub wtyczka, aby to osiągnąć ...


title: Zmień adresy URL logowania ze względów bezpieczeństwa

text: Ze względów bezpieczeństwa powinna istnieć możliwość zmiany nazwy login.php na inną i zmiany innych skrótów dostępu (np.: wp-admin), aby wskazywały na nowy adres URL. Czy istnieje udokumentowana najlepsza praktyka w tym zakresie? Jeśli nie, jaka byłaby najwłaściwsza metodologia? Rozumiem, że nie jest to _bezpieczeństwo_ per se, tylko zaciemnianie, ale uważam, że jest to po prostu kolejna _warstwa_ ochrony: a nie _zastąpienie_ innych taktyk bezpieczeństwa, takich jak ograniczenie nieudanych prób i ścisłe egzekwowanie haseł. Kreatywne podejście jest mile widziane.


title: Podświetl bieżący tag za pomocą get_tags()

text:
Już prawie jestem z tym, ale muszę zaznaczyć aktualnie przeglądany link/archiwum tagu:
 <?php $tags = get_tags(); if ($tags) { foreach ($tags as $tag) { echo '
term_id ) '" title="' .sprintf( __( "Wyświetl wszystkie posty w %s" ), $tag->name ). '" ' . '>' . $tag->nazwa.'
'; } } ?>
 Chciałbym zastosować `<li class="active-tag">` do elementu listy, który zawiera aktywny tag w powyższym kodzie - czy ktoś może mi w tym pomóc? Wielkie dzięki Osu


title: Opublikuj post po kliknięciu linku

text: Mam frontendowy formularz publikowania (CF7), w którym użytkownik wprowadza (między innymi oczywiście) swój adres e-mail. Teraz ustawiłem status na Oczekujący. Chcę, aby użytkownik otrzymał przez autoresponder wiadomość e-mail, w której po kliknięciu będzie link do zmiany statusu na OPUBLIKUJ. Czy jest na to jakieś rozwiązanie? Autoresponder to nie problem, nie wiem jak ustawić ten link.


title: Jak poprawnie wyeksportować bazę danych z lokalnego do online?

text: Cały ten proces jest w porządku... ale wydaje mi się, że mam jeden mały problem, gdy przesyłam bazę danych online. Jeśli stworzę motyw i zmodyfikuję niektóre opcje, to jest w porządku dla wersji lokalnej. Po przesłaniu wersji lokalnej na mój serwer wartości te zostaną zresetowane do wartości domyślnych. Czy ktoś wie, dlaczego tak się stało? W tej chwili eksportuję bazę danych z PHPMyAdmin zaznaczając wszystko, zaznaczając 'Dodaj DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT statement' a następnie eksportując ją do pliku SQL. Dziękuję


title: Wyświetlaj kategorie i wykluczaj kategorie podrzędne

text: Poniższy skrypt tworzy listę kategorii w witrynie (z wyłączeniem kategorii „bez kategorii”). Jeśli to możliwe, chciałbym go zmodyfikować tak, aby wyświetlał tylko kategorie najwyższego poziomu (bez kategorii podrzędnych)... $cat_args = array('orderby' => 'name', 'show_count' => $c, ' hierarchiczny' => $h); $cat_args['title_li'] = ''; $cat_args['exclude_tree'] = 1; wp_list_categories(apply_filters('widget_categories_args', $cat_args));


title: Jak zaimportować CSV do niestandardowych pól typu Custom Post?

text: Stworzyłem niestandardowy typ postu, a następnie użyłem wtyczki do utworzenia niestandardowych pól dla tego typu postu. Wyświetli typ członkostwa: Nazwa Adres Kod pocztowy Strona internetowa Ale utknąłem na tym, jak wziąć plik csv, który mam, który zawiera 700 wpisów, i zaimportować go, aby utworzyć 700 wpisów w utworzonym przeze mnie CPT i automatycznie wypełnić utworzone pola niestandardowe. Próbowałem wielu wtyczek, ale żadna nie działała w obu częściach. Niektórzy pozwalają mi po prostu wybrać CTP, ale nie mogłem wypełnić wszystkich pól. Musiałem tylko wiedzieć, jak najlepiej to osiągnąć.


title: Fragment otrzymuje fragment strony zamiast najnowszego fragmentu postu

text:
Zobacz www.pinosalon.com, Ostatni blog to to samo, co Witamy. Na szablonie page-home.php, który jest używany jako strona główna, mam pętlę, która po prostu wyświetla tekst powitalny. Kilka wierszy w dół szablonu, poza pętlą, otrzymuję najnowsze posty i wyświetlam najnowszy post za pomocą funkcji the_excerpt(). Tytuł i link czytaj więcej działają, ale the_excerpt pobiera treść z pętli, a nie z najnowszego posta. Po zaktualizowaniu kodu w oparciu o rozwiązanie sugerowane przez inne pytanie, fragment nie jest już wyświetlany. Oto kod, którego używam: //Block wyświetla zawartość bieżącej strony <?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
 <?php the_content(); ?> <?php koniec; ?> //Blok, który powinien wyświetlać najnowszy post <?php $args = array( 'numberposts' => '1','post_type' => 'post' ); $recent_posts = wp_get_recent_posts ($args ); foreach( $recent_posts jako $recent ): setup_postdata($recent); echo '
' . $recent["post_title"].'
'; echo the_fragment(); echo 'Czytaj więcej'; na każdym kroku; ?>


title: Get_the_author nie zwraca nazwiska autora

text: Wstawiam pole autora pod postem i używam get_the_author do zwrócenia nazwiska autora, ale to nie działa. Nie działa również z wyszukiwaniem postów według autora. Mam nadzieję, że wszyscy dadzą mi rozwiązanie, z góry dziękuję. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/7wZnW.png)


title: Widżety nie wyświetlają się w moim niestandardowym motywie

text:
Opracowuję niestandardowy motyw WordPress: http://onofri.org/WP_BootStrap i próbuję wstawić **obszar widżetów** w sekcji **Partner e Sostenitori**, ale nie mogę. Wykonałem następujące operacje: 1) Umieściłem następujący kod w pliku motywu **functions.php**: /** * Zarejestruj nasze paski boczne i widżetowane obszary. * */ function arphabet_widgets_init() { register_sidebar(array( 'name' => 'My_Widgtet_Area', 'id' => 'partner-slide', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', )); } add_action('widgets_init', 'arphabet_widgets_init'); Jak widać nazwa widżetowanego obszaru to **My_Widgtet_Area** 2) Następnie wstawiłem następujący kod do mojego pliku **index.php**, aby wyświetlić widżety w żądanych pozycjach:

Partnerzy i pomocnicy

 <?php // Obszar 'My_Widgtet_Area', gdzie nazwano identyfikator: if (is_active_sidebar( 'My_Widgtet_Area' ) ) : ?>

 <?php dynamic_sidebar( 'My_Widgtet_Area' ); ?>

 <?php endif; ?>

 3) Następnie wszedłem do panelu administracyjnego WP i do sekcji **Wygląd ---> Widget** mam pole **My_Widget_Area**, gdzie mogę przeciągnąć widżety w mojej instalacji Wordpress. Więc umieściłem w nim jakiś widżet (jako **Kalendarz** i **Wigety **Wyszukaj**), aby go wypróbować. Problem polega na tym, że, jak widać w poprzednim linku, tekst **Partner e Sostenitori** jest napisane, ale na mojej stronie nie jest wyświetlany żaden widżet. Czemu? czego mi brakuje? Jak mogę rozwiązać ten problem? Tnx Andrea


title: Dodać klasy postów dla niestandardowych taksonomii do niestandardowego typu posta?

text:
Byłem zaskoczony, gdy dowiedziałem się, że niestandardowe taksonomie nie są dodawane jako klasy treści lub postów, takie jak kategorie i tagi. Jestem pewien, że zostanie to dodane w przyszłej wersji WordPressa, ale w międzyczasie muszę dodać niestandardową taksonomię do klasy postów, aby móc inaczej stylizować posty w określonej kategorii w tej taksonomii. Najbardziej eleganckim rozwiązaniem byłoby odfiltrowanie klasy post i dodanie do niej taksonomii. Znalazłem fragment do wykonania podobnej sztuczki z klasą ciała, ale nie udało mi się go dostosować: function wpprogrammer_post_name_in_body_class( $classes ){ if( is_singular() ) { global $post; array_push( $classes, "{$post->post_type}-{$post->post_name}" ); } zwróć $klasy; } add_filter( 'body_class', 'wpprogrammer_post_name_in_body_class' ); Nieco bardziej prymitywnie, pomyślałem o użyciu funkcji the_terms do tworzenia własnych klas dla niestandardowych postów, coś takiego: <div class="<?php the_terms( $post->ID, 'taksonomia', '', ' ' , '' ); ?>">
 Ale wtedy musiałbym odfiltrować HTML generowany przez `the_term`. Czy brakuje mi tutaj niczego oczywistego, czy istnieje prostszy sposób rozwiązania tego problemu?


title: Jak robić zajęcia dla postów?

text:
Z góry dziękuję. Chciałbym mieć posty z różnymi kolorami obramowań i nagłówków. Byłoby fajnie wybrać kategorię postu (czerwoną, niebieską, czarną itp.) i zmienić klasę dla tego konkretnego postu. Gdyby był poza tkaczem snów, korzystałby z zajęć. Mógłbym więc powiedzieć:

Nagłówek
 Treść
 Idealnie działałoby to dzięki opcji w widoku projektu o nazwie 'klasy' lub 'style postów'. Wybrałbym „pudełko” i „czerwony”, a styl byłby zmieniony. czy to możliwe?


title: Czy możesz wywołać plik szablonu bez przypisywania szablonu do strony w panelu administracyjnym?

text: Ten pomysł ma na celu ochronę niektórych sekcji mojego motywu przed nadgorliwymi klientami. Chciałbym dodać strony, które istnieją w interfejsie użytkownika i można je dodać do menu (za pomocą wordpress 3.0 api), ale strona NIE jest obecna w oknie dialogowym „Strony” w panelu administracyjnym, a zatem nie może być edytowana przez użytkownika.


title: Uzyskaj ścieżkę do pliku CSS motywów wewnątrz wtyczki

text: Próbuję uzyskać ścieżkę do pliku CSS motywów z wnętrza wtyczki, ktoś wie, jak to zrobić?


title: Niestandardowy typ posta + niestandardowe zapytanie meta nie wyświetla postów z 2012 r.

text:
Stworzyłem niestandardowy typ postu „wydarzenia” dla klienta, który w zasadzie „ukrywa” post po jego wygaśnięciu (tj. wydarzeniu już się wydarzyło). Zdarzenia są wyświetlane w kolejności od daty rozpoczęcia, a nie w kolejności, w jakiej zostały opublikowane. To ostatecznie wszystko działa dobrze. Jednak teraz, gdy zbliżamy się do końca roku, wygląda na to, że mój operator porównania nie pozwala na wyświetlanie żadnych postów z przyszłego roku i nie jestem do końca pewien, jak zmienić operatora, aby działał poprawnie . $args = array( 'post_type' => 'event', 'post_status' => 'publish', 'posts_per_page' => $num, 'paged' => $paged, 'meta_key' => 'startDate', 'meta_query ' => array( array( 'key' => 'startDate', 'value' => date("m/d/Y"), 'compare' => '>=', 'type' => 'NUMERYCZNE' ) ), 'orderby' => 'meta_value', 'order' => 'ASC' ); $e_query = nowe WP_Query($args); // pobierz bieżącą datę do porównania z datami postu $currentDate = date("m/d/Y"); if($e_query->have_posts()){ // gdy mamy posty while($e_query->have_posts()) : $e_query->the_post(); // pobierz datę rozpoczęcia wpisu do porównania z datą bieżącą $startDate_compare = date('m/d/Y', strtotime(get_post_meta(get_the_ID(), "startDate", true))); if ($startDate_compare >= $currentDate) { // to jest miejsce, w którym cały mój kod do wyprowadzania danych posta żyje i który ostatecznie działa dobrze, z wyjątkiem faktu, że nie pojawią się tu żadne posty z datą rozpoczęcia 2012 r. } endwhile ; } else{ $e_content .= '
Przepraszamy, obecnie nie zaplanowano żadnych wydarzeń.
'; } Wygląda na to, że ma to coś wspólnego z moim meta_query, ponieważ właśnie próbowałem wyprowadzić post_titles, zanim dokonam porównania if($startDate_compare >= $currentDate){ i pojawią się tylko posty, które miały miejsce w 2011 roku. Dziękuję za wszelką pomoc, jaką możesz mieć dla mnie. **AKTUALIZACJA W ODPOWIEDZI NA KOMENTARZ użytkownika9347** Kiedy zmieniłem „typ” meta_query na „data”, co ostatecznie powinno zadziałać, niestandardowy typ postu zwraca, że nie znaleziono żadnych postów, które według mnie to mówią istnieje problem z potencjalnym zapisem wartości dla klucza „startDate”? Myślę, że „data („m / d / Y”)” w „wartości” meta_query naprawi to ... ale wtedy nie jestem super doświadczonym programistą php ... bardziej hakerem niż cokolwiek innego. To jest kod dla mojego niestandardowego pola meta, w którym mój klient wybiera datę początkową za pomocą jquery datepicker. jquery datepicker zwraca wartość daty w następujący sposób: "18.02.2012".
 Data rozpoczęcia	 <input type=" tekst" nazwa = "data rozpoczęcia" id = "data rozpoczęcia" class = "datepicker" style = "szerokość: 200px;" value='<?php echo $startDate; ?>' />
 następnie w funkcji dołączonej do akcji "save_post" zapisywane jest jako takie: update_post_meta($post->ID, 'startDate', $_POST['startDate'] ); Wydaje mi się, że muszę zapisać tę wartość „startDate” jako obiekt daty, aby meta_query działała tak, jak powinna… czy to po prostu wyglądałoby tak? $startDateToTime = date('m/d/Y', strtotime($_POST['startDate']); update_post_meta($post->ID, 'startDate', $startDateToTime); *Ta ostatnia część nie działała kiedy stworzyłem nowy post, zapisałem go i zmieniłem meta_query 'type' na 'DATE', więc wciąż jestem trochę zagubiony.*


title: Jak zbierać dane słów kluczowych i wyszukiwarek w formularzach internetowych?

text: Mamy formularz kontaktowy za pomocą Contact Form 7 na naszej stronie wordpress. Chcielibyśmy móc dołączyć wszelkie informacje o tym, skąd pochodzi użytkownik: wyszukiwanie słów kluczowych jest przedmiotem zainteresowania nr 1. Zajmujemy się również dużo PPC i byłoby miło zebrać stamtąd wszelkie informacje o grupie reklam/kampanii. Jak to zrobić?


title: Tworzenie strony opcji motywu

text:
Obecnie używam strony A Sample WordPress Theme Options Page Iana Stewarta, próbując utworzyć pole wejściowe i dwa obszary tekstowe. Prawdopodobnie przeoczyłem coś gdzieś, wydaje mi się, że mam pewne trudności z dodaniem drugiego obszaru tekstowego. Czy ktoś może wie, co robię źle? Oto kod, którego aktualnie używam: <?php add_action('admin_init', 'theme_options_init'); add_action('admin_menu', 'theme_options_add_page'); /** * Opcje wtyczki inicjującej do białej listy naszych opcji */ function theme_options_init() { register_setting('schema_options', 'schema_theme_options', 'theme_options_validate'); } /** * Załaduj stronę menu */ function theme_options_add_page() { add_theme_page(__('Opcje motywu', 'schema'), __('Opcje motywu', 'schema'), 'edit_theme_options', 'theme_options' , 'theme_options_do_page'); } /** * Utwórz stronę opcji */ function theme_options_do_page() { if (!isset($_REQUEST['settings-updated'])) $_REQUEST['settings-updated'] = false; ?>
 <?php echo "
" . pobierz_bieżący_motyw() . __(' Opcje motywu', 'schemat') . "
"; ?> <?php if (false !== $_REQUEST['settings-updated']): ?>

<?php _e('Opcje zapisane', ' schemat'); ?>

 <?php endif; ?> <form metoda="post" action="options.php"> <?php settings_fields('schema_options'); ?> <?php $options = get_option('schema_theme_options'); ?>
 <?php /** * Przykładowa opcja wprowadzania tekstu */ ?>
 <?php _e(' Jakiś tekst”, „schemat”); ?>	 <input id="schema_theme_options[typekit]" class="regular-text" type="text" name="schema_theme_options[typekit]" value="<?php esc_attr_e($options[ 'typekit']); ?>" />  <?php _e('Przykładowy tekst wejściowy', 'schema'); ?>
 <?php /** * Przykładowa opcja textarea */ ?>
 <?php _e( „Pole tekstowe”, „schemat”); ?>	 <textarea id="schema_theme_options[metaopis]" class="duży-tekst" cols="50" rows="10" name="schema_theme_options[metopis]"><?php echo esc_textarea ($opcje['metopis']); ?></textarea>  <?php _e('Przykładowe pole tekstowe', 'schemat'); ?>
 <?php /** * Przykładowa opcja textarea */ ?>
 <?php _e( „Pole tekstowe2”, „schemat”); ?>	 <textarea id="schema_theme_options[homeopis]" class="large-text"cols="50"rows="10" name="schema_theme_options[homeopis]"><?php echo esc_textarea ($options['opis domu']); ?></textarea>  <?php _e('Przykładowe pole tex2t', 'schema'); ?>

 <input type="submit" class="button-primary" value="<?php _e('Zapisz Opcje', 'schema'); ?>" />
 </form>
 <?php } /** * Oczyść i weryfikuj dane wejściowe. Akceptuje tablicę, zwraca tablicę oczyszczoną. */ function theme_options_validate($input) { // Powiedzmy, że nasza opcja tekstu musi być bezpiecznym tekstem bez znaczników HTML $input['typekit'] = wp_filter_nohtml_kses($input['typekit']); // Powiedz, że nasza opcja textarea musi być bezpiecznym tekstem z dozwolonymi znacznikami dla postów $input['metadescription'] = wp_filter_post_kses($input['metadescription']); $input['homedescription'] = wp_filter_post_kses($input['homedescription']); zwróć $wejście; }


title: Nie można zainstalować motywów WP vEstate Real Estate

text: Pobrałem motywy WP vEstate Real Estate. Kiedy próbuję je zainstalować, pojawia się ten błąd.! [tutaj wprowadź opis obrazu](http://i.stack.imgur.com/pU37i.jpg) Zaktualizowałem upload_max_filesize do 20M.plz powiedz jak naprawić ten błąd? potrzebujesz szybkiej pomocy


title: krótki kod nie działa w niestandardowej liście typów postów, jak to naprawić?

text: Każdy aktywowany krótki kod wtyczki nie działa, gdy wyświetlam wszystkie posty z określonego typu niestandardowego, wyświetla krótki kod tak, jak jest, ale krótki kod nie jest wykonywany, moje niestandardowe kodowanie postów jest poniżej: add_action( 'init', 'create_eyeu' ); function create_eyeu() { $eyeu_translation = get_option(THEME_SHORT_NAME.'_gdl_eyeu_slug','eyeu'); $labels = array( 'name' => __('eyeu', 'gdl_back_office'), 'singular_name' => __('Eyeu Item', 'gdl_back_office'), 'add_new' => __('Add New', 'gdl_back_office'), 'add_new_item' => __('Dodaj nowy eyeu', 'gdl_back_office'), 'edit_item' => __('Edytuj eyeu', 'gdl_back_office'), 'new_item' => __('Nowe eyeu ', 'gdl_back_office'), 'view_item' => __('Wyświetl eyeu', 'gdl_back_office'), 'search_items' => __('Wyszukaj eyeu', 'gdl_back_office'), 'not_found' => __('Nic znaleziono', 'gdl_back_office'), 'not_found_in_trash' => __('Nic nie znaleziono w Koszu', 'gdl_back_office'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, //'menu_icon' => GOODLAYERS_PATH . '/include/images/eyeu-icon.png', 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title','editor','thumbnail','custom-fields'), 'rewrite' => array('slug' => $eyeu_translation, 'with_front' => false) ); register_post_type( 'oko' , $args); register_taxonomy( "kategoria oczu", array("eyeu"), array( "hierarchical" => true, "label" => "Kategorie oczu", "singular_label" => "Kategorie oczu", "przepisz" => true )); register_taxonomy_for_object_type('kategoria oczu', 'oko'); }


title: get_post_class() nie działa dobrze

text: Używam get_post_class, aby uzyskać klasy dla moich postów: post-75 post type-post status-publish format-standard category-uncategorized wpis jedna trzecia teaser jako pierwsza Zwrócona tablica jest jednak niepoprawna: array (size=9) 0 => ciąg 'post-21' (length=7) 1 => ciąg 'post' (length=4) 2 => ciąg 'type-post' (długość=9) 3 => ciąg 'status-publish' (długość =14) 4 => ciąg 'format-standard' (długość=15) 6 => ciąg 'category-uncategorized' (długość=22) 7 => ciąg 'entry' (długość=5) 8 => ciąg 'jeden- trzeci zwiastun' (długość=16) 9 => string 'pierwszy' (długość=5) jedna trzecia i zwiastun powinny znajdować się w osobnych slotach. Oto kod generujący klasy z wtyczki Genesis Grid Loop Billa Ericksona: /** * Grid Loop Post Classes * * @author Bill Erickson * @link http://www.billerickson.net/a-better-and-easier -grid-loop/ * * @param array $classes * @return array $classes */ function be_grid_loop_post_classes( $classes ) { global $wp_query; $grid_args = $this->be_grid_loop_pagination(); if( ! $grid_args ) return $classes; // Konwertuj kolumnę zwiastuna na klasę $teaser_columns = array( '', '', 'połowa', 'jedna trzecia', 'jedna czwarta', 'jedna piąta', 'jedna szósta' ); $teaser_column = $teaser_columns[$grid_args['teaser_columns']]; // Klasy pierwszej strony if( ! $wp_query->query_vars['paged'] ) { // Funkcje if( $wp_query->current_post < $grid_args['features_on_front'] ) { $classes[] = 'feature'; // Zwiastuny } else { $classes[] = $teaser_column . ' zwiastun'; if( 0 == ( $wp_query->current_post - $grid_args['features_on_front'] ) || 0 == ( $wp_query->current_post - $grid_args['features_on_front'] ) % $grid_args['teaser_columns'] ) $ klasy[] = 'pierwszy'; } // Strony wewnętrzne } else { // Funkcje if( $wp_query->current_post < $grid_args['features_inside'] ) { $classes[] = 'feature'; // Zwiastuny } else { $classes[] = $teaser_column . ' zwiastun'; if( 0 == ( $wp_query->current_post - $grid_args['features_inside'] ) || 0 == ( $wp_query->current_post - $grid_args['features_inside'] ) % $grid_args['teaser_columns'] ) $ klasy[] = 'pierwszy'; } } return $klasy; }


title: Jak sprawić, by wtyczka wymagała innej wtyczki?

text: Tworzę wtyczkę, która dodaje dodatkową funkcjonalność do głównej wtyczki. W idealnej sytuacji na ekranie administrowania wtyczkami link „aktywuj” powinien być wyłączony i należy dodać notatkę, która mówi użytkownikowi, aby najpierw zainstalować i aktywować główną wtyczkę, zanim będzie mógł korzystać z bieżącej wtyczki.


title: Niestandardowy widżet wyświetla dane wejściowe, ale nie zapisuje niczego w obszarze tekstowym

text:
Pracowałem nad moim pierwszym widżetem, wszystko działa idealnie, z wyjątkiem tego, że nie zapisuje niczego, co dodaję do pola textarea. Jednak wyprowadzi dane wejściowe na stronie internetowej. Z badań myślę, że ma to coś wspólnego z funkcją formularza i aktualizacją, ale nie mogę się domyślić, która część. Oto mój kod widgetu. <?php /* Nazwa wtyczki: Hexagran Featured Widget Plugin URI: http://thevisionists.com Opis: Tworzy widżet do użycia w panelu widżetów. Wersja: 0.1 Autor: Danny & Tom Autor URI: http://thevisionists.com Licencja:brak */ //$args pobiera argumenty z klasy sidebar.php hexagram_featured_widget extends WP_Widget { function __construct() { parent::__construct ('false', $name = __( 'Hexagram Featured Box'), //włączona translacja // dostęp do tablicy konstruktora perant( 'description' => __('Wyświetla umieszczoną wewnątrz zawartość, usuwa cały html')) ); // koniec konstrukcji } function form($instance) { $title = strip_tags( $instance['title'] ); $informacje = esc_textarea( $instancja['informacje'] ); ?>
<label for="<?php echo $this->get_field_id('tytuł'); ?>"><?php _e('Tytuł:'); ?> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title' ?>" type="text" value="<?php echo esc_attr($title); ?>" />

<label for="<?php echo $this->get_field_id( 'info'); ?>"><?php _e('Tekst idzie tutaj:'); ?> <textarea class="widefat" rows="8" cols="10" id="<?php echo $this->get_field_id('info'); ?>" name="<?php echo $this->get_field_name('info'); ?>"></textarea> <?php } aktualizacja funkcji( $nowa_instancja, $stara_instancja) { $instance = array(); $instance[ 'title' ] = strip_tags($new_instance[ 'title' ]); $instance[ 'info' ] = strip_tags($new_instance[ 'info' ]); zwróć $instancję; } widget funkcji($args, $instance) { extract($args); $title = apply_filters('widget_title', $instance['title'] ); $informacja = $instancja[ 'informacja' ]; echo $before_widget; if (! empty( $title)) echo $before_title. $tytuł . $po_tytule; if ($info) wypisz $informacje; echo $after_widget; } } // koniec klasy zawierającej wszystkie funkcje add_action('widgets_init', function() { register_widget('hexagram_featured_widget'); } ) // dodaje akcję rejestrującą widżet // nazwa klasy jest zawsze nazwą Zarejestruj widżet jako argument. ?>


title: Jak mogę dodać pojedynczą kategorię dla niestandardowego typu postu?

text: Dodaję nowy typ posta o nazwie **journal** używając poniższego kodu, działa dobrze. Ale teraz muszę dodać jedną kategorię dla tego typu postu. Oznacza to, że mam dwa rodzaje kategorii czasopism **normalne czasopisma** i **wyróżnione czasopisma**. Ale mój wpis na blogu ma więcej kategorii, które muszę wyświetlać tylko **normalny dziennik** i **polecane dzienniki** na mojej liście dzienników, jak mogę to zrobić. Jestem nowicjuszem w kodowaniu Wordpress. Dziękuję. function post_type_journal() { $args = array( 'labels' => array( 'name' => 'Czasopisma', 'singular_name' => 'Journal', 'add_new' => 'Dodaj nowy dziennik', 'edit_item' = > 'Edytuj dziennik', 'new_item' => 'Nowy dziennik', 'view_item' => 'Wyświetl dziennik', 'search_items' => 'Przeszukaj dziennik', 'not_found' => 'Nie znaleziono czasopism', 'not_found_in_trash' => 'Nie znaleziono czasopism w Koszu' ), 'public' => true, 'supports' => array( 'title', 'editor', 'autor', 'comments' ), 'taxonomies' => array(' kategoria') // to jest WAŻNE ); register_post_type('Dziennik', $args); } add_action('init','post_type_journal');


title: Używanie niestandardowych metaboxów (CMB) do tworzenia strony opcji motywu administracyjnego

text:
Utworzyłem stronę Opcje motywu za pomocą CMB, ale wartości nie wydają się oszczędzać. Umieściłem klasę php w moim functions.php, a strona opcji motywu ładuje się dobrze, ze wszystkimi niestandardowymi polami meta dokładnie tak, jak tego chcę. Ale pola pojawiają się ponownie puste po dodaniu wartości i kliknięciu Zapisz. Czego mi tu brakuje? Kod: <?php /** * Opcje motywu CMB * @version 0.1.0 */ class myprefix_Admin{ /** * Klucz opcji i slug strony opcji * @var string */ protected static $key = 'myprefix_options'; /** * Tablica metaboksów/pól * @var array */ protected static $theme_options = array(); /** * Opcje Tytuł strony * @var string */ protected $title = ''; /** * Konstruktor * @since 0.1.0 */ public function __construct() { // Ustaw nasz tytuł $this->title = __( 'Madame Noire Options', 'myprefix' ); } /** * Zainicjuj nasze hooki * @since 0.1.0 */ public function hooks() { add_action( 'admin_init', array( $this, 'mninit' ) ); add_action( 'admin_menu', array( $this, 'add_page' ) ); } /** * Zarejestruj nasze ustawienie w WP * @since 0.1.0 */ public function mninit() { register_setting( self::$key, self::$key ); } /** * Dodaj stronę opcji menu * @since 0.1.0 */ public function add_page() { $this->options_page = add_menu_page( $this->title, $this->title, 'manage_options', self:: $key, array( $this, 'admin_page_display' ) ); add_action( 'admin_head-' . $this->options_page, array( $this, 'admin_head' ) ); } /** * CSS, etc * @since 0.1.0 */ public function admin_head() { // CSS, etc } /** * Oznaczenia strony administratora. Obsługiwane głównie przez CMB * @since 0.1.0 */ public function admin_page_display() { ?>

<?php echo esc_html( get_admin_page_title() ); ?>
 <?php cmb_metabox_form( $this->pole_opcji(), self::$key ); ?>
 <?php } /** * Definiuje metabox opcji motywu i konfigurację pola * @since 0.1.0 * @return array */ public static function option_fields() { // Wystarczy raz zainicjować tablicę na załadowanie strony if ( ! empty( self::$theme_options ) ) return self::$theme_options; self::$theme_options = array( 'id' => 'theme_options', 'show_on' => array( 'key' => 'options-page', 'value' => array( self::$key, ), ), 'show_names' => true, 'fields' => array( array( 'name' => __( 'Tekst testowy', 'cmb' ), 'desc' => __( 'opis pola (opcjonalnie)', 'cmb' ), 'id' => $prefix . 'test_text', 'type' => 'text', ), array( 'name' => __( 'Test Color Picker', 'cmb' ), 'desc ' => __( 'opis pola (opcjonalnie)', 'cmb' ), 'id' => $prefix . 'test_colorpicker', 'type' => 'colorpicker', 'default' => '#ffffff' ), ) ); zwróć self::$theme_options; } /** * Upublicznij chronioną zmienną $key. * @since 0.1.0 * @return string Klawisz opcji */ public static function key() { return self::$key; } } // Rozpocznij $myprefix_Admin = new myprefix_Admin(); $myprefix_Admin->haki(); /** * Funkcja opakowująca wokół cmb_get_option * @since 0.1.0 * @param string $key Klucz tablicy opcji * @return mixed Wartość opcji */ function myprefix_get_option( $key = '' ) { return cmb_get_option( myprefix_Admin::key() , $klucz ); }


title: Zapisać numer wersji wtyczki jako opcję?

text: Wydaje mi się, że widziałem gdzieś wskazówkę mówiącą, że najlepszą praktyką jest zapisanie numeru wersji wtyczki jako opcji. Pracuję nad wydaniem wtyczki i zastanawiam się, czy to zrobić, ale skoro wszystko, co robi wtyczka, to tworzenie widżetu (w tej chwili dosłownie nie ma innych opcji), mam trudności ze zrozumieniem, co bym kiedykolwiek zrobić z tą opcją. Już ustawiam stałą z numerem wersji do użytku w kilku miejscach (głównie `wp_enqueue_*`). Czy ktoś może wskazać mi dobry zasób lub wyjaśnić przypadki użycia zapisania numeru wersji jako opcji?