title: Pytanie o pliki językowe Buddypress

text: Mam jedno pytanie. Używam najnowszego Wordpressa i Budypressa. Mam pliki językowe dla buddypress - .po i .mo. Moje pytanie brzmi, gdzie muszę umieścić pliki, jak zmienić ich nazwy i czy jest jakaś funkcja, którą muszę gdzieś dodać (na przykład functions.php), aby je załadować. Sprawdziłem tę stronę i staram się postępować zgodnie z instrukcjami, ale moja strona nadal jest w języku angielskim. Z góry dziękuję :)


title: wp_dropdown_pages w formie widżetu

text:
Mam małe dziwactwo gdzieś w formularzu widgetu. Po zapisaniu instancji widżetu formularz jest odświeżany z niewłaściwie wybranym „identyfikatorem strony” z danych wejściowych wp_dropdown_pages. Jeśli odświeżę stronę widżetów, z listy rozwijanej zostanie wybrany poprawny, zapisany identyfikator strony. Oto fragment kodu: public function form( $instance ) { if( isset( $instance['page_id'] ) ) { $page_id = $instance['page_id']; } inny { $page_id = 0; } ?>
Wybierz post, aby wyświetlić jego fragment
 <?php $args = array( 'id' => $this->get_field_id('page_id'), 'name' = > $this->get_field_name('page_id'), 'selected' => $page_id ); wp_dropdown_pages ($args ); } aktualizacja funkcji publicznej( $nowa_instancja, $stara_instancja ) { $instancja = array(); $instance['page_id'] = ( !empty( $new_instance['page_id'] ) ) ? (int)$instance['page_id'] : ''; zwróć $instancję; } Tak więc error_logging $page_id wyświetli 0, gdy nacisnę save, ale jeśli odświeżę, $page_id będzie poprawnym identyfikatorem strony, którego potrzebuję. jakieś pomysły?


title: Zamów posty wp-admin według identyfikatora zamiast post_date

text: Mam sytuację z moim systemem logów (opartym na cpt), w którym logi z tą samą datą post_date (z powodu szybkiego wprowadzania) pojawiają się w niewłaściwym porządku w sekcji z listą postów w edit.php. Możesz zobaczyć podobny temat tutaj: http://wordpress.org/support/topic/custom-meta-date-order-wont-show-two-posts-with-same-date Myślę, że moim jedynym realnym rozwiązaniem jest zhakuj zapytanie i uporządkuj posty według identyfikatora podczas przeglądania sekcji z listą postów. Czy ktoś zna najlepszy sposób na podpięcie się do cpt i zrobienie tego?


title: Najlepszy sposób na stworzenie portalu wordpress z raportami sprzedaży dla kilku użytkowników?

text: Rozwijam portal WP, który będzie mógł pokazywać różnym agencjom zdrowia i ich agentom wszystkie szczegóły z ich sprzedaży. Ma hierarchię, w której agencja widzą informacje o wszystkich, menedżerowie widzą informacje o agentach, a agenci widzą tylko własne informacje. Informacje pochodzą z danych wejściowych 1.Sales od agentów (formularz na interfejsie), 2.z tabeli xml przesyłanej co tydzień przez agencję. Czy możesz polecić najlepsze wtyczki, czy muszę wymyślić własną wtyczkę? Proszę o pomoc, to moja pierwsza współpraca z WP. Wcześniej tworzyłem tylko strony w HTML, JAVA i lite PHP.


title: wp_list_pages pokaż wszystkie strony w mapie witryny

text: Próbuję wyświetlić listę stron mojej witryny, ale w rzeczywistości wymieniam je wszystkie. Mogę użyć `wp_list_pages();` Jednak mam niestandardowy typ postu "services" z archiwum false. Mam również stronę o nazwie services, która została utworzona w backendzie. Więc posty usług mają strony usług jako ich nadrzędny link bezpośredni : example.com/services/ Próbuję uzyskać moje niestandardowe typy postów, które mają stronę jako nadrzędną, aby wyświetlała się w drzewie witryny, tak jak w przypadku podstron za pomocą `wp_list_pages( );`. Myślę, że muszę jakoś użyć niestandardowego zapytania, może z `get_post_types();` i instrukcją foreach, ale nie mogę tego rozgryźć. Zasadniczo próbuję wyprowadzić mapę witryny HTML podobną do sposobu, w jaki wyszukiwarka indeksowałaby wszystkie rzeczywiste strony publiczne.


title: Link do następnej strony poprzez menu niestandardowe

text: Chciałbym wyświetlić „następny link” na dole kilku szablonów stron, korzystając z rzeczywistego menu niestandardowego, w którym się znajdują. Zbudowałem funkcję, która działa głównie z wyjątkiem przypadku krawędziowego (wyjaśnionego dalej). Zastanawiam się, czy możesz zobaczyć mój oczywisty błąd, który mógłby to wyjaśnić? Oto moja funkcja (wewnątrz functions.php) /* ZNAJDŹ CO JEST NASTĘPNY ELEMENT MENU Z PODANEJ STRONY SZABLONU używany na stronach Szkoły do prezentowania użycia zwiastuna (na dole strony): $next_post = get_next_menu_item('menu-id- Nazwa'); */ function get_next_menu_item($menu_name){ global $post; $ menu = wp_get_nav_menu_object ( $ nazwa_menu ); $menuitems = wp_get_nav_menu_items( $menu->term_id, array( 'order' => 'DESC') ); $i=-1; foreach ( $menuitems jako $item ): $i++; $id = get_post_meta( $item->ID, '_menu_item_object_id', true ); if ($id == $post->ID){ $next_id = $i; } endforeach; $next = $menuitems[$next_id+1]; $next = get_post_meta( $next->ID, '_menu_item_object_id', true ); return get_post($next); } # Przypadek, w którym zwraca niewłaściwy obiekt menu Mam niestandardowy typ postu "staff". Aby móc mieć link do jej zawartości z niestandardowych menu, stworzyłem stronę używając szablonu archive-staff.php. Na tej stronie moja funkcja pobiera niepoprawny wpis. Szablon personelu odtwarza główną pętlę niezależnie od query_vars. Oto jest, na wszelki wypadek. globalny $wpdb; globalny $post; $sql = "SELECT * FROM `bj_posts` p LEFT JOIN ( SELECT post_id, meta_value jako cel FROM `bj_postmeta` pm WHERE `meta_key`='_staff_purpose' ) pm ON p.ID=pm.post_id GDZIE p.`post_type`= 'personel' AND p.`post_status`='opublikuj' ORDER BY ASC, post_title ASC"; $ staff_members = $wpdb->get_results($sql, ARRAY_A); Wyniki, przez które zapętlam, a przed wywołaniem funkcji resetuję zapytanie. wp_reset_query(); wp_reset_postdata(); $next_page = get_next_menu_item('the-school');


title: Admin Pierwszy hak, który wyprowadza html?

text: Myślę, że load- jest pierwszym hakiem na ekranie administratora, który zajmuje się wyprowadzaniem html, ale nie jestem do końca pewien. Zasadniczo szukam odpowiednika `template_rediect` lub `get_header`, które poprawiają mnie, jeśli się mylę, nie działają po stronie administratora. Chciałbym podłączyć się do każdej strony administratora... Domyślam się, że jest to coś takiego, używając $page_now lub get_current_screen(), ale mój umysł jest pusty, jeśli chodzi o to, jak zaimplementować je na wszystkich stronach: $page = get_current_screen() -> plik_nadrzędny; add_action( 'load-$page.php', 'add_action_all_load_hook', 1, 0 ); Na froncie zrobiłbym tak: function link_rel_buffer_callback($buffer) { $buffer = preg_replace('ORIGINAL', 'NEW', $buffer); zwróć $bufor; } function link_rel_buffer_start() { ob_start("link_rel_buffer_callback"); } funkcja link_rel_buffer_end() { ob_flush(); } add_action('template_redirect', 'link_rel_buffer_start', -1); add_action('get_header', 'link_rel_buffer_start'); add_action('wp_footer', 'link_rel_buffer_end', 999); Myślę, że odpowiednikiem byłoby: add_action('load-$page', 'link_rel_buffer_end', 1, 0); add_action('in_admin_footer', 'link_rel_buffer_end', 999); Ale nie mogę pojąć, jak zrobić ładunek - na każdym ładunku.


title: .htaccess ogranicza subdomenę według IP - Wordpress Multisite

text: Chciałbym przekierować ruch z instalacji subdomeny Wordpress Multisite, chyba że pochodzi z określonego adresu/zakresu IP i bez wpływu na ruch w domenie głównej. czy to możliwe? Koncepcyjnie myślałem o czymś takim: # JEŚLI mamy do czynienia z subdomeną RewriteCond %{HTTP_HOST} subdomena\.example\.com [NC] # ORAZ użytkownik NIE jest z naszego dozwolonego adresu IP RewriteCond %{REMOTE_ADDR} !111\.222\.333\.444 # THEN przekieruj je do domeny głównej RewriteRule ^(.*)$ example\.com [L,R=302] Innymi słowy ogranicz dostęp do subdomeny dla całego ruchu, który nie pochodzi ze zdefiniowanego adresu IP. Dosłownie właśnie nauczyłem się do tego regexów i .htaccess, więc z góry przepraszam za wszystko, co jest rażąco nie tak. Powodem, dla którego nie robię tego z .htaccess specyficznym dla katalogu, jest to, że pracuję z subdomeną instalacji Wordpress Multisite, więc nie ma żadnych katalogów. Wszystko jest w adresie URL. Niektóre możliwe komplikacje, które pochodzą z samego Wordpressa: 1. Najlepiej byłoby dodać te reguły w taki sposób, aby nie były nadpisywane za każdym razem, gdy pamięć podręczna permalinków jest odświeżana w WP. 2. Nie jestem pewien, do czego obliczy `RewriteBase /` lub jak wpływa na URI (jeśli to poprawny akronim) w moim pliku.


title: Tworzenie wtyczki w motywie

text: Po pierwsze, wiem, że jest to „zła” praktyka z kilku różnych powodów, ale z powodów, dla których nie będę marnować na to Twojego czasu, jest to coś, co muszę zrobić. Używam dość prostej wtyczki i próbowałem ją skopiować do functions.php i zaktualizować ścieżki do plików i zależności, ale mam pewne problemy. Plik wtyczki wygląda tak:- $plugin_headers = get_file_data( __FILE__, array( 'Wersja' => 'Wersja', 'Nazwa' => 'Nazwa wtyczki') ); /** * Przechowujemy dane naszych wtyczek w następującej globalnej tablicy. * $my_unique_name z Twoją unikalną nazwą */ global $my_unique_name; $moja_unikalna_nazwa = tablica(); $my_unique_name['version_key'] = strtolower(str_replace(' ', '_', $plugin_headers['Name']) ) ). '_wersja'; $my_unique_name['version_value'] = $plugin_headers['Version']; /** * Gdy użytkownik aktywuje wtyczkę, dodajemy numer wersji do * tabeli opcji jako "moja_nazwa_wtyczki_wersja" tylko wtedy, gdy jest to nowsza wersja. */ function inline_comments_acitvation(){ global $my_unique_name; if ( get_option( $my_unique_name['version_key'] ) && get_option( $my_unique_name['version_key'] ) > $my_unique_name['version_value'] ) return; update_option( $my_unique_name['version_key'], $my_unique_name['version_value'] ); } register_activation_hook( __FILE__, 'inline_comments_acitvation' ); /** * Usuń nasz numer wersji z bazy danych po aktywacji wtyczki. */ function inline_comments_deactivate(){ global $my_unique_name; delete_option( $my_unique_name['version_key'] ); } register_deactivation_hook( __FILE__, 'inline_comments_deactivate' ); if ( is_admin() ) require_once katalog_wtyczek ( __FILE__ ) . 'admin/admin-tagi.php'; /** * Tylko motyw działa */ require_once plugin_dir_path( __FILE__ ) . 'inc/tagi-szablonu.php'; function inline_comments_enqueue_scripts(){ $plugin_headers = get_file_data( __FILE__, array( 'Wersja' => 'Wersja', 'Nazwa' => 'Oryginalna nazwa wtyczki') ); $clean_name = strtolower( str_replace( ' ', '-', $plugin_headers['Name']) ); wp_register_style( $clean_name . '-style', plugin_dir_url(__FILE__) . 'inc/css/style.css' ); wp_register_script( 'textarea_auto_expand-script', plugin_dir_url(__FILE__) .'vendor/textarea-auto-expand/jquery.textarea_auto_expand.js' ); wp_register_script( $clean_name . '-script', plugin_dir_url( __FILE__) . 'inc/js/script.js', array('jquery', 'textarea_auto_expand-script') ); } add_action('wp_enqueue_scripts', 'inline_comments_enqueue_scripts', 2); Po przeniesieniu wtyczki do folderu motywu wykonałem następujące czynności: usunąłem niepotrzebne części i w moim functions.php ładuję główny script.js (ładuje się) i css, tak. function inline_comments_enqueue_scripts(){ if ( is_singular() || is_page() ) { wp_enqueue_style( 'inline-style', get_template_directory_uri() . '/css/inline-style.css', '10000', 'all' ); wp_enqueue_script( 'inline-script', get_template_directory_uri() . '/js/inline-script.js', array( 'jquery' ), MEDIUM_VERSION); } } add_action('wp_enqueue_scripts', 'inline_comments_enqueue_scripts', 2); Ok, więc nasz skrypt ładuje się z naszym css. Problemem jest główna część wtyczki, która zawiera szablony, funkcje i wywołania ajax, których nie mogę załadować. Ta część:- `require_once plugin_dir_path( __FILE__ ) . 'inc/template-tags.php';` Próbowałem wkleić ten plik do functions.php i nic się nie dzieje, po prostu nie działa. Pewnie popełnił gdzieś naprawdę głupi błąd (inny niż wbudowanie wtyczki do motywu, heh).


title: Uzyskaj identyfikator terminu taksonomii dla bieżącego wpisu

text: Gdybym chciał uzyskać identyfikator kategorii dla bieżącego posta, użyłbym czegoś takiego: <?php foreach((get_the_category()) as $category) { echo $category->cat_ID . ' '; } ?> Jak mogę zrobić to samo dla identyfikatora terminu z określonej taksonomii?


title: Linki na pasku bocznym dla różnych stron

text:
Hej wszystkim, zastanawiam się, co muszę dodać, aby mieć inny pasek boczny dla ustawionej strony? Stworzyłem kategorię dla strony ( **o nazwie PatientEdu** ): ![patcat](http://i.stack.imgur.com/dsVaj.jpg) I upewniłem się, że strona jest połączona z kategorią: ![ patcat2](http://i.stack.imgur.com/QK8lx.jpg) Ale nadal wydaje się, że używa paska bocznego innej kategorii (który również nie wiem, gdzie jest)? ![parcat3](http://i.stack.imgur.com/bqKoW.jpg) Więc każda pomoc byłaby świetna! **AKTUALIZACJA** Mój obecny kod sidebar.php to: <?php if (is_active_sidebar('default-sidebar')) : ?>

Domyślny pasek boczny
 <? php dynamic_sidebar('domyślny-pasek boczny'); ?>
 <?php endif; ?> i kod funkcji: ![funkcja](http://i.stack.imgur.com/HcgXA.jpg) **update 2** Wygląda na to, że używa strony single.php do wypełnienia paska bocznego? <?php if (have_posts()) : ?>

<?php echo get_cat_name(CAT_DOCTORS); ?>

 <?php while (have_posts()) : the_post(); ?> <li <?php if ($post_id == get_the_ID()) {echo 'class="active"';} ?>> <a href="<?php the_permalink(); ?>">  <?php tytuł_(); ?>
 <?php endwhile; ?>

 <?php endif; ?>


title: Jakieś dokumenty dotyczące argumentu „items_wrap” w wp_nav_menu?

text: Używam **wp_nav_menu** i próbuję stworzyć niestandardowe wyjście dla podpoziomów rozwijanych. Natknąłem się na argument "items_wrap", ale tak naprawdę nie ma zbyt wielu informacji na temat tego, co to jest, jak działa i jakie rzeczy można z nim zrobić. Co dokładnie _jest_ „ **%1$s**” i „ **%2$s**”? (Czy ktoś może to wyjaśnić w kategoriach laika?)


title: Potrzebna pomoc WordPress Nonce i sprawdzenie referencji administratora

text: Tuż przed rozpoczęciem proszę zauważyć, że jestem nowy w każdym typie zabezpieczeń WordPress/PHP. Kilka dni temu mój przyjaciel poprosił mnie o stworzenie opcji motywu dla jego motywu, wszystkie ustawione i działające bez zarzutu, jednak w przeszłości miał kilka drobnych problemów ze swoim motywem i chciałbym się upewnić, że Nonce i check_admin_referer są ustawione poprawnie. Oto czego użyłem: http://codex.wordpress.org/Function_Reference/check_admin_referer http://codex.wordpress.org/WordPress_Nonces A teraz moje pytanie brzmi: gdzie dokładnie ma być wp_nonce_field i gdzie check_admin_referer? Przed rozpoczęciem formularza mam: if ( !empty($_POST) && check_admin_referer('crt_nonce')) { $saved = false; if ( isset( $_REQUEST['action'] ) && 'save' == $_REQUEST['action'] ) { i tuż przed zamknięciem formularza wp_nonce_field <form action="" id="save" method="post" > <?php wp_nonce_field('crt_nonce'); ?> </form> Jest kilka artykułów na ten temat, ale w ogóle mi nie pomagają. Jeśli ktoś może i chce mi tu pomóc, byłbym bardzo wdzięczny. I zrobię co w mojej mocy, aby sumiennie przestrzegać twoich instrukcji i starać się unikać kolejnych pytań ;) PS Aha, żebym nie zapomniała :) wp_nonce_field i check_admin_referer trzeba ustawić raz poprawnie, a nie dla każdego pola jakie mam opcje Utworzony? Dzięki, Draga


title: Jak sprawdzić katalog, w którym zainstalowany jest WordPress?

text: Mam klienta, który ma działającą witrynę WordPress. Zalogowałem się na ich FTP i trudno powiedzieć, w jakim katalogu jest zainstalowany. Jak mogę zweryfikować przez interfejs WordPressa, w jakim katalogu się on znajduje?


title: Czy mogę zmienić niestandardową etykietę typu posta z motywu podrzędnego?

text: Opracowuję motyw potomny szablonu premium, który jest dostarczany z niestandardowym typem posta z nazwą etykiety „Projekty”, ale chciałbym to zmienić na coś innego, wiem, że jeśli przejdę do functions.php plik motywu głównego Mogę go łatwo zmienić, ale chciałbym go zmienić z mojego motywu podrzędnego, aby nie musiał edytować żadnego z oryginalnych plików, czy to możliwe? Z góry dziękuję!


title: Pobieraj obrazy tylko wtedy, gdy status rodzica jest opublikowany

text: Mam witrynę, która używa niestandardowej strony szablonu dla każdego obrazu, a użytkownicy mogą dodawać obraz do ulubionych. Następnie pobieram stronę z najbardziej ulubionymi obrazami: $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image/jpg', 'post_status'=>'inherit', // tam do testowania 'meta_key' => 'favorites', 'orderby'=>'meta_value_num', 'order'=>'DESC', 'posts_per_page'=>25, 'nopaging' =>true ); $zapytanie = nowe WP_Query( $args ); Jednak chcę, aby obrazy pokazywały się tam tylko wtedy, gdy status nadrzędnego posta to „opublikuj”. Będą sytuacje, w których status zmieni się tymczasowo na „szkic”, a później z powrotem na „opublikuj” – dzieje się to programowo i odbywa się na podstawie identyfikatora autora wszystkich postów, które należą do tego autora. Widziałem tylko dwa możliwe sposoby na zrobienie tego: 1. W momencie zmiany statusu posta rodzica ustaw na coś status postu załączników należących do tego autora (Wersja robocza? Oczekuje? Coś innego?), a następnie zmień to Powrót do dziedziczenia w momencie przywracania postów autorów. Jednak kiedy próbowałem tego, status obrazu załącznika pozostał niezmieniony, więc musi być jakaś funkcja w WP, która temu zapobiega. 2. Sprawdź status każdego zdjęcia nadrzędnego przed ich wyświetleniem, ale oznacza to 25 wywołań bazy danych (fuj) i oznacza, że niekoniecznie otrzymam 25 zdjęć (nie jest to katastrofa). 3. Czy jest 3?


title: Wiele witryn, problemy z przesyłaniem i iOS!

text: To pytanie znacznie się zmieniło. Mam najnowszą wersję Wordpressa i hostuję ją na serwerze Apache. Link do bloga: http://blogs.bzaeds.org/test/2012/05/11/video-test/ Teraz o to chodzi. Kiedy prześlę film do Wordpressa, będzie on odtwarzany na Macu w Firefoksie z adresem URL Wordpress, podany jest element (np.: http://blogs.bzaeds.org/test/files/2012/05/720-dunk.mp4" provider="wideo). W rzeczywistości mogę przejść do tego linku teraz w mojej przeglądarce Firefox i nie mam żadnych problemów, działa dobrze. Jeśli jednak prześlę film do Wordpress i użyję adresu URL Wordpress (np.: http://blogs.bzaeds.org/test/files/2012/05/720-dunk.mp4" provider="video) ** będzie nie odtwarzaj na iPadzie lub iPhonie.** Najfajniejsze jest to, że użyję lokalizacji APACHE dla pliku (np.: http://blogs.bzaeds.org/wp-content/blogs.dir/5/files /2012/05/bunny.mp4) **odtwarza dobrze na Macu ORAZ iPadzie i iPhonie.** Pracowałem nad tym problemem od 4 dni i jestem wykończony. W końcu zawęziłem to do tego, ale nie jestem pewien, jakie ustawienie konfiguracji powodowałoby taki problem. Każda pomoc byłaby bardzo mile widziana! Edycja: Wygląda na to, że Wordpress nie może obsługiwać bajtów i połączyć to z wieloma witrynami i różnymi katalogami, a otrzymasz chaos. Zdaję sobie sprawę, że to jest problem, ale nie jestem pewien, co bym zrobił, aby obejść ten problem, a instalacja mod_xsendfile nie działała ani edytowanie kodu jwplayer (co spróbuję ponownie, być może zrobiłem to źle. )


title: Znajdowanie ślimaka posta

text: Używam `wp_query()`, aby uzyskać niestandardowe posty z bazy danych. Chcę je wymienić jako linki do wpisów, więc myślę, że mógłbym użyć ślimaków. Niestety wydaje się, że nie są one zawarte w obiekcie `wp_query`. Oto mój kod: $oWP = new wp_query(array( 'post_type' => 'letters_of_ref' , 'orderby' => 'meta_value' , 'meta_key' => 'aaaConsultant_dateofletter' )); Tak więc, biorąc pod uwagę identyfikator posta, w jaki sposób mogę uzyskać ślimak posta? Ewentualnie, czy podążam właściwą ścieżką, aby zbudować łącze? **Aktualizacja** : właśnie znalazłem funkcje `get_permalink()` i `the_permalink()`, więc jestem dobry do linku. Jednak nadal chcę znaleźć ślimaka.


title: Rss witryny nie widziane przez przeglądarkę

text: Mamy stronę http://ort.org.il zbudowaną z WP 3.1.2. Jego adres RSS powinien być http://ort.org.il/feed/, ale nic się tam nie wyświetla. Widzę kanał w źródle widoku, ale nie w przeglądarce i nie w jednej z naszych innych aplikacji, które czytają RSS z tej witryny. W czym może być problem i jak mogę go naprawić?


title: Uzyskiwanie listy niestandardowych postów autora

text: Próbuję mieć stronę, na której użytkownik może wyświetlić wszystkie niestandardowe typy postów po kliknięciu autora z poprzedniej strony, ale nie mam szczęścia do niczego, co mogę znaleźć we wbudowanych funkcjach PHP za pomocą Wordpress. Czy jest to łatwe do zapytania? Niewiele znalazłem na ten temat w Internecie.


title: Zmień adres URL linku w domyślnych kanałach RSS

text: Mój post w kanałach wordpress wygląda następująco: <item> <title>Szlak smaku – najlepsze jedzenie w Limie i Cusco</title> <link> http://example.com/trail-lima-and-cuscos-best-eats /</link> <comments>http://example.com/szlak-smaku-lima-i-cuscos-najlepsze-jedzenie/#komentarze</comments> <pubDate>Wtorek, 16 kwietnia 2013 03:24:37 + 0000</pubDate> <dc:creator>anzprod</dc:creator> <guid isPermaLink="false">http://example.com/?p=717</guid> <opis> <![CDATA[Dane ]]> </description> <wfw:commentRss> http://example.com/szlak-smaku-lima-i-cuscos-best-eats/feed/ </wfw:commentRss> <slash:comments>0</ slash:comments> </item> Chcę zmienić adres URL posta na coś takiego jak http://example.com/#!view/taste-trail-lima-and-cuscos-best-eats Pomóż mi, jak aby to zrobić! Dziękuję


title: styl dołączony do tagu <html> spoza arkuszy stylów

text: Zajmuję się tworzeniem sklepu internetowego z wykorzystaniem wtyczki wp e-commerce. Podczas pracy nad nim lokalnie problem nie wystąpił, ale po tym, jak zacząłem testować go online, pojawiła się duża luka przed górą strony. Używając Firebuga mogłem zobaczyć, że stylizacja, która to powoduje to: html {margin-top: 28px !important; } który firebug mi mówi, pochodzi z pliku, który ma taką samą nazwę jak strona, np. jeśli strona example.com/products-page jest przeglądaną stroną, oznacza to, że dany styl jest tworzony przez http://example. com/products-page na (line63) Użyłem programu Dreamweaver do lokalnego przeszukania całego folderu Wordpress w poszukiwaniu stylu powodującego błąd, ale on nie istnieje – wydaje się, że występuje tylko wtedy, gdy witryna jest dostępna online. Pomyślałem, że prawdopodobnie coś może zostać dodane na poziomie serwera, więc przesłałem witrynę na konto na innym hoście - ale ten sam problem. Używam pliku reset.css, który normalnie przezwyciężyłby rozpoznawanie tego stylu — ale! Ważne jest to, co powstrzymuje go przed ignorowaniem. Wszelkie spostrzeżenia lub sugestie są bardzo cenione


title: Jak używać hooka admin_init do add_action dla niestandardowej kolumny typu post

text: Dodaję kolumnę miniatur postów do ekranu edycji niestandardowego posta. Miniatury postów wyświetlają się dobrze, ale chciałbym je połączyć z admin_init, aby odciążyć stronę. To jest mój kod do dodawania miniatur do mojego niestandardowego ekranu edycji posta: add_filter( 'manage_edit-model_columns', 'my_columns_filter', 10, 1 ); function my_columns_filter( $kolumny ) { $column_thumbnail = array( 'thumbnail' => 'Miniatura' ); $kolumny = array_slice( $kolumny, 0, 1, prawda ) + $kolumna_thumbnail + array_slice( $kolumny, 1, NULL, prawda ); return $kolumny; } add_action( 'manage_model_posts_custom_column', 'my_column_action', 10, 1 ); function moja_kolumna_akcja( $kolumna ) { global $post; switch ( $column ) { case 'thumbnail': echo get_the_post_thumbnail( $post->ID, 'edit-screen-thumbnail' ); przerwanie; } } Czy ktoś mógłby wyjaśnić (pokazać mi jak) używać haka admin_init dla mojego kodu kolumny miniatur? Dziękuję.


title: Dlaczego „do_shortcode” wtyczki może nie działać w żądaniu AJAX?

text: **tl;dr:** Krótki kod Contact Form 7 nie działa w żądaniu AJAX, gdy jest wywołany z `do_shortcode` _functions.php_ add_action('wp_ajax_ps_get_survey_form', 'ps_get_survey_form'); add_action ('wp_ajax_nopriv_ps_get_survey_form', 'ps_get_survey_form'); function ps_get_survey_form() { echo do_shortcode( '[formularz kontaktowy-7 id="397" title="Formularz kontaktowy 1"]' ); umierać(); } _script.js_ jQuery(document).ready(function($){ $('#survey-modal').fancybox({ href: ajaxurl, ajax: { type : "POST", data : {action: 'ps_get_survey_form' } } }); }); Jednak echo do_shortcode( '[contact-form-7 id="397" title="Formularz kontaktowy 1"]' ) zwraca sam ciąg shortcode. Działa dobrze, jeśli umieszczę to w szablonie. Spróbuj, jak tylko mógłbym (śmieszne rzeczy, takie jak zawijanie go w filtr post/stosowanie the_content, ręczne uruchamianie różnych akcji, do których przechwytuje CF7 itp.), Odmawia przetłumaczenia się na formularz. Jak to debugować? **EDYTUJ** @Kaiser rozsądnie sugeruje, że nie mam dostępu do do_shortcode. Próbowałem to sprawdzić z następującym wynikiem: function ps_get_survey_form() { //include(ABSPATH. 'wp-includes/shortcodes.php'); //Powoduje błąd krytyczny: nie można ponownie zadeklarować add_shortcode if ( function_exists( 'do_shortcode' ) ) { echo "do_shortcode istnieje"; } else { echo "do_shortcode nie istnieje"; // to jest powtarzane } do_shortcode( 'foo' ); // to po cichu się nie powiedzie, mimo że funkcja najwyraźniej nie została zdefiniowana //foo(); // Powoduje błąd krytyczny zgodnie z oczekiwaniami //echo do_shortcode( '[contact-form-7 id="397" title="formularz kontaktowy 1"]' ); umierać(); }


title: Potrzebujesz wszystkich postów z identyfikatorem, tytułem i datą

text: Potrzebuję wszystkich identyfikatorów postów z odpowiednim tytułem i datą publikacji. Obecnie pobieram tylko identyfikatory $posts_array = get_posts( 'posts_per_page=999999999999&fields=ids' ); potrzebne [{ "id" : 9, "post_date" : "2014-06-11 07:04:55", "post_title" : "title.." }, {..}, {..},.. ] * * * Scenariusz: 1. Post będzie używany do wyświetlania na tablecie/telefonie komórkowym (z nieskończonym przewijaniem). 2. Zadzwoń do serwisu internetowego, aby otrzymać posty. 3. post musi zwracać wynik w sposób stronicowania np. 1-20, 20-40 (ze wszystkich postów) dla kolejnych połączeń. 4. Nie ładuj wszystkich postów, ponieważ spowoduje to problemy z wydajnością.


title: Odinstalowywanie wtyczek we wszystkich witrynach

text: Przepraszam za słabość mojego search-fu, jeśli już na to odpowiedziałem. Jestem w trakcie czyszczenia i aktualizacji starzejącej się instalacji wielostanowiskowej. Jednym z kroków jest zidentyfikowanie i usunięcie wtyczek, które nie są już potrzebne lub po prostu nie działają. Niestety, większość z tych wtyczek była aktywowana na podstawie poszczególnych witryn i jest wystarczająco dużo witryn, aby ręczna dezaktywacja była zbyt niepraktyczna. Mógłbym oczywiście po prostu usunąć katalogi wtyczek i przejść dalej, ale ponieważ niektóre wtyczki mają zaczepy do dezaktywacji/odinstalowania, wolę najpierw wyczyścić wtyczki po sobie. Czy jest na to elegancki sposób? Myślę, że mógłbym wyszukać odpowiednie funkcje i napisać skrypt, który obejmie wszystkie witryny i dezaktywuje dane wtyczki, ale jeśli istnieje lepszy sposób, wolałbym to.


title: Warunkowo wywołać add_action w zależności od post_type?

text: Podczas budowania wtyczki wiem, że możesz podłączyć się do funkcji, aby uruchomić jakiś kod, taki jak add_action('admin_footer', array($this, 'custom_function')); W ramach tej funkcji przetestuj post_type w następujący sposób: public function custom_function() { $screen = get_current_screen(); if (self::CUSTOM_POST_TYPE == $screen->post_type) { // Zrób coś } } } W całej wtyczce testuję post_type ekranu w wielu różnych funkcjach. W duchu D.R.Y. moje pytanie brzmi, czy istnieje sposób na warunkowe dodanie akcji w grupie na podstawie bieżącego post_type? Zamiast posiadania wielu funkcji, które wykonują ten sam test dla post_type, takich jak: public function custom_function_1() { $screen = get_current_screen(); if (self::CUSTOM_POST_TYPE == $screen->post_type) { // Zrób coś } } } public function custom_function_2() { $screen = get_current_screen(); if (self::CUSTOM_POST_TYPE == $screen->post_type) { // Zrób coś } } } czy można przetestować post_type, a następnie wywołać akcje potrzebne dla tego typu postu, coś takiego: $screen = get_current_screen(); if (self::CUSTOM_POST_TYPE == $screen->post_type) { add_action('admin_footer', array($this, 'custom_footer_function')); add_action('save_post', array($this, 'custom_save_function')); add_action('delete_post', array($this, 'custom_delete_function')); add_filter('enter_title_here', array($this, 'custom_title_placeholder')); } gdzie test warunkowy można usunąć ze wszystkich funkcji? Czy istnieje konkretny zaczep, w którym test i wywołania tego typu mogą mieć miejsce, aby wiele funkcji wtyczki nie musiało mieć tego samego kodu? Dziękuję za wszelkie rady.


title: Włączenie jquery podczas przeciągania dostępnego widżetu do obszaru paska bocznego

text: Mam więc kilka widżetów, które używają niestandardowego jquery na zapleczu. Mogę uzyskać formularze widżetów, aby wywołać pliki jquery, ale dopiero PO zapisaniu widżetu i ponownym załadowaniu strony. Czy mimo to można użyć tego jquery zaraz po przeciągnięciu go z obszaru „Dostępne widżety” do obszaru paska bocznego? Tak więc w kodzie mojego widżetu, w funkcji formularza, mam to: function form($instance) { wp_enqueue_media(); wp_enqueue_script('kjd_widgets',plugins_url('lib/kjd_widgets.js',__FILE__),null); tak to działa, ale tylko po ponownym załadowaniu strony. Jak mogę załadować JS, gdy widżet jest aktywowany i? I czy musiałbym dodać coś do mojego jQuery, aby powiązać nowy formularz widżetu z jQuery?


title: Tworzenie cyfrowych, wirtualnych produktów WooCommerce do pobrania z frontendu za pomocą Gravity Forms?

text: Trochę informacji o moim problemie: używam WP + WooCommerce + Gravity Forms i chcę umożliwić użytkownikom tworzenie cyfrowych, wirtualnych produktów do pobrania WC z interfejsu użytkownika za pomocą GF. Zasadniczo użytkownicy przesyłają pliki audio, używając wartości pola niestandardowego GF (przesyłanie plików) z **mp3** jako _metakluczem_ (**ścieżka/adres URL** do przesłanego pliku to _metawartość_ ). Ponieważ WC przechowuje produkty cyfrowe również jako post meta pola, pod metakluczem **_file_paths**, pomyślałem, że mógłbym pójść tą drogą, ale okazuje się, że to nie jest takie proste. _Wartość meta_ dla _file_paths WC jest w rzeczywistości przechowywana jako tablica z hashem MD5. Moje pytanie brzmi, jak powielić **mp3** _wartość_meta_ pod **_file_paths** _meta klucz_ WC i przechowywać go jako tablicę z tym hashem md5. Alternatywnie, jeśli istnieje inny sposób na osiągnięcie tego, jestem na to również całkowicie otwarty (tj. Przechowuj _meta value_ jako tablicę pod **_file_paths** _meta key_ i jakoś wrzuć ten skrót). Oto coś, co może pomóc w odpowiedzi – http://docs.wedevs.com/woocommerce-downloadable-product/


title: Nie mogę uruchomić testu rdzenia phpunit dla WordPressa

text: Próbuję skonfigurować test dla rdzenia WordPressa, aby upewnić się, że rozwijana przeze mnie wtyczka niczego nie zepsuje. Ale mam problem, który naprawdę nie mam pojęcia, jak go naprawić. Pobrałem pliki znajdujące się na www.develop.svn.wordpress.org/trunc (wiem, że mogę korzystać z Subversion, ale mam problemy z ustawieniem go w PhpStorm, więc skupiam się na tym problemie) i ustawiłem wszystko w górę. Testy są uruchomione, ale mniej więcej w połowie testów pojawia się błąd, z którego nie mam pojęcia, skąd się wziął. Publikowanie w tym miejscu jest zbyt długie, ale wydaje się, że się powtarza, więc oto próbka pierwszych wierszy błędu bazy danych WordPress Tabela 'multipress_testc.wptests_4_options' nie istnieje dla zapytania INSERT INTO `wptests_4_options` (`nazwa_opcji`, `wartość_opcji' `, `autoload`) WARTOŚCI ('active_plugins', 'a:1:{i:0;s:9:\"hello.php\";}', 'tak') PRZY AKTUALIZACJI DUPLIKATÓW `nazwa_opcji` = WARTOŚCI (`nazwa_opcji`), `wartość_opcji` = WARTOŚCI(`wartość_opcji`), `autoload` = WARTOŚCI(`autoload`) wykonane przez PHPUnit_TextUI_Command::main, PHPUnit_TextUI_Command->run, PHPUnit_TextUI_TestRunner->doRun, PHPUnit_TextUI_Frame_Framework ->uruchom, PHPUnit_Framework_TestSuite->runTest, PHPUnit_Framework_TestCase->uruchom, PHPUnit_Framework_TestResult->uruchom, PHPUnit_Framework_TestCase->runBare, PHPUnit_Framework_TestCase->runTest_wtyczek_test, Reflection _option Ostatnie błędy, które otrzymuję, to błędy PHP mówiące o błędzie krytycznym PHP: Wywołanie funkcji członkowskiej to_array() na obiekcie niebędącym obiektem w /Applications/MAMP/htdocs/(nazwa folderu)/(folder główny WordPress)/wp-includes /post.php w wierszu 411 Błąd krytyczny: Wywołanie funkcji składowej to_array() na obiekcie niebędącym obiektem w /Applications/MAMP/htdocs/(nazwa-folderu)/(folder główny WordPress)/wp-includes/post.php w wierszu 411 Wartość nieobiektu to bool(false) Uruchamiam testy wielostanowiskowe.


title: Pliki cookie logowania ustawione jako niewłaściwa domena

text: Buduję wtyczkę, która umożliwia logowanie Oauth2 od dostawców (np. google). Mój kod z jakiegoś powodu ustawia domenę cookie `wordpress_logged_in_{$hash}` jako `/wp-admin`, podczas gdy przy normalnym logowaniu wordpress domeną dla tego ciasteczka jest `/`. Oznacza to, że kiedy się wyloguję, wordpress próbuje wyczyścić ciasteczko z domeną `/`. Tak więc każdy, kto używa mojej wtyczki, pozostanie zalogowany. Kod, którego używam do programowego logowania użytkownika, to: //get user $user = get_userdata( $user_id ); if ( !$user || ( !get_class( $user ) == 'WP_User' ) ) kontynuuj; //login wp_set_current_user( $user->data->ID, $user->data->user_login ); wp_set_auth_cookie( $user->data->ID ); do_action( 'wp_login', $user->data->user_login ); //przekieruj do strony administratora wp_redirect( admin_url() ); Mój kod powinien działać, zgodnie z: http://kuttler.eu/code/log-in-a-wordpress-user-programmatically/ i http://stackoverflow.com/a/10041701 wydaje się, że problem dotyczy `wp_set_auth_cookie( )` - tutaj kompletnie zagubiony, więc każda pomoc jest mile widziana, daithi


title: Jak mogę sprawdzić, które archiwum skierowało singiel?

text: Mam jedną stronę, która wyświetla jedną i tylko jedną kategorię wyświetlanego posta. Jednak post może mieć więcej niż jedną kategorię. Jeśli użytkownik przechodzi ze strony kategorii, chcę pokazać tę nazwę kategorii, a w przeciwnym razie losową. Jaki jest najszybszy sposób, aby to osiągnąć?


title: Możliwości dla niestandardowego typu postu widoczne w backendzie, ale nie działają

text: W mojej wtyczce stworzyłem niestandardowy typ posta i zdefiniowałem możliwości zarówno dla roli subskrybenta, jak i administratora. Kiedy przechodzę do backendu i patrzę na możliwości, które znajdują się na liście możliwości dla roli administratora, sprawdzane są wszystkie dodane przeze mnie możliwości. Jeśli jednak zaloguję się jako administrator i spróbuję przenieść wpis typu „pp_zoekertje” do kosza, wordpress powie mi, że nie mogę tego zrobić. Oczywiście szukałem na Stackexchange i różnych innych witrynach, ale jedyne rozwiązania, jakie mogę znaleźć, mówią mi, abym robił dokładnie to, co już robię. Każda pomoc jest mile widziana. function create_pp_zoekertje_post_type(){ register_post_type('pp_zoekertje', array( 'labels' => array( 'name' => 'Zoekertjes', 'singular_name' => 'Zoekertje', 'add_new' => __('Nieuw Zoekertje') , 'add_new_item' => __( 'Nieuw Zoekertje' ), 'edit' => __( 'Bewerk' ), 'edit_item' => __( 'Bewerk Zoekertje' ), 'new_item' => __( 'Nieuw Zoekertje' ), 'view' => __( 'Bekijk' ), 'view_item' => __( 'Bekijk Zoekertje' ), 'search_items' => __( 'Zoek Zoekertjes' ), 'not_found' => __( 'Geen zooekertjes gevonden' ), 'not_found_in_trash' => __( 'Geen zoekertjes gevonden in prullenbak' ), ), 'public' => true, 'has_archive' => true, 'show_ui' => true, 'publicly_queryable' => true, 'exclude_from_search' => fałsz, 'hierarchical' => false, 'query_var' => true, 'supports' => array( 'title', 'editor', 'revisions', ), 'map_meta_cap' => true, 'capability_type' => 'pp_zoekertje' , 'capabilities' => array( 'edit_post' => 'edit_pp_zoekertje', 'edit_posts' => 'edit_pp_zoekertjes', 'edit_others_posts' => 'edit_others_pp_zoekertjes', 'publish_posts' =>_> 'publishedit_posts' => 'publishedit_posts' => ' edit_published_pp_zoekertjes', 'read_post' => 'read_pp_zoekertje', 'read_private_posts' => 'read_private_pp_zoekertjes', 'delete_post' => 'delete_pp_zoekertje', 'delete__zoekertjes' pp_zoekertje_taxonomy','kategoria'), ) ); $subscriber_role = get_role('subscriber'); $subscriber_role->add_cap('edit_pp_zoekertje'); $subscriber_role->add_cap('edit_pp_zoekertjes'); $subscriber_role->add_cap('publish_pp_zoekertjes'); $subscriber_role->add_cap('read_pp_zoekertje'); $subscriber_role->add_cap('read_private_pp_zoekertjes'); $subscriber_role->add_cap('delete_pp_zoekertje'); } funkcja poppunt_classifieds_search_Init() { create_pp_zoekertje_post_type(); if (!is_admin()) { wp_enqueue_script('jquery'); wp_enqueue_script( 'poppunt-classifieds-handlebars', plugins_url( '/js/handlebars.js', __FILE__)); } } add_action('init', 'poppunt_classifieds_search_Init'); add_action('admin_init', 'plugin_admin_init'); funkcja plugin_admin_init(){ $administrator_role = get_role('administrator'); $administrator_role->add_cap('edit_pp_zoekertje'); $administrator_role->add_cap('edit_pp_zoekertjes'); $administrator_role->add_cap('edit_others_pp_zoekertjes'); $administrator_role->add_cap('publish_pp_zoekertjes'); $administrator_role->add_cap('read_pp_zoekertje'); $administrator_role->add_cap('read_private_pp_zoekertjes'); $administrator_role->add_cap('delete_pp_zoekertje'); $administrator_role->add_cap('edit_published_pp_zoekertjes'); $administrator_role->add_cap('delete_others_pp_zoekertjes'); register_setting( 'pp_options', 'pp-options', 'pp_plugin_options_validate' ); add_settings_section('pp_options_main', 'Algemene instellingen', 'pp_options_main_output', 'pp_options_menu'); add_settings_field( 'pp_zoekertjes_option_input_page', __('Strona z zawartą w formularzu informacją dla zoekertje (toevoegen/bewerken)'), 'pp_zoekertjes_option_input_page', 'pp_options_menu', 'pp_options_main'); add_settings_field( 'pp_zoekertjes_option_my_ads_page', __('Mijn zoekertjes pagina'), 'pp_zoekertjes_option_my_ads_page', 'pp_options_menu', 'pp_options_main'); }


title: Kategoria i tagi idą 404

text: Zrobiłem niestandardowy motyw dla witryny i mam pewne problemy ze stronami kategorii i tagów, ponieważ przekierowują one do stron z tym samym ślimakiem lub do 404 (gdy nie ma stron). Na mojej stronie mam 3 posty typu custom, każdy z około dwiema taksonomiami celnymi (żaden z nich nie zawiera kategorii lub tagu jako nazwy). Poza tym używam również niestandardowego permalinka %postname%, a cała witryna obok tych dwóch stron działa dobrze. Mój plik .htaccess wygląda tak: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /brazcubas/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Rewrite /brazcubas/index.php [L] </IfModule> Nie wiem, co może robię źle. To, co już próbowałem, to: * Wyłącz i włącz strukturę permalink. * Twórz niestandardowe strony kategorii * Twórz niestandardowe strony archiwów * Zmień na inny motyw. Nawet w przypadku innych motywów błąd nadal występuje. Co to mogło być?


title: wp_link_pages zwraca wartość, nawet gdy jest warunkiem w instrukcji if

text:
Próbuję sprawdzić, czy wp_link_pages jest prawdziwe w ten sposób: <?php the_content(); if( wp_link_pages() ): ?>

 <?php if( !isset( $_GET['widok'] ) && $_GET[' widok'] != 'wszystkie' ) : ?> <a href="<?php the_permalink(); ?>?view=all" class="dharmagothicc-regular gold">POJEDYNCZA STRONA -  <?php endif; ?>

 <?php wp_link_pages(array('next_or_number'=>'number', 'before'=>'')); ?>

 <?php endif; ?> Problem polega na tym, że `wp_link_pages()` zwraca wartość dwa razy - nawet jeśli jest to warunek w instrukcji `if()`. Czy istnieje sposób, aby od tego uciec?


title: Przełamywanie siatki Bootstrap przy liczeniu postów z warunkami podatkowymi

text:
Próbuję złamać moją niestandardową siatkę terminów podatkowych (wstawić poprawkę) po mojej czwartej kolumnie. Poniżej mój kod. Widziałem i robiłem to przed użyciem techniki podobnej do tego, co pokazano pod tym linkiem. Jednak nie używam tradycyjnej pętli, więc naprawdę nie jestem pewien, jak to zaimplementować. Czekamy na Wasze opinie. Poniżej znajduje się sugerowany kod @Josh Mountain. Przerwa nie pojawia się we właściwym miejscu. Załączyłem również zrzut ekranu tego, co próbuję osiągnąć, a także aktualny wynik. ![tutaj podaj opis obrazu](http://i.stack.imgur.com/8QpKc.jpg) Kod poniżej zaktualizowany 8-19-20 1:51 cst.
 <?php $libargs=array( 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 0, 'exclude' => array(16, 20, 22,25, 27, 28, 30, 4, 42, 7, 43 ), //* Podaj identyfikatory kategorii nadrzędnych do wykluczenia z listy 'taksonomia' => '100list', 'parent' => '', ); $libcats=get_categories($libargs); $i = 0; foreach($libcats jako $lc){ $i++; if( $i % 4 == 0 ) { echo '

'; } echo '
'; $termlink = get_term_link( $lc->slug, '100list' ); ?>

<?php echo $lc->liczba ? >

 Symbole

 <a class="label label-default" href="<?php echo $termlink; ?>"> Zobacz grupę

 <?php the_field('basictext', '100list_'.$lc->term_id); ?>

  <?php $attachment_id = get_field('taximage', '100list_' .$lc->term_id); if ($attachment_id) { $image = wp_get_attachment_image_src($attachment_id, 'industrygroup-img'); if ($image) { ?> <img class="img-responsive" src="<?php echo $image[0]; ?>" /> <?php } } ?>

 <a href="<?php echo $termlink; ?>"> <?php echo $lc->nazwa; ?>
  <?php echo '
'; }?>


title: Wordpress - pokaż wszystkie posty + te z określonym tagiem

text: Mam 3 typy postów, jak poniżej 1. Normalne posty bez żadnego tagu 2. Z tagiem „polecane” 3. Z tagiem „sprzedane” Na stronie chcę po prostu pokazać zwykłe posty + te z wyróżnionym tagiem i nie chcę aby pokazać posty z tagiem „sprzedane”. Jak mogę zrobić zapytanie o to? Dziękuję


title: Jak mogę pobrać miniaturę polecanego obrazu, używając tylko Post_title?

text: Czy można uzyskać polecany obraz posta w Wordpress, używając tylko nazwy post_title? Wiem, że można to zrobić za pomocą post->ID, ale mam tylko nazwę post_title do pracy i jest to poza pętlą.


title: Fragment wyświetla fragment bieżącej strony, a nie wyciągany

text:
Tak jak tytuł mówi, ten kod nie pobiera fragmentu z $recent, jak powinien być, zamiast tego pobiera go z bieżącej strony. <?php $args = array( 'post_status' => 'oczekujące'); $recent_posts = nowe WP_Query( $args ); foreach( $recent_posts jako $recent ){ $recent->the_post(); // Dodaj to tutaj, aby inne funkcje działały bez identyfikatora posta echo '

'; echo get_the_post_thumbnail($recent["ID"], 'miniaturka'); echo '
'; echo '
' . $recent["post_title"].'
'; echo '
' . pobierz_wyciąg() . '
'; echo '

'; } ?> `get_the_excerpt($recent["ID"])` to część, która pobiera fragmenty, próbując użyć the_excerpts i zamienić ją na `($recent[get_the_excerpt])` też nic, co próbuję, nie działa. Przykład: streakingpirates.com


title: Jak wywoływać niestandardowe posty

text: Mam taki niestandardowy post: add_action('init', 'eveniment_register'); function eveniment_register() { $args = array( 'label' => __('Evenimente'), 'singular_label' => __('Eveniment'), 'public' => true, 'show_ui' => true, 'capability_type ' => 'post', 'hierarchical' => false, 'rewrite' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ), ' taksonomie' => array('category','post_tag','post_thumbnail') ); register_post_type( 'eveniment' , $args ); } I wszystkie te niestandardowe posty mają kategorię z `ID=5.` W `category-5.php` chcę pokazać wszystkie niestandardowe posty z tej kategorii. Jak to zrobiłem z normalnymi postami za pomocą: while (have_posts()): the_post(); nie działa z niestandardowymi postami. Jakieś pomysły? Dziękuję!


title: Jak używać skryptów, gdy nagłówek/stopka są usunięte

text: Pracuję z klientem, który opakowuje treść naszej witryny WordPress własnym zewnętrznym nagłówkiem i stopką, usuwając nasz nagłówek i stopkę. Nasze skrypty wtyczek umieszczone w kolejce nie działają, ponieważ nasz nagłówek i stopka w ogóle nie są używane. Ponadto wydaje mi się, że ŻADNE wtyczki nie działałyby, gdyby nie używały naszego nagłówka/stopki (nie tylko tych, które umieściliśmy w kolejce w functions.php). Czy to prawda? * * * TO NIE DZIAŁA - MOŻESZ TO POMINĄĆ, CHYBA ŻE CHCESZ TO PRZECZYTAĆ. Rozmawiałem o tym z kilkoma mądrymi ludźmi na naszym Meetup i powiedzieli, że mogę wydrukować skrypty za pomocą poniższego fragmentu w moich funkcjach, a następnie będą działać ponownie (głównie, ale jest to kiepskie obejście). Próbowałem tego i jak dotąd wydaje się, że to nie działa. Chciałbym wiedzieć, dlaczego to powinno działać - co to robi? Gdybym rozumiał to lepiej, może mógłbym dowiedzieć się, co jest nie tak. function enqueue_scripts_the_wrong_way() { printf( '<script src="%s/js/jquery.stellar.init.js" data-load-script="1"></script>', get_stylesheet_directory_uri() ); } add_action( 'wp_footer_print_scripts', 'enqueue_scripts_the_wrong_way' ); * * * DLACZEGO KIEDYKOLWIEK TO ZROBIĆ? @norcross zapytał na Twitterze, czy mógłbym wyjaśnić, dlaczego klient potrzebuje tego w pierwszej kolejności. Pomocna może być wiedza, że zostałam zakontraktowana tylko na zaprojektowanie/opracowanie motywu WP, o którym będę mówił. Klient ma istniejącą witrynę internetową, której część korzysta z witryny WP (na swoim blogu), a część korzysta z niestandardowego CMS. Zasadniczo są to sieć społecznościowa dla małych firm, a ta witryna zawiera wiele dynamicznych treści opartych na statusie zalogowania/wylogowania użytkownika i przekazuje informacje o użytkowniku. Chcieli przenieść bardziej statyczne części tej witryny i bloga w całości do jednej instalacji WordPressa, aby dział marketingu mógł lepiej nim zarządzać (najwyraźniej niestandardowy CMS jest uciążliwy). ALE nagłówek i stopka na stronie internetowej zawierają część kontekstu zalogowania/wylogowania. Powiedziałem im, że WP może uzyskać zewnętrzną bazę danych użytkowników i pracować z nią, ale to więcej niż ja osobiście wiem, jak to zrobić - jednak znam wielu deweloperów, którzy to robią, i że kiedy nadejdzie czas, zrobię właściwe wprowadzenie. Powiedzieli, że nie byłoby to konieczne, ponieważ mogliby owinąć zawartość WP swoim nagłówkiem i stopką, ponieważ zasadniczo wszystko, czego chcieli od instalacji WP, to zawartość. Mają kilku ludzi, którzy są zaznajomieni z WP pracującymi nad projektem, więc założyłem, że niezależnie od tego, jak to robią, będą wiedzieć, że muszą jakoś zachować integralność nagłówka i stopki WP, ale się myliłem. To, z czym skończyliśmy, jest dobrze, dokładnie to, co powiedzieli, ich nagłówek i stopka z zawartością naszego ciała. Instalacja WP ma nagłówek i stopkę z wywołaniami wp_head i wp_footer (choć to wszystko), ale niezależnie od tego, jak działa ich opakowanie, nie używa ich.


title: Jak pomyślnie utworzyć hak do zastąpienia wiadomości e-mail?

text: Tworzę aplikację do wynajmu mieszkań online za pomocą Visual Form Builder Pro. Muszę wysłać wypełnione formularze do określonych menedżerów na podstawie wyboru nieruchomości. Gdy użytkownik wybierze lokalizację nieruchomości i prześle formularz, musi on zostać przesłany pocztą elektroniczną do odpowiedniego zarządcy mieszkania. Na przykład w swoim wniosku wybieram Arlington Arms Apartments, wypełniam formularz i przesyłam go. Menadżer Arlington Arms powinien być jedyną osobą, która otrzyma wypełniony wniosek pocztą elektroniczną. Zacząłem od utworzenia pliku vfb_override_email_114.php, ale nie jestem pewien, gdzie go zapisać, aby mój kod został odebrany po przesłaniu. Nie mam doświadczenia z kodem, więc każda pomoc byłaby bardzo mile widziana! Aplikacja: http://simco-apts.com/testsite/?page_id=140 Dotychczasowy kod: <?php /* Nadpisanie adresu e-mail dla aplikacji */ ?> <?php add_action( 'vfb_override_email_114', 'vfb_action_override_email', 10, 5); function vfb_action_override_email( $emails_to, $form_subject, $message, $headers, $attachments ){ // Sprawdza przycisk radiowy. Użyj znacznika scalania, aby uzyskać identyfikator $_POST if ( 'Arlington Arms' == $_POST['vfb-5'] ) $emails_to = array( 'arlingtonarms@simco-apts.com' ); elseif ( 'Crestview' == $_POST['vfb-5'] ) $emails_to = array( 'crestview@simco-apts.com' ); // Wyślij pocztę foreach ( $emails_to jako $email ) { wp_mail( $email, $form_subject, $message, $headers, $attachments ); } }


title: date_i18n() problem

text: Próbuję użyć date_i18n() do wyświetlenia zlokalizowanej daty w moim motywie. <?php echo date_i18n( 'F j, Y', strtotime( get_the_time( "R-m-d") ) ); ?> Jednak zawsze zwraca angielską wersję miesiąca, a nie francuską. Używam wordpressa jako sieci. Moja witryna główna ma domyślną WPLANG (tak angielski) i ustawiam drugą witrynę na francuski, ustawiając WPLANG na fr_FR w ustawieniach witryny. Inne tłumaczenia na stronie działają dobrze, więc wordpress zdaje sobie sprawę, że język jest inny. Pobrałem niezbędne pliki .mo i .po dla języka francuskiego, ale nie ma tam miesięcy, więc zakładam, że są one ustawione/używane gdzieś indziej. Jakakolwiek pomoc byłaby mile widziana, ponieważ byłem przez to zakłopotany od wielu godzin.


title: Usuń atrybuty wysokości/szerokości obrazu z widżetu obrazu

text: Widżet obrazu zawiera „szerokość” i „wysokość” na obrazach, które bezskutecznie próbowałem odfiltrować, aby uzyskać płynną szerokość. Wypróbowałem następujące, które wydają się być najczęstszymi rozwiązaniami podobnych problemów, w `functions.php`, ale bez powodzenia: function responsive_image_widget( $attr = array() ) { unset($attr['width'] ); unset($attr['wysokość']); zwróć atrybut $; } add_filter( 'image_widget_image_attributes', 'responsive_image_widget' ); i function responsive_image_widget($html) { $html = preg_replace('/(szerokość|wysokość)=["\']\d*["\']\s?/', "", $html); zwróć $html; } add_filter('image_widget_image_attributes','responsive_image_widget', 10); Oto link do dokumentacji filtra widżetu obrazu. Każda pomoc jest mile widziana!


title: Jak tworzyć zmienione wersje obrazów dodanych za pomocą wp_insert_attachment

text: Przesyłam obrazy do mojej galerii multimediów i ustawiam je jako polecany obraz mojego posta, co działa całkiem nieźle. Chciałbym wygenerować miniatury tych polecanych obrazów w taki sam sposób, w jaki Wordpress obsługuje tworzenie miniaturek o zmienionym rozmiarze, gdy obraz jest dodawany za pomocą panelu Wstaw multimedia, gdzie tworzy wiele plików, każdy z nowymi wymiarami określonymi w nazwie pliku. Niestety, mam dużo problemów ze znalezieniem czegokolwiek, co wyjaśnia, jak powinno to zostać zrobione poprawnie. Poniżej znajduje się odpowiedni kod. Pomyślnie tworzy post i ustawia polecany obraz do pliku multimedialnego, ale nie generuje miniatur, które pasują do niego. Każda pomoc byłaby bardzo mile widziana! // Jeśli post został utworzony if($post_id) { // Dodaj dane pola meta/niestandardowego add_post_meta($post_id, 'gif_random_id', $randomId); // Dodaj przesłany plik do aktualnej biblioteki obrazów Wordpress global $uploadURL; $nazwa_pliku = $URL_przesyłania . $randomId . '.' . $rozszerzenie pliku; $ wp_filetype = wp_check_filetype (nazwa podstawowa (nazwa pliku $), null); $wp_upload_dir = wp_upload_dir(); $attachment = array( 'guid' => $wp_upload_dir['url'] . '/' .basename($filename), 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/ \.[^.]+$/', '', basename($filename)), 'post_content' => '', 'post_status' => 'opublikuj' ); $attach_id = wp_insert_attachment($attachment, $filename, $post_id); $attach_data = wp_generate_attachment_metadata ($attach_id, $filename); wp_update_attachment_metadata ($attach_id, $attach_data); // Teraz ustaw załącznik jako polecany obraz update_post_meta($post_id, '_thumbnail_id', $attach_id); }


title: Jak uzyskać identyfikator autora poza pętlą?

text: Nie mogę uzyskać identyfikatora autora posta poza pętlą, aby umożliwić działanie get_the_author_meta. Do tej pory próbowałem różnych podejść: 1. $author_id=$post->post_author; 2. globalna poczta; $author_id=$post->post_author; 3. $post_tmp = get_post($post_id); $author_id = $post_tmp->post_author; 4. $author_id = $posts[0]->post_author; Potrzebuję identyfikatora autora, aby przekazać go do: $address = get_the_author_meta('user_email', $author_id); Jakieś sugestie?


title: Jak mogę bezpośrednio przesyłać filmy ze smartfona do bloga i komentarzy?

text: Używam MAMP i WordPress do lokalnego hostowania i testowania mojej witryny wideo na moim Macbooku Air (przy użyciu szablonu „wideo”). Staram się znaleźć najprostszy sposób na łatwe wgrywanie i osadzanie filmów (z widocznym odtwarzaczem, a nie tylko linkiem) pobranych z mojego smartfona do mojego bloga. Staram się również znaleźć sposób, aby komentujący mogli łatwo przesyłać filmy (i osadzać je, aby nie był obecny tylko link do filmu) ze swoich smartfonów (najlepiej bezpośrednio) do komentarzy na moim blogu. Czy jest na to łatwy sposób (bez uprzedniego przesyłania filmu na YouTube lub inne źródło)? Cała koncepcja bloga i komentarzy polega na prowadzeniu dyskusji wideo (między mną, blogerem i komentatorami, a także między różnymi komentującymi) na temat, który jest nagrywany na smartfonie i łatwo przesyłany na stronę internetową. Od ponad tygodnia szukam pomysłów i wtyczek. Wszelkie sugestie byłyby bardzo mile widziane.


title: Jaki jest najlepszy sposób udostępniania danych użytkownika w wielu witrynach Wordpress?

text: Przede wszystkim Multisite nie jest tym, czego szukam. Mam 5 stron internetowych używających Wordpressa, wszystkie na osobnych domenach, dla których chciałbym włączyć konta użytkowników. Potrzebuję, aby dane użytkownika były udostępniane w całej sieci, a gdy użytkownik utworzy konto, będzie miał natychmiastowy dostęp do wszystkich innych stron internetowych. To, co próbuję zrobić, nie jest zalecane przez Wordpress podczas korzystania z Multisite: > Jeśli planujesz tworzyć witryny, które są silnie połączone, udostępniają dane lub użytkowników, sieć wielostanowiskowa może nie być najlepszym rozwiązaniem. -http://codex.wordpress.org/Before_You_Create_A_Network (1st > akapit, 3 zdanie) Próbowałem użyć „sztuczki ze wspólną tabelą użytkowników”, jak wspomniano tutaj http://wordpress.org/support/topic/multiple-sites -same-users-how i tutaj http://xentek.net/articles/528/implementing-the-wordpress-shared-users-table- trick/ i kilka innych miejsc...problem w tym, że ta informacja jest 2-7 lat i używam Wordpress 3.5.1 i ta "sztuczka" nie działa. Próbowałem wstawić ten kod do wp-config wokół linii `$table_prefix`. define('CUSTOM_USER_TABLE', 'wp_users'); define ('CUSTOM_USER_META_TABLE', 'wp_usermeta'); Krótko mówiąc, nie sądzę, aby ta sztuczka działała, ponieważ w ogóle nie jestem w stanie zalogować się do drugiej strony po stronie administratora. Jakieś sugestie dotyczące najlepszego sposobu połączenia tych danych?


title: Wywołanie Ajax nie działa dla tego niestandardowego kodu

text: Mam to wywołanie ajax, które pobiera wartość dla catname: jQuery('.bio a').click( function(){ var catname = $(this).closest(.bio").data('category'); alert(catname); jQuery.ajax({ cache: false, type: 'POST', url: 'http://www.mysite.com/wp-admin/admin-ajax.php', data: { action: ' wykonawców', nazwa kota: nazwa kota /*nonce: nonce,*/ } }); }); Mam tę funkcję, która aktualizuje pole niestandardowe: function performers(){ $test = $_POST['catname']; return $test; } add_action('wp_ajax_nopriv_ wykonawcy', 'wykonawcy'); add_action('wp_ajax_performers', 'wykonawcy'); Używam zmiennej $test w single.php Pytania: 1. Masz pomysł, dlaczego ten kod nie działa? **Jquery var catname jest ustawiany** (przetestowano to z alertem). Może ma to związek z buforowaniem? Próbowałem zaktualizować niestandardowe pole za pomocą zmiennej $test i pobrać wartość tego niestandardowego pola w pojedynczym.php, nadal bez powodzenia. 2. Widziałem tutorial używając nonce? Czy radzisz mi go użyć? Jak? Próbowałem tego, nadal bez powodzenia (nazywane performers(); w single.php, aby to zadziałało. function performers(){ $test = $_POST['catname']; update_post_meta(758, 'perfx', $ test);} add_action('wp_ajax_nopriv_performers', 'wykonawcy'); add_action('wp_ajax_performers', 'wykonawcy');


title: Niestandardowy szablon resetowania hasła po zapomnieniu żądania hasła

text: Stworzyłem niestandardowy szablon logowania, w którym możesz się zalogować lub poprosić o link, który prześle Cię do formularza resetowania hasła. To, co muszę zrobić, to przekierować ten unikalny link do niestandardowego szablonu resetowania hasła (nie domyślnego w Wordpress). Jest to więc dwuczęściowe pytanie, jak najpierw wysłać link do niestandardowego szablonu i jak wyświetlić niestandardowy szablon resetowania hasła (nie „formularz zapomnianego hasła). Jakieś pomysły?


title: Zmień pasek boczny, który get_sidebar() otrzymuje z functions.php

text: Mam ten kod w pliku szablonu, który ładuje `sidebar-sidebar_a.php`: get_sidebar('sidebar_a'); Chciałbym dodać funkcję do sidebar.php, która powoduje zmianę tego na to, jeśli spełniony jest jakiś warunek: get_sidebar('other'); aby zamiast tego ładował `sidebar-other.php`. Myślałem, że to zadziała, ale wydaje się, że nie ma żadnego efektu: add_action('get_sidebar', 'my_sidebar_logic'); function my_sidebar_logic($sidebar) { // Załaduj inny pasek boczny, jeśli użytkownik jest zalogowany if (is_user_logged_in()) { return 'other'; } return $pasek boczny; } Co mogę zrobić, aby uzyskać pożądany efekt?


title: get_pages sortuj alfabetycznie według wartości meta

text:
Prowadzę stronę internetową z nieruchomościami i mam listę domów, które sprzedajemy. Używam kilku niestandardowych pól do przechowywania informacji o domach. Gdy klikniesz dom na stronie z listą domu (strona, nie post), zostaniesz przekierowany na stronę dedykowaną (ponownie, nie post) dla tego domu. Jestem bardzo nowy w PHP i Wordpress. W tej chwili kod, którego używam (get_pages) działa, aby wyświetlić wszystkie strony, które chcę, ale sortuje według post_date. Zamiast tego chcę, aby to zrobić, to sortować alfabetycznie według jednej z moich wartości meta pola niestandardowego; konkretnie, aby posortować A-Z według adresu ulicy. Czy jest jakiś sposób, aby to zrobić za pomocą parametru „sort_column”? Wszystko, co znalazłem podczas wyszukiwania, było związane z pobieraniem _postów_ zamiast _stron_. Oto mój obecny kod, który pobiera strony: <?php $listingPages = get_pages( array( 'sort_order' => 'ASC', 'sort_column' => 'post_date', 'meta_key' => 'houseNo', 'post_type' => 'strona', 'post_status' => 'opublikuj' ) ); foreach( $listingPages as $page ) { $content = $page->post_content; if ( ! $content ) // Sprawdź pustą stronę kontynuuj; $zawartość = zastosuj_filtry( 'zawartość', $zawartość ); ?>

<a href="<?php echo get_page_link( $page->ID ); ?>"><? php echo get_post_meta($page->ID, 'nr domu', prawda); ?> <?php echo get_post_meta($page->ID, 'streetAdd', true); ?>

 <?php } ?> Proszę wybaczyć mój brudny kod, jestem kompletnym noobem i jestem z tym całkowicie sam i nie mam profesjonalnego szkolenia. Więc w zasadzie zastanawiam się, czy mógłbym zrobić coś takiego z parametrem sort_column (to oczywiście nie działa): <?php $listingPages = get_pages( array( 'sort_order' => 'ASC', 'sort_column' => get_post_meta('streetAdd'), 'meta_key' => 'houseNo', 'post_type' => 'strona', 'post_status' => 'opublikuj' ) ); Nie wiem nawet, czy zadaję właściwe pytanie, czy muszę użyć jakiegoś niestandardowego zapytania wywołanego z functions.php lub czegoś takiego. Jestem otwarty na wszystko, co muszę zrobić, aby to osiągnąć. Dziękuję za pomoc!


title: Niestandardowe obrazy tła pokazu slajdów do wstawienia we wtyczce

text: Mam pokaz slajdów wypełniony obrazami tła z niestandardowego typu postu. Oto mój kod: <?php // uruchom pętlę foreach($slider_posts as $post) : setup_postdata($post); // pobierz obraz $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(), 'home-slide'); ?> <script type="text/javascript"> $(function(){ $.mbBgndGallery.buildGallery({ // containerment:"#wrapper", containerment:"body", timer:5000, effTimer:5000, kontrolki: "#controls", grayScale:false, autoStart:true, images:[ "<?php echo $thumbnail[0]; ?> " ], }); }); </script> <?php endforeach; ?> <?php wp_reset_postdata(); ?> <?php } ?> Ten kod wyświetla tylko jeden obraz slajdu, a nie wszystkie obrazy slajdu! Jak mogę to naprawić?


title: Pokaż tylko, kiedy taksonomia zawiera posty?

text: Chciałbym odpytywać posty według taksonomii w następujący sposób: <?php global $post; $terms = get_the_terms( $post->ID , 'movies', 'string'); $do_not_duplicate[] = $post->ID; if(!empty($terms)){ foreach ($terms as $term) { query_posts( array( 'movies' => $term->slug, 'showposts' => 4, 'caller_get_posts' => 1, 'post__not_in ' => $nie_nie_duplikuj)); if(have_posts()){ while ( have_posts() ): the_post(); $do_not_duplicate[] = $post->ID; ?> robić rzeczy <?php endwhile; wp_reset_query(); } } } ?> Ale chcę tylko to pokazać, podczas gdy pojawiają się posty z tą samą taksonomią. Jak mogłem to zrobić? Coś w stylu: jeśli ma taksonomię ORAZ ma post? Dziękuję! OGŁOSZENIE


title: Jak możesz zaprezentować klientom różne motywy premium bez konieczności ich wcześniejszego zakupu?

text: Jeśli korzystasz z usługi motywów premium (moje umiejętności polegają bardziej na kodowaniu niż na grafice), jaki jest dobry sposób na pokazanie klientom przykładów dostępnych dla nich motywów, bez wysyłania ich do witryny usługi motywów w pierwszej kolejności (tj. - bez pokazywania im pierwotnej ceny zakupu), ale bez konieczności zakupu motywu z góry? Wiem, że mogę stworzyć fikcyjną witrynę WP i użyć przełącznika motywów, ale nie chcę kupować wielu motywów, które nigdy nie będą używane.


title: Walidacja formularza komentarzy

text: Jak mogę ustawić zasady walidacji dla pola komentarza? Zmieniam wartość komentującego nazwę/e-mail/stronę domową onmouseover i onblur (używam tego zamiast etykiet - więc jeśli pole jest puste, wyświetla się "Twój e-mail", "Twoja strona domowa" itp.). Problem polega na tym, że po przesłaniu przesyła ten tekst w polu strony głównej (ponieważ nie ma on walidacji, w przeciwieństwie do pola e-mail, w którym pojawia się błąd, jeśli wpisałeś coś oprócz coś@coś.coś). Jak mogę zweryfikować pole strony głównej?


title: Usunięto slug z CPT, teraz Jak/gdzie podłączyć filtr do linku do strony archiwum terminów taksonomii?

text: Dodałem poniższy kod i pomyślnie zmieniłem mój slug CPT dla terminów taksonomii. Permalinki mojego bloga to /article/%postname% na wypadek, gdybyś się zastanawiał, i chciałbym, aby tak pozostało, więc nie ma kolizji z CPT. Działa dobrze i pozbyłem się ślimaka CPT w permalinku pojedynczego CPT ("listings"). function listing_type_link_filter_function( $post_link, $id = 0, $leavename = FALSE ) { if ( strpos('%listing_type%', $post_link) === 'FALSE' ) { return $post_link; } $post = get_post($id); if ( !is_object($post) || $post->post_type != 'lista' ) { return $post_link; } $terms = wp_get_object_terms($post->ID, 'listing_type'); if ( !$terms ) { return str_replace('/listing_type', '/', $post_link); } return str_replace('%listing_type%', $terms[0]->slug, $post_link); } add_filter('post_type_link', 'listing_type_link_filter_function', 1, 3); Działa dobrze i zamiast: `mojawitryna.com/listing_types/wycieczki/nazwa-wycieczki (post z „listą” CPT)” te wpisy wyświetlają się jako: mojawitryna.com/wycieczki/nazwa-wycieczki i są znalezione poprawnie dla każdego z następującą mysite.com/listing_type/tours/tour-name mysite.com/listings/tours/tour-name mysite.com/listing_types/tours/tour-name mysite.com/listing/tours/tour-name Teraz muszę podłącz ten sam lub podobny filtr do filtru linków do archiwum terminów, którego nie mogę znaleźć, jeśli taki istnieje. więc zamiast `mysite.com/cpt_slug/taxonomy_term` (strona archiwum) dostałbym `mysite.com/taxonomy_term` (strona archiwum) …bo najważniejsze w mojej witrynie są te terminy: typy_list, (wycieczki, atrakcje , wydarzenia), ale nie mogę pozwolić, aby slugi "listings" lub "listing_types" były wyświetlane, nawet jeśli SĄ dla mnie aukcjami. Czy wiesz, jaki hak i jak powinienem go filtrować, aby zastąpić slug listing_type z linku do stron ARCHIWUM TERMINÓW? A może łatwiej jest ustawić stronę ogólnych ustawień permalinków jako %term%/%postname% i sprawić, by CPT z niej korzystały, a zamiast tego dostosować zwykłe posty? –ponieważ większość przypadków niewykonania zobowiązania może skorzystać na CPT, a posty nie mają warunków. Dziękuję.


title: Różnica między Option_Group i Option_Name w Register_Settings

text: Myślę, że tytuł mówi wszystko! Pracuję nad różnymi samouczkami, jak dodać stronę opcji do mojej wtyczki testowej i mam trudności ze zrozumieniem funkcji `Register_Settings`. Każdy samouczek, który znalazłem, cytuje kodeks dla argumentów, a następnie używa tego samego tekstu w argumencie `Grupa_opcji` i `Nazwa_opcji`. Czy ktoś może mi to wyjaśnić?


title: Czy niestandardowy typ posta może mieć stronę nadrzędną?

text: Widziałem wiele postów w Webiverse o przypisywaniu strony jako rodzica niestandardowego typu postu. Po czterech godzinach nie mogę znaleźć rozwiązania i potrzebuję pomocy. Utworzyłem stronę "O mnie", która jest stroną nadrzędną strony "Nasi ludzie". Stworzyłem również niestandardowy typ posta o nazwie „Ludzie”. Stworzyłem też niestandardowy szablon strony dla strony „Nasi ludzie”. Struktura Permalink wygląda dobrze, dopóki nie przejdziesz do pojedynczej strony "Ludzie". Na przykład: Strona Johna Smitha, bezpośredni link jest niepoprawny. **Niestandardowy typ posta:** _Pożądana struktura permalinka:_ /about-us/our-people/john-smith _Właściwie struktura permalinka:_ /our-people/john-smith **Struktura strony Our People:** /about- nas/nasi-ludzie „o-nas” to strona, „nasi-ludzie” to strona, a także przepisany ślimak dla niestandardowego typu postu „ludzie”. Próbowałem zmienić ustawienia hierarchiczne i próbowałem dodać „o nas/nasi-ludzie” bezpośrednio do przepisywania, ale bez powodzenia. **Functions.php:** function codex_custom_init() { // Nasi ludzie $people_label = array( 'name' => 'Ludzie', 'singular_name' => 'Ludzie', 'add_new' => 'Dodaj osoby', 'add_new_item' => 'Dodaj nowych ludzi', 'edit_item' => 'Edytuj osoby', 'new_item' => 'Nowi ludzie', 'all_items' => 'Wszyscy ludzie', 'view_item' => 'Wyświetl osoby' , 'search_items' => 'Szukaj osób', 'not_found' => 'Nie znaleziono osób', 'not_found_in_trash' => 'Nie znaleziono osób w Koszu', 'parent_item_colon' => '', 'menu_name' => 'Ludzie ', ); $people_args = array ( 'labels' => $people_label, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite ' => array( 'slug' => 'nasi-ludzie'), 'capability_type' => 'strona', 'has_archive' => true, 'hierarchical' => true, 'menu_position' => null, 'menu_icon' => get_template_directory_uri() . '/images/icons/people.png', 'supports' => array('title', 'redaktor', 'autor', 'thumbnail', 'excerpt','page-attributes') , ); register_post_type('ludzie', $people_args); } **Moje niestandardowe szablony:** people.php people-single.php


title: menu nie wyświetla się w różnych językach

text: Mam niestandardowe menu w witrynie z wieloma językami (wtyczka WPML) Menu nie jest wyświetlane w żadnym innym języku niż natywny. 1. Czy menu można przetłumaczyć? 2. Czy menu może być wyświetlane we wszystkich językach bez zmiany tekstu? (gdy to głównie nazwy, których nie należy tłumaczyć)


title: Menu zaplecza, które pokazuje strony z określonym szablonem strony i ich strony podrzędne

text: Skonfigurowałem menu w zapleczu, które pokazuje listę stron, do których przypisany jest określony szablon strony. Udało mi się to zrobić za pomocą poniższego kodu, ale chcę również wyświetlić strony podrzędne dla każdej z tych stron. Strony podrzędne nie używają tego samego szablonu strony. Jakiś pomysł, jak mogę to zrobić? add_action('admin_menu','add_hub_page_menu'); add_action('load-edit.php', 'filter_hub_pages_mysql_action'); function add_hub_page_menu(){ add_pages_page('Strony huba', 'Strony huba', 'manage_options', 'edit.php?post_type=page&page_template=hub_template'); } function filter_hub_pages_mysql_action() { if ($_GET['post_type'] !== 'strona') return; switch($_GET['page_template']){ case 'hub_template': add_filter('posts_where', 'hub_pages_where_filter' ); add_filter('posts_join', 'join_filter' ); przerwanie; domyślnie: przerwa; } } funkcja hub_pages_where_filter($sql) { global $wpdb; $ sql = " ORAZ $ wpdb->postmeta.meta_key = '_wp_page_template' ORAZ $wpdb->postmeta.meta_value LIKE 'hub-template.php'" . $sql; zwróć $sql; } funkcja join_filter($sql) { global $wpdb; $sql = "DOŁĄCZ $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id". $sql; zwróć $sql; }


title: Wysyłasz zapytania z wielu witryn w sieci?

text: Zdaję sobie sprawę, że pojawiło się kilka pytań, które tańczą wokół rozwiązania, którego szukam, ale myślę, że szukam czegoś konkretnego. To właściwie jest dwuczęściowe pytanie: 1) Moim celem jest, aby wordpress działał w trybie sieciowym (wielostanowiskowym) i staram się znaleźć sposób na „pogrupowanie” określonych witryn razem. Wiem o wtyczce "Multi-Network", ale mam pytanie, czy jest to najlepsze podejście do tego? Kluczem jest tutaj umożliwienie określonym użytkownikom dodawania/edycji witryn w ich własnej podsieci. 2) To jest kluczowe pytanie tego posta... Chciałbym poznać najlepsze podejście, które pozwoliłoby mi zasadniczo wyszukiwać posty z tej "podsieci" witryn. Na przykład jeśli w tej podsieci jest 10 witryn i każda z nich utworzyła posty w ramach niestandardowego typu posta o nazwie „wiadomości”, chciałbym mieć możliwość wyświetlenia na przykład 10 ostatnio opublikowanych postów z tej kolekcji 10 witryny. UWAGA: potrzebuję umiejętności tworzenia wielu podsieci, co z kolei oznacza, że zapytanie o najnowsze opublikowane „wiadomości” może wyświetlić tylko posty należące do właściwej grupy. Wreszcie - zdaję sobie sprawę, że istnieją rozwiązania do robienia takich rzeczy, ale szukam najlepszego podejścia w obu przypadkach, które wymagają NAJMNIEJSZEGO obciążenia bazy danych/zapytań. Bardzo chciałbym to zrobić za pomocą kodu w moim pliku functions.php, zamiast instalować wtyczki, które powodują dodatkowe rozdęcie. Jestem bardzo otwarta na wszelkie sugestie i doceniam każdą odpowiedź.


title: Jak usunąć ten pasek menu?

text: Po prostu używam stron do nawigacji. Nie potrzebuję paska menu z pojedynczym elementem - bez kategorii. Oto link do używanego motywu. http://themeforest.net/item/deadline-premium-wordpress-news-magazine-theme/faq/117203 Czy jest to kwestia tematyczna, czy część rdzenia prasy słownej?


title: Jedna instalacja Wordpress, dwie kategorie. Każda kategoria otrzymuje domenę

text: Ok, oto konfiguracja, do której dążę, mam nadzieję, że ktoś wie, jak mnie tam dostać: * Jedna instalacja Wordpress na www.mainsite.com * www.mainsite.com będzie stroną docelową, która wskazuje dwa linki kategorii: Praca, Zabawa * Domyślna domena kategorii pracy to www.worklife.com * Domyślna domena kategorii zabaw to www.play.mainsite.com * Wszelkie inne strony Wordpress będą utrzymywać domenę www.mainsite.com (np. www.mainsite.com/contact) W tej chwili stary blog znajduje się na worklife.com, więc mam nadzieję zapobiec zmianie adresów URL poszczególnych postów (np. www.worklife.com/2010/01/01/post) podczas migracji instalacji do mainsite.com Na razie , zbudowałem witrynę i wszystkie pętle i strony działają poprawnie. Jedyne, co pozostało do zrobienia, to sprawić, by domeny ładnie się bawiły, abym mógł wykonać ruch. Wszystkie moje badania wciąż wskazują mi na stworzenie sieci, ale mam nadzieję, że istnieje sposób, aby wszystko działało na jednej instalacji. Czy można to zrobić?


title: Błąd podczas edytowania niestandardowej kategorii typu posta?

text: Podczas edytowania kategorii dla mojego niestandardowego typu wpisu wybrane menu administratora jest tym dla wpisów (patrz zrzut ekranu). Czy to błąd. Jeśli nie, jest to trochę nieintuicyjne i niezbyt dobre dla użytkowników końcowych. Kod zrzutu ekranu: function product_register_product_post_type() { $box_post_type_args = array( 'show_ui' => true, 'public' => true, 'taxonomies' => array( 'product_category' ), 'supports' => array( 'title', 'editor', 'thumbnail', 'slug' ), 'labels' => array( 'name' => 'Produkty', 'singular_name' => 'Produkt', 'add_new' => 'Dodaj nowy produkt', ' add_new_item' => 'Dodaj nowy produkt', 'edit_item' => 'Edytuj produkt', 'new_item' => 'Nowy produkt', 'view_item' => 'Wyświetl produkt', 'search_items' => 'Wyszukaj produkty', 'not_found' => 'Nie znaleziono produktów', 'not_found_in_trash' => 'Nie znaleziono produktów w koszu' ), 'capability_type' => 'page ', 'rewrite' => array( 'slug' => 'produkt' ) ); register_post_type( 'produkt', $box_post_type_args ); // Dodaj nową taksonomię, ustaw ją hierarchicznie (jak kategorie) $labels = array( 'name' => _x( 'Categories', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Category', 'taksonomia singular name' ), 'search_items' => __( 'Kategoria wyszukiwania' ), 'all_items' => __( 'Wszystkie kategorie' ), 'parent_item' => __('Kategoria nadrzędna' ), 'parent_item_colon' => __( 'Kategoria nadrzędna:' ), 'edit_item' => __( 'Edytuj kategorię' ), 'update_item' => __( 'Aktualizuj kategorię' ), 'add_new_item' => __( 'Dodaj nową kategorię' ), 'new_item_name' => __( 'Nowa kategoria gatunku' ), 'menu_name' => __( 'Kategorie' ), ); register_taxonomy( 'product_category', array( 'produkt' ), array( 'public' => true, 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'query_var' => true , 'rewrite' => array( 'slug' => 'produkt' ), )); } add_action( 'init', 'product_register_product_post_type');


title: Zmiana kolejności ładowania wtyczki

text: Piszę wtyczkę _bar_ , która jest zależna od aktywacji innej wtyczki, _foo_ , i potrzebuję, aby funkcje z _foo_ były dostępne podczas ładowania _bar_. Zwykle wtyczki są ładowane w kolejności alfabetycznej na podstawie nazwy katalogu, więc _bar_ jest ładowany przed _foo_. Jeśli zmienię nazwę katalogu _bar_ na _zbar_, ładuje się jako ostatni i działa dobrze, ale szukam bardziej eleganckiego i poprawnego rozwiązania. Podążałem za metodą jsdaltona, aby zmienić opcję `active_plugins` i zmienia ona kolejność tablicy, aby umieścić _bar_ na końcu, ale _bar_ nadal nie ma dostępu do funkcji _foo_ podczas tworzenia instancji. Przeczytałem odpowiedni kod podstawowy -- w zasadzie `wp-settings.php` i `wp_get_active_and_valid_plugins()` w `wp-includes\load.php`` -- i wygląda na to, że wtyczki powinny być ładowane w takiej kolejności, w jakiej ponownie zindeksowane wewnątrz `active_plugins`, więc nie mogę się domyślić, co jest nie tak. To jest w instalacji MultiSite. _bar_ jest klasą, a _foo_ jest proceduralne. Oto uproszczona wersja _foo/foo.php_ function foo() { // stuff } A oto uproszczona wersja _bar/bar.php_ class bar { public function __construct() { // ... $active_plugins = get_option('active_plugins'); print_r($active_plugins); if( function_exists('foo') ) wp_die("foo istnieje"); else wp_die("foo jeszcze nie istnieje"); } } } function this_plugin_last() { $wp_path_to_this_file = preg_replace('/(.*)plugins\/(.*)$/', WP_PLUGIN_DIR."/$2", __FILE__); $this_plugin = nazwa_bazy_wtyczki (przycinanie ($wp_ścieżka_do_tego_pliku)); $active_plugins = get_option('active_plugins'); $this_plugin_key = array_search($this_plugin, $active_plugins); if ($this_plugin_key) { array_splice($active_plugins, $this_plugin_key, 1); array_push($active_plugins, $this_plugin); update_option('active_plugins', $active_plugins); } } add_action("plugins_loaded", "this_plugin_last"); $bar = nowy słupek(); To jest wynik konstruktora _bar_ : Array ( [0] => foo/foo.php [1] => bar/bar.php ) foo jeszcze nie istnieje


title: Otrzymuję komunikat 404, gdy próbuję uzyskać dostęp do wp admin

text: W ogóle nie mogę uzyskać dostępu do wp-admin po zmianie uprawnień do folderu wp-config w celu wzmocnienia mojego bezpieczeństwa. Treść dla strony ładuje się, nie mogę uzyskać dostępu do wp-admin, wszystko, co otrzymuję, to wiadomość 404. każdy wie, jak to naprawić, potrzebuję SZYBKIEJ naprawy.


title: Pobierz zawartość ze stron z tym samym meta_key z bazy danych

text: Potrzebuję pomocy! Robię tę stronę szablonu i chcę pobrać zawartość ze stron z tym samym `meta_key`. Chcę wyświetlić wszystkie miniatury stron, które mają wartość „red” w `meta_key`. Problem polega na tym, że wartość meta_key w bazie danych jest ciągiem znaków... Nic przez to nie otrzymuję: $Red = 'a:1:{i:0;s:9:"Red";}'; $Czerwony = unserialize($Czerwony); $pages = get_pages(array('meta_key' => 'kolor', 'meta_value' => $red[0])); foreach ($pages jako $page): <?php echo get_the_post_thumbnail($page->ID, 'thumbnail'); ?> <?php echo $page->tytuł_postu; ?> <?php echo $page->post_content; ?> <?php endforeach; ?> Co robię źle?


title: wp_mail nie rozpoznaje nagłówków DW i UDW

text: Używam WordPressa 3.1.3 Otrzymuję następujące powiadomienia, gdy używam wp_mail z nagłówkami cc i bcc. Uwaga: Niezdefiniowana zmienna: cc w /var/www/mysite.info/htdocs/wordpress/wp-includes/pluggable.php w wierszu 349 Uwaga: Niezdefiniowana zmienna: bcc w /var/www/mysite.info/htdocs/wordpress/ wp-includes/pluggable.php on line 352 Tak ustawiam nagłówki e-maili $email_headers = "Od: ".$from_field_value.PHP_EOL; $email_headers .= "Odpowiedz do: ".$from_field_value.PHP_EOL; $email_headers .= "CC: mail@gmail.com".PHP_EOL; $email_headers .= "BCC: mail@gmail.com".PHP_EOL; if (wp_mail($email_to, $email_subject, $email_body, $email_headers)) { // Inny proces }


title: Sugestia dla wtyczki kalendarza wydarzeń

text: Szukam wtyczki z następującymi właściwościami, wszelkie sugestie będą mile widziane: * Wszystkie wydarzenia powinny być zorganizowane według daty lub tematu, wyszukiwane przez odwiedzających użytkowników i powinny zawierać możliwość automatycznego wygaśnięcia. * Każde wydarzenie powinno zawierać ogólny opis, szczegóły dotyczące miejsca (data/godzina/obszar itp.) oraz powiązane zdjęcia lub filmy. * Użytkownicy muszą mieć możliwość subskrypcji mechanizmu powiadomień e-mail, który informuje ich o nadchodzących wydarzeniach. * Kalendarz musi również zapewniać proces zatwierdzania przed publikacją wydarzenia.


title: Niestandardowe linki bezpośrednie z niestandardowymi elementami potomnymi taksonomii pokazują błąd 404

text: Mam następujący problem. Stworzyłem niestandardowy typ posta, który nazywa się **Produkty**. **Produkty** zawiera jedną porcję **„produkty”**. Stworzyłem również dwie niestandardowe taksonomie. Jedna to **Kategoria produktu** (która pełni rolę kategorii) z ślimakiem **"product-cat"**, a druga to **Aplikacja produktu** (działająca jako tagi) z ślimakiem **"app"* *. Cóż, mój problem dotyczy dzieci z kategorii produktów, kiedy dodaję niestandardowe permalinki (więc nie zwracaj uwagi na zastosowanie produktu). Powiedzmy, że adres URL, który chcę osiągnąć, to http://website.com/products/product-cat/product-cat-children/postname Ale kiedy dodaję niestandardowe permalinki za pomocą wtyczki **Niestandardowe linki bezpośrednie typu post* * z tą strukturą `/%product-cat%/%postname%/` otrzymuję 404. Próbowałem ponownie zapisać permalinki, dodać `flush_rewrite_rules` w typie postu rejestru, dodać `with_front => false` i generalnie wszystko z tego tematu co tam chłopaki mają ten sam problem jak ja i jakieś inne tematy ale nic. Jakaś inna metoda, której mi brakuje? Jeśli zostawię niestandardowy permalink w domyślnym `/%postname%/` nie otrzymam żadnego 404, ale adres URL jest tylko nazwą postu produktu. `http://website.com/products/postname` Chcę przynajmniej pokazać kategorię `http://website.com/products/product-cat/postname` Dziękuję :) Mój kod dla niestandardowych typów postów to this: // Funkcja sekcji produktów all_procucts_custom() { $labels = array( 'name' => _x( 'Produkty', 'Ogólna nazwa typu posta', 'text_domain' ), 'singular_name' => _x( 'Produkt', 'Typ Postu Pojedyncza Nazwa', 'text_domain' ), 'menu_name' => __( 'Produkty', 'text_domain' ), 'parent_item_colon' => __( 'Element nadrzędny:', 'text_domain' ), 'all_items' = > __( 'Wszystkie produkty', 'text_domain' ), 'view_item' => __( 'Wyświetl produkt', 'text_domain' ), 'add_new_item' => __( 'Dodaj nowy produkt', 'text_domain' ), 'add_new ' => __( 'Dodaj nowy produkt', 'text_domain' ), 'edit_item' => __( 'Edytuj produkt', 'text_domain' ), 'update_item' => __( 'Aktualizuj produkt', 'text_domain' ), 'search_items' => __( 'Wyszukaj produkt', 'text_domain' ), 'not_found' => __( 'Nie znaleziono', 'text_domain' ) , 'not_found_in_trash' => __( 'Nie znaleziono w Koszu', 'text_domain' ), ); $args = array( 'label' => __( 'all_products', 'text_domain' ), 'description' => __( 'All Products', 'text_domain' ), 'labels' => $labels, 'supports' = > array( 'title', 'thumbnail', ), 'taxonomies' => array( 'product-cat', 'app' ), 'hierarchical' => false, 'public' => true, 'rewrite' => array('slug' => 'products', 'with_front' => false), 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'menu_icon' => 'dashicons-forms', 'can_export' => prawda, 'has_archive' => prawda, 'exclude_from_search' => fałsz, 'publicly_queryable' => prawda, 'capability_type' => 'strona „, ); register_post_type( 'wszystkie_produkty', $args ); } add_action( 'init', 'all_procucts_custom', 0 ); //Taksonomia dla produktów --Categories function taksonomia_for_products_cat() { $labels = array( 'name' => _x( 'Categories', 'Ogólna nazwa taksonomii', 'text_domain' ), 'singular_name' => _x( 'Category' , 'Pojedyncza nazwa taksonomii', 'text_domain' ), 'menu_name' => __( 'Kategorie produktów', 'text_domain' ), 'all_items' => __( 'All Items', 'text_domain' ), 'parent_item' = > __( 'Element nadrzędny', 'text_domain' ), 'parent_item_colon' => __( 'Element nadrzędny:', 'text_domain' ), 'new_item_name' => __( 'Nowa nazwa elementu', 'text_domain' ), ' add_new_item' => __( 'Dodaj nowy element', 'text_domain' ), 'edit_item' => __( 'Edytuj element', 'text_domain' ), 'update_item' => __( 'Aktualizuj element', 'text_domain' ) , 'oddziel_elementy_z_co mmas' => __( 'Oddziel elementy przecinkami', 'text_domain' ), 'search_items' => __( 'Wyszukaj elementy', 'text_domain' ), 'add_or_remove_items' => __( 'Dodaj lub usuń elementy', ' text_domain' ), 'choose_from_most_used' => __( 'Wybierz z najczęściej używanych pozycji', 'text_domain' ), 'not_found' => __( 'Nie znaleziono', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'has_archive ' => true, 'show_tagcloud' => true, 'rewrite' => array('slug' => 'product-cat', 'with_front' => false), ); register_taxonomy( 'product-cat', array( 'all_products' ), $args ); } add_action( 'init', 'taksonomia_for_products_cat', 0 ); //Taksonomia dla produktów --Tags function taxonomy_for_products_tags() { $labels = array( 'name' => _x( 'Applications', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Application' , 'Pojedyncza nazwa taksonomii', 'text_domain' ), 'menu_name' => __( 'Aplikacje produktów', 'text_domain' ), 'all_items' => __( 'All Items', 'text_domain' ), 'parent_item' = > __( 'Element nadrzędny', 'text_domain' ), 'parent_item_colon' => __( 'Element nadrzędny:', 'text_domain' ), 'new_item_name' => __( 'Nowa nazwa elementu', 'text_domain' ), ' add_new_item' => __( 'Dodaj nowy element', 'text_domain' ), 'edit_item' => __( 'Edytuj element', 'text_domain' ), 'update_item' => __( 'Aktualizuj element', 'text_domain' ) , 'oddziel_elementy_z_ przecinki' => __( 'Oddziel elementy przecinkami', 'text_domain' ), 'search_items' => __( 'Wyszukaj elementy', 'text_domain' ), 'add_or_remove_items' => __( 'Dodaj lub usuń elementy', ' text_domain' ), 'choose_from_most_used' => __( 'Wybierz z najczęściej używanych pozycji', 'text_domain' ), 'not_found' => __( 'Nie znaleziono', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => false, 'public' => true, 'rewrite' => array('slug' => 'app','with_front' => FALSE) , 'show_ui' => prawda, 'has_archive' => prawda, 'show_admin_column' => prawda, 'show_in_nav_menus' => prawda, 'show_tagcloud' => prawda, ); register_taxonomy( 'aplikacja', array( 'wszystkie_produkty' ), $args ); } add_action( 'init', 'taksonomia_for_products_tags', 0 );


title: Taksonomie dla niestandardowych typów postów

text: Cześć chłopaki, mam pewne problemy z moimi taksonomiami... oto mój kod: define('REVIEWS_SLUG', 'review'); define('REVIEWS_CATEGORY_SLUG', 'kategoria-recenzji'); function create_reviews_section(){ $labels = array( 'name' => __('Reviews'), 'singular_name' => __('review'), 'add_new' => __('Add New'), 'add_new_item' => __('Dodaj nową recenzję'), 'edit' => __('Edytuj'), 'edit_item' => __('Edytuj recenzję'), 'new_item' => __('Nowa recenzja'), ' view' => __('Wyświetl'), 'view_item' => __('Wyświetl recenzję'), 'search_items' => __('Wyszukaj recenzje'), 'not_found' => __('Nie znaleziono recenzji') , 'not_found_in_trash' => __('Nie znaleziono recenzji w Koszu'), ); register_post_type('reviews', array( 'labels' => $labels, 'description' => __('Sekcja Recenzje'), 'public' => true, 'show_ui' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'supports' => array('title', 'editor', 'custom-fields', 'excerpt', 'comments', 'autor'), 'rewrite' => array('slug ' => REVIEWS_SLUG, 'with_front' => true), 'query_var' => false, 'taxonomies' => array('review-category') ) ); } function create_review_category(){ $labels = array( 'name' => _x('Kategorie recenzji', 'Kategorie recenzji'), 'singular_name' => _x('Kategoria recenzji', 'Kategoria recenzji'), 'search_items' => __('Wyszukaj kategorie recenzji'), 'popular_items' => __('Popularne kategorie recenzji'), 'all_items' => __('Wszystkie kategorie recenzji'), 'edit_item' => __('Edytuj kategorię recenzji '), 'update_item' => __('Aktualizuj kategorię recenzji'), 'add_new_item' => __('Dodaj nową kategorię recenzji'), 'new_item_name' => __('Nowa kategoria recenzji'), 'separate_items_with_commas' = > __('Oddziel kategorie recenzji przecinkami'), 'add_or_remove_items' => __('Dodaj lub usuń kategorie recenzji'), 'choose_from_most_used' => __('Wybierz z najczęściej używanych kategorii recenzji'), 'menu_name' = > __('Kategorie') ); register_taxonomy('review-category', array('recenzje'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' = > array('slug' => REVIEWS_CATEGORY_SLUG), )); Pierwszy problem polega na tym, że wordpress nie rozpoznaje tej taksonomii jako hierarchicznej. Na przykład, gdy wygeneruję listę rozwijaną z tą taksonomią i głębokością = "1", zwróć wszystkie taksonomie (rodzice i dzieci). Drugi problem: kiedy próbuję wstawić nowy termin (z wp_insert_term) mówi mi, że taksonomia jest nieprawidłowa. Trzeci problem: myślałem, że adres URL taksonomii podrzędnej będzie wyglądał następująco: domain.com/review-category/parent-taxonomy/child-taxonomy/, ale w moim przypadku będzie to: domain.com/review-category/child-taxonomy/. Jak mogę zmienić adres URL na coś takiego? Z góry dziękuję ;) LE: add_action('init', 'create_reviews_section'); add_action('init', 'create_review_category', 0); $args = array( 'show_option_none' => 'Wybierz markę', 'hide_empty' => 0, 'name' => 'vehicle_category', 'id' => 'vehicle_category', 'taxonomy' => 'review-category' , 'hierarchiczne' => 0, 'klasa' => 'maxw', 'głębokość' => 1 ); wp_dropdown_categories ($args );


title: Możliwość pobrania dopiero po dostarczeniu wiadomości e-mail

text: Chciałbym mieć stronę z elementami do pobrania, takimi jak pliki PDF, ale chciałbym, aby użytkownik musiał wstawić dane e-mail przed pobraniem plików, chociaż byłby w stanie wyświetlić dostępne pliki nawet przed podaniem adresu e-mail . System musi również poprosić tylko raz o wiadomość e-mail, a następnie może zachować plik cookie, aby nie pytał o każde żądane pobranie. Czy jest do tego dostępna wtyczka lub hack kodu? Dziękuję


title: Poprawa wydajności WP_Query dla wielu taksonomii

text: Mam witrynę z kilkoma niestandardowymi taksonomiami i odkryłem, że jedna z najwolniejszych części witryny próbuje wysyłać zapytania za pomocą OR w kilku z nich jednocześnie. Używam `WP_Query` jak na przykład: array( 'tax_query' => array( 'relation' => 'OR', array('taxonomy' => 'tax1', 'field' => 'slug', ' terms' => 'term1'), array('taxonomy' => 'tax2', 'field' => 'slug', 'terms' => 'term2'), array('taxonomy' => 'tax3', 'field' => 'slug', 'terms' => 'term3'), array('taxonomy' => 'tax4', 'field' => 'slug', 'terms' => 'term4'), ) ) Wygenerowany kod SQL trwa niedopuszczalnie 6 sekund: SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WEWNĘTRZNE DOŁĄCZENIE wp_term_relationships WŁ. wp_term_relationships JAK tt2 WŁĄCZONE (wp_posts.ID = tt2.object_id) ZŁĄCZENIE WEWNĘTRZNE wp_term_relationships JAK tt3 WŁĄCZONE (wp_posts.ID = tt3.object_id) GDZIE 1=1 AND wp_posts.ID NIE W (70) ORAZ (wp_term_IN (23)selationship LUB tt1.ter m_taxonomy_id Z (5) LUB tt2.term_taxonomy_id Z (11) LUB tt3.term_taxonomy_id Z (10) ) ORAZ (wp_posts.post_status = 'publish') GRUPA WG wp_posts.ID ZAMÓWIENIE WG wp_posts.post_date LIMIT ZAPISU 0,500 Ale ten odpowiednik zapytanie trwa znacznie przyjemniej 0,29 sekundy: SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND wp_terms.ID NOT IN (70__relationships. 5, 11, 10)) AND (wp_posts.post_status = 'publish') GRUPUJ WG wp_posts.ID ZAMÓWIENIE WG wp_posts.post_date OGRANICZENIE ZNISZCZENIA 0,500 Najwyraźniej wielokrotne sprzężenia powodują, że jest to wolniejsze niż powinno. SQL nie dba o to, że terminy pochodzą z różnych taksonomii, ale `WP_Query` robi to, ponieważ są one wyszukiwane przez slug. Czy jest jakiś sposób na przekonanie `WP_Query` do wygenerowania czegoś bliższego drugiemu? (Zauważ, że powyższe zostało zanonimizowane, aby chronić mojego klienta)


title: Jak mogę używać motywu Fresh & Clean do blogowania?

text: > **Możliwy duplikat:** > Ograniczona obsługa bloga Motyw Fresh & Clean Używam motywu Fresh & Clean i zastanawiam się, jak używać tego motywu do blogowania. Motyw pokazuje tylko podsumowanie postu, możesz pokazać tylko pełny tekst, używając fragmentów, co jest bardzo niewygodnym sposobem tworzenia postów. Czy istnieje inny do publikowania postów pełnotekstowych przy użyciu tego motywu?


title: Używanie Wordpressa do tworzenia szczegółowej nawigacji typu "Wyszukiwanie produktów"

text: Jest to w pewnym sensie kontynuacja pytania, które zadałem jakiś czas temu: próbując zaprojektować ładną analizę kategorii z jedną „utrzymywaną” taksonomią i powtarzalną listą kategorii, mam lepsze pojęcie o tym, czego chcę, ale tylko niejasny pomysł, jak to osiągnąć i miałem nadzieję, że otrzymam informację zwrotną. Będę używać wordpressa jako CMS. Zamiast postów z informacjami typu blog, tworzyłbym Produkty z wieloma wspólnymi właściwościami (które przypisałbym do taksonomii). Chcę stworzyć dobry obszar wyszukiwania/nawigacji, aby ludzie mogli znaleźć informacje o produkcie/recenzję, których potrzebują. Naprawdę coś takiego jak New Egg (www.newegg.com) ma, gdy próbujesz znaleźć sprzęt komputerowy, który chcesz. Czy wszedłeś i zacząłeś, powiedzmy, w kategorii Procesor, a następnie możesz przejść do tego, co chcesz. Wszystkie posty z taksonomią 3GHZ. Pole wyszukiwania dostosuje się wtedy, aby pokazać wszystkie te posty i pozostałe taksonomie, według których można by drążyć, typ gniazda, AMD/Intel itp. I utrzymywać te właściwości podczas przechodzenia. Wiem, że mogę używać plików cookie lub sesji do przechowywania wartości podczas ich przekazywania, ale nie jestem do końca pewien, jak podejść do reszty kodu. Szukam jakichkolwiek przykładów open source, które mógłbym przejrzeć, gdzie zostało to zrobione wcześniej, co pomogłoby mi opracować coś takiego dla mojej witryny. Z góry dziękuję!


title: Eksportuj csv i wymuś pobieranie na stronie szablonu

text:
Mam problem z próbą zbudowania strony, która pozwoliłaby komuś pobrać plik .csv zawierający dane, które są ustawione w zmiennej z frontendu. Mój kod znajduje się poniżej, ale jedyne, co się dzieje, to wyświetlanie danych na stronie, ale nie ma monitu o pobranie pliku .csv. Czy ktoś może zobaczyć, w czym może być problem? Dzięki Osu <?php /** * Szablon strony CSV * */ ?> <?php get_header(); ?>
 <?php get_sidebar(); ?>

 <?php get_template_part( '/loop', 'default' ); ?>
Eksport
 <form action="" method="post"> <input name="submit" type="submit" value="Export"> <input type="hidden" name=" submit" /> </form> <?php // Sprawdź, czy formularz został przesłany przed if($_SERVER['REQUEST_METHOD'] == "POST") { $fileName = date("d-m-y") . '-katalog-bv.csv'; $treść = ""; // treść dodana poniżej // Tytuł pliku CSV $content = "Nazwa,Adres,Wiek,Telefon \n"; // Dane w pliku CSV $content .= "\"John Doe\",\"Nowy Jork, USA\",15,65465464 \n"; // Utwórz csv i wymuś pobieranie header('Content-Type: application/csv'); header("Długość-treści: " .filesize($NewFile)); header('Dyspozycja zawartości: załącznik; nazwa_pliku="' . $nazwa_pliku . '"'); echo $treść; } ?>
  <?php get_footer(); ?>


title: php to nie działa na niestandardowej stronie

text: ### Problem Mam plik `db.php`, który zawiera dane logowania do mysql. Chcę go w oddzielnym pliku, takim jak ten, aby można go było połączyć na kilku różnych stronach w celu łatwiejszego późniejszego śledzenia. To wszystko działa, gdy nie jest na stronie wordpress, ale teraz próbuję przekonwertować wszystko na wordpress i mam problem. Poniższy tekst nie działa (nic nie powtarza się na stronie), ale jeśli skopiuję pojedynczą linię z `inc/db.php` do mojego `page-pricechanges.php` to zadziała. Jaki jest dla mnie najlepszy sposób na połączenie tego? * * * ### Struktura \THEMEFOLDER * \page-pricechanges.php * \header-pricechanges.php * \inc\db.php * * * ### Kod strony **header-pricechanges.php** <head> <?php to 'inc/db.php'; //Próbowałem również include get_bloginfo("template_url")'/inc/db.php'; //Próbowałem dołączyć 'db.php' i umieścić db.php w głównym katalogu strony, w głównym folderze motywu.. nic nie jest w stanie tego podnieść. ?> </head> **inc/db.php** <?php $con=mysqli_connect("host lokalny","root","", "nazwa bazy danych"); ?> **page-pricechanges.php** $query1 = mysqli_query($con, "SELECT * FROM nazwa_bazy ORDER BY saldo DESC") or die(mysql_error()); while ($wiersz = mysqli_fetch_assoc($zapytanie1)) { $id = $wiersz['id']; $name = addslashes($row['name']); echo $id." ".$name."<br>"; }


title: wp_query wybierz, jeśli masz komentarze

text: Wcześniej zadałem i zaakceptowałem podobne pytanie tutaj: wp_query i comment_parent - wybierz tylko posty z komentarzami najwyższego poziomu Więc próbuję użyć wp_query, aby wybrać tylko posty, które mają komentarze. Problem, z którym się teraz borykam polega na tym, że posiadam liczne filtry w ramach wyszukiwania zaawansowanego m.in. nazwę, lokalizację (kraj, obszar), tagi itp. itd., a wybór identyfikatorów postów w sposób pokazany w zaakceptowanej odpowiedzi staje się zbyt trudny. Istnieje zbyt wiele możliwych kombinacji wyszukiwań i opcji. Idealnie potrzebuję sposobu, aby globalnie wykluczyć posty bez komentarza, w jednym trafieniu. Miałem nadzieję na coś miłego i łatwego jak: $args = array( 'post_type' => 'films', 'have_comments' => true ); Ale wydaje się, że nie mogę znaleźć czegoś takiego. Myślałem, że może filtr w functions.php lub jakoś z użyciem have_comments()? Naprawdę nie chcę zaznaczać wszystkich postów i ukrywać się w pętli have posts, jeśli mogę pomóc, ponieważ potencjalnie mogą być zwrócone setki wierszy w wp_query, które nie są potrzebne. Przepraszam, jestem w tym początkujący, więc nie jestem pewien, co zrobić.


title: Jak pobrać szerokość i wysokość obrazu za pomocą zaawansowanych pól niestandardowych?

text: Używając get_field('sampleImage'), jak mam się zająć, aby uzyskać szerokość i wysokość obrazu za pomocą wtyczki ACF? Muszę mieć możliwość wydrukowania tagu img z atrybutami szerokości i wysokości z powodu skryptu.


title: Auto Gallery z zawartości folderu

text: Muszę być w stanie, jeśli jest to możliwe (jestem nowicjuszem, więc weź to pod uwagę) Chcę utworzyć krótki kod Wordpress, który doda automatyczną galerię zawartości w folderze. Obecnie próbuję wdrożyć to na stronie, która publikuje 12 corocznych numerów czasopism, więc co by to zrobiło, to jak tylko nowy plik PDF i JPG zostanie umieszczony w folderze, a następnie zostanie wyświetlony w tej konkretnej galerii. Znaczenie: Archiwum 2013 Sty - Gru Miesiące muszą być wyświetlane, w siatce 4x3 lub 6x2 Jeśli jesteśmy w czerwcu, a najnowsze wydanie jest w czerwcu, to zostanie wyświetlonych tylko 6 jpg. W ten sposób klient nie musi dokonywać żadnych modyfikacji w witrynie Wordpress, po prostu upuść pliki do określonego folderu przez FTP, a funkcja Wordpress php automatycznie zapełni galerię zgodnie z tym, co jest w stanie pobrać z zawartości tych folderów. * * * Niestety, ta wtyczka jest blisko, ale niewystarczająco boska ... ponieważ nie odczytuje zawartości folderów znajdujących się poza folderem wp uploads i nie chcemy migrować istniejącej struktury folderów w folderze instalacyjnym Wordpress. Potrzebuję go też do otwarcia linków w nowym oknie do pliku PDF magazynu, a nie większej wersji zdjęcia w fancybox. Pomoc :S


title: Przesyłanie w Bibliotece multimediów pokazuje tylko część obrazu (przesyłanie niekompletne)

text: Mam aplikację wordpress, w której przesłałem zdjęcie za pomocą biblioteki multimediów. Niestety mój problem polega na tym, że moje zdjęcie jest przesyłane tylko w połowie. Moje połączenie jest szybkie. Czy możesz dać mi wskazówki, dlaczego tak się dzieje? Jak to naprawić? Typ pliku: PNG Rozmiar pliku: 48 kB Wymiary: 542 × 437 ![tu wpisz opis obrazu](http://i.stack.imgur.com/sPstY.png)


title: Problem z podpięciem 'all' i add_action (wtyczka oparta na klasach)

text: Obecnie mam problem z moją niestandardową wtyczką. W rzeczywistości rejestruje wszystkie uruchomione akcje/filtry w pliku (lub na ekranie). Muszę jakoś zaktualizować moje opcje w db podczas przesyłania formularza. Oto sama lista kodu: class WP_Test_Logging_Plugin { //wymagane dla nazwy pliku private $yymmddhhmmss; prywatne $dane; public function __construct() { add_action( 'all', array( $this, 'log_to') ); add_action( 'menu_admin', array( $to, 'menu' ) ); add_action( 'admin_print_styles', array( $this, 'plugin_theme_style' ) ); add_action( 'template_redirect', array( $this, 'on_admin_form_submit' ) ); $this->rrmmddhhmmss = data( 'YMDHis' ); if ( get_option( 'gdzie_zalogować_do' ) == false ) { aktualizacja_opcja( 'gdzie_zalogować_do', 1 ); } $this->data = get_option( 'gdzie_zalogować_do' ); } metoda, której używam do przetwarzania formularza public function on_admin_form_submit() { if ( isset( $_POST['selection'] ) ) { update_option( 'where_to_log_to', $_POST['selection'] ); } } Czy jest na to sposób? Dziękuję!


title: Jak używać next_posts_link/previous_posts_link do stronicowania niestandardowych typów postów?

text: Mam pytanie dotyczące korzystania z previous_posts_link/next_posts_link. Czy można go używać również do niestandardowych typów postów? Lubię słyszeć od ciebie. Z góry dziękuję. Kacper


title: dlaczego wp_register_script nie działa dla register_activation_hook

text: Chcę zarejestrować skrypt, gdy moja wtyczka zostanie aktywowana. Więc napisałem: register_activation_hook(__FILE__, 'register_script'); funkcja register_script(){ wp_register_script('addjs','http://example.com/exmple.js'); } Następnie utworzyłem metabox i umieściłem skrypt w kolejce w haczyku `add_meta_boxes`: wp_enqueue_script('addjs'); Ale to nie działa. Czemu? Mój plik js to tylko prosta funkcja ostrzegania. Jednak kiedy zarejestruję swój skrypt za pomocą haka init lub innego haka, mój kod działa - dlaczego?