title: Obsługa dużych danych N w WordPress

text: Zdaję sobie sprawę, że dotyczy to również ogólnie PHP i MySQL, ale kontekst i działanie są w WordPressie. ## Wprowadzenie Obecnie opracowuję wtyczkę, która tworzy i zapisuje dane o ćwiczeniach: zasadniczo pozwala mi tworzyć treningi (wybierać ćwiczenia i szczegóły na ich temat), które są przechowywane jako metadane dla zwykłych postów lub jako wersje robocze w niestandardowym poście typ, a także utwórz dane o tym, jak przebiegł trening (zakończenie/szczegóły). Dane są wyliczane z formularza w coś takiego (przykładowy zestaw danych z pojedynczego treningu): Array ( [compound_exercises-incline_and_standing_shrugs-sets] => 8 [compound_exercises-incline_and_standing_shrugs-reps] => 2 [compound_exercises-stiff-legged_de -sets] => 8 [compound_exercises-stiff-legged_deadlift-reps] => 1 ) Tablica ( [compound_exercises-incline_and_standing_shrugs-sets] => on [compound_exercises-incline_and_standing_shrugs-sets-sets]_xercis_comstanding powtórzeń] => 8 [compound_exercises-incline_and_standing_shrugs-sets-weight] => 16 [compound_exercises-incline_and_standing_shrugs-sets-completed] => 1 [compound_exercises-incline_and_standing_shrugs-sets-respound-exercises_incline_and_standing_shrugs-completed] => 1 [compound_exercises-incline_and_standing_shrugs-sets-respound-inc-exercises_compound] => Lorem ipsum dolor sit amet... [compound_exercises-incline_and_standing_sh dywaniki-powtórzenia] => na [zestawy_ćwiczeń-złożonych_i_stojących_wzruszeń-powtórzeń] => 5 [ćwiczenia-złożone_ćwiczenia-wzruszenia-powtarzań-i_z-stojących] => 10 complete] => 1 [compound_exercises-incline_and_standing_shrugs-reps-result] => 4 [compound_exercises-incline_and_standing_shrugs-reps-info] => Lorem ipsum dolor sit amet... [compound_exercises-stiff-legged_deadlift-zestawy] -stiff-legged_deadlift-sets-sets] => 3 [compound_exercises-stiff-legged_deadlift-sets-reps] => 8 [compound_exercises-stiff-legged_deadlift-sets-weight] => 17 [compound_exercises-stiff-legged_deadlift-sets] ] => 1 [compound_exercises-stiff-legged_deadlift-sets-result] => 1 [compound_exercises-stiff-legged_deadlift-sets-info] => Lorem ipsum smutku amet... [compoun d_exercises-stiff-legged_deadlift-reps] => na [compound_exercises-stiff-legged_deadlift-reps-sets] => 3 [compound_exercises-stiff-legged_deadlift-reps-reps] => 16 [compound_exercises-stiff-legged_deps-deps] => 100 [compound_exercises-stiff-legged_deadlift-reps-completed] => 1 [compound_exercises-stiff-legged_deadlift-reps-reps-result] => 3 [compound_exercises-stiff-legged_deadlift-reps-info] => Lorem ipsum dolor site amet. .. [ogólne-dane-waga] => 60 [ogólne-dane-skrzyni] => 10 [ogólne-dane-talia] => 10 [ogólne-dane-ud] => 10 [ogólne-dane-cieląt] = > 10 [general-data-arms] => 10 [general-data-forearms] => 10 ) Pierwsza tablica zawiera trening oraz zaplanowaną ilość serii i powtórzeń; a drugi drugi szczegóły dotyczące przebiegu treningu. Pierwszą rzeczą, na którą należy zwrócić uwagę, jest to, że tylko jeden trening może mieć rozmiar kilku KB. Nie byłoby niczym niezwykłym, na przykład w przypadku kilkuletniej ilości treningów, osiągnięcie kilku MB po zagregowaniu. Ponadto znam oprogramowanie, które z łatwością rozwiązuje te zadania niezależnie od WordPressa, ale staram się zintegrować to rozwiązanie z WordPressem, ponieważ słynie ono z obsługi dużych ilości danych i łatwej integracji z blogowaniem i innymi rozwiązaniami. ## Problemy Chociaż buforowanie częściowych danych z kilku MB wyników MySQL niekoniecznie jest trudne, problem polega na ich pobieraniu i obsłudze przyrostowo i asynchronicznie: potrzebuję WordPressa do aktualizacji zbioru stanów przejściowych poprzez dołączanie danych bez zakłócania interakcji użytkownika. Wiązałoby się to z przetwarzaniem określonej ilości danych w celu utworzenia gotowego do wyświetlenia (na przykład tabeli lub wykresu) zestawu tych danych. Moim głównym zmartwieniem jest obciążenie bazy danych WordPressa i potencjalnie serwera, na którym jest ona hostowana, dlatego chcę się upewnić, że pobieranie i obsługa danych są jak najbardziej optymalne zarówno podczas tworzenia, zapisywania i wyświetlania danych. ## Pytania 1. Co najmniej wpłynęłoby na obciążenie bazy danych: Przechowywanie danych jako postów z meta post w niestandardowym typie postu, jako niejednoznaczna meta posta, jako hierarchiczne taksonomie z metadanymi (według wtyczki, ref: q49333), jako dane w niestandardowym tabela bazy danych, czy jakaś alternatywna opcja? 2. Czy cronjobs, akcja bezpośrednia lub ajax są lepsze do dołączania nowo dodanych danych do transjentu zawierającego poprzednie dane (na przykład wartości miesiąca)? 3. Zakładając, że wspomniany trening i tablica wyników są konieczne, co zaoszczędziłoby więcej miejsca, serializacji (tak jak WordPress domyślnie), kodowania json lub innej alternatywy? 4. Po pobraniu dużej ilości danych (na przykład z miesiąca) jaka metoda będzie mniej obciążająca system przy agregacji? Zakładając, że musi być usystematyzowany w porównywalne jednostki, czy można to zrobić po stronie klienta, aby zmniejszyć obciążenie, czy też wstępnie wygenerowany stan przejściowy (z danymi gotowymi do wyświetlenia) byłby lepszy? 5. Jeśli chodzi o eksportowanie/importowanie danych, jaki istniejący wcześniej system najlepiej poradziłby sobie z taką ilością danych? Np. czy WordPress ma wbudowany eksport/import CSV? Zakładam, że zwykłe narzędzie do importu/eksportu nie poradzi sobie z dużym obciążeniem danych.


title: Wordpress Shortcodes - Style opcjonalne

text: tworzę niestandardowe shortcodes dla mojego motywu wordpress. Skróty są z natury opcjonalne na stronach/postach, ale mogą zawierać css, js lub inne pliki. Moje pytanie brzmi, w jaki sposób mogę kolejkować style CSS TYLKO JEŚLI użyto określonego shortcode? Nie chciałbym ładować wszystkiego bez powodu.


title: Warunkowe widget_form_callback

text:
Próbowałem opracować sposób na ustawienie czegoś w widżecie tylko wtedy, gdy widżet istnieje na określonym pasku bocznym. Poniższy kod wyszukuje pasek boczny o nazwie „stopka” i pokazuje opcję wyboru nad domyślnymi opcjami w widżecie. Jednak nie pojawia się, gdy przeciągam nowy widżet na pasek boczny. Kiedy nacisnę Zapisz, pojawi się opcja, w której będę musiał wybrać opcję i ponownie nacisnąć Zapisz. Czego mi brakuje, aby upewnić się, że ładuje się natychmiast po przeciągnięciu na pasek boczny? function myteme_colspan_widget_extend( $instance, $widget ) { if ( !isset($instance['colspan']) ) $instance['colspan'] = 3; // ustaw wartość domyślną, jeśli żadna nie jest ustawiona foreach ( wp_get_sidebars_widgets() as $sidebar => $widgets ) { if ('footer' == $sidebar && in_array( $widget->id, $widgets )) { echo "
\n"; echo "\tid_base}-{$widget->number}-colspan'>Rozpiętość kolumn: \n"; ?> <select name="widget-<?php echo $widget->id_base.'['.$widget->numer.'][colspan]'; ?>" id="widget-<?php echo $widget ->id_base.'-'.$widget->liczba; ?>-colspan"> <option>Wybierz:</option> <option<?php if ($instance['colspan']=='1') { echo ' wybrane';} ?> value="1">1</option> <opcja<?php if ($instance['colspan']=='2') {echo ' selected';} ?> value= "2">2</option> <opcja<?php if ($instance['colspan']=='3') {echo 'wybrano';} ?> value="3">3</option> < opcja<?php if ($instance['colspan']=='4') {echo ' selected';} ?> value="4">4</option> <option<?php if ($instance[' colspan']=='5') {echo ' selected';} ?> value="5">5</option> <option<?php if ($instance['colspan']=='6') { echo ' wybrane';} ?> value="6">6</option> <opcja<?php if ($instance['colspan']=='7') {echo ' selected';} ?> value= "7">7</option> <opcja<?php if ($instance['colspan']=='8') {echo 'wybrano';} ?> value="8" >8</option> <option<?php if ($instance['colspan']=='9') {echo ' wybrane';} ?> value="9">9</option> <option<? php if ($instance['colspan']=='10') {echo ' selected';} ?> value="10">10</option> <option<?php if ($instance['colspan'] =='11') {echo ' wybrane';} ?> value="11">11</option> <option<?php if ($instance['colspan']=='12') {echo ' wybrane ';} ?> value="12">12</option> </select> <?php echo "
\n"; } } return $instancja; } add_filter('widget_form_callback', 'mytheme_colspan_widget_extend', 10, 2); function myteme_colspan_widget_update( $instance, $new_instance ) { $instance['colspan'] = $new_instance['colspan']; zwróć $instancję; } add_filter( 'widget_update_callback', 'mytheme_colspan_widget_update', 10, 2 );


title: Skróty audio i wideo nie działają poprawnie

text: Mam problemy z wbudowanymi skrótami Wordpress dla audio i wideo. Kiedy osadzam film, w zasadzie pojawia się czarna skrzynka i link do pobrania pliku na górze; kiedy osadzam dźwięk, dodaje go, ale nie ma przycisku odtwarzania. Nadal mogę kliknąć w miejscu, w którym znajduje się przycisk odtwarzania i będzie odtwarzany, ale nie ma rzeczywistego przycisku. Próbowałem używać różnych wtyczek, między innymi mediaelement.js i widgetkit (przez yoothemes), ale wszystko daje mi ten sam typ wyjścia. Co ja robię źle? Naprawdę byłbym wdzięczny za każdą pomoc, jaką mogę uzyskać. Dodatkowe informacje: * używając Thesis Theme 2.1 * próbowałem wyłączyć wszystkie wtyczki, aby sprawdzić, czy coś jest w konflikcie; nie robiło różnicy * próbowałem usunąć wszystkie skrypty jquery z głowy; również nie ma różnicy * wszystkie pliki css i js wydają się być poprawnie połączone (wszystkie style i animacja jquery są na miejscu) * oto strona testowa mojej witryny, dzięki czemu możesz zobaczyć, co jest wyświetlane: http://kitabummuneer.com/newsite/ index.php/strona-testowa/


title: is_archive() zwraca false na stronie archiwów

text: Postępowałem zgodnie z oficjalną dokumentacją, aby utworzyć stronę moich archiwów: http://codex.wordpress.org/Creating_an_Archive_Index Działa dobrze, z wyjątkiem tego, że "is_archive() zwraca false kiedy przeglądam tę stronę. Jakiś pomysł?


title: Wtyczka PhotoPress Gallery nie może pobrać moich zdjęć po nadpisaniu danych wyjściowych galerii

text: Używam wtyczki PhotoPress Gallery i taksonomii PhotoPress autorstwa padams, aby stworzyć galerię przy użyciu terminów i słów kluczowych na mojej stronie Stock Photo. Działa to dobrze, dopóki nie zdecyduję się nadpisać dane wyjściowe galerii Wordpress dla dodatkowych funkcji i stylów. Teraz nie pobiera zdjęć i muszę je załączyć na stronie. Ale jest to trochę kłopotliwe, ponieważ dodawałbym zdjęcia na tych stronach tak, jak robi to normalny serwis fotograficzny, dlatego używam wtyczki PhotoPress Gallery wraz z taksonomią PhotoPress, aby ułatwić przesyłanie. Kod wyjściowy, którego używam, pochodzi z tej witryny. Myślę, że ma coś wspólnego z kodem ekstraktu: extract(shortcode_atts(array( 'orderby' => 'menu_order ASC, ID ASC', 'include' => '', ' id' => $post->ID, 'itemtag' => 'dl', 'icontag' => 'dt', 'captiontag' => 'dd', 'columns' => 3, 'rozmiar' => ' medium', 'link' => 'plik' ), $atts)); oraz zapytanie: $args = array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'post_mime_type' => 'image', 'orderby' => $orderby ); Co mogę zmienić w tym zapytaniu, aby pojawiły się zdjęcia? Oto przykładowy krótki kod, który działa przed zastąpieniem galerii `[gallery taxonomy="photos_collection" term="stock-photo" column="6" size="miniaturka" itemtag="li" icontag="th"]`


title: Jak mogę dodać walidację do tego formularza logowania bez przekierowywania na stronę wp-login.php?

text: Używam kodu zamieszczonego na poniższej stronie internetowej, aby utworzyć zakodowany formularz logowania. http://www.wprecipes.com/add-a-login-form-on-your-wordpress-theme Jaki byłby najlepszy sposób na włączenie niektórych walidacji z tym lub użycie domyślnych komunikatów o błędach Wordpress? cały sens twardego kodowania formularza polega na tym, że użytkownik nie jest przenoszony z treści na domyślną stronę wp-login.php przez cały proces logowania. Pozdrawiam Tom Kiddle


title: jak umieścić wartość pola niestandardowego w zmiennej?

text: funkcja zh_get_invoice_round_off_number() { global $post; return get_post_meta($post->ID, 'invoice_round_off_number', true); } function zh_invoice_round_off_number() { echo zh_get_invoice_round_off_number(); }


title: Gdzie zapisać wspólne biblioteki?

text: Mam instalację WordPressa w wielu witrynach. Postanowiłem scentralizować jak najwięcej moich bibliotek w jednym miejscu, z oczywistych względów organizacyjnych oraz w celu zmniejszenia rozdęcia. Wiele z tych bibliotek może być używanych zarówno we wtyczkach, jak i motywach. Moim pierwszym pomysłem jest utworzenie katalogu ' ** _myLibs_** ' (lub innej nazwy) wewnątrz **_wp-content_**, w którym zapisałbym wszystkie te biblioteki. Czy ktoś ma lepszy pomysł? Czy byłyby jakieś powody, żeby tego NIE robić?


title: Jak wyświetlić formularz subskrypcji Jetpack na stronie?

text: We wtyczce Jetpack moduł subskrypcji można dodać do swojego bloga, postępując zgodnie z poniższymi instrukcjami: > Aby użyć widżetu Subskrypcje, przejdź do Wygląd → Widgety. Przeciągnij widżet > oznaczony jako „Subskrypcje bloga (pakiet odrzutowy)” na jeden z pasków bocznych i > skonfiguruj z dala. Jestem zainteresowany umieszczeniem formularza subskrypcji na Stronie w mojej witrynie, w głównej sekcji strony. Czy istnieje jakiś skrót lub inny sposób, w jaki mogę łatwo dołączyć formularz subskrypcji do treści mojej strony? Lub, aby to zrobić, czy musiałbym zdefiniować nowy pasek boczny, umieścić widżet subskrypcji na pasku bocznym, a następnie utworzyć niestandardowy szablon, który zawiera ten nowy pasek boczny na tej stronie (dość kłopotliwe ćwiczenie)?


Jak wyświetlić wszystkie kategorie, w których znajduje się post, w formacie zdania. np. samochody, łodzie, samoloty, rowery.


title: Paginacja komentarzy Wordpress: najnowsze komentarze na pierwszej stronie

text: Używam paginacji komentarzy Wordpress w następujący sposób: * komentarze podzielone na strony * komentarze wyświetlane z najnowszymi komentarzami na górze każdej strony * 50 komentarzy na każdej stronie * pierwsza strona wyświetlana domyślnie Problem polega na tym, że staram się uzyskać podobne komentarze do YouTube, takie jak - najnowsze komentarze na pierwszej stronie, pierwsza strona jest wyświetlana domyślnie, potem starsze komentarze w kolejności na stronie 2, 3 itd. Problem w tym, że komentarze Wordpress są tak skonstruowane, że nie mogę tego osiągnąć zmieniając ustawienia "Dyskusja". Próbowałem różnych opcji, takich jak rozszerzenie funkcji paged_walk() Walkera lub odwrócenie komentarzy, a nawet wyciągnięcie komentarzy za pomocą zapytania MySQL i użycie paginate_link() - ale wydaje się, że nie jestem w stanie osiągnąć tego typu hierarchia komentarzy. Wszelkie porady są mile widziane, dziękuję! **Rozwiązanie:** Znalazłem rozwiązanie w następujący sposób: * do functions.php Wstawiłem niestandardową funkcję, która sortuje komentarze według daty (najnowsze komentarze jako pierwsze) za pomocą sortowania tablic asocjacyjnych, jak widać tutaj * do Ustawienia Wordpress Zmieniłem następujące ustawienia w Ustawienia -> Dyskusja _Komentarze powinny być wyświetlane z komentarzami na górze każdej strony_ Więc teraz moje komentarze są wyświetlane jako najnowsze (na górze) z numeracją stron zaczynającą się od 1. Jedyny problem, który widzę , polega na tym, że podczas publikowania komentarza użytkownik jest z jakiegoś powodu przekierowywany na ostatnią stronę komentarzy.


title: Pomocnicy JavaScript

text: Czy są jakieś funkcje JavaScript specyficzne dla WordPressa, które mogłyby zostać użyte jako pomoce podczas pisania niestandardowego kodu? Myślę konkretnie o takim, który wycofałby podstawowy adres URL twojej instalacji, ale wszelkie funkcje pomocnicze wbudowane w WordPress byłyby miło znać.


title: Zarządzaj pocztą znajomych

text: Na mojej stronie możesz stworzyć post dla kogoś, kto jest twoim przyjacielem na stronie. Jak mogę pozwolić mojemu znajomemu na zarządzanie tym wpisem tak samo jak ja?


title: wstaw tag html za pomocą wtyczki php

text: Chciałem utworzyć nowy `<div>` nad `<div id="wpwrap">` w **adminheader.php** i zamykający tag poniżej `</body>` w **adminfooter. php** czy powinienem po prostu ręcznie utworzyć nowy div? lub użyj wtyczki, aby wstawić te tagi HTML. Dziękuję.


title: Nieograniczona ilość postów na niestandardowej stronie archiwum

text: Chcę całkowicie pozbyć się paginacji w moim niestandardowym archiwum, chcę wszystko na 1 stronie. W jaki sposób mogę to zrobić? Obecnie otrzymuję moje posty z: <?php query_posts($query_string . '&orderby=title&order=ASC'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> Strony kodeksu dotyczące zapytań_postów i paginacji nie wydają się zbyt pomocne, po prostu mówią mi, jak to ograniczyć, ale nie mówią, jak mogę się go pozbyć. Użyłem motywu startowego kości, więc nie wiem, czy ma to wpływ na domyślne zachowanie.


title: Jak dodać treść na końcu postów?

text: Próbuję dodać niestandardowe pola na końcu postów. Udało mi się wyświetlić niestandardową zawartość za pomocą poniższego kodu. Ale treść głównego posta została zastąpiona. : function custom_content_filter_the_content() { the_field("pole1"); } add_filter( 'treść', 'custom_content_filter_the_content' ); Więc chcę spróbować tego, jak w poniższym przykładzie: function custom_content_filter_the_content( $content ) { $custom_content = 'some_content_appears_here'; $niestandardowa_zawartość .= $zawartość; zwróć $custom_content; } add_filter( 'treść', 'custom_content_filter_the_content' ); Chcesz zastąpić `'jakaś_treść_tutaj'` przez `<span class="custom_fds"><?php if( function_exists('the_field') ) the_field('field1'); ?></span>`. Czy ktoś może mi powiedzieć, jak używać `<?php the_field() ?>` w functions.php, aby dodać niestandardowe pola (utworzone za pomocą zaawansowanych niestandardowych pól) na końcu treści postu (jest to łatwe, gdy używamy w szablonach ale nie w funcitons.php) ? **Aktualizacja** : Kod @G.M pomaga mi osiągnąć to, czego chcę. Oto końcowy kod: function custom_content_filter_the_content( $content ) { if ( function_exists('get_field')) { $content .= '' . get_field('pole1') . ''; $content .= '' . get_field('field2') . ''; } return $treść; } add_filter( 'treść', 'custom_content_filter_the_content' ); Dzięki @G.M. Mam kilka pytań związanych z zawartością niestandardową. * Wyświetlam wiele pól w jednej funkcji. Czy to w porządku? * Czy zamiast końca lub początku posta można wybrać pozycję dla niestandardowej treści w dowolnym miejscu w `the_content` ? Na przykład, jeśli używam jakichkolwiek wtyczek do udostępniania społecznościowego, wyświetlają one treść w tym samym miejscu, chcę zmienić pozycje tych dwóch rodzajów niestandardowych treści.


title: Niespójny tytuł postów

text: Pamiętam, że edytowałem część mojego motywu, aby zoptymalizować wartości tytułów. Obecnie w google widzę to. Podczas gdy otwieram post, nazwa witryny nie jest dołączana do tytułu posta. Spojrzałem na `header.php` mojego motywu i znalazłem następującą linię: <title><?php seotitles(); ?></title> Używam wtyczki "All in one SEO" i ręcznie ustawiłem tytuł i opis każdego postu, a kiedy to robię, nie dołączam nazwy witryny w nazwie postu. Jak mogę zsynchronizować ze sobą to, co widzę w google i to, co widzi użytkownik?


title: Wyświetlaj aktualnego autora posta i jego adres URL w nagłówku posta

text: Wprowadzam kilka zmian w moim motywie. Chcę, aby podczas odwiedzania posta nagłówek zawierał autora posta i jego adres URL. teraz używam tego: echo ''.get_userdata($posts[0]->post_author)->data->display_name.'; Wyświetlana nazwa autora działa poprawnie, ale link wygląda tak: www.mojawitryna.com/?autor=0 zamiast tego (na przykład) www.mojawitryna.com/?autor=36, więc to jest kod w nagłówku Wyświetlana nazwa zamiast tego: Wyświetlana nazwa przy okazji: robię to poza pętlą.


title: wp_get_object_terms(): liczba względem przekazanych identyfikatorów?

text: Wiem, że kiedy `wp_get_object_terms()` otrzymujesz zmienną składową „count” dla każdego zwróconego obiektu terminu, ale ta „count” jest tym, co znajduje się w tabeli `$wpdb->term_taxonomy` w bazie danych, nie jest ona związana z identyfikatorami przekazujesz jako pierwszy parametr. Ale jak mogę zdobyć ten numer? Przykład, coś takiego: $query = new WP_Query(array('post_type' => 'foo', 'numberposts' => 20)); $ids = wp_list_pluck($query->posts, 'ID'); $terms = wp_get_object_terms($ids, 'multi_post_type_tax'); Dlatego chcę, aby zwrócona liczba była odpowiednia dla zapytania, co oznacza, że liczba, którą otrzymuję, dotyczy tylko przekazanych identyfikatorów postów. Każdy obiekt terminowy zwrócony z podatku „multi_post_type_tax” może mieć liczbę 400, ponieważ dotyczy innych typów postów, których nie ma w moim zapytaniu, ale ponieważ przekazałem określone identyfikatory, chcę, aby ta liczba dotyczyła tego zapytania, co oznacza liczba > 20 nie miałaby żadnego sensu (i najprawdopodobniej dla określonego terminu byłaby mniejsza niż 20, nie widzę każdego posta w typie posta zawierającego zwykle ten sam termin). Wygląda na to, że to zadziała, ale zwrócona wartość z `wp_get_object_terms` ma unikalne obiekty.


title: Zdefiniowana funkcja daje niezdefiniowany błąd funkcji.. jest funkcją niestandardową

text: OK, więc tworzę motyw tutaj w pracy i oddzielam wszystkie funkcje, które nie są add_action lub tym podobne. Używam ich do różnych celów. Są one przechowywane w pliku o nazwie 'theme_functions.php' Jak dotąd mam tam około 7 funkcji, wszystkie działają doskonale. Dodałem inny i kiedy próbuję użyć w dowolnym miejscu, pojawia się `Błąd krytyczny: Wywołaj niezdefiniowaną funkcję myFunction() w /Users/mójkomputer/PHP/MY_SITE/wp-content/themes/MY_THEME/page-home.php na linia 15` Zapytałem PHP, czy plik istnieje i mówi mi TAK `echo file_exists(plugin_dir_path(__FILE__)."_include/inc/theme_functions.php") ? "TAK" : "NIE";` Dołączam tak: `require_once plugin_dir_path(__FILE__)."_include/inc/theme_functions.php";` Wiem, że to nie jest zakres, ponieważ inne funkcje działają. Mój kod jest czysty i upewniłem się, że moja składnia jest na miejscu ... Więc uciekam się do pytania tutaj, ponieważ absolutnie NIE mam pojęcia, co się dzieje. KOD: function mojaFunkcja($termName, $postsPerPage=10){ $category = get_term_by( 'name', $termName, 'category' )->term_id; $posty = tablica(); $post_args = array( 'posts_per_page' => $postsPerPage, 'category' => $category, 'orderby' => 'post_date', 'order' => 'DESC' ); $p = get_posts($post_args); foreach ($p as $i => $post) { $img = get_primary_image($post->ID, '300'); // jest to kolejna funkcja nie wp w tym samym pliku, który DZIAŁA $title = $post->post_title; $link = get_permalink($post->ID); $wyciąg = substr($post->post_excerpt, 0, 90)."..."; $x = array( 'img' => $img, 'title' => $title, 'excerpt' => $excerpt, 'link' => $link ); array_push($posty, $x); } return array_chunk($posts, 2); } Jeśli ktoś może wskazać mi właściwy kierunek, będę Cię kochać na zawsze (mogą obowiązywać ograniczenia).


title: Zmień link do innego posta na skrót w edytorze

text: Obecnie, jeśli używamy okna dialogowego wstawiania linku, aby wstawić link do innego postu, WordPress zawsze używa permalinku tego posta. Problem polega na tym, że gdy zmienimy strukturę permalinka, link zostanie zerwany. Chciałbym zapytać, czy istnieje sposób na zmianę linku z permalink na krótki link, taki jak `?p=123`, aby działał w każdych okolicznościach. Dziękuję.


title: Jak modyfikować/niestandardowe szablony NextGen Gallery?

text: Chciałbym w szczególności dostosować szablon „Przeglądarka obrazów”. Staram się, aby kliknięcie obrazu przekierowało do następnego obrazu w galerii, tak jak działa przeglądarka obrazów Facebooka. (To nie jest kosmetyczna zmiana w CSS - zmiana CSS nie jest tym, co mam na myśli, dostosowując szablony) Zawsze mogę edytować `/wp-content/plugins/nextgen-gallery/view/imagebrowser.php` ale to hack i to jest nie można zaktualizować, gdy pojawi się kolejna wersja NextGen Gallery. Czy mimo to mogę nadpisać szablon imagebrowser.php w moim motywie?


title: Nie pozwól wtyczce na usuwanie ważnych katalogów

text: Chcę umożliwić użytkownikom przesyłanie niestandardowych plików do określonego katalogu wtyczek. Problem polega oczywiście na tym, że WP usuwa wszystko po aktualizacji wersji wtyczki. Myślę, że haki `upgrader_pre_install` i `upgrader_post_install` mogą się przydać, ale niestety do tej pory nie udało mi się znaleźć żadnych informacji, które by mi pomogły. Czy Twoim zdaniem te haki mogą być użyte do przechowywania katalogu, a jeśli tak, to w jaki sposób? Czy powinienem po prostu skopiować katalog gdzie indziej, na przykład folder uploads, i skopiować go z powrotem za pomocą `upgrader_post_install`? Jaka byłaby najlepsza praktyka? Dziękuję


title: Dlaczego w każdym wierszu są <?php i ?>?

text: Spotkałem się z tą konwencją prawie wszędzie i czasami prawie doprowadza mnie do szału: <?php //Pętla ?> <?php while ( have_posts() ) : the_post(); ?> <?php the_content(); ?> <?php koniec; // koniec pętli. ?> Gdzie `<?php` i zamykający `?>` znajdują się w każdym wierszu, nawet jeśli nie ma w nim żadnego kodu HTML. **Moje pytanie brzmi: Dlaczego?** Po co uwzględniać te wszystkie dodatkowe tagi? Wydaje mi się, że ta konwencja znacznie zaśmieca kod, jest denerwująca i dodaje, że o wiele więcej miejsc może przypadkowo pominąć otwierający lub zamykający znacznik. **UWAGA** To jest kod wyciągnięty z motywu Twenty-Twelve, przykład podany przez WordPress.


title: Przenieść posty na górę WP_Query, jeśli są w określonej taksonomii?

text: Próbuję znaleźć najlepszy sposób na promowanie niektórych (niestandardowych) postów na szczycie mojej pętli Wordpress. Nie mogę używać przyklejonych postów, ponieważ wszystkie są w niestandardowym typie postów. Myślałem o użyciu taksonomii, aby to zrobić, jednak nie jestem pewien, czy to zadziała, myślę, że mogę potrzebować 2 pętli?


title: Niestandardowe zapytanie oparte na niestandardowym polu pojedynczego postu

text:
Mam posty z niestandardową datą pola w formacie rrrr-mm-dd. To, co próbuję zrobić, to wymienić wszystkie posty z określonego roku na boku jednej strony na podstawie roku w niestandardowym polu tego posta i podzielone na miesiące. Na przykład, jeśli post ma niestandardową datę w polu 1990, chcę wypisać wszystkie posty z 1990 roku z boku strony i posortować je według miesięcy. Muszę użyć tej niestandardowej daty w polu i nie mogę użyć wewnętrznej funkcji daty w Wordpress. Poniżej wyodrębniłem tylko rok z daty pola niestandardowego dla zapytania i zwraca wszystkie linki do postów z roku, w którym datowane jest niestandardowe pole pojedynczego posta. To zapytanie pojawia się z boku szablonu strony pojedynczego posta, poza pętlą pojedynczego posta. Próbuję wymyślić, jak mogę teraz posortować te posty na miesiące? Tak więc styczeń, a następnie wszystkie linki do postów z tego miesiąca, lutego i tak dalej... <?php $histyear = substr (get_post_meta($post->ID, "data-historyczna", prawda),0,4); $querystr = " SELECT $wpdb->posts.* FROM $wpdb->posts, $wpdb->postmeta WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->postmeta.meta_key = ' history-date' AND $wpdb->postmeta.meta_value = $histyear AND $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' ORDER BY $wpdb->postmeta.meta_key = ' data historyczna' DESC "; $pageposts = $wpdb->get_results($querystr, OBJECT); ?> <?php if ($pageposts): ?> <?php global $post; ?> <?php foreach ($pageposts jako $post): ?> <?php setup_postdata($post); ?> <div class="post" id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="zakładka" title=" Stały link do <?php the_title(); ?>"> <?php the_title(); ?>

 <?php endforeach; ?> <?php jeszcze : ?>


title: Zatrzymać działanie „update_post_meta” przy każdym odświeżaniu strony?

text: Więc mój kod, który mam tutaj, w tym `update_post_meta`, sprawia, że działa on po kliknięciu przycisku, który mam, chociaż nie mogę się dowiedzieć, jak mogę uniemożliwić działanie `update_post_meta` przy każdym odświeżeniu/odwiedzeniu strony, ponieważ mam ten przycisk na pewnym strona. Oto kod: <form action="" metoda="post"> <input type="submit" value="Test" id="submit"> <?php $post = array( 'post_title' => $kolumna1 , 'post_status' => 'szkic', 'post_type' => 'bedrijf' ); $ thisid = wp_insert_post ( $ post, prawda); if(!isset($_POST['prześlij'])){ if ( is_wp_error($thisid)) { return get_error_codes(); } } w innym przypadku{ wp_insert_post($thisid); update_post_meta( $thisid, 'field_1223ewedwd3123', $kolumna2); } ?> </form>


title: Zapytanie SQL, aby uzyskać posty z wielu kategorii, ale nie z jednej kategorii

text: Muszę uzyskać identyfikator ostatnich postów i post_tile w kategoriach 1 i 2 oraz wykluczyć te z kategorii 3. Musi to być SQL, ponieważ jeśli używam WP_Query, pobiera za dużo informacji i potrzebuję tylko identyfikatora i post_title. Poniższe zapytanie działa dobrze przy pobieraniu postów z 2 kategorii, ale jeśli spróbuję wykluczyć trzecią, to nie zadziała: wybierz odrębny p.ID, p.post_title z wp_posts p, wp_terms t, wp_term_taxonomy tt, wp_term_relationships tr, wp_terms t2, wp_term_taxonomy tt2, wp_term_relationships tr2 gdzie p.id = tr.object_id i t.term_id = tt.term_id i tr.term_taxonomy_id = tt.term_taxonomy_id i p.id = tr2.object_id i t2.term_id i tr.2. term_taxonomy_id = tt2.term_taxonomy_id i (tt.taxonomy = 'kategoria' i tt.term_id = t.term_id i t.term_id = 15) oraz (tt2.taxonomy = 'kategoria' i tt2.term_id = t2.term_id i t2.term_id = 5) ZAMÓW WEDŁUG P.ID LIMIT ZAPISU 0, 60 Jakaś pomoc? Z góry dziękuję :)


title: Ładne adresy URL i niestandardowe typy postów

text: Przeczytałem posty na WP SA na temat przepisywania i niestandardowych typów postów, ale nie mogę zrozumieć, dlaczego moje wyszukiwanie 2 różnych typów postów nie działa. Chcę, aby moje adresy URL miały postać `example.com/search/events/searchtem` i `example.com/search/artists/searchterm`. Mam CPT o nazwie „wydarzenia” i jeden o nazwie „artyści”. Moja niestandardowa struktura linku bezpośredniego jest ustawiona na `/%postname%/`. Moje formularze wyszukiwania: <form class="search-form" action="<?php echo home_url('/events/'); ?>" method="get"> <input id="s" name="s" type="tekst" class="span4" /> <input class="przycisk wyszukiwania" type="submit" value="Zoek" tabindex="-1" /> </form> <form class="search- formularz" action="<?php echo home_url('/artists/'); ?>" method="get"> <input id="s" name="s" type="tekst" class="span4" / > <input class="search-button" type="submit" value="Zoek" tabindex="-1" /> </form> Jeśli szukam, adresy URL to `example.com/events/?s=searchterm ` i `example.com/artists/?s=searchterm` ale zwracają 404. To dziwne, ponieważ umieszczenie `?s=` za dowolnym adresem URL zamienia go w zapytanie, prawda? Są to wyniki z wyłączonymi lub włączonymi funkcjami nice-search (patrz poniżej) (bez różnicy). Jeśli zmienię `<?php echo home_url('/events/'); ?>` do `<?php echo home_url('/'); ?>` i dodaj `<input type="hidden" name="post_type" value="events" />` z nice-search (patrz poniżej) wyłączone wszystko działa zgodnie z oczekiwaniami (URL staje się `example.com/?post_type= wydarzenia&s=searchterm`). Po włączeniu nice-search wyniki stają się example.com/search/searchterm (więc przepisuje) i przenosi mnie na stronę wyników wyszukiwania, ale przeszukuje wszystko, a nie tylko jeden typ wpisu. Funkcje z nice-search (używam motywu roots), które składają się z dwóch części: function roots_nice_search_redirect() { global $wp_rewrite; if (!isset($wp_rewrite) || !is_object($wp_rewrite) || !$wp_rewrite->using_permalinks()) { return; } $search_base = $wp_rewrite->search_base; if (is_search() && !is_admin() && strpos($_SERVER['REQUEST_URI'], "/{$search_base}/") === false) { wp_redirect(home_url("/{$search_base}/" .urlencode (get_query_var('s')))); Wyjście(); } } if (current_theme_supports('nice-search')) { add_action('template_redirect', 'roots_nice_search_redirect'); } i function roots_request_filter($query_vars) { if (isset($_GET['s']) && empty($_GET['s'])) { $query_vars['s'] = ' '; } return $query_vars; } add_filter('żądanie', 'roots_request_filter'); Po przeczytaniu postów myślę, że muszę zmienić moją funkcję przepisywania, ale tak naprawdę nie wiem, jak to zrobić... Ponadto chciałbym użyć `<?php echo home_url('/events/'); ?>` zamiast `<input type="hidden" name="post_type" value="events" />` jeśli to możliwe i nie używam paginacji.


title: jak przenieść <image> z treści i umieścić je gdzieś na szablonie strony?

text: Istniejąca witryna internetowa zawiera wiele obrazów umieszczonych w treści stron. Chciałbym przeprojektować szablon, oddzielając wyświetlanie tekstu i obrazów. Jak mogłem to zrobić?


title: Wyniki wyszukiwania BBPress w wyszukiwarce Wordpress

text: Chcę wyświetlić na stronie wyników wyszukiwania Wordpress - 10 lub mniej znalezionych wyników z forów BBPress (wtyczki). Wiem, że BBPress używa niestandardowych typów postów (forum, temat, odpowiedź), ale nie wiem jak to zrobić. Próbuję z WP Query, ale nic nie pokazało. Nie chcę zastępować strony i funkcji wyszukiwania BBPress, chcę tylko pokazać niektóre wyniki w wyszukiwarce Wordpress. czy to możliwe? Z góry dziękuję wszystkim. Oto zapytanie, które próbuję: <?php // Zapytanie $the_query = new WP_Query( array ( 'post_type' => array('topic', 'reply'), 'posts_per_page' => 10, 's'=> $s)); // Pętla if ( $the_query->have_posts() ) { while ( $the_query->have_posts() ) { $the_query->the_post(); echo '<li>' . pobierz_tytuł() . '</li>'; } } else { // nie znaleziono wiadomości } /* Przywróć oryginalne dane wiadomości */ wp_reset_postdata(); ?>


title: Jak zmienić kategorię bloga, adres URL autora w wordpressie?

text: Stworzyłem stronę WordPress z blogiem ślimakowym. Mogę łatwo uzyskać dostęp do par bloga za pomocą `/blog`. Teraz chcę dodać `blog/` przed wszystkimi adresami URL na moim blogu, takimi jak `blog/category/first`, blog/author/pramod.. Próbowałem tego, zmieniając bazę kategorii i bazę autorów, ale to daje mi błąd nie znaleziono strony. Daj mi znać, czy jest inny sposób, aby to zrobić. Zadałem to samo pytanie na SO, ale brak odpowiedzi


title: Jak pokazać post dopiero po niestandardowej dacie

text: Mam niestandardowy typ posta. W tym niestandardowym typie postu mam niestandardowe pole z datą w formacie: 23/09/2012 Jak wyświetlić tylko posty, których aktualna data jest przed datą z tego niestandardowego pola? Przepraszam za mój angielski. Tomek


title: wp_enqueue_script : jak zmienić kolejność ładowania skryptów?

text: Chciałbym wiedzieć, jak wyświetlić listę wszystkich skryptów załadowanych na stronie uszeregowanych według kolejności i zmienić tę kolejność.


title: Jak sprawić, by wp-login.php nie był dostępny?

text: Udało mi się sprawić, że wp-admin nie jest dostępny (przekierowany do strony 404) oto kody w moim pliku funkcji: add_filter('site_url', 'wpadmin_filter', 10, 3); function wpadmin_filter( $url, $ścieżka, $orig_scheme ) { $old = array( "/(wp-admin)/"); $admin_dir = WP_ADMIN_DIR; $nowy = tablica($admin_dir); return preg_replace( $stary, $nowy, $url, 1); } funkcja redirect_wp_admin(){ $redirect_to = $_SERVER['REQUEST_URI']; if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){ $redirect_to = $_REQUEST['redirect_to']; $check_wp_admin = stristr($redirect_to, 'wp-admin'); if($check_wp_admin){ wp_safe_redirect('404.php'); } } } i htaccess: RewriteRule ^controlpanel/(.*) wp-admin/$1?%{QUERY_STRING} [L] Teraz mylące jest to, że nie mam pojęcia, jak zrobić to samo dla wp-login.php. zmiana z „wp-login.php” na „dostęp” działa, ale po wpisaniu wp-login.php nadal jest dostępny, oto kod w pliku funkcji: add_filter('site_url', 'wplogin_filter', 10, 3) ; function wplogin_filter( $url, $ścieżka, $orig_scheme ) { $old = array( "/(wp-login\.php)/"); $new = array( "dostęp"); return preg_replace( $stary, $nowy, $url, 1); } plik htaccess: RewriteRule ^access$ wp-login.php Więc moje pytanie brzmi, co zrobić, aby wp-login.php nie był dostępny (przekierowywany do strony 404 lub cokolwiek)? Wszelkie odpowiedzi są bardzo mile widziane :) Z góry bardzo dziękuję


title: Ustaw szablony dla niestandardowych typów postów

text: Używam motywu Weaver II Pro 1.3.8 z WordPress 3.5.2 Motyw jest bardzo elastyczny i zawiera wiele szablonów. Na poszczególnych stronach mogę nawet wybrać, którego szablonu użyć, co jest fajne i poręczne. Czy istnieje sposób na przypisanie konkretnego szablonu do konkretnego niestandardowego typu postu, np. brak pasków bocznych dla stron forum bbPress lub brak pasków bocznych dla time.ly All-in-One-Event-Calendar itp.?


title: Witryna zwraca wewnętrzny błąd serwera 500

text: Mam poważny problem z moim motywem WordPress. Kiedy próbuję zalogować się z Firefoksa, loguję się pomyślnie, ale potem próbuję zalogować się za pomocą chrome lub IE, otrzymuję wewnętrzny błąd serwera 500. Co ja robię źle? Próbowałem zgłaszania błędów E_ALL, debugowanie do wartości true, ale bez powodzenia. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/3rJVd.png)


title: Zapytanie Wordpress oparte na losowej taksonomii

text:
Uderzam głową, aby rozwiązać ten problem, byłbym wdzięczny, gdyby ktoś mógł pomóc _**Scenariusz jest taki,_** * Mam witrynę WordPress związaną z książkami. * Mam niestandardową taksonomię o nazwie „History Books” sugerowaną jako „history_books”. w ramach tej konkretnej taksonomii mam wiele książek historycznych (terminów). * w moim folderze /assets/images/books mam wszystkie obrazy związane z konkretnymi zarezerwowanymi (warunkami), tj. term_hsb1.jpg _**Chcę, _** * Muszę uruchomić LOSOWE zapytanie na podstawie mojego niestandardowego taksonomia " history_books", która powinna zwrócić losowo wybrany termin. * Następnie muszę pokazać powiązany obraz dla tego konkretnego terminu. * Całkowita liczba tych terminów * Bezpośredni link do strony archiwum terminów. _**W drugim kroku,_** * Chcę pokazać pięć postów związanych z tym konkretnym terminem. Próbowałem wielu kombinacji, ale nic nie działało. Ostatnio próbowałem tego kodu <?php $sugarquery = new WP_Query(); $sugarquery->query( array( 'taxonomy' => 'history_books', 'orderby' => 'rand', 'showposts' => 1 ) ); while( $sugarquery ->have_posts() ) : $sugarquery ->the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php $product_terms = wp_get_object_terms('historia_książek'); if(!empty($product_terms)){ if(!is_wp_error( $product_terms )){ echo '
'; foreach($product_terms as $term){ echo '
slug, 'history_books').'">'.$term->name.'
'; } echo '
'; } } koniec; ?> Robię zapytanie z konkretnego podatku i zwracam jeden losowy post, ale potem nic się nie dzieje. Pomóż mi, jaki jest lepszy sposób, aby to zrobić? BR


title: Automatycznie publikuj w Google+ w nowym poście

text: Czy istnieje sposób na automatyczne publikowanie w Google+ za każdym razem, gdy w WordPressie pojawi się post na blogu? Znalazłem bardzo sprzeczne informacje, czy to możliwe, czy nie. W idealnym przypadku powinno to być oczywiście bezpłatne.


title: Niestandardowa reguła przepisywania Wordpress

text: Mam niestandardowy szablon strony do użycia na stronie Wordpress. Próbuję ustawić niestandardową regułę przepisywania, ale bez powodzenia. Mam stronę pod adresem blog/book-page/, wyświetlanie tej strony zależy od identyfikatora książki, dlatego chcę, aby adres URL taki jak blog/book-page/book-id/ odczytał identyfikator książki. W moich funkcjach php zamieściłem poniższą funkcję z Wordpress Codex: add_rewrite_rule('^book-page/([^/]*)/?','index.php?page_id=11&book_id=$matches[1]',' Top'); Ale kiedy wchodzę na http://xyz.com/book-page/123/, ciągle przekierowuje mnie na http://xyz.com/book-page/ Odświeżyłem reguły przepisywania, zapisując permalinki w panelu. Nie można rozwiązać, patrząc na podobne pytania pod adresem: Niestandardowa reguła przepisywania nie jest wybierana przez Wordpress i Potrzebuję pomocy w tworzeniu niestandardowej reguły przepisywania Wszelkie sugestie, z góry dziękuję.


title: Pole niestandardowe w shortcodzie?

text:
Nie mogę umieścić obrazu z jednego z moich pól w skróconym kodzie. (działa z `get_the_post_thumbnail($post->ID, 'thumbnail')` ale potrzebuję wartości z pola `udstiller logo`. function logo_shortcode( $atts ) { extract( shortcode_atts( array( 'limit' => ' 50', 'orderby' => 'name', ), $atts ) ); // Tworzenie niestandardowego zapytania do pobrania niestandardowego posta typu projektu. $loop = new WP_Query(array('post_type' => 'udstillere', ' posts_per_page' => $limit, 'orderby' => $orderby)); $output = '
'; // Przewijanie postów i budowanie struktury HTML. if($loop){ while ($loop->have_posts()){ $loop->the_post(); $output .= '
ID,'wpcf-udstiller-logo',true).'"/>
'; } } else $output = 'Przepraszamy, nie ma jeszcze projektów. Wróć wkrótce.'; / / Teraz zwracamy kod HTML z powrotem na pla ce skąd wywołano shortcode. zwróć $wyjście; $wyjście = '
'; } add_shortcode("Logo", "logo_shortcode");


title: Jak uzyskać plakat (miniaturę) obrazu wideo?

text: Otrzymuję wszystkie filmy za pomocą poniższej funkcji i działa dobrze. Teraz chcę uzyskać obraz plakatu wideo (obraz miniatury) z tego filmu. Jak mogę uzyskać obraz wideo jako miniaturę? Próbowałem również uzyskać miniaturę za pomocą tej funkcji, ale to nie działa $page_id = 659; $page_data = get_page( $page_id ); if (has_post_thumbnail( $page_data->ID) ){ ?> <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $page_data->ID ), 'single-post-thumbnail' ); ?> <img src="<?php echo $image[0]; ?>" width="200" height="212" /> <?php }?> Otrzymuję wszystkie filmy za pomocą tej funkcji $args = array ( 'post_type' => 'attachment', 'post_mime_type' => 'video', 'order' => 'DESC', 'orderby' => 'post_date', 'posts_per_page' => -1 ); $videoFiles = get_posts($args); foreach ($videoFiles as $file) { } Mój obiekt posta: WP_Post Object ( [ID] => 670 [autor_postu] => 1 [data_postu] => 26.06.2013 10:55:51 [data_postu] => 2013 -06-26 10:55:51 [post_content] => Lorem Ipsum to po prostu fikcyjny tekst w branży poligraficznej.Lorem Ipsum jest standardowym fikcyjnym tekstem w branży od 1500 roku, kiedy nieznana drukarnia zabrała kuchnię i zaszyfrowałem ją, by zrobić księgę wzorcową, która przetrwała nie tylko pięć wieków, [post_title] => Strike Back [post_excerpt] => Kompozytor [post_status] => dziedziczy [comment_status] => otwórz [ping_status] => otwórz [ post_password] => [post_name] => columbia4x3 [to_ping] => [pinged] => [post_modified] => 2013-06-26 10:55:51 [post_modified_gmt] => 2013-06-26 10:55:51 [post_content_filtered] => [post_parent] => 0 [guid] => http://host.com/wp-content/uploads/2013/06/Columbia4x3.mov [menu_order] => 0 [post_type] => załącznik [post_mime_type] => video/quicktime [comment_count] => 0 [filtr] => surowe )


title: Tworzenie stron w bezpiecznym folderze poza normalnym folderem wordpress

text: Mam witrynę członków, na której materiał członków znajduje się w folderze w katalogu głównym o nazwie secure. Dostęp jest kontrolowany przez oddzielną firmę rozliczeniową i chroniony przez sejf. Ponownie projektuję witrynę za pomocą wordpress i skonfigurowałem wordpress w folderze o nazwie mywp. Chciałbym utworzyć strony aktualizacji, które są dostępne tylko w bezpiecznym folderze po zalogowaniu się członków, ale nie mogę znaleźć żadnych jasnych instrukcji, jak to zrobić. Wszelkie sugestie lub rozwiązania są mile widziane.


title: Przeglądanie statystyk witryny z własnym hostingiem z aplikacji Android WordPress

text: Mam / mam bloga na WordPressie (ze statystykami działa dobrze). Założyłem teraz własny blog i zapłaciłem za przekierowanie poza witrynę z WordPressa do mojego nowego bloga. To wszystko działa dobrze. Jeśli zaloguję się na własną hostowaną stronę administratora, widzę statystyki witryn, ale jestem proszony o ponowne zalogowanie, to dziwne, ale widzę statystyki. Jednak gdy korzystam z aplikacji WordPress dla Androida (1.3.7) i loguję się do własnej witryny, nie widzę statystyk, chyba że przechodzę do widoku roku. Wydaje się, że pokazuje mi to statystyki z witryny WordPress, ale nie z mojej własnej witryny hostowanej. Jak mogę to naprawić?


title: admin-ajax.php vs .load() w WordPress

text: Opracowuję motyw i chcę ajaxyfikować każdy wewnętrzny link w moim motywie. Do tej pory z powodzeniem używałem metody `admin-ajax.php` do tych działań ... 1: Załaduj więcej postów dla bloga za pomocą Ajax 2: Otwórz pojedynczy wpis na blogu za pomocą Ajax I używałem oddzielnych skryptów .js i ajax funkcja zwrotna dla każdej z powyższych akcji. Ale problem polega na tym, że jeśli chcę ajaxyfikować cały mój motyw WordPress, będę musiał zakodować wiele takich skryptów i funkcji wywołania zwrotnego dla każdego linku wewnętrznego, np. Strona autora, strona wyszukiwania, domyślny szablon strony, niestandardowy szablon strony ... itd. Teraz , chcę zapytać ... 1: Czy to jedyny sposób na ajaxyfikację całej witryny, czy jest jakiś lepszy sposób? Czy nie możemy użyć metody `.load()` przy mniejszym zużyciu kodu? (tak jak w metodzie `.load()` wystarczy podać adres URL do załadowania niezależnie od tego, którą stronę ładujemy) 2: Dlaczego metoda `admin-ajax.php` jest preferowana w porównaniu z `.load()` metoda?


title: Nie zezwalasz użytkownikom roli niestandardowej na usuwanie lub dodawanie administratorów?

text: _( **Uwaga moderatora:** Pierwotny tytuł brzmiał „Niestandardowe ograniczenia ról użytkownika”)_ Projekt, nad którym pracuję, wymaga ode mnie stworzenia dwóch nowych ról użytkownika – jednej dla właściciela witryny, a drugiej dla agentów firma. Z rolą użytkownika właściciela witryny szukałem tylko sposobu, aby ograniczyć użytkownikom z tej grupy możliwość modyfikowania podstawowych ustawień witryny, mając jednocześnie dostęp do modyfikowania wszystkich innych ustawień. Poniższy kod wydaje się działać idealnie we wszystkim poza obszarem zarządzania użytkownikami. Chciałem, aby użytkownicy z tej grupy mogli dodawać/modyfikować użytkowników witryny, ALE gdzie napotykam problem polega na tym, że użytkownicy tej grupy mają obecnie możliwość tworzenia użytkowników w kategorii _"Administrator"_ i są również w stanie do usunięcia istniejących _"Administratorów"_. To, czego szukam, to sposób na zmodyfikowanie poniższego kodu, aby tacy użytkownicy NIE mogli usuwać ani modyfikować konta użytkownika ustawionego jako _"Administrator"_ i ograniczyć użytkownikowi możliwości tworzenia nowego konta administratora. Czy ktoś wie, jak można to zrobić? // UTWÓRZ NIESTANDARDOWĄ — WŁAŚCICIEL WITRYNY — ROLĘ UŻYTKOWNIKA Z NIESTANDARDOWYMI MOŻLIWOŚCIAMI if (!get_role('website_owner')) { //użyjmy edytora jako podstawowych możliwości $caps = get_role('editor')->capabilities; $caps = array_merge( $caps, array( 'install_plugins' => false, 'activate_plugins' => false, 'update_plugins' => false, 'delete_plugins' => false, 'list_users' => true, 'add_users' => true, 'create_users' => true, 'edit_users' => true, 'delete_users' => true, 'remove_users' => true, 'unfiltered_upload' => true, 'install_themes' => false, 'update_themes' => false , 'delete_themes' => false, 'switch_themes' => false, 'edit_theme_options' => true, 'manage_options' => false, 'import' => false, 'update_core' => false, 'edit_dashboard ' => false, 'gravityforms_view_entries' => true, 'gravityforms_edit_entries' => true, 'gravityforms_delete_entries' => true, 'gravityforms_export_entries' => true, 'gravityforms_view_entry_notes'_graenty> true, => prawda, )); //dodanie nowych możliwości. // Ref: http://codex.wordpress.org/Roles_and_Capabilities#Capability_vs._Role_Table add_role( 'website_owner', 'Website Owner', $caps ); }


title: Usuwanie kontenera z wp_nav_menu nie działa

text:
Konwertuję to menu HTML na wordpress:

Strona główna

O

 używam: wp_nav_menu(array( 'menu'=>'mainmenu' , 'container' => false, ' link_before' => '', 'link_after' => '', 'theme_location' => 'podstawowy') ); ale otrzymany kod HTML to:

Strona główna

Informacje

 Jeśli używam niestandardowego menu, otrzymuję:

Strona główna

Informacje

 ale jeśli nie używam menu niestandardowego 'container'=>false nie działa Dowolne rozwiązanie?


title: Jak wyświetlić identyfikator wideo YouTube/Vimeo w niestandardowym typie posta, gdy użytkownik wprowadzi go w niestandardowym polu meta?

text:
Stworzyłem skróty 2x, które wyświetlają wideo z YouTube i wideo vimeo, gdy użytkownik wprowadzi w nim identyfikator wideo, na przykład: [youtube id=""] [vimeo id=""]. Zamiast wpisywać to w moim poście, próbuję utworzyć niestandardowe pole meta, w którym użytkownik może wprowadzić identyfikator, a następnie zostanie to wyświetlone. Do tej pory udało mi się stworzyć wtyczkę do wyświetlania meta boxu, ale nie jestem pewien, jak ją zdobyć, aby zapisać identyfikator youtube/vimeo i wyświetlić wideo. Czy będę potrzebować 2x różnych metaboxów? Jeden, w którym użytkownik może wprowadzić identyfikator wideo YouTube, a drugi, w którym można wprowadzić identyfikator vimeo, a następnie jest wyświetlany na interfejsie? Kod, który mam dla pola meta to: add_action('add_meta_boxes', 'cd_meta_box_add'); function cd_meta_box_add() { add_meta_box( 'my-meta-box-id', 'Wprowadź identyfikator wideo', 'cd_meta_box_cb', 'videos', 'normal', 'high' ); } function cd_meta_box_cb( $post ) { $video_type = get_post_meta($post->ID,'my_video_type',true); $video_id = get_post_meta($post->ID,'my_meta_box_text',true); wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?>
 Wybierz typ wideo:  <select name="my_video_type" id="my_video_type"> <option < ?php echo ($video_type == 'youtube') ? "selected='selected'" : "" ;?> value="youtube">YouTube</option> <option <?php echo ($video_type == 'vimeo') ? "selected='selected'" : "" ;?> value="vimeo">Vimeo</option> </select>

 Identyfikator YouTube/Vimeo: <input type="text" name="my_meta_box_text" id="my_meta_box_text" value="<?php echo $video_id; ?>" />
 <?php } add_action( 'zapisz_post', 'cd_meta_box_save' ); function cd_meta_box_save( $post_id ) { // Zwolnij kaucję jeśli robimy autozapis if( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // jeśli nie ma naszej jednorazówki lub nie możemy jej zweryfikować, wpłać kaucję if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' )) zwrócić; // jeśli nasz obecny użytkownik nie może edytować tego posta, zwolnij kaucję if( !current_user_can( 'edit_post' ) ) return; // teraz możemy faktycznie zapisać dane $allowed = array( 'a' => array( // zezwól na tagi 'href' => array() // a te zakotwiczone mogą mieć tylko atrybut href ) ); // Prawdopodobnie dobrym pomysłem jest upewnienie się, że dane są ustawione if( isset( $_POST['my_meta_box_text'] ) ) update_post_meta( $post_id, 'my_meta_box_text', wp_kses( $_POST['my_meta_box_text'], $allowed ) ); } ?> W single.php muszę uruchomić zapytanie, aby wyświetlić wideo na podstawie tego, co użytkownik wprowadzi w polu meta. Mój kod do tego to: <?php global $post; ?> <?php if(get_post_meta($post->ID,'my_video_type',true) == "youtube"){ $youtube_id = get_post_meta($post->ID,'my_meta_box_text',true); } if(get_post_meta($post->ID,'my_video_type',true) == "vimeo"){ $vimeo_id = get_post_meta($post->ID,'my_meta_box_text',true); } ?> Jednak to niczego nie wyświetla. Wyrywałem sobie włosy, żeby to uporządkować. Jeśli ktokolwiek może pomóc, będzie to bardzo mile widziane. Z góry dziękuję.


title: Jak zabronić użytkownikom zmiany imion, nazwisk i ekranów?

text: Używam Wordpressa 3.1. Muszę zabronić użytkownikom zmiany imienia, nazwiska i nazwy ekranowej w swoim profilu, ale administrator nadal musi mieć taką możliwość. Jak mogę to zrobić?


Czy jest jakieś darmowe (lub tanie) oprogramowanie, które można wykorzystać do testowania funkcjonalności WordPressa? Chciałbym stworzyć kilka skryptów testowych, a następnie je z moją instalacją WordPress z własnym hostingiem.


title: Jak zapobiec przekierowaniu do „Informacje” po aktualizacji rdzenia?

text: W `wp-admin/includes/update-core.php` znajdujemy następującą linię: add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' ); Chcę usunąć tę akcję, więc stworzyłem wtyczkę mu o następującej zawartości: <?php # -*- coding: utf-8 -*- add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 ); function t5_no_redirect_after_update() { remove_action( '_core_updated_successfully', '_redirect_to_about_wordpress' ); } Nie robi… nic. Nadal jestem przekierowywany. Przetestowane w instalacjach jedno i wielostanowiskowych. Chyba jak zwykle brakuje mi czegoś oczywistego. :) Jak to zrobić lepiej? ## Aktualizacja Na podstawie odpowiedzi Brady'ego zbudowałem bardzo minimalną wersję: <?php # -*- coding: utf-8 -*- /* Nazwa wtyczki: T5 Brak przekierowania po aktualizacji rdzenia. */ add_action( '_core_updated_successfully', 't5_no_redirect_after_update', 0 ); function t5_no_redirect_after_update() { show_message( __('WordPress zaktualizowany pomyślnie') ); // Dołącz admin-footer.php i zakończ include(ABSPATH . 'wp-admin/admin-footer.php'); Wyjście; } Teraz widzimy komunikat o powodzeniu i nie jest wywoływana żadna inna akcja. Wtyczkę można pobrać na GitHub. Użyj go jako zwykłej wtyczki lub jako wtyczki MU.


title: paginate_links() na stronie (wyjście skróconego kodu)

text:
Na standardowej stronie WordPress mam `WP Query`, które przechodzi przez utworzony przeze mnie typ posta. Wraz z tym zapytaniem używam paginate_links() do generowania stronicowania. Chociaż standard (brak permalinków) wydaje się działać dobrze - po włączeniu dowolnej kombinacji permalinków kolejne strony paginacji nie są ładowane. Oto co mam do tej pory: $post_args = array( 'post_type' => 'galerie', 'paged' => get_query_var('paged'), 'post_type' => 'galerie' ); $posts_query = nowe WP_Query($post_args); $i = 0; // liczba $total_items = $posts_query->post_count; // łączna liczba profili $number_columns = $galleries_options['columns']; // liczba kolumn if ($posts_query->have_posts() ) { echo '
'; while ($posts_query->have_posts() && ($i < $total_items)) { ?> <?php $posts_query->the_post(); if ($i % $number_columns == 0) echo ($i > 0 ? '

' : '
'); ?> <div class="<?php echo 'szerokość'.intval(100 / $liczba_kolumn); ?> <?php if ($i % $liczba_kolumn == 0) echo 'pierwsza-pozycja'; ?>"> <?php gallery_list(get_the_ID()); ?>
 <?php $i++; } echo '
'; echo '
'; $total_pages = $posts_query->max_num_pages; $duży = 999999999; // potrzebna jest nieprawdopodobna liczba całkowita if ($total_pages > 1){ $current_page = max(1, get_query_var('paged')); echo ''; echo paginate_links(array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => $current_page, 'total' => $total_pages, 'prev_text' => 'Poprzedni', 'next_text' => 'Następny' )); echo ''; } } Domyślny adres URL to `?page_id=60&paged=2`, który działa/ładuje się poprawnie, ale `galerie/strona/2/` nie. Czy ktoś ma jakieś sugestie? Używam dokładnie tego samego do paginacji taksonomii... więc jestem trochę zdezorientowany, dlaczego to nie działa. Dziękuję!


title: Jak dodać zmienną GET po adresie URL skryptu?

text: Więc zarejestrowałem i dodałem swój skrypt do kolejki. `http://mysite.com/wp-content/plugins/my-plugin/script.js?ver=3.6` Ale jak dodać zmienną GET do adresu URL src skryptu? `http://mysite.com/wp-content/plugins/my-plugin/script.js?ver=3.6&myVar=cokolwiek` Każda pomoc jest mile widziana.


title: Tytuł posta nie jest poprawnie wyświetlany

text: Próbuję ustawić tytuły postów za pomocą SEO WordPress, jednak mój tytuł jest wyświetlany w następujący sposób: Nazwa mojego posta Nie ma separatora ani nazwy witryny. Oto kod w motywie: <title><?php wp_title(''); ?></title> W ustawieniach SEO WordPress, w sekcji Typy postów > Wpisy mam następujące ustawienie dla tytułów: %%title%% %%page%% %%sep%% %%sitename%%


title: dodaj miniaturę youtube w indeksie i single.php dodaj wideo

text: Tworzę niestandardowe motywy wordpress dla witryny związanej z filmami, klient może osadzić wideo z YouTube, w index.php wyświetla tylko miniaturę i tytuł filmu, a po kliknięciu miniatury przechodzi do single.php i pokazuje wideo, wstawiam, że ktoś mi pomoże, ja wypróbuj miniatury wideo, to nie działa.


title: Renderowanie funkcji niestandardowego menu chodzika nie działa poprawnie

text:
Mam niestandardową funkcję dla mojego menu nawigacyjnego, która dodaje do niego niestandardowe php/html, co można zobaczyć poniżej. Renderuje rozwijane menu twittera bootstrap, w którym chciałbym umieścić mój formularz logowania. function add_login_logout_link($items, $args) { if ( is_user_logged_in() ) { $items .= '

' . __('Wyloguj', NOVALANG) . '
'; } else { $items .= '

Skapa konto

 ' . __('Zaloguj się', NOVALANG) . '

" . get_template_part('logowanie') . '

Jag har glömt lösenordet

'; } return $items; } add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 4); Problemem jest tutaj renderowanie niestandardowego formularza logowania za pomocą get_template_part('login'), który pojawia się na górze strony, gdzie tak naprawdę nie powinien być tak daleko, jak widzę.

 Jest pusty! Formularz logowania pojawia się w nagłówku. Mam ten kod w osobnym pliku php, ale nie sądzę, że jest to problem, ponieważ próbowałem renderować go za pomocą innego kodu w niestandardowej funkcji w pliku functions.php. Ktoś, kto może wskazać mi właściwy kierunek?


title: Zlokalizowany format daty dla pola niestandardowego

text: Używam pola niestandardowego sformatowanego za pomocą „dd-mm-rrrr”. Chciałbym go używać z formatem daty zdefiniowanym w ustawieniach pulpitu nawigacyjnego. Wydaje się w porządku po angielsku z get_option('date_format'); Lub ręcznie po francusku za pomocą setlocale(LC_ALL, 'fr_FR'); $date_local = strftime("%d-%m-%Y",$date->format('U')); Ale czy istnieje sposób na wykorzystanie zlokalizowanego formatu daty w wordpressie? Nie mogę znaleźć sposobu podania daty jako argumentu funkcji the_date()


title: wp_mail - użycie niestandardowej wartości pola dla $to

text: Próbuję przekazać wartość pola niestandardowego do mojego pliku functions.php. Chcę zastąpić: $to = get_bloginfo( 'admin_email' ); do czegoś w stylu: $to = get_custom_field('sendto', TRUE); Tak więc użytkownik będzie miał pole odbiorcy w swoim poście (niestandardowy typ postu), do którego może dodać adresy e-mail, a gdy post zostanie opublikowany, ci użytkownicy również otrzymają powiadomienie. Dziękuję za wszelką pomoc.


title: Interfejs dla zalogowanych użytkowników do przesyłania/pobierania plików

text: Tworzę witrynę dla organizacji non-profit, która chciałaby mieć obszar „członków”, w którym niektórzy użytkownicy mogą wymieniać pliki na spotkania, wydarzenia itp. Zasadniczo potrzebują prostego interfejsu, w którym mogą przesyłać/pobierać pliki – jeden który zostanie usunięty z obszaru administracyjnego WordPress. Trochę informacji: * Przesyłaliby głównie dokumenty tekstowe, więc nie martwię się o rozwiązanie o dużej pojemności. Serwer, który mam dla strony internetowej, na pewno byłby w stanie obsłużyć obciążenie * Jest około 30 członków * Sekretarka zajmowałaby się tworzeniem/usuwaniem członków * Byłoby miło móc osadzić go na stronie za pomocą jakiegoś wtyczki, ale nie jestem przeciwny korzystaniu z usług innych firm. Jedyne rozwiązania, które jak na razie wyglądają dobrze, to Dropbox Teams lub Box.com Business, ale wydają się dość ekstremalne jak na potrzeby tej organizacji. Natknąłem się też na Wualę. Nigdy wcześniej o tym nie słyszałem, ale ceny są znacznie tańsze niż alternatywy. Czy ktoś ma doświadczenie z tego rodzaju problemem? :) Wielkie dzięki!


title: Prawa autorskie: Uzyskaj pierwszą i ostatnią datę typu postu

text: Szukałem najłatwiejszego/najszybszego sposobu, aby uzyskać dokładny zakres dat dla informacji o prawach autorskich w stopce. Informacja o prawach autorskich powinna zawierać nie tylko rok, ale także miesiąc i dzień oraz typ postu. Dlatego niestandardowy typ posta „Wydarzenie” może mieć inny zakres dat związanych z prawami autorskimi niż post typu „post” na blogu.


title: Obrazy WordPress | Jak uzyskać przycięty obraz?

text: Mam adres URL obrazu (pełny rozmiar). Podczas wgrywania generuje już mniejszą wersję (dodałem to w funkcjach). Jak mogę uzyskać tę przyciętą wersję, gdy mam adres URL w pełnym rozmiarze? Obrazu nie ma w poście, więc nie mogę użyć `post-thumbanil()`. Obraz znajduje się w suwaku na stronie głównej.


title: "Błąd parsowania pliku WSDL:" Wtyczka usługi sieci Web w Wordpress

text: Jestem nowy w używaniu Wordpressa i korzystam z tego przewodnika po wtyczkach (Wtyczka usługi internetowej WordPress), aby aktywować wtyczkę do korzystania z usługi sieciowej w Wordpress. Po wykonaniu procedur pojawił się błąd, nawet gdy próbowałem na _localhost_. Wyglądało to tak, nie tak jak w instrukcji.. :( ![WsDL Fail, nie powinno tak być](http://i.stack.imgur.com/7keRw.png) Może ktoś mógłby spróbować, skoro jest łatwy do naśladowania, ale jakoś inny w rezultacie.


title: Jak mogę powstrzymać WordPress przed przechwytywaniem adresów URL stron statycznych, które zapisuję na moim serwerze?

text: Wysłałem pytanie o to, czy można dodać stronę w WordPressie bez nagłówków i stopek. Oto pytanie: dodać stronę bez nagłówka i menu? Jak więc utworzyć statyczną stronę bez elementów WordPress, które pojawiają się na wszystkich innych stronach mojej witryny WordPress, i dodać html pod tym adresem URL? Jak mam to zrobić?


title: Dodać stronę bez nagłówka i menu?

text: Czy można dodać stronę w WordPressie, aby żaden nagłówek ani menu witryny nie pojawiały się na tej stronie? A także po to, aby nie pojawiały się rzeczy na paskach bocznych, które znajdują się w pozostałej części witryny. I rzeczy na dole strony (na innych stronach jest formularz "Zostaw odpowiedź"). Więc na tej stronie: http://richardclunan.com/ nie chcę żadnego pisma odręcznego nagłówka lub "hej na jednej konkretnej stronie mają pojawić się pozycje menu "/ "portfolio" / "potrzeba copywritingu" / "itd.", ani pole rejestracji na pasku bocznym, ani formularz "zostaw odpowiedź". Ale chcę, żeby to wszystko pojawiło się na wszystkich innych stronach.


title: Nie mogę przejść przez 2 poziomy kategorii

text: Kupiłem motyw Wordpress dla restauracji. Motyw wykorzystuje Posty dla każdego wpisu w menu (jedzenie) oraz Kategorie, aby podzielić menu na sekcje. Motyw jest zbudowany dla 1-poziomowych hierarchii. np.: >Menu >>>Śniadanie >>>Lunch >>>Obiad Restauracja, w której pracuję ma jednak bardziej rozbudowane menu: >Menu >>>Śniadanie >>>>>>Jedzenie >>>>>>Dodatki >>>>>>Napoje >>>Lunch >>>>>>Małe >>>>>>Duże >>>>>>Strony Tu jest oryginalny index.php Tu jest mój zmodyfikowany index.php, który próbuje iteruj najpierw w obrębie kategorii 1. poziomu (np. Śniadanie, Lunch...), a następnie przez wszystkie kategorie poziomu 2. (np. Śniadanie > Jedzenie, Śniadanie > Dodatki...). W obu przypadkach $menuCat odnosi się do kategorii nadrzędnej "Menu". To jest działająca witryna, używająca motywu potomnego i nowego index.php. Udaje mu się znaleźć kategorię „Lunch”, ale nie kategorię „Śniadanie”, i nie wyświetla podkategorii. Otrzymuję wyjątek PHP: > Ostrzeżenie: niedozwolony typ przesunięcia w isset lub pusty w /.../wp- > include/taxonomy.php w linii 1236 Oto taxonomy.php z linii 1234: if ( $parent ) { $hierarchy = _get_term_hierarchy($taksonomie[0]); if ( !isset($hierarchy[$parent])) return $pusta_tablica; } Wygląda więc na to, że $hierarchia rodzica nie jest ustawiona. Nie wiem, co to znaczy.


title: typeerror this.getdoc(...) jest niezdefiniowany wordpress

text: Mam do czynienia z tym problemem po aktualizacji WordPress 3.0 do 3.5.1. Czy ktoś może mnie poprowadzić, jak mogę to naprawić. Mój edytor tinymce przestaje działać po aktualizacji.


title: Paginacja działająca lokalnie, ale nie na stronie na żywo

text: Mam pętlę na mojej stronie single.php w następujący sposób:- <?php if (have_posts()) : ?> <?php $paged = get_query_var( 'paged' ) ? get_query_var( 'stronicowane' ) : 1; ?> <?php $ten_post = $post->ID; query_posts( array('meta_key' => 'epicredrank', 'orderby' => 'meta_value_num', 'order' => 'DESC' , 'paged' => $paged, 'category__in' => wp_get_post_categories( $post-> ID ), 'post__not_in' => array($this_post), ) ); ?> <?php while ( have_posts() ): the_post() ?> <?php if ( has_post_format( 'video' )) { get_template_part( 'video-post' ); } elseif ( has_post_format( 'obraz' )) { get_template_part( 'obraz-post' ); } else { get_template_part( 'standard-post' ); } ?> <?php endwhile;?> <?php endif; ?> To działa na mojej lokalnej instalacji do stronicowania postów na single.php, ale nie na serwerze live i nie mogę zrozumieć dlaczego. Próbowałem zapisywać permalinki itp. EDYCJA: - Jeśli używam struktury permalinków "domyślnej", działa dobrze, ale nie działa na ładnych permalinkach.


title: Przekaż zmienną PHP do javascript

text: Czy istnieje możliwość przekazania niektórych zmiennych PHP w javascript, aby móc z nich później korzystać? Tylko w `single.php`. Słyszałem o `wp_enqueue_scripts`, ale z tym trzeba zadeklarować ścieżkę do pliku JS, ale nie potrzebuję.


title: Jak wyświetlić Multi Checkbox wybierz Custom Field na poście?

text: utworzyłem niestandardowy typ postu calle „Miejsca”. Utworzyłem pole niestandardowe z typem pola „Multi CheckBox” Tytuł opcji „Typ pubu” Wartości opcji „Sport, Rock, Biker, Beer, Live Band, Restro, Gastro, Irish, Karaoke Bar” Tytuł pola „Type of Pub” Nazwa pola "typeofpub" Kiedy dodam nowe miejsca, na stronie edycji pojawia się Typ pubu z wartościami z polem wyboru. Wybrałem wszystkie wartości (Sport, Rock ......) Jak wywołać metadane do wyświetlenia to niestandardowe pole na poście.


title: Szablon indeksu i strona główna

text: Przepraszam, jeśli to wydaje się głupie, ale jestem nowy w WP. Zdaję sobie sprawę, że szablon Index to najważniejszy plik. Czy możesz mieć Index jako stronę główną i czy możesz po prostu przypisać szablon indeksu do strony głównej podczas konfigurowania go na zapleczu?


title: Czy istnieje widżet, który może wyświetlać określone warunki dotyczące niestandardowego typu postu?

text: Szukam widżetu, który użytkownik może wybrać z listy. Jako przykład mam niestandardowy typ posta o nazwie wydarzenia i ma wiele kategorii. Chcę, aby użytkownik mógł wybrać wyświetlanie tylko postów z określonej kategorii. Czy ktoś zna jeden lub wie, jak mogę to zrobić?


title: Rejestracja użytkownika w trybie wielostanowiskowym — potrzebujesz wtyczki lub porady

text: Próbuję wprowadzić pewne modyfikacje w wordpressie multisite i przydałaby mi się pomoc kogoś bardziej doświadczonego. Chcę ograniczyć dostęp do moich blogów, chyba że użytkownik ma konto. W szczegółach: mam serię blogów, każdy z administratorem/autorem. Jeśli użytkownik chce czytać posty z bloga, powinien najpierw wejść na stronę główną, do wp-signup.php i założyć konto. Planuję stworzyć wtyczkę, działającą na wszystkich podstronach. czy to możliwe? jeśli tak, czy ktoś mógłby mi udzielić wskazówek - jakich haków, filtrów i funkcji będę potrzebował ? Dziękuję Ci!


title: Wyszukiwanie globalne w wielu witrynach, ale tylko z jedną podwitryną

text: Mam skonfigurowaną obsługę wielu witryn z obecnie 2 podwitrynami. Czy możliwe jest posiadanie pola wyszukiwania, które przeszukuje witrynę główną i tylko jedną podwitrynę?


title: Jak zastosować szablon do moich pojedynczych postów?

text: (Używam motywu potomnego dwudziestu dziesięciu) Na większości moich stron lubię używać szablonu jednokolumnowego. Zauważyłem, że (po aktualizacji do 3.14) moje pojedyncze posty używały domyślnego szablonu (który ma pasek boczny dla widżetów). Jak się tego pozbyć? Mógłbym odstylizować pasek boczny, ale czy jest sposób, aby powiedzieć WP, aby zastosował szablon jednokolumnowy dla moich pojedynczych postów? Zwróć uwagę, że główna strona bloga stosuje do niej szablon jednokolumnowy, więc dzieje się tak tylko wtedy, gdy wyświetlam pojedyncze posty.


title: Tworzenie metaboxa „tylko dla administratora” za pomocą WPAlchemy. Pojawia się błąd krytyczny na interfejsie użytkownika podczas korzystania z current_user_can

text: Próbuję utworzyć pole meta „tylko dla administratora” za pomocą WPAlchemy. Pudełko może na przykład zawierać pole wyboru „post z funkcją” i inne funkcje. Jak mogę wyświetlić to pole meta tylko dla administratora, ale czy działa poprawnie? Obecnie używam poniższego kodu, ale otrzymuję komunikat „Błąd krytyczny: Wywołanie funkcji członkowskiej the_meta() na obiekcie niebędącym obiektem” podczas próby odtworzenia wartości tego, co znajduje się w interfejsie. Wszystko działa zgodnie z przeznaczeniem, jeśli nie używam current_user_can i działa również, jeśli jestem zalogowany jako admin i przeglądam front-end. if (current_user_can('administrator')) { $custom_admin_mb = new WPAlchemy_MetaBox(array( 'id' => '_custom_admin_meta', 'title' => 'Tylko administrator', 'template' => ŚCIEŻKA SZABLONU. '/custom/admin_meta. php', )); }


title: Jak zmodyfikować komentarze, które mają się wyświetlać w poście?

text:
Chciałbym wiedzieć, jak zmodyfikować sposób wyświetlania komentarzy na stronie przez wordpress. Wymogiem jest wyświetlenie określonej liczby komentarzy na liście komentarzy i gdy użytkownik przewinie do dołu listy komentarzy (nie na stronie), nowy zestaw komentarzy zostanie dołączony do listy komentarzy (jeśli jest więcej komentarzy do wyświetlenia). Mam następujący kod do wywołania komentarzy do wyświetlenia: <?php require_once("../../../wp-config.php"); $strona = $_GET['cpage']; if(isset($strona)) { echo loadComments($strona); } funkcja loadComments($page=1) { global $wpdb; $liczba=5; $wynik=''; // pobierz komentarze z bazy danych WordPress $numRows = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1' AND NOT (comment_type = 'pingback' OR comment_type = 'trackback')" ); if ($liczbaRow > $liczba) { $nav=1; $pages=ceil($liczbaWierszy/$liczba); } inny { $nav=0; $stron=0; } $getnumber=$numer*$strona; // pobierz komentarze z bazy danych WordPress $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '1' AND NOT (comment_type = 'pingback' OR comment_type = 'trackback') ORDER BY comment_date_gmt ASC LIMIT $getnumber"); $comments=array_slice($komentarze, $getnumber-$liczba, $liczba); if ( $komentarze ) { $liczba=1; // wyświetl komentarze jeden po drugim ($comments as $comment) { if ($page <= $pages) { $result.= '
comment_ID.'" class= "leftcolumn">

'. '

'.$comment->comment_content.'

'. '

'. '

'.'

'. '
comment_ID.'">'.'
'. ''.$comment->comment_author.'

'. ''.mysql2date('j-n-Y',$comment->comment_date).''. '

'. '

'; $count++; } else { $result = ''; } } } return $result ; } ?> i to jest wywołanie ajax w celu dołączenia nowego zestawu komentarzy: function updatestatus(){ //Pokaż liczbę załadowanych elementów var totalItems=$('.commentlist li div.commenttext').length; $(' #status').text('Załadowano '+totalItems+' Items'); } function scrollalert(){ var scrolltop=$('.commentlist').attr('scrollTop'); var scrollheight=$('.commentlist' ).attr('scrollHeight'); //825 var windowheight=$('.commentlist').attr('clientHeight'); //600 var scrolloffset=20; //alert(scrolltop); if(scrolltop >= (scrollheight - (windowheight + scrolloffset))) { //pobierz nowe elementy if (coun t > 0 ) { liczba++; $('#status').text('Wczytywanie większej liczby elementów...'); $.get('/wp-content/themes/twentyten/commentloader.php?cpage='+count, '', function(newitems){ if (newitems != '') { $('.commentlist').append (newtems); updatestatus(); } else { // zapobieganie dołączaniu liczby treści = -1; } }); } else { $('#status').text('Nie ma więcej elementów do załadowania...'); } } setTimeout('scrollalert();', 1500); } Próbowałem dodać dwa pliki w folderze themes i dodać referencję do pliku header.php dla pliku js. To działa, ale muszę włączyć stronicowanie komentarzy i ukryć nawigację. Jeśli mógłbyś zapewnić lepszy sposób na osiągnięcie (może stworzyć wtyczkę?) Bardzo to docenię. Jestem nowy w WordPressie i będę zachwycony, jeśli poprowadzisz mnie we właściwym kierunku. Dzięki, RNorbe


title: Posty przyklejone i posty na stronie

text: Zauważyłem, że przyklejone posty będą ignorować parametr `posts_per_page`? Jak mam zapytanie takie jak $q = new WP_Query(array('posts_per_page' => 4, ...)); Jeśli będą 3 przyklejone posty, dostanę 6 postów? (to trochę dziwne, dlaczego 6, a nie 7 (4+3)) Nie chcę ignorować przyklejonych postów. Jak mogę wymusić limit postów na stronę? np. mam 10 lepkich, nadal dostaję tylko 4 posty. Jednym ze sposobów, o którym mogę pomyśleć, jest licznik, który liczy do 4 i wychodzi z pętli. Ale nie ma sposobu na WP? Wydaje mi się, że jest to większy błąd?


title: Czy mogę określić szablon do użycia z the_permalink?

text: Czy mogę określić szablon do użycia z the_permalink()? Dlaczego tego potrzebuję: kiedy klikną łącze z określonej strony, chcę pokazać temu użytkownikowi inny szablon (dodatkowa treść) na połączonej stronie.


title: strony nie będą wyświetlane na stronie głównej za pomocą pętli lub pre_get_posts

text:
Zmieniłem motyw, aby działał w sposób, który uważam za „właściwy”. Po przeczytaniu kodeksu i obejrzeniu rzeczy na tej stronie. Zacząłem od zera. załadowany motyw 2012. Zrobiłem dwie strony. Strona główna i blog. Ustawiłem stronę główną tak, aby miała domyślny szablon front-page.php z 2012 roku. następnie w ustawieniach->czytanie ustawiłem statyczną stronę główną na domową, a stronę postów na bloga. Wiem, że posty będą pobierane z index.php, więc w tym pliku umieściłem niestandardową pętlę, aby pobrać z kategorii blogów, a w moim pliku front-page.php umieściłem niestandardową pętlę, aby pobrać strony. $args = array( 'post_type' => 'strona' ); $page_query = nowe WP_Query( $args ); if ( $page_query->have_posts() ) : while ( $page_query->have_posts() ) : $page_query->the_post(); $szablon = get_post_meta ($post->ID, '_wp_page_template', prawda); // Jeśli strona nie ma przypisanego szablonu - wyświetl domyślny szablon strony if ( $template == 'default') { ?>
<?php the_title();?>
 <?php the_content(); ?> <?php } else { include( $szablon ); } koniec; endif; Ta pętla działała dobrze w innych wersjach tego motywu, ale z jakiegoś powodu ustaw tak, jak jest teraz, co ma być właściwe, nie działa. Próbowałem również użyć pre_get_posts do wyświetlania stron na stronie głównej. ?>


title: wysyłaj masowe wiadomości e-mail bez limitu czasu

text: Opracowuję wtyczkę, która wysyła e-maile do użytkowników. Mam trudności ze znalezieniem najbardziej wydajnego sposobu wysyłania tych wiadomości e-mail i zapobiegania przekroczeniu limitu czasu serwera. Innymi słowy, chciałbym, żeby moja wtyczka się skalowała, więc jeśli ktoś używa jej na stronie z setkami tysięcy użytkowników, moja wtyczka nadal będzie działać. Być może istnieje sposób na wykonanie każdego e-maila lub dwóch jako osobnego skryptu, który jest wykonywany jeden po drugim? Pewna pomoc / wgląd w to będą mile widziane. Dziękuję


title: Ustaw domyślny tekst dla edytora w nowych postach

text: Zastanawiałem się, czy można ustawić domyślny tekst, aby pojawiał się w części "tekstowej" wysiwyg znajdującej się na stronie Utwórz post? Więc za każdym razem, gdy klikniesz dodaj nowy post, tekst będzie tam na Ciebie czekał?


title: Zarejestrować obszar widżetów po zapisaniu opcji motywu?

text: Czy można zarejestrować obszar widżetów i paski boczne, gdy opcja została wybrana i zapisana w panelu opcji motywu? Używam frameworka o nazwie redux, ale nie jestem zbyt pewien, czy można to osiągnąć, ponieważ nie jestem pewien, czy istnieje hak, który byłby dostępny do zarejestrowania obszaru / menu widżetów.


title: Jak znaleźć stronę indeksu, na której znajduje się post?

text: Oto prosty przykład tego, co chcę rozgryźć. Załóżmy, że WordPress jest ustawiony tak, aby wyświetlać 5 postów na stronie. I powiedz, że chronologicznie jest post 17 postów. Formuła byłaby 17/5 = 3,4. Zaokrąglij w górę 3,4 do całej strony 4, a 17 postów z powrotem znajduje się na czwartej stronie indeksu. Teraz... Jak to zrobić programowo... Liczba postów na każdej stronie indeksu jest określona przez opcję `get_option( 'posts_per_page' );`. Jeśli wszystko, co mam, to identyfikator posta, jak mogę dowiedzieć się, ile postów jest chronologicznie? Najpierw skierowałem głowę do `WP_Query`, ale nie jest to odpowiednia opcja. Blog, dla którego to jest, zawiera tysiące postów i kończy się mu pamięć, zanim zdołam dotrzeć gdziekolwiek, aby ustalić, gdzie znajduje się post. Czy ktoś ma mądre sugestie?


title: Dlaczego instalowanie wordpress w url root jack przeniosło podstawowe witryny WP?

text: Mam serwer (w2008 z iis7.5) i domenę z wieloma różnymi instalacjami WP. > Wszystkie poniższe informacje dotyczą instalacji WP. > > * x.com/stuff > * x.com/programs/recent > * x.com/programs/asia > * x.com/sandbox/1 > * x.com/sandbox/2 > * x.com/ requesty > Od jakiegoś czasu przekierowuję x.com na y.com - używam tylko podstron WP, ale chciałbym zdjąć przekierowanie i zacząć używać głównego adresu URL. Jednak kiedy instaluję WP (świeże 3.8.1) w katalogu głównym (inetpub/wwwroot), w zasadzie psuje każdą stronę, którą mam. Miałem różne problemy, od strony, która się nie pojawiała, przez niedziałające permalinki, po niemożność uzyskania plików motywów. Próbowałem usunąć pliki web.config przy każdej instalacji i pojawiły się te, które się nie pojawiły, ale oczywiście permalinki nie działały. Jakie kroki muszę zrobić, aby root działał bez zabijania pozostałych instalacji WP? W jednej ze starszych instalacji WP, która działa tylko z domyślnym permalinkiem, a kiedy ustawię go na domyślny w WP admin, zmienia web.config na następujący: <?xml version="1.0" encoding="UTF-8"? > <configuration> <system.webServer> <rewrite> <rules/> </rewrite> </system.webServer> </configuration> Kiedy zmieniam tę samą witrynę na rok/miesiąc/nazwę w WP admin ustawia on sieć .config do tego: <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="wordpress" patternSyntax="Wildcard"> < match url="*"/> <warunki> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true "/> </conditions> <action type="Re napisz" url="index.php"/> </rule></rules> </rewrite> </system.webServer> </configuration> To całkowicie psuje witrynę (robienie tego działało). Witryna wygląda na to, że nie ma css ani poprawnych ścieżek, a żaden link wymagający przepisania nie działa. ** Pamiętaj też, że zmieniam nazwę reguły, aby nie kolidowała z innymi witrynami Wordpress. Więc to jest wordpress_22 - właśnie skopiowałem to, co faktycznie tworzy WP. ** Jednak przy instalacji WP z zeszłego tygodnia - na tym samym serwerze tylko jeden katalog nad używając rok/miesiąc/nazwa posta otrzymuję web.config: <?xml version= "1.0" kodowanie="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="wordpress" patternSyntax="Wildcard"> <match url="*"/> <warunki > <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> </conditions> <typ działania ="Rewrite" url="index.php"/> </rule></rules> </rewrite> </system.webServer> </configuration> Ta strona działa idealnie. Mogę zmienić permalinki w dowolny sposób i wszystkie działają... zdziwić mnie to.


title: Pokaż kategorie postów

text: Próbuję pokazać kategorie postów dla niektórych okruszków chleba. W tej chwili mam to: the_category('/', 'multiple'); Ale z jakiegoś powodu dwukrotnie określa kategorię nadrzędną (chcę tylko `rodzic > dziecko`): FASHION / DAILY FASHION CANDY / FASHION Tak naprawdę powinno być: FASHION / DAILY FASHION CANDY Czy ktoś wie, dlaczego to robi i jak zmienić to?


title: Dashboard - uzyskaj status i pozycję metaboksów i przekaż je do metody ajax

text: Zastanawiam się, czy jest możliwe uzyskanie statusu i pozycji metaboksów dodanych do strony przypominającej dashboard. Strona główna mojej wtyczki ma kilka metaboksy umieszczonych w dwukolumnowej stronie i pole "spis treści" na górze (z wewnętrznymi linkami, jak strona wikipedii). Ponieważ jednak możesz zamówić/ukryć/ujawnić metabox, pole spisu treści powinno zostać odpowiednio zaktualizowane za pomocą metody ajax. Czy można wyzwolić taką metodę, przekazując wszystkie parametry potrzebne do wykonania zamówienia (pozycja i status wszystkich metaboksów)? dziękujemy z góry, Gabriele


title: Dodaj tekst do widżetu tekstowego za pomocą JavaScript

text: Wordpress ma widżet tekstowy (przynajmniej motyw, którego używam, a myślę, że wszystkie mają?) W tym widżecie mogę dodać tekst lub HTML. Jeśli dodam HTML, mogę dołączyć JavaScript. To działa dobrze (prowadzę własną witrynę). Chcę dodać tekst do widgetu za pomocą skryptu. Jednakże; document.write("Cokolwiek") zapisuje tekst na właściwej stronie internetowej. Jakiego polecenia używam do pisania tekstu tylko w widżecie tekstowym. Wielkie dzięki za jakąkolwiek pomoc!


title: Pole niestandardowe w zewnętrznym JavaScript

text: Jak użyć niestandardowej wartości pola w zewnętrznym javascript? Chciałbym użyć niestandardowego pola już zapisanego dla posta, który jest adresem URL w zewnętrznym javascript <script type='text/javascript' src='http://www.my-website.com/wp-content/ themes/mytheme/js/scripts.js'></script> w celu otwarcia nowego okna onclick="window.open('MY_CUSTOM_FIELD_VALUE');" Próbowałem dodać globalną $post; $cf = get_post_meta( $post->ID, 'moje_niestandardowe_pole', prawda ); ale to nie działa. Dzięki za pomoc.


title: Niestandardowy typ posta lub po prostu użyj niestandardowych pól

text: Zamieniam witrynę restauracji w witrynę wordpress, aby klient mógł przejąć zmiany treści. Restauracja ma menu, które zawiera kategorie, takie jak Kosze z różnymi rodzajami. Na przykład pod typem Koszyk znajduje się Ryba, która ma tytuł, opis i cenę. Chcę więc, aby klient tworzył lub usuwał kategorie menu i miał możliwość tworzenia, usuwania, aktualizowania typów menu. Wtedy całe menu jest pokazane na jednej stronie. Stronę można wyświetlić pod adresem www.tailfinstogo.com/menu.html.


title: Niestandardowy typ postu do wyświetlania produktów w tabeli bazy danych

text: Mam projekt WordPress, którego używam jako CMS. ~~Mam również bazę danych z niektórymi produktami, które chciałbym wyświetlić na stronie (może galerię lub portfolio?)~~ Mam niestandardowy typ postu dla produktów, które chcę edytować w adminie wordpress ( wraz z resztą treści). ~~Wiem, że muszę zrobić niestandardowy typ posta (o którym czytam, prawdopodobnie użyje wtyczki Simple Fields), ale nie widzę sposobu, aby pobrać te wartości z bazy danych.~~ Produkty będą miały ProductName , adres URL, kategoria i typ. Oczywiście chciałbym je wyświetlić i dodać/edytować/usuwać po stronie administratora prasy słownej. Wszelkie porady będą bardzo mile widziane. Dziękuję wam wszystkim! EDYCJA: Stworzyłem niestandardowy typ postu dla `Produktów`. Teraz każdy „Produkt” może mieć „Kategorię”, „Podkategorię” i „Typ”, które, jak zakładam, będą również wymagały własnego niestandardowego typu posta, jeśli mają być zarządzalne, prawda? Układ produktów będzie mniej więcej następujący: `Nazwa produktu`, `Typ`, `Kategoria`, `Podkategoria`, `Nazwa dokumentu`, `URL dokumentu`. Pamiętaj, że `Category`, `SubCategory`, `Type` będą musiały być łatwe w zarządzaniu i edytowalne, więc myślę, że będą musiały być również niestandardowymi typami postów. Zastanawiając się nad tym, czy mogę użyć wbudowanych kategorii dla MOICH niestandardowych kategorii typu post i mieć podkategorie jako dzieci kategorii głównych? To może być łatwiejsze wyjście z tego końca. Ale jak zmapować niestandardowy typ wpisu „ProductType” na mój niestandardowy typ wpisu „Produkt”? Oto mój niestandardowy typ posta produktu: /* OBSZAR NIESTANDARDOWEGO TYPU POSTÓW DLA PRODUKTÓW */ add_action( 'init', 'create_product_post_type' ); function create_product_post_type() { $labels = array( 'name' => _x('Produkty', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Produkt', 'Pojedyncza nazwa typu postu'), 'add_new ' => _x('Dodaj nowy', 'produkty'), 'add_new_item' => __('Dodaj nowy produkt'), 'edit_item' => __('Edytuj produkt'), 'new_item' => __(' Nowy produkt'), 'view_item' => __('Wyświetl produkt'), 'search_item' => __('Wyszukaj produkty'), 'not_found' => __('Nie znaleziono produktów'), 'not_found_in_trash' => __('Nie znaleziono produktów w Koszu'), 'parent_item_colon' => '', 'menu_name' => 'Produkty' ); $args = array( 'label' => __('Produkty'), 'labels' => $labels, 'public' => true, 'can_export' => true, 'show_ui' => true, '_builtin' = > false, 'capability_type' => 'post', 'menu_icon' => get_bloginfo('template_url').'/functions/images/product.png', 'hierarchial' => false, //'rewrite' => tablica ( "slug" => "wydarzenia" ), 'supports' => array('title', 'editor', 'autor', 'thumbnail', 'excerpt', 'comments' ), 'show_in_nav_menus' => true ) ; register_post_type( 'tf_events', $args); }