title: Zmiana podstawowej funkcji WordPressa bez hackowania rdzenia

text: Chcę zmienić jedną linię w ramach podstawowej funkcji. Funkcja to `wp_allow_comment()` zlokalizowana w `/wp-includes/comment.php` function wp_allow_comment($commentdata) { global $wpdb; ekstrakt($danekomentarzy, EXTR_SKIP); // Proste sprawdzenie duplikatów // oczekiwany_ukośnik ($comment_post_ID, $comment_author, $comment_author_email, $comment_content) $dupe = $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_parent = %s AND comment_approved != 'trash' AND ( comment_author = %s ", wp_unslash( $comment_post_ID ), wp_unslash( $comment_parent ), wp_unslash( $comment_author ) ); if ( $comment_author_email ) $dupe .= $wpdb "->prepare comment_author_email = %s ", wp_unslash( $comment_author_email ) ); $dupe .= $wpdb->prepare() AND comment_content = %s LIMIT 1", wp_unslash( $comment_content ) ); if ( $wpdb->get_var($dupe)) { /** * Uruchamiany natychmiast po wykryciu duplikatu komentarza. * * @od 3.0.0 * * @param array $commentdata Dane komentarza. */ do_action( 'comment_duplicate_trigger', $commentdata ); if ( define('DOING_AJAX') ) die( __('Wykryto zduplikowany komentarz; wygląda na to, że już to powiedziałeś!') ); wp_die( __('Wykryto zduplikowany komentarz; wygląda na to, że już to powiedziałeś!') ); } /** * Uruchamiany bezpośrednio przed oznaczeniem komentarza jako zatwierdzony. * * Umożliwia sprawdzanie zalewania komentarzy. * * @od wersji 2.3.0 * * @param string $comment_author_IP Adres IP autora komentarza. * @param string $comment_author_email E-mail autora komentarza. * @param string $comment_date_gmt GMT data opublikowania komentarza. */ do_action( 'check_comment_flood', $comment_author_IP, $comment_author_email, $comment_date_gmt ); if ( ! empty( $user_id ) ) { $user = get_userdata( $user_id ); $post_author = $wpdb->get_var($wpdb->przygotuj("SELECT post_author FROM $wpdb->posts WHERE ID = %d LIMIT 1", $comment_post_ID)); } if ( isset( $user ) && ( $user_id == $post_author || $user->has_cap( 'moderate_comments' )) ) { // Autor i administratorzy cieszą się szacunkiem. $approved = 1; } else { // Komentarze wszystkich innych zostaną sprawdzone. if ( check_comment($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent, $comment_type) ) $approved = 1; w przeciwnym razie $approved = 0; if ( wp_blacklist_check($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent)) $approved = 'spam'; } /** * Filtruj stan zatwierdzenia komentarza przed jego ustawieniem. * * @since 2.1.0 * * @param bool|string $approved Stan zatwierdzenia. Akceptuje 1, 0 lub „spam”. * @param array $commentdata Dane komentarza. */ $approved = apply_filters( 'pre_comment_approved', $approved, $commentdata ); zwróć $approved; } Chciałbym zmienić `$approved = 'spam';` na `$approved = 'trash';` - czy jest to coś, co można osiągnąć bez hackowania jądra? Próbuję owinąć głowę wokół filtrów jako możliwego rozwiązania, ale nie mam szczęścia. Próbowałem czegoś takiego: add_filter('pre_comment_approved', 'custom_blacklist',1, 0); function custom_blacklist() { if ( wp_blacklist_check($comment_author, $comment_author_email, $comment_author_url, $comment_content, $comment_author_IP, $comment_agent) ) $approved = 'trash'; } ale zakończyło się to całkowitym zabiciem filtrowania spamu, zdecydowanie nie używam filtrów poprawnie.


title: Strony oparte na lokalizacji wyświetlające wyniki w pobliżu klienta

text: Tworzę stronę internetową, na której klient wprowadzi swój kod pocztowy, a strony (o wybranej odległości 5, 10, 20 mil) będą wyświetlane na mapie Google lub Bing. Wyniki strony zostaną wyświetlone z boku mapy z tytułem i adresem, które można połączyć, aby odwiedzić stronę. Moją myślą jest dodanie pól do strony, w których można wpisać adres i kod pocztowy. Następnie dodaj funkcję w indeksie, która będzie pobierać wyniki ze stron. Pierwszym elementem jest to, że klient najpierw zawęzi swój wybór do kategorii. Jeśli ta funkcja byłaby łatwiejsza do pobrania z Postów, mogę zmienić trasę. Właściwie marzyłem o tym, jak ta wtyczka może dodawać tabele do sql, ale nigdy wcześniej nie robiłem czegoś takiego... myśli?


title: Unregister_sidebar w motywie potomnym nie działa

text: Budzę się na temat Chid dla Ohsik. Próbuję wyrejestrować pasek boczny, ale nic nie działa Oto mój kod motywu potomnego function.php: function unregister_footer_sidebar() { unregister_sidebar( 'sidebar-2' ); } add_action( 'widgets_init','unregister_footer_sidebar',11); add_action( 'init_widgets', 'ohsik_widgets_init',12); Co ja robię źle? Jakieś sugestie dotyczące rozwiązania problemu?


title: wywołanie procedury składowanej bez parametrów

text: Zadałem to pytanie w zeszłym tygodniu, ale potem je usunąłem, ponieważ stwierdzono, że jest nie na temat, ponieważ używam funkcji w buddypress. Jestem jednak przekonany, że to, co robię źle, jest bardziej z gatunku wordpress niż z buddypress. Więc znowu jestem. Chcę wykonać procedurę składowaną w MySQL, która aktualizuje tabelę wp_bp_xprofile_data o informacje z widoku w MySQL. Procedurę należy rozpocząć, gdy ktoś zaktualizuje swój profil. To jest kod, którego używam w bp-custom.php. function some_updated_profile() { $wpdb->query("CALL dekking_ophalen()"); } add_action('xprofile_updated_profile', 'something_updated_profile'); Jednak kiedy aktualizuję swój profil, widzę tylko białą stronę (mam włączony debugger). Po przeprowadzeniu pewnych badań na forach buddypress jestem prawie pewien, że popełniany przeze mnie błąd znajduje się w linii `$wpdb->query("CALL dekking_ophalen()");`. Używam wordpress 3.9.1 i bp 2.0.1. Procedura składowana jest określona jako: INSERT INTO wp_bp_xprofile_data ( field_id, user_id, value ) SELECT 15, User, dekking_absoluut FROM dekking Na zduplikowanym AKTUALIZACJI KLUCZY wp_bp_xprofile_data.value=(SELECT dekking.dekking_absoluut FROM dekking.user_wHER_pdekking) This procedura składowana nie daje żadnych wyników, po prostu wykonuje updata w tabeli. Czego mi tu brakuje?


title: Wyświetl widżet stron rodzeństwa, wyklucz bieżącą stronę

text: Udało mi się stworzyć widżet, który wyświetla strony rodzeństwa na bieżącej stronie na pasku bocznym. Jedyną rzeczą jest to, że nie jestem w stanie wykluczyć bieżącej strony - czy ktoś może tu pomóc? Wciąż się uczę i nie umiem jeszcze obsłużyć bardziej złożonego PHP **Edycja** : Aby uniknąć nieporozumień - * Strona * Podstrona 1 * Podstrona 2 * Podstrona 3 Chcę, aby podstrona 2 i 3 były wyświetlane przez widżet, gdy jestem obecnie na podstronie 1. **Edytuj:** Zapomniałem wysłać swój kod: <?php echo $before_widget; ?> <?php globalne $wp_query; if( empty($wp_query->post->post_parent)) { $parent = $wp_query->post->ID; } else { $parent = $wp_query->post->post_parent; } ?> <?php if(wp_list_pages("title_li=&child_of=$parent&echo=0")): ?> <?php if ( $title ) echo $before_title . $tytuł . $po_tytule; ?> <div id="submenu"> <ul> <?php wp_list_pages("title_li=&child_of=$parent" ); ?> </ul> </div> <?php endif; ?> <?php echo $after_widget; ?>


title: Potrzebna pomoc w przepisaniu adresu URL Wordpress

text: Używam wordpressa i bardzo nowego w wordpressie. Potrzebuję metody przepisywania adresu URL, myślę, że nie zmienia się w permalinkach. Muszę popracować nad plikiem .htacess. Dodaję lokalizacje, w których muszę dodać LokId, teraz mój adres URL wygląda tak. www.url.com/locations/titlename/. Jaki aktualnie chcę URL w ten sposób. > www.url.com/locations/lok id(nazwa miasta aktu)/nazwatytułu/. Czy muszę pracować nad plikiem .htacess. Proszę dać mi pomysł, jak to zrobić? Dziękuję


title: Nie można uzyskać Warunków nadrzędnej taksonomii niestandardowej

text: Nie mogę uzyskać warunków taksonomii nadrzędnej, tutaj jest kod, który piszę $ myterms = get_terms( 'iqvis_event_category', array( 'parent' => 0) ); echo '<pre>'; print_r($myterms); echo '</pre>'; Jaki jest powód problemu ze składnią? czy argument rodzica nie działa? ponieważ jeśli nie podam argumentu rodzica, jego działanie i uzyskanie wszystkich warunków ze swoimi dziećmi.


title: Liczba terminów w taksonomii

text: Mam niestandardowy typ posta o nazwie „RESOURCES”, którego użyłem do utworzenia katalogu zasobów na mojej stronie internetowej. Ten CPT ma taksonomię o nazwie „CENY”. Istnieją trzy warunki * bezpłatna * bezpłatna wersja próbna * premium Tak więc, gdy ktoś przegląda mój katalog i widzi na pasku bocznym „CENY” z tymi opcjami poniżej, może kliknąć (na przykład) ZA DARMO i zobaczyć 18 różnych bezpłatnych zasobów. Chcę, aby strona tego terminu > mysite.com/price/free miała nagłówek > 18 darmowych zasobów Jak mogę to osiągnąć?


title: Usunąć wtyczkę Advanced Custom Fields dla klienta?

text: Mam tylko szybkie pytanie ... Używam wtyczki Advanced Custom Fields na stronie dla klienta, aby uzyskać trochę więcej mocy .... ale nie chciałbym, aby klient wtrącał się tam i zdezorientuj się ... czy istnieje łatwy, nienarzucający się sposób na ukrycie opcji przed użytkownikiem końcowym, bdut nadal zachowuje funkcjonalność? Zgaduję, że bardziej ogólne wyszukiwanie w Google prawdopodobnie by mi pomogło, ale byłoby wspaniale po prostu uzyskać od was trochę opinii :) -Pozdrawiam kriwis


title: Zmień kolejność pętli za pomocą formularza lub linku (jquery, nie URL)

text: Chciałbym zmienić kolejność pętli za pomocą linku lub danych wejściowych formularza, ale nie można jej załadować za pośrednictwem adresu URL, ponieważ muszę orderby=meta-value i nie można tego zrobić za pomocą argumentów adresu URL (zgodnie z kodeksem) , tylko w ten sposób : <?php $argsvs = array( 'post_type' => 'evento', 'posts_per_page' => -1, 'meta_key' => 'wpcf-evento-data-inicio1', 'orderby' => 'meta_value', 'zamówienie'=>'DESC' ); $pętla = nowe WP_Query( $argsvs ); ?> Jak pozwoliłbym użytkownikowi zmienić powyższe argumenty na zamówienie według innego niestandardowego pola? np: 'meta_key' => 'wpcf-evento-data-inicio2', 'orderby' => 'meta_value' Gdyby to było uporządkowane według tytułu lub coś w tym stylu, mógłbym to zrobić za pomocą adresu URL, takiego jak `?post_type=evento&orderby=title&order =ASC`, ale dla argumentów `meta_key` i `orderby=>'meta_value'` nie można tego zrobić przez URL


title: Przenosisz niestandardowy kod podstawowy do wtyczek?

text: Jestem kompletnym noobem WordPressa, więc nie przejmuj się. Pracuję nad projektem, w którym programiści poprawili podstawowy kod WordPressa. Moim zadaniem jest wyodrębnienie wszelkich podstawowych funkcji, które zmienili, i umieszczenie ich w innym miejscu, aby w przyszłości, gdy wersja WordPress zostanie zaktualizowana, będzie łatwiejsza w utrzymaniu. Zrobiłem trochę badań i wygląda na to, że napisanie wtyczki jest do zrobienia. Po przeczytaniu tego: https://codex.wordpress.org/Writing_a_Plugin , wychodzę z założenia, że WordPress najpierw przejrzy wszystkie funkcje moich wtyczek, a jeśli znajdzie, nie będzie domyślnie korzystał z podstawowej wersji WordPressa funkcja? Czy jest to więc równoznaczne z nadpisaniem podstawowych funkcji WordPressa? Tak więc z podanego przeze mnie linku wygląda na to, że wtyczki wymagają po prostu: 1. (domyślnie, chyba że zmieniono) przechowywania ich w `wp-content/plugins/my_plugin_name` 2. komentarzy w nagłówku pliku PHP podających szczegóły wtyczki. Czy w tym przypadku mogę utworzyć pojedynczy plik `wp-content/plugins/moja_nazwa_wtyczki/moja_nazwa_wtyczki.php` ze wszystkimi dostosowanymi w nim podstawowymi funkcjami? Czy nie mam dodawać żadnych `include "my_plugin_name"`? Po prostu ładuje się automatycznie?


title: WordPress i jQuery

text: Jestem całkiem nowy w używaniu jQuery w WordPressie i próbuję pisać skrypty jQuery w osobnym pliku. Jaka jest różnica między dwiema następującymi składniami konfiguracji pliku zewnętrznego: ### Wersja I jQuery(function() { jQuery("#radio").buttonset(); }); ### Wersja II $(document).ready(function() { $("#radio").buttonset(); }


title: Zapobiegaj dziedziczeniu przez motyw potomny wymaganego pliku motywu nadrzędnego

text: Mój motyw nadrzędny zawiera plik z klasą, która definiuje reklamy dla tego konkretnego motywu. Jest to wymagane w functions.php. Mój motyw podrzędny wymaga zduplikowanego pliku z innymi parametrami reklamy, więc nie chcę dołączać pliku motywu nadrzędnego. Czy istnieje prosty sposób na zapewnienie, że plik motywu nadrzędnego nie będzie wymagany w motywie podrzędnym?


title: wp_nav_menu - Zwiń z PHP

text: Jak można użyć wp_nav_menu do zwijania i rozwijania elementów za pomocą PHP? Jakaś funkcja chodzika? Może wtyczka? **Jak to wygląda w menu wp-admin** O kliencie Sprawy Kontakt Skontaktuj się z nami Skontaktuj się z kimś innym **Na stronie głównej - Jeśli nic nie zaznaczyłem, powinno to wyglądać tak** O nas Kontakt **Kiedy wybrałem O nas powinno tak wyglądać** O Klientach Sprawy Kontakt **Kiedy wybrałem Klientów tak powinno wyglądać** O nas Kontakt Skontaktuj się z nami Skontaktuj się z kimś innym


title: Przekieruj stronę do pierwszego posta w niestandardowym typie postu

text: Mam stronę, nazwijmy ją „Artyści”, która wyświetla listę postów w niestandardowym typie postu, znowu „artyści”. Jak mogę przekierować osoby odwiedzające stronę Wykonawcy do pierwszego posta w typie postów „artyści”?


title: używanie post__in pozwala na zduplikowanie identyfikatora posta

text: Mam tablicę identyfikatorów w określonej kolejności. Używam `post__in` w moim zapytaniu, aby uzyskać posty z tej tablicy. Mam kilka zduplikowanych identyfikatorów postów, które muszę pokazać dwa razy na stronie, ale zapytanie wydaje się je ignorować. Powiedzmy, że tablica jest następująca wartości tablicy = 1,2,3,4,2,5 Kiedy przekazuję tę tablicę do `post__in`, nie przyjmuje ona wartości `'2'' dwa razy, niż określono w tablicy. Czy istnieje obejście tego problemu?


title: Dodawanie zależności do kolejkowania skryptów

text:
Jaki jest sens parametru zależności podczas korzystania z wp_enqueue_script()? Na przykład, gdy wykonuję następujące czynności: wp_enqueue_script( 'jscripts', get_stylesheet_directory_uri() . "/scripts/jscripts.js", array('jquery-ui-datepicker')); echo wp_script_is('jquery-ui-datepicker', 'kolejka') ? '
' . '[jquery-ui-datepicker] Skrypt jest umieszczony w kolejce' . '
' : '
' . '[jquery-ui-datepicker] Skrypt nie został umieszczony w kolejce' . '
'; Otrzymuję wynik „Skrypt nie wpisany do kolejki” (a funkcja nie działa poprawnie). Jednak kiedy to robię: wp_enqueue_script('jscripts', get_stylesheet_directory_uri() . "/scripts/jscripts.js"); wp_enqueue_script('jquery-ui-datepicker'); echo wp_script_is('jquery-ui-datepicker', 'kolejka') ? '
' . '[jquery-ui-datepicker] Skrypt jest umieszczony w kolejce' . '
' : '
' . '[jquery-ui-datepicker] Skrypt nie został umieszczony w kolejce' . '
'; Działa poprawnie i wyświetla komunikat „skrypt jest umieszczony w kolejce”. Po przeczytaniu dokumentacji wydaje się, że kiedy określisz uchwyt zależności dla skryptu, który zamierzasz umieścić w kolejce, będzie on umieszczał te zależności w kolejce przed umieszczeniem go w kolejce. Ale wydaje się, że tak nie jest. Jak to wszystko działa?


title: Używanie AJAX do generowania stron frontonu/przeglądarki

text: Obecnie próbuję wysłać pewne dane metodą POST z kodu w widgecie mojej wtyczki do strony archive.php motywu. Kod, który zawiera dane dla jquery/ajax to: year .'" data-month="'.$previous->month." " data-category="'.$kategoria.'" href="' . filter_date_link($kategoria,$poprzedni->rok, $poprzedni->miesiąc, $dzień=fałsz) . '" title="' . esc_attr( sprintf(__('Wyświetl posty dla %1$s %2$s'), $wp_locale->get_month($previous->month), date('Y', mktime(0, 0 , 0, $previous-> miesiąc, 1, $poprzedni->rok)))) '" id="poprzedni_link">« ' . $wp_locale->get_month_abbrev($wp_locale->get_month($previous->miesiąc)) . '	'; $calendar_output .= "\n\t\t".'year .' " data-miesiąc="'.$następny->miesiąc.'" data-kategoria="'.$kategoria.'"href="'. filter_date_link($kategoria,$następny->rok, $następny->miesiąc, $day=false) '" title="' .esc_attr( sprintf(__('Wyświetl posty dla %1$s %2$s'), $wp_locale->get_month($next->month), date(' Y', mktime(0, 0 , 0, $następny->miesiąc, 1, $następny->rok)))) '" id="next_link">' . $wp_locale->get_month_abbrev($wp_locale->get_month($next->miesiąc)) . ' »	'; Kod js to: jQuery(document).ready(function($){ $('#next_link').click(function(e){ e.preventDefault(); var $aid =$('#next_link'), year =$aid.data('year'), month =$aid.data('month'), category =$aid.data('category'); }); $('#previous_link').click(function (e){ e.preventDefault(); var $aid =$('#previous_link'), year =$aid.data('year'), month =$aid.data('month'), category =$aid .data('category'); }); console.log('category: ' + kategoria); $.ajax({ cache: false, timeout: 8000, type: 'POST', data: {year : year, month : miesiąc, kategoria: kategoria}, url: '/ścieżka/mojplik.php', sukces: funkcja(dane) {}, błąd: funkcja() {} }); }); A strona, na której ten kod zostanie użyty to: <?php //Konkretna klasa dla listy postów */ $blog_type = sq_option('blog_type','masonry'); $template_classes = $blog_type . '-wymienianie kolejno'; if ($blog_type == 'standard' && sq_option('blog_meta_status', 1) == 1) { $template_classes .= ' with-meta'; } add_filter('kleo_main_template_classes', create_function('$cls','$cls .=" posts-listing '.$template_classes.'"; return $cls;')); if(isset($_POST['kategoria'])){ $kategoria=$_POST['kategoria']; $rok=$_POST['rok']; $miesiąc=$_POST['miesiąc']; if(isset($_POST['day'])) { $args = array('category_name' => $category , 'date_query' => array( array( 'rok' => $rok, 'miesiąc' => $ miesiąc, 'dzień' => $dzień, ), 'kolumna' => 'post_data', ), ); Tablica `$args` zostanie użyta do utworzenia nowego zapytania w pętli WP. Jestem dość doświadczony z php, ale AJAX i jQuery są dla mnie trochę nowe. Czego mi brakuje, co muszę dodać/odjąć, aby to działało. **AKTUALIZACJE:** * podczas używania powyższego kodu i sprawdzania konsoli w debuggerze otrzymuję: _Nie udało się załadować zasobu: serwer odpowiedział ze statusem 404 (Nie znaleziono)_ * naprawiono powyższy problem przy użyciu rozwiązania sugerowanego przez kaiser, jednak teraz otrzymuję ten błąd, w wierszu 29 mojego jQuery : _Uncaught ReferenceError: kategoria nie jest zdefiniowana_ . * Pytanie, na które na razie nie udało mi się znaleźć zrozumiałej odpowiedzi: 'Gdzie zawrzeć lokalizację i wywołanie jQuery, aby zmienne były faktycznie przekazywane w formacie post? Oto kod, w którym używam enqueue, aby dołączyć skrypt w moim pliku wtyczek (nie jestem pewien, czy we właściwym miejscu, czy we właściwy sposób): add_action( 'wp_enqueue_scripts', 'theme_enqueue_scripts' ); function theme_enqueue_scripts() { // Dodaj do kolejki i zlokalizuj plik funkcji JavaScript AJAX wp_enqueue_script( 'ajax-categories-js', plugins_url( 'events-calendar-manager/inc/js/js.js' ), array('jquery')) ; }


title: Dodawanie skryptów do strony administratora w moim motywie

text:
W functions.php mojego motywu mam kod do dodania strony w obszarze administracyjnym i dopisania do niej skryptów. Ale skrypty nie są ładowane. Poniżej znajduje się kod. Skomentowane wiersze add_action to te, które sprawdziłem. // functions.php // Dołącz styl użytkownika i skrypty do menu Dodaj nową tapetę function pb_admin_scripts() { wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_register_script('pb-upload', get_template_directory_uri(). '/pb-upload.js'); wp_enqueue_script('pb-upload'); } funkcja pb_admin_style() { wp_enqueue_style('thickbox'); } function pb_wallpaper_adminmenu() { $page = add_menu_page('Dodaj taśmę', 'Dodaj taśmę', 'edit_posts', 'dodaj-tapetę', 'pb_add_wallpaper', '', 6); } // add_action( 'admin_head-add-wallpaper', 'pb_admin_scripts'); // add_action( 'admin_print_scripts-add-wallpaper', 'pb_admin_scripts'); // add_action( 'admin_print_styles-add-wallpaper', 'pb_admin_style'); // add_action( 'załaduj-dodaj-tapetę', 'pb_admin_scripts'); // add_action( 'załaduj-dodaj-tapetę', 'pb_admin_style'); // dodaj nową funkcję tapety pb_add_wallpaper() { ?>

Dodaj Nową Tapetę
 <form method="post" action=""> <input type="hidden " name="akcja" value="pb_add_wallpaper" /> <input id="upload_image_button" type="przycisk" value="Prześlij obraz" /> <input type="ukryty" name="upload_image" id="upload_image" /> <?php wp_nonce_field('pb_add_wallpaper', '_nonce'); ?> </form>
 <?php } add_action('admin_menu', 'pb_wallpaper_adminmenu');


title: Czy można uporządkować zapytanie o jeden termin taksonomii według terminów z innej, powiązanej taksonomii?

text: Widziałem negatywną odpowiedź w tym pytaniu, Czy za pomocą wp_query można uporządkować według taksonomii?, ale myślę, że mam prawidłowy przypadek użycia dla czegoś podobnego, co jest mniej szerokie niż w poprzednim pytaniu. Mam niestandardowy typ postu „zasoby” i połączoną taksonomię „kategoria zasobów” z terminami takimi jak „rysunki architektoniczne”, „specyfikacje techniczne” i „msds”. Typ posta jest również powiązany z taksonomią obejmującą całą witrynę zwaną „linią biznesową” dla różnych działów firmy, dzięki czemu zasoby, produkty, posty na blogu itp. mogą używać tych samych terminów dla podziału firmy oni należą do. Stworzyłem stronę taksonomii, która będzie zawierała wszystkie aktualne zasoby dla danej linii biznesowej. Zrobiłem to, dodając następujące elementy w mojej wtyczce zaraz po zdefiniowaniu typu postu „zasoby”. (Pomijam sprawdzanie błędów w cytowanym kodzie.) register_taxonomy_for_object_type( 'business_line', self::POST_TYPE_SLUG ); add_rewrite_rule( 'biblioteka-techniczna/linia/([^/]+)/?$', 'index.php?post_type=resources&business_line=$matches[1]', 'top' ); A potem mam szablon o nazwie **_taxonomy-business_line.php_**, który jest wybierany, gdy ta reguła przepisywania zostanie dopasowana. Mój jedyny problem z tym systemem polega na tym, że chciałbym pogrupować listę według tych kategorii zasobów w następujący sposób: > **Specyfikacje architektoniczne** > > Informacje o zasobach > > Pasek zasobów > > **Karta danych** > > Baza zasobów itp. Używam już akcji _pre_get_posts_, aby pobrać wszystkie zasoby w tym przypadku, więc miałem nadzieję, że w tym momencie mogę dodać jakąś klauzulę porządku według. Staram się nie duplikować żadnych zapytań w samym pliku szablonu. Jeśli mogę uzyskać listę postów, aby wróciły we właściwej kolejności, mógłbym po prostu sprawdzić, kiedy termin zmieni się w pętli i wyprowadzić nowy nagłówek przy każdej zmianie. Jeśli ktoś mógłby wskazać mi właściwy kierunek, bardzo bym to docenił. **Edytuj:** Wymyśliłem obejście tego problemu, ale wydaje się to niewiarygodnie „zwariowane”. Umieszczam następujący kod na górze mojego szablonu. Dodaje terminy dla niestandardowej taksonomii do każdego obiektu posta w „pętli przed pętlą” i wyodrębnia nazwę terminu do właściwości najwyższego poziomu, aby ułatwić sortowanie według tej nazwy. if (have_posts()) : while (have_posts()) : the_post(); $post->resource_category = get_the_terms( $post->ID, 'res-cat' ); $term_name = reset( $post->resource_category ); $post->resource_category_name = $term_name->nazwa; koniec; endif; // przewiń rewind_posts(); function compare_resources_by_res_cat_name( $a, $b ) { return strcmp( $a->nazwa_kategorii_zasobu, $b->nazwa_kategorii_zasobu ); } globalne $wp_query; sortuj ($wp_query->posty, 'compare_resources_by_res_cat_name'); Wydaje się, że to działa, ale nienawidzę używania globalnego i "sięgania do środka" takich obiektów postu. Czy istnieje sposób na uczynienie tego bezpieczniejszym lub alternatywą, w której nie musiałbym tego robić?


title: jak wykorzystać pokaz slajdów Skylark w gablocie?

text: Stworzyłem stronę i ustawiłem szablon jako _showcase_ a następnie przeszedłem do ustawień->czytanie i jako stronę statyczną wybieram swoją utworzoną stronę. Zastanawiam się, jak mogę dodać pokazy slajdów ze zdjęciami i przyklejonymi postami. Wszedłem do dokumentacji w linku ale niestety nic nie znalazłem.


title: Obszar rejestracji + obszar zarezerwowany

text: Jak mówi tytuł tego postu, muszę stworzyć formularz rejestracyjny, aby umożliwić czytelnikom zarejestrowanie się na mojej stronie i dostęp do specjalnych treści, które nie są widoczne dla wszystkich. Czy jest jakaś wtyczka, która obsługuje te funkcje? Próbowałem trochę, ale po zalogowaniu przekierowują mnie na backend administratora wordpress. Nie chcę, aby ludzie mieli dostęp do strony administratora witryny. Jakieś sugestie?


title: Podzielone menu Wordpress

text: Koduję mój pierwszy motyw WordPress i próbuję rozwiązać ten problem: W wersji na komputery chciałbym podzielić menu na 2 sekcje. Jeden pojawiłby się po lewej stronie logo, a drugi po prawej stronie mojego logo (logo jest wyśrodkowane). Jedynym sposobem, w jaki wiem, jak to zrobić, jest utworzenie 2 oddzielnych obiektów MENU w WP, a następnie odpowiednio z pozycją CSS. To jednak powoduje problem, gdy chcę przekonwertować menu na rozwijane menu przyjazne dla urządzeń mobilnych, ponieważ w podejściu pokazanym powyżej kończę z 2 oddzielnymi listami pozycji menu (lewy i prawy) i nie wiem jak czy scaliłbym je w jedną listę, aby uzyskać menu rozwijane przyjazne dla urządzeń mobilnych. Rozumiem, że mogę napisać niestandardowy CSS, aby dodać margines między elementem menu nr 2 a elementem nr 3, na przykład. Ale ponieważ piszę motyw, to podejście nie zadziała, ponieważ wymaga wcześniejszej wiedzy, ile elementów menu będzie obecnych. Potrzebuję, aby było to coś, co działałoby niezależnie od liczby elementów menu i co pozwoliłoby ludziom na ponowne rozmieszczenie elementów menu za pomocą interfejsu WP Menu. Czy to zły sposób na rozwiązanie tego problemu? Jeśli mógłbyś zasugerować, jak lepiej do tego podejść, byłbym bardzo wdzięczny.


title: aktywna strona nadrzędna po kliknięciu na stronę podrzędną

text:
Cześć, guru Wordpress, napotykam problem. Mam strony nadrzędne w header.php i strony podrzędne w page.php. po kliknięciu jednej z podstron na stronie nadrzędnej chcę, aby moja strona nadrzędna pozostała aktywna. Jak mogę to zrobić? w moim pliku header.php mam następujący kod:
 <?php wp_list_pages('sort_column=menu_order&exclude=2&depth=1&title_li='); ?>
 page.php <?php if($post->post_parent) $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); w przeciwnym razie $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); if ($children) { ?>

<?php echo 'post_parent).'" >'.get_the_title($post->post_parent).'';?>
 <?php echo $dzieci; ?>

 <?php } else { ?> <?php } ?> Widzisz przykład : tutaj po kliknięciu jednej z podstron chcę, aby strona nadrzędna (zakładka powyżej) pozostaje aktywny. dziękuję za zaliczkę.


title: Jak świetny może być niestandardowy typ posta?

text: Wiesz, jak słodko jest WP ze swoimi wtyczkami i niestandardowymi typami postów. Tak bardzo kocham WP, aż doszedłem do wniosku, że większość stron internetowych można zrobić w WP. Ostatnio mój szef chciał, żebym zbudował stronę z wyszukiwarką hoteli/noclegów. To jak strona internetowa hotele. com, z wyjątkiem tego, że nie ma funkcji rezerwacji. Moje pytanie brzmi, czy mogę to zrobić w WP, jeśli korzystam z jego zdolności niestandardowych typów postów, czy najgorsze jest tworzenie dedykowanej wtyczki? co myślisz o tym jako ekspert WP?


title: Metabox (w niestandardowym typie postu) z dwoma różnymi typami pól

text: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/crchc.png) Chcę utworzyć metabox (w niestandardowym typie postu) z dwoma różnymi typami pól: * Tekst * i wybierz , (może umieścić to w tablicy ?) i wyświetlić to metabox z tymi dwoma polami z jednym identyfikatorem w następujący sposób: if ( get_post_meta( $post->ID, 'The_ID', true ) != '' ) { echo get_post_meta( $post->ID, 'ID', prawda ); }      Czy to możliwe?


title: Apostrof w wynikach permalinków na stronie nie znaleziono

text: Pracuję nad migracją z Drupala do sieci wielostanowiskowej WP, mam pole meta postu, które zawiera adres URL starego posta (głównie w celu utrzymania liczników społecznościowych itp.), którego używam do struktury permalink. Robię to w następujący sposób: add_filter('post_link', 'migration_permalinks', 10, 3 ); function migration_permalinks( $permalink, $post, $leavename ) { if( ($post->post_type == 'post' ) && ( $the_link = get_post_meta( $post->ID, '_the_old_site_permalink', true)) ) { $ url = parse_url( $link ); $permalink = site_url() . $url['ścieżka']; } return $permalink; } Problem, z którym się spotykam, polega na tym, że jeśli tytuł posta zawiera apostrof „” (a nie prosty pojedynczy cudzysłów „””), adres URL posta nie działa. Zakodowany, który konwertuje na `%E2%80%99` . W pasku adresu przeglądarki, jeśli zmienię apostrof na prosty pojedynczy cytat, adres URL działa i wyświetla się post. Istniejąca witryna Drupal zawiera apostrof (`%E2%80%99`) bez problemu. Utrzymanie adresu URL w takim stanie, w jakim jest, jest bardzo ważne, ponieważ nie chcę, aby żadne istniejące linki do strony miały 404, gdy nastąpi migracja. Dlaczego link nie działa, jeśli zawiera apostrof?


title: Funkcja add_media_page nie tworzy podmenu

text: Mam następującą wtyczkę, którą właśnie testuję. /* Nazwa wtyczki: URI testu menu wtyczki: http://codex.wordpress.org/Adding_Administration_Menus Opis: Autor testu menu: Autorzy kodeksu URI autora: http://example.com */ include('./customFields.php' ); // Hook do dodawania menu administratora add_action('admin_menu', array('customFields', 'buildOptions')); // funkcja akcji dla powyższego hooka I klasa, która jest z nią związana w customFields.php class customFields { private function createMenu () { add_media_page('Niestandardowe opcje mediów', 'Dodaj pola do mediów', 'manage_options', 'custom_media_options', $this::createMenuOptionsPage()); } private function createMenuOptionsPage () { echo 'test'; } public function buildOptions () { $this::createMenu(); } } Nie widzę nic złego w mojej składni, ale podmenu pod media nigdy się nie pojawia. Czy ktoś może mi pomóc?


title: Dlaczego paginacja zawsze się psuje, gdy jest używana na dowolnej formie strony głównej?

text: Dlaczego paginacja WP pęka, gdy jest używana na stronie głównej? Jeśli weźmiesz poniższy kod i użyjesz go w szablonie strony, działa idealnie (upewnij się, że masz 3 lub więcej postów). Jednak, gdy tylko użyjesz tego samego kodu na home.php, front-page.php, index.php lub nawet jako szablon strony, ale ustawisz go jako statyczną stronę główną, to się zepsuje. URL pokazuje `/page/2/`, ale otrzymujesz stronę 404. Jeśli zmienisz adres URL na `/?page=2`, to zadziała. Widziałem tak wiele pytań związanych z tym w całym miejscu, ale żadne nie ma rozwiązania, które działa. Dla uproszczenia uprościłem poniższą pętlę i korzystam z domyślnych linków do następnych i poprzednich postów WP. Nie chcę używać wtyczki takiej jak WP-PageNavi lub podobnej. <?php get_header(); ?> <?php // z https://codex.wordpress.org/Pagination if ( get_query_var('paged')) { $paged = get_query_var('paged'); } else if ( get_query_var('strona')) { $paged = get_query_var('strona'); } else { $paged = 1; } $wp_query = new WP_Query( array( 'posts_per_page' => 2, 'paged' => $paged )); ?> <?php if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <?php tytuł_(); ?> <?php koniec; endif; ?> <?php poprzednie_posty_link(); ?> <?php next_posts_link(); ?> <?php wp_reset_query(); ?> <?php get_footer(); ?>


title: Niestandardowe zamówienie na tablicę Mysql

text: Mam stronę postów, każdy post ma niestandardowe pole „wygasło”, które zawiera datę w formacie RRRR-MM-DD, która jest używana do zamawiania postów. Ta data jest używana w skrypcie, który informuje odwiedzającego, czy oferta wygasła lub jest ważna jeszcze przez X dni. Moja tablica wygląda następująco: $postid = get_the_ID(); $meta1 = get_post_meta($postid, 'sklep', prawda); $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $args = array( 'post_type' => 'post', 'meta_query' => array( array( 'key' => 'shop', 'value' => $meta1 ) ), 'paged' => $paged, 'posts_per_page' => '4', 'meta_key' => 'expired', 'orderby' => 'meta_value', 'order' => 'ASC' ); $zapytanie = nowe WP_Query( $args ); To porządkuje posty przy użyciu meta_wartości „wygasł”, najwcześniejszej daty na górze. Gdy data „wygasła” meta_value przypada przed „DZISIAJ”, skrypt posta będzie wyświetlał „WYGAŚNIĘTO”. Gdy „wygasła” data meta_wartości przypada po „DZISIAJ”, skrypt wyświetli „Wygasa za X dni” **Jak obecnie wyświetlają się posty:* * Gdy post „wygasa”, pozostaje on na górze listy postów. Post 1: Wygasł Post 2: Wygasł Post 3: Wygasa za 3 dni Post 4: Wygasa za 4 dni Post 5: Wygasa za 6 dni **Zamiast tego chcę go automatycznie zamówić w następujący sposób:** (uwaga w porównaniu do powyższego) Post 3: Wygasa za 3 dni Post 4: Wygasa za 4 dni Post 5: Wygasa za 6 dni Post 2: Wygasł Post 1: Wygasł Jak mogę utworzyć zamówienie niestandardowe, w którym po wygaśnięciu posta (tzn. jest to ' wygasła” jest wcześniejsza niż dzisiejsza data) jest umieszczana na końcu listy postów, ale nadal nad starszymi wygasłymi postami? Dziękuję Ci.


title: Dodaj niestandardowe atrybuty do posta

text: Mój blog składa się głównie z postów opisujących piesze wędrówki. Właściwie, odkąd właśnie przeniosłem się z bloga Wordpress.com na własny blog Wordpress, każda wycieczka jest umieszczana w prostym poście. Jednak każda podwyżka ma określone parametry (np.: podbieg, długość, trudność, ...) chciałbym zapisać w bazie danych w postaci atrybutu, a nie prostego tekstu. Moim pomysłem byłoby użycie Wordpressa do: 1. Automatycznego wypełniania strony z listą wędrówek. 2. Dodaj wyszukiwarkę, która pomoże czytelnikowi znaleźć najlepszą dla niego podwyżkę na podstawie określonych parametrów (np.: „Nie chcę przekraczać 1000 metrów przewyższenia”). Podstawowym wymogiem jest to, aby adresy URL permalinków nie uległy zmianie, ponieważ blog jest aktywny od kilku lat. Zastanawiałem się: czy _Wordpress Custom Post Types_ może zadziałać w moim konkretnym przypadku? Czy są lepsze rozwiązania? Czy mogę użyć _Custom Meta Boxes_ dla atrybutów wędrówki, takich jak wzniesienie, długość i trudność? Czy do utworzenia strony z listą wędrówek mogę użyć _Krótkich kodów_? Jak zaimplementować formularz wyszukiwania, który pomoże czytelnikowi znaleźć najlepszą dla niego wycieczkę?


title: jak umieścić link w pierwszym poście tylko za pomocą wtyczki

text: chcę dodać link do pierwszego posta na każdym blogu WP, który mam. Na przykład ta prosta funkcja dodaje link do każdego postu. funkcja add_link($link){ $link .= 'Link'; zwróć $link; } add_filter('treść','add_link'); więc zasadniczo zamiast linku wyświetlanego pod każdym postem, chcę, aby wyświetlał się tylko na dole pierwszego posta. Dziękuję.


title: Wszystkie adresy URL mają dodany „/blog/”.

text: Właśnie stworzyłem motyw WP i używam niestandardowego szablonu strony dla bloga i dla domu. Problem polega na tym, że wszystkie adresy URL mają teraz dodany /blog/ (który, jak sądzę, jest nazwą strony korzystającej z szablonu strony bloga). Podążając za artykułem w Kodeksie, opróżniłem szablon strony Blog, a zamiast tego dodałem zawartość bloga do `home.php`. Co ja robię źle?


title: Dlaczego pokaz slajdów (wykonany przy użyciu JQuery FlexSlider) nie może działać, jeśli załaduję go z functions.php, ale działa, jeśli załaduję go z mojego pliku footer.php?

text: Mam następującą sytuację: Przenoszę ten czysty motyw HTML (wykorzystujący framework BootStrap CSS) do motywu WordPress. To jest oryginalny motyw demo czystego HTML (mam cały kod źródłowy, ponieważ jest to przykład do pobrania): http://www.html.it/guide/img/bootstrap/demo/home.html A to jest mój osobisty WP motyw nad którym pracuję: http://onofri.org/WP_BootStrap/ Jak widać jedyną różnicą w stosunku do oryginalnej strony demonstracyjnej i mojego osobistego motywu WP jest to, że w drugim pokazie slajdów w nagłówku (wykonanym za pomocą Wtyczka flexslider JQuery) nie jest wyświetlana. Wykonałem następujące operacje: 1) W moim pliku footer.php wyłączyłem ładowanie JavaScript, komentowanie ich i wywołuję **wp_footer()** , w ten sposób: <!-- <script src="http:// /code.jquery.com/jquery.js"></script> <script src="/wordpress/wp-content/themes/AsperTheme/assets/bootstrap/js/bootstrap.min.js"></script> < skrypt src="/wordpress/wp-content/themes/AsperTheme/assets/plugins/flexslider/jquery.flexslider.js"></script> <script src="/wordpress/wp-content/themes/AsperTheme/assets/ plugins/fancybox/jquery.fancybox.pack.js"></script> <script src="/wordpress/wp-content/themes/AsperTheme/assets/js/scripts.js"></script> --> < ?php wp_footer(); ?> </body> 2) Wstawiłem następujący kod do mojego pliku functions.php, aby załadować wszystkie poprzednie skrypty JavaScript przy użyciu standardowego sposobu WP: /* Funkcja automatycznie wykonywana przez hak 'load_java_scripts': * 1) Załaduj wszystkie moje JavaScripts */ function load_java_scripts() { // Załaduj JQuery: wp_enqueue_script('jquery'); // Załaduj FlexSlider JavaScript wp_enqueue_script('flexSlider-js', get_template_directory_uri() . '/assets/plugins/flexslider/jquery.flexslider.js', array('jquery'), 'v2.1', true); // Załaduj bootstrap.min.js: wp_enqueue_script('bootstrap.min-js', get_template_directory_uri() . '/assets/bootstrap/js/bootstrap.min.js', array('jquery'), 'v3.0.3' , PRAWDA); // Załaduj FancyBox: wp_enqueue_script('fancy-js', get_template_directory_uri() . '/assets/plugins/fancybox/jquery.fancybox.pack.js', array('jquery'), 'v2.1.5', true); // Załaduj scripts.js: wp_enqueue_script('myScripts-js', get_template_directory_uri() . '/assets/js/scripts.js', array('jquery'), '1.0', true); // Załaduj modernizator: wp_enqueue_script('myodernizer-js', get_template_directory_uri() . '/assets/js/modernizr.custom.js', array('jquery'), '2.6.2', true); } add_action('wp_enqueue_scripts', 'load_java_scripts'); Jak widać, wszystkie skrypty są zależne od JQuery, więc JQuery jest ładowane jako pierwsze. Ale jak widać, **jquery** i\lub **jquery.flexslider.js** nie działają. Dziwne jest to, że zmieniam koniec mojego pliku **footer.php** w ten sposób, że pokaz slajdów jest wyświetlany poprawnie: <script src="http://code.jquery.com/jquery.js"></ skrypt> <script src="/wordpress/wp-content/themes/AsperTheme/assets/plugins/flexslider/jquery.flexslider.js"></script> <?php wp_footer(); ?> </body> </html> Więc czego mi brakuje? Jaki może być problem? Patrząc na kod źródłowy mojej strony (do FireFoxa) wydaje mi się, że cały JavaScript jest załadowany, ale nie działa, pokaz slajdów się nie pojawia. Jaka jest różnica?


title: Czy to dobry przypadek dla Multisite?

text: Okej, jestem trochę nowy w Multisite i widziałem kilka przypadków, które stwierdzają, że jeden _powinien_ go używać i podobnie jeden _nie powinien_ go używać. Przypuszczam, że próbuję ustalić, jaki jest najlepszy scenariusz. Prowadzę kilka witryn WordPress na moim VPS, kilka korzysta z WooCommerce, niektóre to tylko blogi. Sprawa, którą próbuję obecnie zidentyfikować, dotyczy klienta, którego hostuję. Klient ma obecnie 1 witrynę, ale chce przejść na podejście typu 3 witryny. * **Witryna 1** : Podstawowy przegląd usług między 2 podmarkami, udostępnianie niektórych treści z każdej z tych witryn, ale nie WSZYSTKICH * **Witryna 2** : Produkty i usługi poprawiające wydajność pojazdów * **Witryna 3** : Rozrywka i estetyka pojazdu Tak więc każda Witryna 2 i 3 może również udostępniać informacje, ale nie wszystkie strony. Więc moje pytanie brzmi, czy Multisite może być właściwym sposobem na zrobienie tego typu rzeczy, czy też powinienem pomyśleć o całkowitym opracowaniu niestandardowego rozwiązania (na której zacząłem jako pierwszy)?


title: Dlaczego masowe aktualizacje post_content są wyświetlane w interfejsie użytkownika, ale nie na ekranie edycji?

text: Mieliśmy ostatnio kogoś, kto przeniósł kilka blogów z Movable Type do Wordpress, ale właśnie zdaliśmy sobie sprawę, że pominął część treści, która znajdowała się w polu bazy danych w MT oznaczonym *entry_text_more*. Z różnych powodów nie chcemy, aby pierwotny usługodawca pracował nad tym; więc próbujemy rozwiązać ten problem za pomocą polecenia UPDATE... JOIN... w starej tabeli *mt_entry* i nowej tabeli *wp_posts* w bazie danych. (Wszystkie stare i nowe dane znajdują się w tej samej bazie danych, z różnymi prefiksami tabeli.) To polecenie działa: UPDATE wp_posts INNER JOIN mt_entry ON entry_basename=nazwa_postu SET post_content=CONCAT(post_content, '\n', entry_text_more) GDZIE entry_text_more NIE JEST NULL AND LENGTH(entry_text_more) > 0 AND entry_basename='przykładowa-post-name'; (Po prostu używamy ostatniej klauzuli AND do testowania. Gdy zadziała, możemy usunąć tę ostatnią klauzulę AND i przeprowadzić masową aktualizację). posty w interfejsie użytkownika lub WYBIERZ je z tabeli *wp_posts* w bazie danych, *entry_text_more* został dołączony do istniejącej zawartości WP. Jednak gdy przejdziemy do Edytuj post (aby go wyczyścić), tylko stara zawartość pojawia się w polu Edytuj, w trybie wizualnym lub tekstowym. A kiedy klikamy Update, dołączona treść znika z bazy danych i oczywiście również z widoku front-endu. Wyłączyliśmy WP-Supercache, a nawet próbowaliśmy dodać to do pliku wp-config.php: define('DISABLE_CACHE', true); ale to nie pomogło. Czy ktoś może nam pomóc dowiedzieć się, jak sprawić, by dołączona treść „przykleiła się”?


title: Jak wyświetlić komentarz do wiadomości e-mail?

text:
Chcę więc powiadomić autora (pocztą), że jego komentarz został usunięty i z jakim postem ten komentarz był związany. // Wyślij wiadomość do autora, gdy jego odpowiedź zostanie usunięta/wyrzucona do kosza function authorANotification($comment_id) { $comment = get_comment($comment_id); $author = get_userdata($comment->user_id); $headers = "Wersja MIME: 1.0" . "\r\n"; $headers .= "Typ treści: text/html; charset=UTF-8" . "\r\n"; $headers .= "Od: Fustions.com <admin@fustions.com>" . "\r\n"; $subject = "Twój komentarz został usunięty"; $message = "
 "; $message .= "
"; $message .= "
".$sitename."
"; $wiadomość .= "

"; $message .= "
"; $message .= "
Szanowni Państwo ".$author->display_name.",
"; $message .= "

"; $message .= "
Twój komentarz: ".$comment->comment_text." - został usunięty przez administratora.
"; $message .= "
Przeczytaj, dlaczego Twój komentarz mógł zostać usunięty tutaj: **********
" ; $message .= "
Pozdrawiam,
"; $message .= "
Administracja — Fustions.com
"; $wiadomość .= "

"; $wiadomość .= "
"; wp_mail($author->user_email, $temat, $wiadomość, $nagłówki); } add_action('trash_comment', 'authorANotification'); Co ja robię źle? A także, jak wyświetlić tytuł danego posta? Dziękuję!


title: Pobierz wyróżniony obraz posta za pomocą PHP poza WordPress

text: Mam małą aplikację dla systemu Windows, za pomocą której chciałbym używać polecanych obrazów z postów na mojej stronie. Moja strona zawiera listę i przegląda modyfikacji do gry komputerowej, a aplikacja instaluje te modyfikacje. Pomyśl o tym jako o bardzo podstawowym Steamie, dla tych, którzy wiedzą, czym jest Steam. Gdy użytkownik zainstaluje modyfikację z pliku w mojej witrynie, chciałbym, aby aplikacja odwiedziła witrynę, wyszukała plik, a następnie wykorzystała wyróżniony obraz w aplikacji. Rozumiem, że większość z nich wykracza poza zakres tego wątku, ale czy istnieje sposób na znalezienie adresu URL obrazu za pomocą PHP, ale poza WordPress? Być może z identyfikatora poczty.


title: Dodaj klasę do bieżącego posta w query_post

text: Mam takie zapytanie; <?php $temp_query = $wp_query; ?> <?php foreach(get_the_category() as $category) { $cat = $category->cat_ID; } query_posts('orderby=date&cat=' . $cat . '&order=desc&posts_per_page=-1'); ?> Łapie wszystkie posty z aktualnej kategorii. To, co następnie robię z tymi informacjami, to tworzenie listy wszystkich miniatur powiązanych z tymi postami. To, co chciałbym zrobić, to w jakiś sposób wyróżnić obecny post. (poprzez klasę lub coś w tym rodzaju), coś, co oczywiście odbywa się automatycznie, normalnie. Dzięki Alex


title: Wyklucz bieżący i przyklejony post

text: Na jednej stronie postów mam pasek boczny wyświetlający do trzech innych powiązanych postów. Jak mogę wykluczyć zarówno przyklejone posty, jak i bieżący post? Wiem, jak wykluczyć bieżący post i jak wykluczyć przyklejone posty, używając post_not_in w WP_Query, zobacz przykład kodu poniżej. Ale myślę, że nie możesz użyć post_not_in dwa razy w tym samym zapytaniu. Jakieś sugestie? $current_post_ID = get_the_ID(); $args = array( 'post_type' => 'post', 'post_status' => 'publish', 'order' => 'DESC', 'orderby' => 'date', 'posts_per_page' => 3, 'post__not_in ' => get_option( 'sticky_posts' ) 'post__not_in' => array($current_post_ID) );


title: Dowolna wtyczka/motyw, który odpowiada moim wymaganiom?

text: ![Insighter](http://i.stack.imgur.com/Yx4LO.jpg) Mam tę witrynę WordPress. Jak widać, wyświetlałem na przemian czerwone i niebieskie paski (które są obrazami) z napisanym na nich tekstem. Miałem opaski (około 100) ręcznie utworzone w Photoshopie, dopasowując je do różnych zdań, co jest bardzo żmudne i czasochłonne. Czy są dostępne motywy/wtyczki, w których dostępny jest ten rodzaj struktury, gdzie muszę tylko dodawać teksty? Szukałem w sieci, ale do tej pory nie miałem szczęścia. Z góry dziękuję!


title: Uzyskiwanie błędów 404 na nowych stronach

text: Nie możesz zrozumieć, dlaczego tak się dzieje - problem z instalacją wp lub problem z plikiem .htaccess? Używam motywu, ale ten sam problem występuje z domyślnymi motywami wp. Po utworzeniu nowej strony (przykład: about), otrzymuję 404, gdy próbuję uzyskać do niej dostęp z nawigacji lub po prostu wpisuję adres URL: domain.com/dev/about, otrzymuję również 404. WP zainstalowany w httpdocs/dev. Wszystkie wtyczki są dezaktywowane. Wygląda na to, że wszystko inne działa poprawnie.


title: Potrzebne porady dotyczące wydajności Post Meta Database

text: Więc mam ten niestandardowy typ postu i mam co najmniej 20 niestandardowych metaboxów, co oznacza, że będzie 20 wierszy postmeta. Więc moje pytanie brzmi, ponieważ mam ich tak wiele, czy bardziej sensowne byłoby utworzenie niestandardowej tabeli do obsługi tego, zamiast mieć 20 oddzielnych wierszy, po jednym dla każdej wartości meta... itd. Myślę, że pojawią się pewne problemy z wydajnością, jeśli każdy 1 niestandardowy post równa się 20 rzędom meta postów. Zakładam, że może się to dość szybko sumować. I tak, zdaję sobie sprawę, że mogę serializować dane, więc zajmuje to tylko 1 wiersz, ale to uniemożliwiłoby wyszukanie czegokolwiek. Jakie są twoje przemyślenia na ten temat?


title: Jak wyłączyć wtyczkę limitu prób logowania?

text: To naprawdę mnie do dupy. Nie zainstalowałem wtyczki limit prób logowania, ale działa, gdy ktoś nie może się zalogować. W admin wyświetla się w menu ustawień. Próbowałem to wyłączyć, ale nie wyświetla się w zainstalowanej wtyczce. Widziałem też edytor wtyczek, którego tam nie było. Po tym otwieram ftp i otwieram folder wtyczek i nie znalazłem żadnej wtyczki limit prób logowania. Teraz jak mogę dezaktywować lub wyłączyć tę wtyczkę. Dziękuję....


title: Jak ustawić domyślną stronę do ładowania po raz pierwszy?

text: Teraz tworzę stronę WordPress dla akademii. Ale mój klient ma więcej niż jedną witrynę. Więc muszę ustawić stronę główną, która zawiera opcję wyboru witryny za pierwszym razem. Po prostu muszę ustawić stronę główną, która zawiera link do jakiejś witryny. Np.: Gdy użytkownik wchodzi na moją witrynę po raz pierwszy, musi pokazać stronę powitalną dla użytkownika.


title: Tworzenie motywu -> Określona strona główna

text:
Jestem początkujący w tworzeniu szablonu Wordpress od zera, więc jestem otwarty na wszelkie pomocne linki lub pomoc, której można mi udzielić :) Pytania: * Jak ten plik nazwałby się strona główna czy strona główna.php? * Jak mogę sprawić, aby oba cytaty były edytowane za pośrednictwem określonej strony zestawu w obszarze administracyjnym? Mam następujący kod HTML:

"Jeśli masz ze sobą odpowiedniego prawnika, mamy najlepszy wymiar sprawiedliwości na świecie"

Robert Trott - Sprawiedliwość

Strona główna »

Moja wiedza specjalistyczna »

O nas »

Referencje »

Zgłoszenia spraw »

Skontaktuj się z nami »

"Specjalizuję się w obronie karnej od ponad dziesięciu lat. Mam doświadczenie na wszystkich poziomach prawa karnego, od prawa drogowego i drobnych wykroczeń po poważne przestępstwa związane z narkotykami, przestępstwami seksualnymi, poważnymi napaściami lub morderstwami.

Będę Cię słuchać i udzielać uczciwych i uczciwych informacji. poufna reprezentacja."

Prawa autorskie © 2011 John Munro


title: Czy można przebudować tabelę wp_term_relationships?

text: Głupio obcięłam tabelę postów, nie zastanawiając się nad terminem relacje. Teraz mam kilka błędów 404, ponieważ są zerwane relacje terminowe. Czy można przebudować stół z prawidłowymi parami?


title: Jak wyświetlić mój pasek boczny tylko na określonej stronie?

text: Chciałbym wyświetlić wtyczkę tylko na pasku bocznym określonej strony. **Na przykład:** mam strony takie jak .. * strona główna * o nas * * podstrona 1 * * podstrona 2 * * podstrona 3 * * podstrona 4 **UPdate:** chcę pokazać, **wtyczka 1** w **podstronie 1** i **podstronie 4**, a nie na wszystkich innych stronach.Próbowałem `is_page('podstrona 1','podstrona 4')`, ale nie działa :(.proszę o pomoc.


title: Pokaż wszystkie tytuły postów

text:
Chcę zrobić link typu paralaksy, ale nie mam jeszcze pomysłu, jak się do tego zabrać. Muszę pobrać wszystkie tytuły postów z linkiem #, a następnie mogę wypróbować paralaksę. Poniżej znajduje się kod mojej obecnej strony kategorii. Chcę pokazać tam wszystkie posty..
 <?php if ( have_posts() ) : ?>
<?php single_cat_title('',true); ?>

 <?php while ( have_posts() ): the_post(); ?>
<?php the_title(); ?>

<?php the_content(); ?>
 <?php endwhile; ?> <?php jeszcze : ?> <?php endif; ?>

 Ładnie otrzymuję wszystkie tytuły postów z treścią. Nie ma problemu .. ale chcę dodać jeden div po H2, a następnie chcę pokazać

tytuł

tytuł

tytuł

tytuł
 ... ..
 Jak mogę to zrobić? Strona kategorii będzie wyglądać jak poniżej **Tytuł kategorii** Cały tytuł posta (lista) (pod wszystkimi postami) -------------- Tytuł postu Treść posta --------- ------ Tytuł posta Treść posta --------------- Tytuł posta Treść posta --------------- Tytuł posta Treść posta -- ------------- Tytuł posta Treść posta ---------------


title: Czy istnieje filtr, który programowo zmienia wyjście przełączania kart HTML w edytorze stron?

text: Zastanawiam się, czy Wordpress pozwala nam zmienić atrybut onclick przełączania zakładek w edytorze HTML? Na przykład jest to znacznik edytora wizualnego: Wizualne Chciałbym wiedzieć, czy możemy łatwo zmienić wartość atrybutu onclick za pomocą filtrów? Albo w jakikolwiek inny sposób... Dzięki.


title: Portal klienta (posty jako lista kontrolna)

text: To dość trudne zadanie: rozszerzamy nasze usługi dla naszych klientów. Nasi klienci muszą robić takie rzeczy, jak kupić konto programisty Apple, wygenerować klucz Google Analytics, kupić konto Google Play itp. Chciałbym ustawić standardowe posty i oznaczyć je jako listę rzeczy do zrobienia dla określonych użytkowników. Skonfigurowałem już niestandardowy typ postu usługi z kilkoma samouczkami jako postami, ale chciałbym dodać metabox z zarejestrowanymi użytkownikami i oznaczyć post jako „do zrobienia” i „zrobione”. Gdy użytkownik się loguje, lubię je pobierać i wyświetlać jako osobne listy. Czy ktoś ma jakiś pomysł, jak zacząć? Sam jestem projektantem i znam trochę PHP, ale nie jestem hardcorem..


title: Edytor Wordpress, zmiana owijania kodu (bbpress?)

text: Rozwijam motyw i używam jquery prettify do stylizacji tagów kodu. Sofar Uwielbiam upiększać, a wordpress w większości współpracuje. Kiedy tekst jest zawinięty w znaczniki `<code>`, wszystko działa elegancko. Ale w niektórych edytorach i w temacie /odpowiedź/edycja bbpress, edytor kod jest zawinięty w małe kreski, tak jak na tych forach, a czasami kod zostaje całkowicie zniekształcony. To, co chcę zrobić, to zmusić każdy edytor w mojej instalacji wordpress lub przynajmniej przyciski `code` w edytorze, aby zawijały kod w tagi zamiast małych kreski. Spojrzałem na niektóre filtry, ale sofar nie widzę, jak zmienić wyjście lub zachowanie malutkich, fantazyjnych przycisków edytora mce, które są standardem w wordpressie. Dzięki za wskazówki lub sugestie.


title: Jak dodać tagi (niestandardowa taksonomia) do publikowania klasy css?

text: Próbuję dowiedzieć się, jak dodać moją niestandardową taksonomię dla tagów do css klasy post, gdy już dodałem niestandardową taksonomię dla kategorii. Kod, którego obecnie używam do dodania taksonomii kategorii, to - <?php $terms = get_the_terms( $post->ID, 'videoscategory' ); ?> <div class="box<?php foreach( $terms as $term) echo ' ' . $term->slug; ?>"> Działa to dobrze, ale muszę również dodać klasę dla utworzonych przeze mnie tagów z niestandardową taksonomią. Natknąłem się na ten kod, który doda zwykłe tagi, ale muszę użyć moich niestandardowych tagów. <?php $tagi = get_the_tags(); if( $tags ) : ?> <?php foreach( $tags as $tag ) { ?> <span class="<?php echo $tag->slug; ?>"><a href="<?php echo get_tag_link($tag->term_id); ?>"><?php echo $tag->nazwa; ?> <?php } ?> <?php endif; ?> Dzięki.


title: Strona pojedynczego posta ze statycznego domu nie działa

text:
Mam problem z wyświetleniem jednej strony posta. Mam następujący kod na statycznej stronie głównej: <?php $args = array( 'numberposts' => 5, 'order'=> 'ASC', 'orderby' => 'date' ); $lista postów = get_posts( $args ); foreach ($postslist jako $post) : setup_postdata($post); ?>

<?php the_date(); ?>

 <a href="<?php get_permalink();?>"> <?php the_title(); ?>
 <?php the_excerpt(); ?>
 <?php endforeach; ?> To pobiera najnowsze posty. Próbuję zrozumieć, jak działa strona z pojedynczym postem, kopiując ją z folderu motywu dwadzieścia dwanaście wp, ale z jakiegoś powodu to nie działa. Naprawdę byłbym wdzięczny za każdą pomoc we wskazaniu wskazówek, którymi powinienem się kierować, aby pojedynczy.php działał. Dziękuję Ci.


title: Jak mogę zainstalować WordPress jako dostawcę blogów, stabilny?

text: czy mogę stworzyć dostawcę blogów, takiego jak Wordpress.com? Jakie funkcje i wtyczki istnieją na wordperss.com, ale nie możemy ich mieć w naszej witrynie klonowania darmowego źródła WordPress?


title: Sortowanie aukcji WP według daty/ceny?

text:
Używam tej wtyczki o nazwie WP Auctions z wtyczką List i jak można się domyślić, służy ona do wyświetlania listy aukcji na stronie podobnej do eBay, na której użytkownicy mogą licytować przedmioty. Konfiguracja jest prosta. Muszę go tylko aktywować i podłączyć shortcode. Powodem, dla którego mam problemy, jest to, że chcę, aby użytkownicy mogli sortować listę aukcji według ceny i daty. Niestety nie jest to wbudowane we wtyczkę. Jednak autor wbudował filtry w shortcode, więc mogę użyć czegoś takiego do uporządkowania listy według daty: [wpa_list_widget mode="list" order="data"] Lub mogę użyć czegoś takiego, aby uporządkować listę według ceny : [wpa_list_widget mode="list" order="price"] Jednak nie mogę umieścić obu krótkich kodów na jednej stronie. Więc moim pomysłem było użycie zakładek jQuery (treść przez AJAX) i umieszczenie jednego shortcode na stronie i wywołanie drugiego przez AJAX. Jednak wydaje się, że to nie działa. Oto jak mam skonfigurowany szablon strony aukcji:

Uporządkuj według daty

<a href="<?php bloginfo('template_url'); ?>/auction_price.php">Zamów według ceny

 < ?php echo do_shortcode('[wpa_list_widget mode="list" order="data"]'); ?>

 Przy tej konfiguracji karta 1 wyświetla się dobrze; jednak karta 2 (uporządkowanie według ceny) nic nie pokazuje, a także nic nie pojawia się w kodzie HTML. W powyższym kodzie zauważysz, że próbuję wywołać zawartość z 'auction_price.php'. Poniżej przedstawiam, w jaki sposób mam aktualnie skonfigurowany szablon 'auction_price.php': <?php require('./wp-blog-header.php'); ?> <?php echo do_shortcode('[wpa_list_widget mode="list" order="cena"]'); ?> Tylko dwie proste linie. I na koniec poniżej skrypt, który to wszystko uruchamia: jQuery(document).ready(function($){ $(function() { $( "#tabs" ).tabs({ beforeLoad: function( event, ui ) { ui.jqXHR.error(function() { ui.panel.html( "Nieudane ładowanie." ); }); } }); }); }); Każda pomoc byłaby bardzo mile widziana!


title: Jak dodać kod do tuż przed zamknięciem tagu body

text: Jak umieścić poniższy kod dla określonego koszyka, tuż przed zamykającym tagiem body w mojej witrynie WordPress? W stopce? Wydaje mi się, że chciałbym wywołać tylko startcart() dla stron produktów. Dziękuję bardzo. <script language="javascript" type="text/javascript"> startcart() </script>


title: Ładowanie przez Ajax wtyczki, która również używa Ajax

text:
Mam problemy z niektórymi wtyczkami "formularza kontaktowego", których używa Ajax. Problem polega na tym, że używam Ajax do wywołania wtyczki. Następnie wtyczka jest ładowana, ale kiedy próbuję wysłać formularz, jestem przekierowywany na ten adres URL: `SITE/wp-admin/admin-ajax.php`, gdzie powinien wysłać żądanie Ajax, a tylko `0 ` jest wydrukowany w oknie. Myślę, że poprawnie używam Ajax: `functions.php`: function theme_name_scripts() { wp_enqueue_script( 'mi-script-ajax',get_bloginfo('stylesheet_directory') '/js/ajax-search.js', array( 'jzapytanie' ) ); wp_localize_script( 'mi-script-ajax', 'MyAjax', array( 'url' => admin_url( 'admin-ajax.php' ) ) ); } function llamadaAjax_callback() { $pageId = 0; $newSlug = ''; $reviewSlug = ''; $sPostType = 'dowolny'; $sCzęśćSzablonowa = ''; $sTaksonomia= fałsz; //Busqueda if( isset( $_POST['search'] ) ) { $sTemplatePart = 'search-ajax'; $sPostType = 'dowolny'; } //Linki elseif( isset( $_POST['href'] ) ) { $pageId = preg_match( '/^http:\/\/.+\/\?page_id=\d+$/', $_POST[' href'] ) ? substr( strrchr( $_POST['href'], '=' ), 1 ) : 'brak strony' ; if( $pageId === 'brak strony' && preg_match( '/^http:\/\/.+\/\?(aktualności|recenzje|entrevistas|radio_shows|podcasty|cat|tag)=[a-zA -Z0-9\-]+$/', $_POST['href'] ) ) { $newSlug = substr( strrchr( $_POST['href'], '=' ), 1 ); } elseif( $pageId === 'brak strony' && preg_match( '/^http:\/\/.+\/\?(artistas|sellos|generos)=[a-zA-Z0-9\-] +$/', $_POST['href'] ) ) { $sTaksonomia = prawda; } //$pageName = get_page_template_slug( intval( $pageId ) ); if( $pageId !== 'brak strony' ) { if( $pageId === '8' ) { $sPostType = 'dowolny'; $sTemplatePart = 'home-ajax'; } elseif( $pageId === '22' ) { $sPostType = 'recenzje'; $sTemplatePart = 'recenzje-rvw-ajax'; } elseif( $pageId === '6' ) { $sPostType = 'wiadomości'; $sTemplatePart = 'noticias-news-ajax'; } elseif( $pageId === '109' ) { $sPostType = 'entrevistas'; $sTemplatePart = 'entrevistas-ajax'; } elseif( $pageId === '112' ) { $sPostType = 'audycje radiowe'; $sTemplatePart = 'audycje-radiowe-ajax'; } elseif( $pageId === '412' ) { $sTemplatePart = 'podcasts-ajax'; } elseif( $pageId === '415' ) { $sTemplatePart = 'contacto-ajax'; } } elseif( $sTaxonomy === true ) { $sTemplatePart = 'recenzje-rvw-ajax'; $sPostType = 'recenzje'; } elseif( $newSlug !== '' ) { $sTemplatePart = 'single-ajax'; $sPostType = 'dowolny'; if( preg_match( '/^http:\/\/.+\/\?cat=\d+$/', $_POST['href'] ) ) { $sTemplatePart = 'kategoria-ajax'; $sPostType = 'kategoria'; } elseif( preg_match( '/^http:\/\/.+\/\?tag=[A-Za-z0-9\-]+$/', $_POST['href'] ) ) { $sTemplatePart = 'tagi-ajax'; $sPostType = 'znacznik'; } //get_template_part( 'single-ajax' ); } //Siguiente y Anterior } elseif( isset( $_POST['cadenaAll'] ) && ( isset( $_POST['cadenaPrev'] ) || isset( $_POST['cadenaNext'] ) ) ) { if( isset( $_POST['pageName'] ) ) { if( $_POST['pageName'] === 'recenzje' ) { $sPostType = 'recenzje'; $sTemplatePart = 'next_reviews-rvw-ajax'; } elseif( $_POST['pageName'] === 'news' ) { $sPostType = 'news'; $sTemplatePart = 'next_noticias-news-ajax'; } elseif( $_POST['pageName'] === 'entrevistas' ) { $sPostType = 'entrevistas'; $sTemplatePart = 'następny_entrevistas-ajax'; } elseif( $_POST['pageName'] === 'audycje-radiowe' ) { $sPostType = 'audycje-radiowe'; $sTemplatePart = 'next_radio-shows-ajax'; } elseif( $_POST['pageName'] === 'podcasty' ) { $sPostType = 'podcasty'; $sTemplatePart = 'next_podcasts-ajax'; } elseif( $_POST['pageName'] === 'kategorie' ) { $sPostType = 'kategoria'; $sTemplatePart = 'następne_kategorie-ajax'; } elseif( $_POST['pageName'] === 'tagi' ) { $sPostType = 'znacznik'; $sTemplatePart = 'następny_tags-ajax'; } elseif( $_POST['pageName'] === 'szukaj' ) { $sPostType = 'any'; $sTemplatePart = 'next_search-ajax'; } } } //Submenu echo '

'; if( $sPostType !== '' ) { if( $sPostType == 'dowolny' || $sPostType == 'kategoria' || $sPostType == 'tag' ) { $allCategories = get_categories(); foreach( $allCategories as $cat ) { echo '
cat_ID). '">' . $kot->nazwa . '
'; } } else { global $wpdb; // ustaw tutaj relację docelową $post_type = $sPostType; $taksonomia = 'kategoria'; $terms_ids = $wpdb->get_col( $wpdb->prepare( " SELECT tt.term_id FROM {$wpdb->term_relationships} tr, {$wpdb->term_taxonomy} tt, {$wpdb->posts} p WHERE 1= 1 AND tr.object_id = p.id AND p.post_type = '%s' AND p.post_status = 'publish' AND tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.taxonomy ='%s' ”, $post_type, $taxonomy ) ); $terms = get_terms( $taxonomy, array( 'include' => $terms_ids, 'orderby' => 'name', 'order' => 'ASC' ) ); //$aTypeCategories = get_categories( array( 'post_type' => $type, 'number' => '10' ) ); foreach( $terms as $cat ) { echo '
term_id). '">' . $kot->nazwa . '
'; } } } else { echo '
Kategorie grzechów
'; } echo '

'; if( $sCzęśćSzablonowa ) get_template_part($sCzęśćSzablonowa); } add_action( 'wp_enqueue_scripts', 'theme_name_scripts' ); add_action ('wp_ajax_llamadaAjax', 'llamadaAjax_callback'); add_action ('wp_ajax_nopriv_llamadaAjax', 'llamadaAjax_callback'); oraz w pliku `/js/ajax-search.js`: jQuery(document).ready(function($) { var linksPages = $('.menu-menu-container a'); linksPages.on('kliknij' ,function(e){ e.preventDefault(); $('#content').addClass('cortinaOut');if(!$(this).attr('href').match(/=8$/) ) { $('#slider').fadeOut(800); } jQuery.post(MyAjax.url, {action : 'llamadaAjax' ,href : $(this).attr('href') }, function(response) { setTimeout(function() { $('#content').html(response).fadeIn(); $('#content').removeClass('cortinaOut'); }, 500); }); }); }); Próbuję znaleźć problem od dwóch dni. Jakiś pomysł, jak to rozwiązać?


title: Jak połączyć podmenu Custom Post Type ze stroną Galerii Nextgen?

text: Stworzyłem niestandardowy element menu najwyższego poziomu postów, ale chciałbym mieć podmenu pod tym linkiem do strony Dodaj galerię w Nextgen, ponieważ klient chce, aby wszystkie ich funkcje były połączone w jeden element menu najwyższego poziomu. Na razie robię: add_submenu_page( 'edit.php?post_type=events', 'Dodaj galerię', 'Dodaj galerię', 'administrator', 'nggallery-add-gallery', 'event_add_gallery' ); Ale link wygląda tak: http://example.com/wp-admin/edit.php?post_type=events&page=nggallery-add-gallery Czy jest jakiś sposób, aby to osiągnąć?


title: Zmiana domyślnej zakładki biblioteki multimediów

text: > **› Uwaga moderatora ‹** > > To pytanie istnieje, ponieważ spełnia określone kryterium i/lub ma > znaczenie historyczne. Aktualne odpowiedzi nie działają dla aktualnych wersji WordPressa >. Jeśli masz działające rozwiązanie, dodaj je jako nową odpowiedź. Jeśli > masz _dokładnie_ to samo pytanie, możesz zaoferować nagrodę, aby przyciągnąć > działające rozwiązania. Podczas dodawania multimediów do postu z Biblioteki multimediów ramka iframe, która otwiera się w wyskakującym okienku, ma następujące karty: 1. Z komputera 2. Z adresu URL 3. Biblioteka multimediów „Z komputera” jest obecnie domyślną opcją, ale prawie nigdy jej nie używam i przełączam do `Biblioteki multimediów` zajmuje za każdym razem około 3-4 sekund, zastanawiam się, czy można jakoś ustawić ją jako domyślną? Dziękuję


title: Przekieruj użytkownika na podstawie jego języka i kraju za pomocą WPML

text: Używam WPML jako rozwiązania językowego na moim blogu (w moim przypadku jest to angielski i hiszpański) Chciałbym wiedzieć, czy istnieje prosty sposób na wykrycie, skąd pochodzi użytkownik (z jakiego kraju .. wierzę przez IP) i przekierować go natychmiast na stronę hiszpańską lub angielską. na przykład: moja witryna to **www.website.com**, a hiszpańska wersja to **www.website.com/es** Chcę, żeby ludzie z, powiedzmy, Argentyny (i innych krajów latynoskich) zobaczyli **www. website.com/es** i kraje anglojęzyczne będą domyślnie widzieć zwykłą angielską stronę główną. Czy ktoś ma rozwiązanie? Wielkie dzięki Gil


title: Po dodaniu nowego pola w tabeli postów moje wszystkie posty nie wyświetlają się w sekcji postów w php wordpress

text: Stworzyłem moduł na posty. Teraz muszę zmodyfikować ten moduł, dodając do niego nową kolumnę. Zrobiłem to i działa dobrze na lokalnym, ale kiedy wgrywam kod na serwer live, żaden post nie jest dla mnie widoczny. jeśli usunę nowo dodaną kolumnę, to działa dobrze, pomóż mi rozwiązać ten problem.


title: Jak skonfigurować CDN dla całej zawartości?

text: Wiem, że można skonfigurować sieć CDN z W3 Total Cache dla zawartości pamięci podręcznej. Jak jednak skonfigurować CDN z WordPressem, aby początkowo przesyłać całą zawartość multimedialną (obrazy, filmy, pliki itp.) bezpośrednio do CDN zamiast do mojego hosta internetowego / instalacji lokalnej. Chciałbym całkowicie ominąć przesyłanie treści na moje konto hostingowe i po prostu hostować je przez CDN. Na przykład: jeśli przesłałem obraz przez WordPress, chciałbym, aby został automatycznie wysłany do CDN.


title: Zapobiegaj przesyłaniu dużych obrazów

text: Chcę uniemożliwić użytkownikom mojego bloga przesyłanie obrazów o dużym rozmiarze. I mam na myśli duży rozmiar w pikselach, a nie MB. Maksymalne przesyłanie jest ustawione na 8 MB, co powinno być w porządku, ale nie chcę uniemożliwić przesyłania obrazów większych niż 3000 x 3000 pikseli. Czy brakuje mi jakiegoś haczyka, do którego mógłbym napisać funkcję informującą użytkowników, że ich obraz jest za duży?


title: odfiltrować "bez kategorii" ze wszystkich aukcji kategorii za pomocą jednego filtra w functions.php?

text: Chciałbym dodać kod do mojego functions.php, aby przechwycić wszystkie wywołania wp_list_categories() ORAZ the_category(), aby wykluczyć „bez kategorii” i wszystkie dzieci „bez kategorii” (LUB cat_id 1). Chciałbym również ograniczyć liczbę słów zwracanych w atrybucie „title” każdego zakotwiczenia elementu listy. Obecnie domyślnym ustawieniem jest ustawienie $cat_args['use_desc_for_title'] = 1; ale wygląda na to, że nie można wstawić tego do poniższego filtra wykluczeń. Używam poniższego kodu, który skutecznie usuwa niechciane kategorie z list używających wp_list_categories, jednak nie usuwa ich z list pochodzących z the_category... function my_list_terms_exclusions($exclusions,$args) { $children = implode( ',',get_term_children(1,'kategoria')); $dzieci = (puste($dzieci) ? '' : ",$dzieci"); zwróć $wykluczenia . " AND (t.term_id NOT IN (1{$children}))"; } add_filter('list_terms_exclusions', 'my_list_terms_exclusions', 10, 2);?>


title: Zainicjuj funkcję hook, aby wywołać inny hook w function.php

text: Próbuję dodać funkcję w haku `init`, która wywoła inny hak w ten sposób: add_action( 'init', 'loadAfterUserRegistrationHook' ); function loadAfterUserRegistrationHook(){ add_action( 'user_meta_after_user_register', 'createNewPost' ); } function createNewPost( $response ){ global $userMeta; $IDużytkownika = $odpowiedź->ID; $użytkownik = nowy WP_User( $userID ); $rola = $userMeta->getUserRole(); if( $role = 'artiste' ){ $newPost = array( 'post_title' => $user->nickname, 'post_content' => $user->description, 'post_status' => 'oczekujące', 'post_author' = > $userID, 'post_type' => 'cpt_artists' ); $post_id = wp_insert_post( $nowyPost ); error_log('Identyfikator posta: '.$post_id); wp_set_object_terms ($post_id, array('dj'), 'kategoria-wykonawcy'); } } Dlaczego funkcja `createNewPost` nie jest wykonywana?


title: Dlaczego mój hak aktywacji wtyczek nie działa?

text: Czy ktoś może mi powiedzieć, dlaczego to nie działa? Próbuję zmusić go do utworzenia pliku w katalogu wtyczek. Po tym, jak to działa, spróbuję uzyskać to, aby utworzyć plik w katalogu aktywnego motywu. Czy ktoś może mi tu pomóc? **EDYTUJ** Zmieniłem swój kod, teraz tworzy plik, ale nawet nie wprowadza do pliku tekstu „Testowanie”. Czy jest coś, czego tu brakuje? $nazwapliku = __PLIK__; register_activation_hook($nazwa pliku, 'superActivation'); register_deactivation_hook($nazwa pliku, 'superdezaktywacja'); globalny $myFile, $fh, $stringData, $filename, $pluginbase, $full_plugindir; $myFile = "../wp-content/themes/string/testFile.php"; $stringData = "Testowanie\n"; $fh = fopen($myFile, 'w') or die("nie można otworzyć pliku"); funkcja superActivation() { global $myFile; globalne $fh; globalne $stringData; globalna $nazwa pliku; fwrite($fh, 'test'); fzamknij($fh); } function superDeaktywacja() { global $myFile; if(is_file("$myFile")) { unlink("$myFile"); } }


title: Wtyczka nie pojawia się i odmawia instalacji

text: Próbuję zainstalować wtyczkę SEO by Yoast. Mój WordPress jest hostowany na DigitalOcean (wcześniej hostowany na OVH) i znajduje się w /var/www/. Kiedy zaglądam do /var/www/wp-content/plugins/, nie ma folderu wordpress-seo. W moim panelu, kiedy instaluję wtyczkę, WordPress wyświetla: Instalowanie wtyczki… Folder docelowy już istnieje. /homez.722/culturesc/www/wp-content/plugins/wordpress-seo/ Co ciekawe, nie mam folderu /homez.722/culturesc/ na moim serwerze (nie mogę go znaleźć). Wygląda na to, że Wordpress nie instaluje wtyczki w /var/www/wp-content/plugins/ i prawdopodobnie jest to powód, dla którego kiedy ręcznie wgrywam wordpress-seo w katalogu wtyczek, nie pojawia się on na moim pulpicie nawigacyjnym. Co się dzieje?


title: Po przepisaniu adresu URL typu posta liczba zapytań dramatycznie wzrosła

text: Przepisałem adres URL typu post, a główna pętla ( example.com/post-type/ ) generuje kosztowną liczbę zapytań. Mam więc typ posta "cd" i taksonomię "artist", a adres URL to: * example.com/cd * example.com/cd/artist/name-cd * example.com/cd/artist Kod... add_filter( 'post_type_link', 'cd_type_link', 1, 3 ); funkcja cd_type_link($link,$post) { global $post; $post_type = 'cd'; $taksonomia = 'artysta'; $terms = wp_get_object_terms($post->ID, $taksonomia); $ślimak = $terms[0]->ślimak; $post_name = $post->post_name; if ( $post->post_type == $post_type ) { $link = get_post_type_archive_link($post_type) ."/{$slug}/{$post_name}"; } return $link; } ............................................. ..... add_action('init', 'new_add_rules'); function new_add_rules() { add_rewrite_rule( '^cd/([^/]*)/([^/]*)?', 'index.php?post_type=cd&cd=$matches[2]&artist=$matches[1] ',             'Top'         ); add_rewrite_rule( '^cd/([^/]*)/?', 'index.php?post_type=cd&artist=$matches[1]', 'top' ); globalne $wp_rewrite; $wp_rewrite->flush_rules(); } Pętla w archive-cd.php : <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php endwhile; endif; wp_reset_query(); ?> Bez przepisywania adresu URL zapytania są niskie. W przypadku przepisywania adresów URL zapytania są wysokie. Problemem jest "the_permalink()", ponieważ jeśli zostawię funkcję the_permalink(), to liczba zapytań znacząco spadnie. Jak mogę rozwiązać? Dziękuję.


title: Układ siatki „ostatnia” klasa do co trzeciego elementu

text: Wygląda na trywialny problem, ale nie mogę go uruchomić. Muszę dodać `class="last"` do co trzeciego posta. Oto mój kod: <?php $liczba = 0; $my_query = nowe WP_Query('cat=-18,-7&showposts=9'); while ($my_query->have_posts()) : $my_query->the_post(); ?> <article class="<?php if ($liczba % 3 == 0) { echo "ostatni "; }" ?>> </artykuł> <?php $liczba++; koniec; ?>


title: Zatrzymaj wyświetlanie niektórych klas w menu rozwijanym TinyMCE Advanced Style

text: Używam wtyczki TinyMCE Advanced, dzięki czemu mogę dodawać własne style do listy rozwijanej Style w Edytorze wizualnym. Jednak nie chcę, aby niektóre style zawarte w pliku style.css były tam wymienione, ponieważ są to klasy „wewnętrzne” (do wyrównywania obrazów itp.). Czy istnieje sposób, aby zatrzymać wyświetlanie tych zajęć na liście rozwijanej? Albo zmieniając konfigurację TinyMCE Advanced, albo edytując plik CSS w określony sposób?


title: Jak działa oEmbed

text: Chcę zacząć od jakiegoś problemu, który mam: używam wtyczki buddypress, teraz chcę dodać do niej trochę funkcjonalności: chcę osadzić linki, tak jak robi to facebook (lub jakikolwiek inny portal społecznościowy). Napisałem dla niego kod, który zapisuje informacje o linkach w metatablicy. Ze względu na wydajność myślę, że spowalnia zapytanie za każdym razem, gdy sprawdzam metatablicę, jeśli dla tej aktywności istnieje meta „aktywność_linku”. Postanowiłem więc użyć tego, co już jest w zapytaniu - i to oEmbed. Odkryłem, że kiedy linkuję youtube (na przykład), zawartość aktywności nadal zawiera ten link, a w tabeli meta jest trochę meta (oembed_something) Myślałem, że zaglądając do kodu, jak jest napisany, ale dla mnie wydawało się to zbyt skomplikowane. Czy mógłbyś mi powiedzieć, czy ten hack jest możliwy (nie chodzi o to, że wszystko jest możliwe, ale po prostu możliwe), jeśli tak - chcę teraz jakiś podstawowy mechanizm działania. paritcaullary: JEŚLI sam wykryję ten link, pod jaką nazwą zapisać tę meta, abym mógł manipulować wp_oembed


title: Załaduj treść posta do iframe

text: Chciałbym załadować post Wordpress do iframe po kliknięciu linku na stronie Wordpress. To jest link, który aktualnie posiadam. ID) . '" target="map-loader">Przeczytaj raport Następnie chcę załadować treść tego posta (bez nagłówka, stopki itp.) do iframe po kliknięciu linku. To jest element iframe znajdujący się na stronie.  Jestem w połowie drogi. Po kliknięciu linku iframe ładuje pełną stronę wordpress z nagłówkiem i stopką itp. Chcę, aby rzeczywista zawartość posta została załadowana do iframe, bez nagłówka ani stopki. Próbowałem tego w map-iframe.php, ale bez powodzenia. Nadal ładuje cały szablon wordpress. <?php the_content('Przeczytaj resztę tego wpisu »'); ?> Myślę, że mój link potrzebuje czegoś, co określa, że chcę tylko załadować treść posta. A może lepiej byłoby załadować z ajaxem?


title: Strona główna Wordpress

text: Konfiguruję Wordpress w wersji 3.8.1 na mojej stronie. Jest instalowany w katalogu głównym domeny (`http://www.mywebsite.com/[instalacja wordpress]`). Dodałem stronę "Strona główna". Później podczas edycji ustawień menu zauważyłem, że były dwa wpisy dla Home. Po dalszym dochodzeniu odkryłem, że strona główna, którą stworzyłem, zawierała link do `http://www.mywebsite.com/home/`. Więc teraz mam dwa pytania: 1. Jak naprawić permalink dla mojej strony domowej, tak aby był `http://www.mywebsite.com/`? 2. Skoro jestem w stanie wejść tylko na jedną ze stron głównych pokazanych w ustawieniach menu, w jaki sposób mogę pozbyć się dodatkowej strony głównej, aby mieć tylko jedną edytowalną stronę główną?


title: Wordpress problem z przesyłaniem wielu obrazów

text: Miałem świetny samouczek na http://themefoundation.com/. Śledziłem go i działa dla mnie. Teraz o programie do przesyłania obrazów, działa tylko dla jednego metaboxa. Czy nie może być dla wielu metaboxów? kod Przykładowe przesyłanie pliku <input type="text" name="meta-image" id="meta-image" value="<? php echo $example_storeed_meta['meta-image'][0]; ?>" /> <input type="przycisk" id="meta-image-button" class="button" value="Wybierz lub prześlij obraz" /> Teraz, jeśli dodam kolejne pole przesyłania, to się zepsuje. Przesyłanie przykładowych plików <input type="text" name="meta-image" id="meta-image" value=" <?php echo $example_storeed_meta['meta-image'][0]; ?>" /> <input type="button" id="meta-image-button-1" class="button-1" value=" Wybierz lub prześlij obraz" /> Kod tego jQuery(document).ready(function($){ // Tworzy instancję zmiennej przechowującej ramkę biblioteki multimediów. var meta_image_frame; // Uruchamia się po kliknięciu przycisku obrazu. $ ('#meta-image-button').click(function(e){ // Zapobiega wykonaniu domyślnej akcji. e.preventDefault(); // Jeśli ramka już istnieje, otwórz ją ponownie. if ( meta_image_frame ) { meta_image_frame.open(); return; } // Ustawia ramkę biblioteki multimediów meta_image_frame = wp.media.frames.meta_image_frame = wp.media({ title: meta_image.title, button: { text: met a_image.button }, biblioteka: { type: 'image' } }); // Uruchamia się, gdy wybrany jest obraz. meta_image_frame.on('select', function(){ // Pobiera zaznaczony załącznik i tworzy reprezentację JSON modelu. var media_attachment = meta_image_frame.state().get('selection').first().toJSON() ; // Wysyła adres URL załącznika do naszego niestandardowego pola wejściowego obrazu $('#meta-image').val(media_attachment.url); }); // Otwiera ramkę biblioteki multimediów. meta_image_frame.open(); }); }); I na koniec szykowne skrypty. function example_image_enqueue() { global $typenow; if( $typenow == 'post' ) { wp_enqueue_media(); // Rejestruje i umieszcza w kolejce wymagany javascript. wp_register_script( 'meta-image', get_stylesheet_directory_uri() . '/meta-image.js', array( 'jquery') ); wp_localize_script( 'meta-image', 'meta_image', array( 'title' => 'Wybierz lub prześlij obraz', 'button' => 'Użyj tego obrazka', ) ); wp_enqueue_script( 'meta-obraz' ); } } add_action( 'admin_enqueue_scripts', 'example_image_enqueue' ); Dziękuję


title: Jak wyświetlić listę 5 niestandardowych typów postów w zależności od komentarzy?

text:
Prowadzę stronę internetową z niestandardowymi typami postów. Chciałbym pokazać moim odwiedzającym moje 5 najlepszych niestandardowych postów na podstawie liczby ich komentarzy. Mam już kod, ale pokazuje on 5 ostatnich postów, a nie 5 najczęściej komentowanych postów niestandardowych. Jeśli jest to zbyt trudne, może wyświetlać losowe posty. Oto kod, który mam:

 Ostatnie posty
 <?php $my_query = new WP_Query('post_type=customp&showposts=5'); while ($my_query->have_posts()) : $my_query->the_post(); ?>
 <?php if ( has_post_thumbnail() ) { ?> <img class="thmb" src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src =<?php get_image_url(); ?>&h=80&w=90&amp" alt="<?php the_title(); ?> Przepis"/> <?php } else { ?>  <?php } ?>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">< ?php echo short_title('...', 5); ?>

 Data: <?php the_time('M - j - Y'); ?>

<?php comments_popup_link('0 komentarza', '1 komentarz', '% komentarzy'); ?>

 <?php endwhile; ?>


title: Błąd kanału RSS zatrzymując parsowanie szablonu strony

text:
mam nadzieję, że możesz mi w tym pomóc! Mam niestandardowy szablon strony, który pobiera kanał RSS z oddzielnej witryny (należącej do tego samego faceta, mojego klienta). Podczas testowania strony na moim własnym serwerze działa pięknie, ale kiedy przeniosłem motyw do instalacji Wordpress moich klientów (oba są w wersji 3.0.1), kanał się nie pojawił, podobnie jak pasek boczny lub stopka strony. Kiedy zbadałem dalej, okazało się, że WP po prostu przestaje analizować szablon strony, gdy trafi on na sekcję kanału. Podejrzewam konflikt wtyczek, chociaż nie byłem w stanie zreplikować błędu na moim własnym serwerze, nawet jeśli zainstalowałem te same wtyczki co mój klient i skonfigurowałem je podobnie. Jakieś pomysły, co może powodować duszenie WP? Naprawdę byłbym wdzięczny za wszelkie wskazówki. Dla porównania, oto kod kanału RSS, którego używam: <?php // Pobierz obiekt kanału SimplePie z określonego źródła kanału. $rss = fetch_feed('http://digitaldads.com/feed/'); if (!is_wp_error( $rss ) ) : // Sprawdza, czy obiekt jest tworzony poprawnie // Sprawdź, ile jest wszystkich elementów, ale ogranicz to do 5. $maxitems = $rss->get_item_quantity(5); // Zbuduj tablicę wszystkich elementów, zaczynając od elementu 0 (pierwszy element). $rss_items = $rss->get_items(0, $maxitems); endif; ?>
 <?php if ($maxitems == 0) echo '
Brak elementów.
'; else // Przejść w pętli każdy element kanału i wyświetlić każdy element jako hiperłącze. foreach ( $rss_items as $item ): ?>
 <a href='<?php echo $item->get_permalink(); ?>' title='<?php echo 'Wysłano'.$item->get_date('j F Y | g:i a'); ?>'> <?php echo $item->get_title(); ?>
 <?php endforeach; ?>
 Dzięki! Jason


title: Dlaczego moja instalacja Wordpress przy użyciu pełnych ścieżek katalogów serwera dla adresów URL multimediów?

text:
Więc mam ten blog Wordpress na ilovetheupperwestside.com. Używa motywu Aggregate z Elegant Themes. Przeniosłem go z tymczasowej lokalizacji do bieżącego adresu URL. Ta akcja zepsuła kilka rzeczy, ale dzięki wtyczce o nazwie „Velvet Blues Update URLs” i (bezpiecznemu serializacji) skryptowi wyszukiwania i zamiany bazy danych prawie wszystko zostało naprawione. Wydaje się, że jeden problem nadal pozostaje. Ścieżki multimediów generowane przez Wordpress to ścieżki katalogów serwera, przykład z tego artykułu:

  Omawiany plik to nowy plik, który właśnie przesłałem. Miniatura została wygenerowana przez Wordpress z błędnym adresem URL. Wydaje się, że dzieje się tak w przypadku wszystkich treści multimedialnych. Czy ktoś ma pojęcie o co chodzi? Każda pomoc byłaby bardzo mile widziana.


title: zdefiniuj klasę css w functions.php

text: W moim motywie używam opcji motywu, aby ustawić kolory na kategorie (kolory nagłówków, kolory dzielników itp.). Sposób, w jaki to robię, polega na zdefiniowaniu zmiennych, które przechowują heksa kolorów, jak na przykład: $category1_color = get_option('category1_color'); $category2_color = get_option('category2_color'); itd. itd.. i w moim adminie ustawiłem kolor ( **np. - #ffccoo lub żółty** ) w "opcjach motywu", które już zbudowałem, gdzie mój klient może łatwo zmienić globalne kolory dla każdego elementu kategorii w ciągu sekundy. na przykład: if (is_category("news")) { echo 'style="border-bottom-color:' .$category1_color .';"'; } ?> teraz - mój klient ma niestandardowe menu górne, które posiada pozycje (głównie kategorie) Chcę, aby mógł również zmieniać kolor tekstów w menu. teraz wiem, że można dodać klasę do każdego elementu menu (jest to dość proste), ale nie chcę tworzyć klas w pliku CSS, ponieważ nie jest dynamiczny, chcę, aby przechwycił zmienną, która została już zmieniona przez klient np - **$category1_color** (powiedzmy, że jest teraz ustawiony na fioletowy) i przypisz go dynamicznie do klasy o nazwie "category1-item", która jest używana jako klasa w elemencie menu, więc jeśli później klient się zmieni kolor w moich opcjach motywu dynamicznie zmienia również kolor elementu menu bez wchodzenia do pliku CSS i jego edycji. Myślałem o ustawieniu klasy w pliku **functions.php** i po prostu zapisałem już utworzoną zmienną (która już zawiera kolor) w tej klasie, tak jak: category1-item = $category1_color Po prostu nie wiem jak dodać klasy do pliku functions.php i przechowywać zmienną w każdej klasie. dowolny pomysł?


title: Neaten content – inny widżet czy zmiana CSS?

text: Chcę uporządkować zawartość w widżecie. Nie jestem pewien, czy powinienem użyć innego widżetu, czy uzyskać zmianę w wykonanym CSS, czy coś innego... Na dużym ekranie na tej stronie: http://richardclunan.com/ …po prawej stronie z boku, sekcja „Z mojej skrzynki odbiorczej” – to widżet Tekst. Na dużym ekranie wiersze tekstu wyglądają na zbyt długie. Chciałbym, aby długość linii była krótsza niż pola tekstowe nad nimi. (Na mniejszym ekranie widżet wyskakuje na sam dół strony, a linie są krótsze niż pola tekstowe nad nimi — w ten sposób wygląda to ładniej). Czy mogę użyć innego widżetu, aby to uporządkować? Czy muszę w tym celu dokonać zmiany CSS?


title: Dodanie drugiego adresu e-mail do zrealizowanego zamówienia w WooCommerce

text: Zanim zadam to pytanie, wiem, że istnieje (uzasadnione) wahanie, aby odpowiedzieć tutaj na pytania dotyczące produktów Woo, ponieważ mają one własne wsparcie i ich użytkowników należy zachęcać do korzystania z niego. Jestem płatnym użytkownikiem Woo, ale nie mogłem rozwiązać tego z ich płatnym wsparciem, a moje pytanie dotyczy zastępowania klas w WP, więc mam nadzieję, że zostanie to wysłuchane. Moje pytanie: kiedy wypełniony e-mail z zamówieniem jest wysyłany do klienta, muszę również otrzymać ten e-mail, dosłownie i automatycznie, dokładnie tak, jak jest wysyłany do klienta, a nie w jakimkolwiek innym formacie, takim jak tworzony przez różne faktury PDF wtyczki do WooCommerce. Mogę to bardzo łatwo osiągnąć, zmieniając następujący wiersz w `/woocommerce/classes/emails/class-wc-email-custom-completed-order.php`: $this->send( $this->get_recipient(), $ this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); czytać: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); $this->send( ja@myemail.com, $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); Jednak oczywiście taki hack nie przetrwa aktualizacji. Mam motyw potomny, który zastępuje szablony WooCommerce. Czy istnieje jakiś równoważny mechanizm, za pomocą którego mogę zastąpić klasę w podobnie hermetyzowany sposób? A może możesz polecić inne podejście (oprócz ustawienia serwera SMTP na UDW wszystkich wychodzących wiadomości e-mail na drugi adres) w celu wykonania mojego konkretnego zadania polegającego na otrzymaniu tej wiadomości e-mail, gdy klient również ją otrzyma?


title: Jak wyświetlić duży obraz na stronie kasy za pomocą wtyczki WP Ecommerce?

text: Chcę teraz pokazać duży obraz na stronie kasy, pokazując obraz o rozmiarze 31x31 w `wpsc-shopping_cart_page` i używając `<img src="<?php echo wpsc_cart_item_image(); ?>` do wywołania miniatury. co mam zrobić w tym celu? ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/osB40.jpg)


title: Wordpress db przygotuj

text: Nie próbuję używać $wpdb->insert, ale przygotowuję się. Metoda Insert będzie miała jeden ciąg zapytania i tablicę zawierającą # danych, które nie są zdefiniowane, ale zostaną zdefiniowane dla każdego słowa kluczowego ciągu zapytania. Na przykład ciąg zapytania „adres.insert” definiuje ciąg zapytania z 3 zmiennymi, gdy przetwarza zapytanie, takie jak właściciel_id, adres_informacje, miasto. Zamiast używać $owner_id, ... , $country w sekcji $wpdb->prepare, próbuję przekazać tablicę zawierającą wszystkie zmienne wymienione poniżej. Czy ktoś wie, czy przekazanie tablicy do przygotowania jest wykonalne? To nie działało dla mnie, kiedy próbowałem. Działa $sql = $wpdb->prepare($this->queryArray[$selectQuery], $owner_id, $address1, $address2, $city, $zip, $country); Próba wykonania $sql = $wpdb->prepare($this->queryArray[$selectQuery], $inputArray); Oto przykładowy kod. public function Insert ($selectQuery, $inputArray) { spróbuj { global $wpdb; $wpdb->show_errors(); $sql = $wpdb->prepare($this->queryArray[$selectQuery], $owner_id, $address1, $address2, $city, $zip, $country); $wynik = $wpdb->zapytanie($sql); zwróć $wynik; } catch(Wyjątek $e) { echo $e->getMessage(); powrót -1; } } Rozwiązany: To po prostu działa dobrze. $sql = $wpdb->przygotuj($this->queryArray[$selectQuery], $inputArray);


title: Dodanie dodatkowego atrybutu do łącza menu za pomocą wp_nav_menu

text: Potrzebuję trochę pomocy, zasadniczo próbuję dodać niestandardowy atrybut danych do tagu we wszystkich pozycjach menu. W obecnej formie mam to: Strona główna Informacje i zamierzam mieć to: Strona główna Informacje Udało mi się znaleźć trochę informacji na temat rozbudowy Walkera klasy, a także znalazłem następujące pytanie - Dodawanie atrybutów do linku  w wp_nav_menu za pomocą niestandardowej funkcji Walker Spojrzałem na połączone pytanie/odpowiedź, ale nie mogłem do końca dowiedzieć się, jak zmienić funkcję start_el, aby odpowiadała moim potrzebom bez robienia to w podstawowych plikach WP. Doszedłem do rozszerzenia klasy: class My_Walker_Nav_Menu extends Walker_Nav_Menu { // function start_el(.... } Jakakolwiek pomoc w dostosowaniu tego do moich potrzeb byłaby świetna! Dzięki!


title: Używanie WHERE na WP_Query

text: Mam dwa niestandardowe typy postów: **Książki** i **Tematy**. W tym projekcie używam Super-CPT do tworzenia niestandardowych typów postów: $books = new Super_Custom_Post_Type( 'book', '', 'book', $register = array( 'supports' => array( 'title', 'edytor', 'miniaturka'), ) ); $subjects= new Super_Custom_Post_Type( 'subject', '', '', $register = array( 'supports' => array( 'title', 'editor'), 'hierarchical' => true, ) ); Aby wybrać tematy książki, tworzę meta pole i wartości z tematów: $profissionais->add_meta_box( array( 'id' => 'subjects', 'context' => 'side', 'fields' => array( 'subjects' => array( 'typ' => 'wybierz', 'etykieta' => '', 'dane' => 'temat', 'wiele' => 'wiele' ) ) ) ); Teraz muszę pokazać na stronie każdego przedmiotu książki z tym tematem. Zaczynam od tego: $args = array( 'post_type' => 'book', ); $książki = nowe WP_Query($args); Ale nie wiem, jak iść do przodu. Próbuję zrobić coś takiego: SELECT book_title FROM books WHERE temat = tytuł strony tematu **UPDATE** Rozwiązano! $bieżący = pobierz_identyfikator(); $args = array( 'post_type' => 'book', 'posts_per_page' => -1, 'meta_key' => 'subjects', 'meta_value' => $current, ); $książki = nowe WP_Query($args);


title: „Ograniczenie open_basedir ” podczas zmiany adresów URL Wordpress

text: Otrzymuję te komunikaty o błędach podczas próby przeniesienia WordPressa (3.5.1) do innego katalogu (zmiana „Adres WordPressa (URL)” i „Adres witryny (URL)” z `http://example.nl/wordpress` na ` http://example.nl/business` używając „ustawień” WordPressa » „ogólne`) : > **Ostrzeżenie:** is_writable() [function.is-writable]: ograniczenie open_basedir > obowiązuje. >Plik(/) nie znajduje się w dozwolonych ścieżkach: > (/usr/share/php:/home/domainname.nl/:/usr/share/pear:/usr/sbin:/usr/bin:/ bin:/tmp:/etc/phpmyadmin:/usr/lib/php4:/usr/lib/php5:/opt/ioncube/lib) > w /home/nazwa_domeny.nl/public_html/wordpress/wp-admin/includes/ misc.php on > linia 133 > > **Ostrzeżenie:** Nie można modyfikować informacji nagłówka - nagłówki już wysłane przez > (wyjście rozpoczęte w /home/domainname.nl/public_html/wordpress/wp- > admin/includes/misc.php :133) in > /home/domainname.nl/public_html/wordpress/wp-includes/pluggable.php on-line > 876 Zapytałem na forum wordpress, powiedzieli, że "skontaktuj się z hostem w sprawie błędu open_basedir". Znalazłem odpowiedź Andrei na StackOverflow, która zasugerowała edycję `httpd.conf`, więc wysłałem ją wraz z komunikatem o błędzie do hostów. Gospodarze odpowiadają: > _Obawiam się, że nic nie możemy dla Ciebie zrobić. Aplikacja, która > wyświetla ten błąd, próbuje uzyskać dostęp do pliku w katalogu File(/) > Ten katalog jest niepoprawny. Musi być błąd programistyczny w kodzie PHP >._ Więc teraz nadal nie mam pojęcia, gdzie jest problem, ani jak go rozwiązać. Czy ty?


title: Dlaczego typ wpisu na stronie wyników wyszukiwania jest losowy?

text:
Myślę więc, że mogę robić coś fundamentalnie złego w moich motywach Wordpress, ponieważ ten problem wydaje się pojawiać od czasu do czasu i nie wiem dlaczego. Więc w zasadzie stworzyłem search.php i używam relevanssi do sortowania wyników wyszukiwania według trafności. Kiedy szukam „kamera” i robię „echo get_post_type();” otrzymuję „recenzje”, ale jeśli szukam „test” i robię „echo get_post_type();” otrzymuję „artykuły”. Próbowałem wstrzykiwać wp_reset_query() prawie wszędzie, aby spróbować i sprawdzić, czy zmieniam to losowo, ale tak nie jest. Myślę, że WP jest zdezorientowany, ponieważ moja strona wyników wyszukiwania nie jest tak naprawdę połączona z żadną konkretną stroną, więc nie jest ustawiona na określony typ postu. Czy istnieje sposób, aby była to strona? Każda pomoc jest mile widziana edytuj: dodałem poniższy kod. W var_dump widzę tylko rzeczy związane z zapytaniem, ale get_post_type() jest inne dla każdego wyszukiwanego terminu. search.php: <?php get_header(); globalny $ciąg_zapytania; $query_args = rozbij("&", $query_string); $search_query = tablica(); foreach($query_args as $key => $string) { $query_split = explode("=", $string); $search_query[$query_split[0]] = urldecode($query_split[1]); } // foreach $args = array( 'posts_per_page' => get_option('posts_per_page'), 's' => $search_query['s'] ); echo get_post_type() .'
'; var_dump($args); $search = nowe WP_Query($args); if( $search->have_posts() ) { while( $search->have_posts() ) { $search->the_post(); include( get_template_directory() . '/includes/templates/search_result.inc.php' ); } wp_reset_query(); } ?> Załaduj więcej wyników wyszukiwania <?php get_footer();


title: Pobierz typ posta w header.php

text:
Tworzę menu w wordpressie i chciałbym dodać **class="active"** do linku, gdy jego strona jest aktywna. Nie używam wbudowanej funkcji menu wordpress. Tworzę menu na stałe w pliku header.php, ponieważ te menu są połączone z niestandardowymi stronami archiwum posttype. Więc chciałbym, aby klasa była aktywna, jeśli jedna jest na stronie **pojedynczej** lub **archiwum** tego posttype. Oto co chciałbym zrobić: **header.php** <?php if ($post_type == "custom_post_type1") : ?>
Typ posta 1
 <?php else: ?>
Typ posta 1
 <?php endif; ?> <?php if ($post_type == "custom_post_type2") : ?>
Typ posta 2
 <?php else: ? >
Typ posta 2
 <?php endif; ?> Mam nadzieję, że dobrze wyjaśniłem czego szukam. Dziękuję.


title: Czy istnieje sposób na uruchomienie upgrade.php dla jednego bloga?

text: Właśnie uruchomiłem dzisiaj automatyczną aktualizację do wersji 3.9, ale mam problemy z "Aktualizacją sieciową". Wydaje mi się, że mam problem z zaporą sieciową lub siecią z tym błędem: > Twój serwer może nie być w stanie połączyć się z uruchomionymi na nim witrynami. Błąd > komunikat: nie można połączyć się z hostem Tak czy inaczej, czy istnieje sposób na uruchomienie aktualizacji bazy danych na blogu? Czy mogę użyć specjalnego adresu URL? Czy mogę to zrobić z wiersza poleceń powłoki? W starym poście na forum ktoś zasugerował, że update.php uruchamia się automatycznie przy pierwszym logowaniu do administratora bloga (nawet jeśli aktualizacja sieciowa nie została uruchomiona). Zastanawiam się, czy to prawda. Dziękuję


title: Zorganizuj witrynę z treścią - czy powinienem używać cpt i taksonomii czy motywu?

text: Zbudowałem witrynę z treścią, która zawiera kilka rodzajów postów: artykuł tekstowy, post wideo, galeria/prezentacja obrazów, audio itp. Używam motywu dla front-endu. motyw zawiera narzędzie do tworzenia stron i kilka wbudowanych szablonów stron, które są podobne do powyższych typów postów. Jak organizować i prezentować treści odwiedzającym witrynę, czy używać niestandardowych typów postów i taksonomii, a jeśli tak, to jakie ctp i jakie taksonomie utworzyć, zakładając, że aktualnie mam kilka kategorii i kilka podkategorii, a także każdy post ma powiązane z nim tagi...? Czy istnieje wtyczka lub motyw, który rozwiązuje ten problem? (Chcę tylko wspomnieć, że organizacja witryn takich jak amazon.com pod względem łatwości nawigacji i łatwości znalezienia żądanej treści jest tym, co staram się osiągnąć). Tak więc struktura treści w tej chwili to: Kategoria1 ------> Podkategoria1_1, Podkategoria1_2, Podkategoria1_3 ---------> post1,post2,post3 (typy: artykuł, wideo, prezentacja, dźwięk itp. .) -----------> tag1, tag2, tag3 Należy pamiętać, że określony post może należeć do kilku kategorii lub podkategorii, a tag może być powiązany z kilkoma postami.


title: Sortuj posty według popularności/wyświetleń strony

text: Jak mogę sortować posty według popularności lub wyświetleń strony w moim pliku szablonu? Myślę, że najpierw muszę policzyć odsłony strony, czy jest jakaś dobra wtyczka do integracji, aby sortować posty według wyświetleń lub jaka jest najlepsza praktyka w tym zakresie.


title: Przypisywanie określonych stron lub postów do korzystania z szablonu strony lub kategorii nadrzędnej

text: Stworzyłem stronę internetową, która wykorzystuje Wordpress jako swój CMS. Istnieją strony nadrzędne -> podkategorie -> treść w każdej podkategorii. Niektóre strony trzeciego poziomu są generowane przy użyciu postów z kategoriami. Chciałbym przypisać szablon do strony nadrzędnej, aby wygląd witryny pozostał spójny zgodnie z każdym szablonem nadrzędnym. Dodatkowo, czy można przypisać szablon do kategorii postów?


title: Ułóż posty według daty na stronie głównej

text:
Mam kod, który pokaże 5 ostatnich postów z każdej kategorii na stronie głównej. Jednak w tej chwili są one uporządkowane kategoria po kategorii. Czy można zamówić je według daty wysłania, ale nadal mieć 5 postów na kategorię? Oto mój obecny kod: $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; if( $cats = get_categories() ) foreach( $cats as $cat ) : //przejdź przez wszystkie kategorie witryny i uzyskaj do 5 postów każdy//// $cat_query = new WP_Query( array( 'post__not_in' => get_option ( 'sticky_posts' ), 'category__in' => array($cat->term_id), 'posts_per_page' => 5, 'paged' => $paged ) ); if($cat_query->have_posts()) : ?>
<?php echo $cat->nazwa; ?>
 <?php while ($cat_query->have_posts()) : $cat_query->the_post(); get_template_part( 'pętla', 'indeks' ); koniec; endif; wp_reset_postdata(); na każdym kroku;


title: Właściwe podejście do przenoszenia całej witryny z jednej domeny do drugiej ORAZ zachowania widżetów

text: Uważam się za dość zorientowanego w tej kwestii, jednak ostatnio miałem wysyp problemów z przenoszeniem witryn. Potrafię z powodzeniem przenieść witrynę, edytować wp-config.php, przenieść bazę danych itp. Po przeniesieniu bazy danych wykonuję następujące zapytania: UPDATE wp_options SET option_value = replace(option_value, 'http:// staradomena.com”, „http://nowadomena.com”); AKTUALIZACJA wp_posts SET guid = replace(guid, 'http://staradomena.com','http://nowadomena.com'); AKTUALIZACJA wp_posts SET post_content = replace(post_content, 'http://staradomena.com', 'http://nowadomena.com'); AKTUALIZACJA wp_postmeta SET meta_value = replace(meta_value, 'http://staradomena.com', 'http://nowa_domena.com'); To poprawnie aktualizuje wszystkie moje linki, odnośniki do obrazów itp. - _HOWER_ Pojawia się inny problem: co się dzieje, że niektóre widżety się psują (przykładami są Widget tekstowy WP, a także widget dodatkowy WYSIWYG Widget). Całkowicie. Ponieważ w widżecie nie pojawia się już pod paskiem bocznym i muszę je całkowicie zrekonstruować (wtyczki są w porządku, po prostu widżet znika z pasków bocznych). Przeszukałem WP-SO i widziałem komentarze, które ostrzegają przed tą metodą aktualizacji bazy danych, ale chciałbym wiedzieć, czy istnieje sposób na rozwiązanie tego i jaki jest ten sposób.