title: Przesłane pliki nginx dla wielu witryn WordPress rzucają błąd 404

text: Mam wielostanowiskową instalację poddomeny WordPress w podkatalogu `/blog` działającą na serwerze nginx. Wszystko działa dobrze, z wyjątkiem plików, które przesyłają poprawnie, ale nie są dostępne za pośrednictwem ich adresu URL. Część konfiguracji dotycząca plików to: lokalizacja ~ ^/files/(.*)$ { try_files /blog/wp-content/blogs.dir/$blogid/$uri /blog/wp-includes/ms-files. php?file=$1 ; dostęp_wyloguj; log_not_found wyłączone; wygasa max; } #unikaj lokalizacji php readfile() ^~ /blogs.dir { internal; alias /var/www/example/public_html/blog/wp-content/blogs.dir; dostęp_wyloguj; log_not_found wyłączone; wygasa max; } i mapuj $http_host $blogid { default -999; #blog przykład.com 1; a.przyklad.com 2; b.przyklad.com 3; c.przyklad.com 4; } Witryny WordPress mają następujące ustawienia: Ścieżka przesyłania: `wp-content/blogs.dir/1/files/` Ścieżka adresu URL przesyłania: `http://example.com/blog/files` Adres URL przesyłania pliku: `http:/ /example.com/blog/files` Liczba w ścieżce przesyłania jest oczywiście inna dla każdej witryny. Kiedy próbuję przesłać plik do dowolnego wpisu na blogu którejkolwiek z witryn, pojawia się on w folderze `/blog/wp-content/blogs.dir/#/files/`, ale jeśli próbuję uzyskać dostęp do `/blog/wp- content/files/test.png` wyrzuca 404 Jakieś pomysły? Dziękuję!


title: System dostarczania numerów seryjnych za pomocą WordPress

text: Rozwijam system, w którym użytkownik może kupić numer zdrapki za pomocą salda przedpłaconego. Stworzyłem już system balansowania za pomocą meta użytkownika. Teraz muszę dostarczyć użytkownikom numer karty po dokonaniu płatności. Ponieważ system płatności jest gotowy, potrzebuję pomysłu, który pomoże mi podać numer karty. Numery kart będą przechowywane w bazie danych. Dostarczę je. Prawdopodobnie można użyć niestandardowego typu postu, ale nie mogę rozpoznać, w jaki sposób je dostarczam. Na przykład użytkownik chce kupić kartę o wartości 10 USD. Przechowałem już 5 kart po 10 USD, 3 karty po 20 USD. Jeśli użytkownik dokona płatności, system dostarczy numer karty, która nie została wcześniej sprzedana. Potrzebuję pomysłu. Proszę zasugeruj mi. _Aktualizacja: Mam pomysł. Stworzę niestandardowy typ wpisu o nazwie „Karta” z trzema polami metakluczy: „Kwota”, „Numer” i „Status”. Po uruchomieniu określonej funkcji zostanie uruchomione zapytanie w celu wyszukania typu postu dla określonej kwoty i gdzie Status będzie „Nieużywany”. Następnie do użytkownika zostanie wysłana wiadomość e-mail z numerem karty, a niestandardowe pole „Status” zostanie zaktualizowane na „Używane”. Teraz potrzebuję pomysłu na przeszukanie posta. Doceniam twoją pomoc._


title: Wtyczka wp-e-commerce - niestandardowa opcja płatności

text: **Jak dodać "Za pobraniem"** w opcjach płatności? Również jeśli ta opcja jest zaznaczona, użytkownik powinien otrzymać "fakturę" przez e-mail. Używam wtyczki wp-e-commerce.


title: Rysowanie granicy między motywem a wtyczką w projektach na zamówienie na dużą skalę

text: W przypadku większości moich witryn dodanie funkcjonalności motywu wydawało się logicznym sposobem. Na przykład witryna z wpisem typu „produkt” lub kilkoma opcjami w polu meta lub stronie ustawień. Jednak w przypadku kilku znacznie większych projektów byłoby szaleństwem trzymać to wszystko w motywie i znacznie łatwiej było rozdzielić funkcjonalność na wtyczki wielokrotnego użytku. Ale teraz jestem na etapie, na którym wymagania są tak specyficzne, piszę wtyczkę na zamówienie do pracy z motywem i walczę z podjęciem decyzji, co (jeśli cokolwiek) powinno pozostać w motywie lub wejść do wtyczki (i ponadto, aby podzielić wtyczkę na kilka, aby obsłużyć każdy komponent witryny). Byłoby wspaniale usłyszeć o innych podobnych sytuacjach i ogólnie o tym, jak podchodzicie do dużych projektów w WordPressie.


title: Załaduj edytor wizualny bez niestandardowej stylizacji

text: Mam wtyczkę, która używa funkcji `wp_editor()` do załadowania instancji edytora TinyMCE. Jednak na edytor ma wpływ niestandardowy styl, aby wyglądał podobnie do motywu za pomocą funkcji `add_editor_style()`. Chociaż może to być świetne, aby dać użytkownikowi wyobrażenie o tym, jak treść może wyglądać na interfejsie użytkownika, nie chcę tego, ponieważ treść będzie wyświetlana tylko na zapleczu. Czy istnieje sposób na załadowanie wystąpienia edytora WordPress bez wpływu niestandardowego stylu?


title: Darmowa wtyczka do czatu

text: Czy istnieje wtyczka Wordpress, która pozwala użytkownikom prowadzić prywatny czat z administratorem, ale nie ma potrzeby posiadania planu płatności (tak jak w przypadku witryn pomocy technicznej, takich jak OGG lub 123flashchat). Chcę tylko prostego okna czatu, które poinformuje użytkowników, czy jestem online, czy nie i pozwoli im się ze mną skontaktować.


title: Zatrzymaj „alt” przed dodawaniem do_post_thumbnail

text: Używam the_post_thumbnail do wyświetlania określonego rozmiaru miniatury. Funkcja wyprowadza znacznik „alt=” z opisem załącznika. Czy można skasować wartość na wyjściu? Więc wyświetli `alt=""`?


title: Jak wyłączyć filtr miniatur dla określonej części szablonu lub rozmiaru obrazu?

text: Filtruję post_thumbnail_html w moim motywie, aby zmodyfikować dane wyjściowe moich tagów obrazu. Mam jedną część szablonu, do której nie chciałbym, aby ten filtr miał zastosowanie. Używa rozmiaru obrazu, który nie był używany w motywie. Więc szukam sposobu, aby ten filtr nie był stosowany do określonej części szablonu lub do określonego rozmiaru obrazu, w każdym razie działa. Czy to możliwe. Nie sądzę, że sam filtr ma znaczenie, ale na wszelki wypadek tutaj jest: if (! function_exists('_sf_responsive_img') ) : function _sf_responsive_img($html, $post_id, $post_thumbnail_id, $size, $attr) { // utwórz linki do obrazków $attachment_id = $post_thumbnail_id; $default = wp_get_attachment_image_src($attachment_id); $rozmiar = 'fd-sm'; $ mały = wp_get_attachment_image_src($attachment_id, $rozmiar); $rozmiar = 'fd-med'; $ med = wp_get_attachment_image_src($attachment_id, $rozmiar); $rozmiar = 'fd-lrg'; $lrg = wp_get_attachment_image_src($attachment_id, $rozmiar); //utwórz tag obrazu z zapytaniami $html = '<img src="'.$default[0].'"'; $html .= 'data-interchange="['.$default[0].', (domyślnie)],'; $html .= '['.$small[0].', (tylko ekran i (min -width: 320px))],'; $html .= '['.$med[0].', (tylko ekran i (min-width: 768px))],'; $html .= '['. $lrg[0].', (tylko ekran i (min-szerokość: 1024px))],'; $html .='">'; zwróć $html; } add_filter('post_thumbnail_html', '_sf_responsive_img', 5, 5); endif; // ! _sf_responsive_img istnieje


title: Jak dodać stałą wartość do get_post_meta();?

text: Używam następującego do wyświetlania wartości pola niestandardowego w moich postach: `<?php echo get_post_meta($post->ID, 'wikipedia', true); ?>` Jak dodać tę wartość do wyjścia, gdzie '$tag' przyjmuje tag postu: `\- <a href="wikipedia.org/wiki/**$tag**">Wikipedia</ a>` To, czego próbowałem, bez powodzenia: `<?php echo get_post_meta($post->ID, 'wikipedia', true . '- <a href="wikipedia.org/wiki/$tag">Wikipedia</ a>'); ?>`


title: Czy funkcja get_option jest buforowana?

text: W mojej wtyczce używam następującego kodu do pobrania opcji z bazy danych: $options = get_option('my_plugin_options'); Jeśli użyję tego 10 razy w różnych funkcjach mojej wtyczki, czy WordPress wykonuje 10 zapytań do bazy danych, czy też wykonuje tylko 1 wywołanie bazy danych na żądanie HTTP i buforuje wyniki?


title: Zapisywanie obrazów z powtarzalnego przesyłania plików Gravity Forms jako załączniki do postów

text: Próbuję przesłać wiele obrazów jako załączniki do postu za pomocą Gravity Forms i wtyczki Gravity Forms + Custom Post Types. Mam powtarzalne pole przesyłania plików przy użyciu gform_column_input_filter formularzy Gravity Forms. Zobacz to pytanie, jak to zostało osiągnięte. Następnie zaadaptowałem ten kod od BandonRandon, aby używał powtarzalnego pola przesyłania plików, jak poniżej: add_filter("gform_after_submission", "nifty_add_post_attachements", 10, 3); function nifty_add_post_attachements($entry) { //Będziesz tego potrzebował później, ZAUFAJ MI. if (! function_exists('wp_generate_attachment_metadata')) { require_once (ABSPATH . 'wp-admin/includes/image.php'); } //czy mamy w ogóle plik? if ( isset($_FILES['input_2'])) { $file_urls = $entry['2']; //świetnie, ale jaki jest jego adres URL? $file_array = unserialize($file_urls); foreach ( $file_array as $file_url) { $upload_dir = wp_upload_dir(); //gdzie chcesz to umieścić? $file_data = file_get_contents($file_url); //pokaż mi, z czego jesteś zrobiony $filename = basename($file_url); //tak ładny, ale jak się nazywa? if(wp_mkdir_p($upload_dir['path'])) //czy możemy to tam umieścić? $plik = $katalog_przesyłania['ścieżka'] . '/' . $nazwa pliku; //tak super jeszcze //lub nie, dobrze dobrze spróbujmy gdzie indziej $file = $upload_dir['basedir'] . '/' . $nazwa pliku; //pobierz całą lokalizację file_put_contents($file, $file_data); // tada w końcu do domu $wp_filetype = wp_check_filetype($filename, array('jpeg' => 'image/jpeg','jpg' => 'image/jpeg', 'gif' => 'image/gif', ' png' => 'obraz/png') ); //czy jest to właściwy typ pliku? $attachment = array( //ustaw załącznik 'post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_file_name($filename), 'post_content' => '', 'post_status' => 'dziedzicz ' ); $attach_id = wp_insert_attachment( $attachment, $file, $entry['post_id'] ); //wstaw załącznik $attach_data = wp_generate_attachment_metadata( $attach_id, $file ); //przypisz meta wp_update_attachment_metadata( $attach_id, $attach_data ); //zaktualizuj wpis } //usuń wpis //(aby zachować komentarz do wpisu lub usunąć ten wiersz) // WAŻNE Zobacz:  http://pastebin.com/quvsvGHJ, aby zapoznać się z funkcją /*if(!function_exists('sedc_gform_remove_entries ')){ die('następnym razem może powinieneś przeczytać komentarze');} else{ nifty_gform_remove_entries($entry, $form );}*/ } } Próbowałem zrzucić $_FILES['input_2'] za pomocą następującego kod na górze funkcji nifty_add_post_attachements, ale na moim ekranie nie pojawiają się żadne dane wyjściowe, post jest nadal tworzony, a spinner ładowania formularza ajax po prostu się zawiesza. <pre> <?php print_r($_FILES['input_2']); die();?> </pre> Każda pomoc lub wskazówki we właściwym kierunku będą mile widziane.


title: Jak wykluczamy bieżące posty związane z formularzem postu

text: Gdy użytkownik otworzy dowolny post, po prawej stronie może zobaczyć powiązane „posty” z tym postem. Ale obecnie w powiązanych `postach` mój obecny otwarty post pokazuje również, jak mogę `wykluczyć` ten post, który jest aktualnie otwarty.


title: add_menu_page() z funkcją zmiennej

text: Jak mogę użyć funkcji `add_menu_page()` jakiejś funkcji zmiennej? add_menu_page('Moja strona','Moja strona','manage_options','moja_strona', 'func' ); $func = function() { echo "Gotowe!"; }; Wiem, że mogę użyć funkcji func() { echo "Gotowe!"; }; Ale jak mogę używać takich jak $func = function() { echo "Gotowe!"; }; nazwać to ?


title: Jak zlokalizować jeden plik js dla różnych akcji?

text: Mam grupę funkcji javascript w jednym pliku js. każda funkcja działa na określoną akcję i otrzymuje własną odpowiedź ajax. niektóre znajdują się na różnych stronach, inne na tej samej stronie. Jeśli nie zrobię lokalizacji, nie otrzymam odpowiedzi. Jak mogę zlokalizować ten plik dla wielu akcji?


title: Jak powiększyć iframe biblioteki mediów Thickbox?

text: Ramka iframe w bibliotece multimediów Thickbox nie jest wystarczająco duża, aby wyświetlić moją niestandardową kartę. Próbowałem dodać „width=900&height=600” na końcu linku wskazującego na bibliotekę, ale bez powodzenia. Jak mogę zmienić rozmiar ramki?


title: Niestandardowy link bezpośredni typu postu dodaje nazwę typu postu przed nazwą posta

text: Więc stworzyłem niestandardowy typ posta, który wydaje się działać. jednak permalinki utworzonych postów mają nazwę niestandardowego typu postu przed nazwą posta. Dostaję adresy takie jak: `http://demoforhim2.e-ddl.com/movie_reviews/secondone/` i próbuję to zmienić na: `http://demoforhim2.e-ddl.com/secondone/` artykuły np. http://wordpress.org/support/topic/custom-post-type-permalink-rewrite to jest możliwe Próbowałem użyć rewrite z pustym ślimakiem, ale to nie zadziałało. Oto mój niestandardowy typ postu add_action( 'init', 'create_movie_review' ); function create_movie_review() { register_post_type( 'movie_reviews', array( 'labels' => array( 'name' => 'Recenzje filmów', 'singular_name' => 'Recenzja filmu', 'add_new' => 'Dodaj nowy', 'add_new_item' => 'Dodaj nową recenzję filmu', 'edit' => 'Edytuj', 'edit_item' => 'Edytuj recenzję filmu', 'new_item' => 'Nowa recenzja filmu', 'view' => 'Wyświetl ', 'view_item' => 'Wyświetl recenzję filmu', 'search_items' => 'Przeszukaj recenzje filmów', 'not_found' => 'Nie znaleziono recenzji filmów', 'not_found_in_trash' => 'Nie znaleziono recenzji filmów w koszu', 'parent' => 'Recenzja filmu nadrzędnego' ), 'public' => true, 'menu_position' => 15, 'supports' => array( 'title', 'editor', 'comments', 'thumbnail' ), 'taksonomie' => array( '' ), 'menu_icon' => plugins_url( 'images/16x16.png', __FILE__ ), 'has_archive' => true, 'rewrite' => array('slug' => '', 'with_front' => FALSE) /*wydaje się nie działać*/ ) ); } z jakiegoś powodu powyższe nie działa poprawnie.


title: Wymagania dotyczące wersji WordPress PHP

text: PHP 5.5 zostało niedawno wydane. Jednocześnie ogłoszono, że gałąź PHP 5.3.x nie będzie już obsługiwana po wydaniu wersji 5.3.27. Jednak WordPress wymaga PHP w wersji 5.2.4 i wyższej. Rozumiem, że WordPress gwarantuje, że będzie działać na hostingu z zainstalowanym PHP 5.4 lub 5.5. Ale jednocześnie oznacza to, że nie mogę używać funkcji PHP 5.3, 5.4 lub 5.5 w moim rozwoju WP, ponieważ może to spowodować problem na hostingu z zainstalowanym PHP 5.2.x. Jeśli w moich wtyczkach/motywach używam PHP 5.3 lub nowszych, nie będą one w 100% kompatybilne z WordPressem. Czy ktoś wie, czy WordPress zmieni swoje wymagania?


title: jak zdobyć 10 najlepszych popularnych blogów

text: Nasze witryny wordpress mają „wielu użytkowników”, każdy z nich ma konto na blogu, może pisać posty, komentarze i tak dalej. Teraz chcę poznać „10 najpopularniejszych blogów” według lub uporządkowanych według „komentarzy”, „liczby odwiedzin bloga” lub wielu „innych stoisk”. Tak, mogę znaleźć najwięcej 10 komentarzy do postów, ale czy mogę dostać blogi? Trudny miot. Czy ktoś mógłby mi pokazać kilka pomysłów, dzięki z góry.


title: get_var nie jest ani łańcuchem, liczbą całkowitą, ani tablicą...?

text:
$vote_count = $wpdb->get_var($wpdb->prepare("SELECT głosy FROM wp_mytable WHERE produkt = %s AND firma = %s", $product, $company)); if(is_int($vote_count)){ $html = ' Głosuj tutaj (' . $vote_count . ' Głosy na ' . $produkt . ' i ' . $firma . ')'; }else{ if(is_string($vote_count)){ $html = '$vote_count to ciąg w bazie danych
' . print_r($vote_count); }if(is_array($vote_count)){ $html = '$vote_count to tablica w bazie danych
' . print_r($vote_count); }else{ $html = '$vote_count nie jest łańcuchem ani liczbą całkowitą
' . print_r($vote_count); } } A moje wyjście: > $vote_count nie jest łańcuchem ani liczbą całkowitą > > 1


title: Menu nie stylizujące. Nowa funkcjonalność menu przyprawia mnie o ból głowy

text: Nie mogę znaleźć dobrego samouczka na temat nowych funkcji obsługi menu, a te, które znalazłem, nie działają dla mnie. Co ja robię źle? W moim `functions.php`: (Używam motywu Blank Slate jako frameworka; dowiem się później, czym jest szum, ale jest on dość minimalny -- stąd nazwa) function blankslate_register_menus() { register_nav_menus( array( ' menu główne' => __( 'Menu główne', 'pusta plansza' ))); } Następnie w `header.php`: <nav> <?php wp_nav_menu( array( 'theme_location' => 'main-menu' ) ); ?> </nav> I na koniec testowanie mojego `style.css` dla każdej możliwej opcji: .main-menu, .main-menu *, #main-menu *, #main-menu { font-size: 40px; }      Nic nie robi. Pozycje menu są po prostu wymienione jak zwykły HTML `<ul>`. Śledziłem ten samouczek: http://justintadlock.com/archives/2010/06/01/goodbye-headaches-hello-menus, który jest całkiem przyzwoitym i ostatnim, który znalazłem, ale nie widzę tego, co mam zrobiłem inaczej. (jeśli wypróbuję klasę `.menu`, to działa, więc problem polega na tym, jakie zakładam, że są to klasy?) Ponadto samouczek wspomina o całej masie parametrów, które można dodać do `register_nav_menu()` takie jak niestandardowe znaczniki i domyślnie używa `<div>`, ale nie ma wzmianki o tym, jak je właściwie ustawić. Jakaś pomoc? Mój temat jest prawie gotowy i cały dzień utknąłem na szalonej funkcji menu... Zrobiłem już oldschoolowe menu :/


title: Jak dodać wiele typów postów do tego zapytania?

text:
Kod, którego używam, wzywa do umieszczenia wszystkich przesyłanych załączników w poście. Dodałem niestandardowy typ postu Galeria, ale nic się nie wyświetla. Jednak widać to na moim typie postu „ładni-mali-kłamcy”. Co ja robię źle. <?php if ( 'pretty-little-liars','gallery' == get_post_type() ) { //warunek wyświetlania galerii na typie posta - galeria if ( $attachments = get_children( array( 'post_type' => 'attachment ', 'post_mime_type'=>'image', //zwróć tylko wszystkie załączniki graficzne 'numberposts' => -1, //pobierz wszystkie załączniki 'post_parent' => $post->ID ))); foreach ($attachments as $attachment) { // możesz dostosować wyjście echo '

'; echo ''.wp_get_attachment_link( $ załącznik-> ID, 'pełny', fałsz, fałsz); echo '
'; echo ''.$attachment->post_excerpt.'

'; echo '

'.$attachment->post_title. '
'; echo ''.$attachment->post_content.''; echo '

'; } } ?>


title: Przesłanie niestandardowego formularza daje błąd 404

text: Mam niestandardowy formularz wyszukiwania na szablonie listy kategorii `category.php` z następującym kodem: <?php $searchresults = site_url('/?p=1365'); ?> <form class="search-slide" id="search-slide" name="search-slide" action="<?php echo $searchresults; ?>" method="post"> <input type="tekst " name="s_name" id="s_name"size="30"value=""class="znajdź s-name"placeholder="Imię Nazwisko" tabindex="1" /> <input type="text" name= "s_offer" id="" size="30" value="" class="znajdź s-tag" placeholder="w ofercie badawczej" tabindex="2" /> <input type="text" name="s_area" id = "" size = "30" value = "" class = "znajdź s-obsz" placeholder = "w obszarze aplikacji" tabindex = "3" /> <input name = "s_tags" id = "lista tagów" wartość ="" tabindex="4" /> <input class="slideradio" type="pole wyboru" id="w01" name="w[]" value="w01" /> Wydział Architektury <input class="slideradio" type="checkbox" id="w02" name="w[]" value="w02" /> Wydział Inżynierii Lądowej <input class="slideradio" type="checkbox" id="w03" name=" w[]" value="w03" /> Wydział Chemii <input class="slideradio" type="radio" id="domyślnie" name="s_sort" value="" zaznaczone="zaznaczone" tabindex="6"/> Domyślne <input class="slideradio" type= „radio” id="aasc" name="s_sort" value="" tabindex="7" /> Sortuj od A do Z <input class=" slideradio" type="radio" id="adsc" name="s_sort" value="" tabindex="8" /> Sortuj Z-A < button id="slide_search_btn" type="submit">Szukaj</button> </form> Chciałbym wysłać zmienne do innej witryny wordpress `search- result.php` (strona szablonu jest dodawana i publikowana w panelu) . Ale kiedy klikam przycisk „Szukaj” otrzymuję błąd 404 (mam czerwony na temat nazewnictwa „pola nazw”, ale myślę, że moje są w porządku). Ale kiedy wchodzę na stronę bezpośrednio w przeglądarce, mam stronę normalnie. Czy ktoś może mi wskazać, jak rozwiązać ten problem?


title: dlaczego tag php nie działa, jeśli przechowuję i wyświetlam go w wp_head?

text: cześć kilka razy użyłem wp_head. Wywołałem kilka wartości, które działają jak poniżej funkcja test() { echo "witaj jestem widoczny"; } add_action('wp_head','test'); ale jeśli przechowuję kod php w db i pobieram go do zmiennej i powtarzam, że nie działa, oto próbka <?php echo "przejdę do db i przyjdę ponownie"; ?> zachowałem powyższą wartość w formacie LONGTEXT w db jako `trial`, następnie wybrałem tabelę i przypisałem ją do zmiennej jak poniżej $output = $result->trial; Oto część problemu function test() { //after retrieve echo $output; } add_action('wp_head','test'); w ten sposób to nie działa. Nie widzę, że pójdę do db i wrócę. Jaki jest problem? Dziękuję


title: Utwórz więcej niż jedną sekcję w Theme Customizer

text: próbowałem stworzyć więcej niż jedną sekcję w Theme Customizer, ale bez powodzenia. /* Dostosuj motyw - Utwórz link do paska menu */ function example_customizer_menu() { add_theme_page( 'Dostosuj', 'Dostosuj', 'edit_theme_options', 'customize.php' ); } add_action( 'menu_administratora', 'przykładowe_menu_klienta' ); Jak mam to dla wszystkich nowych sekcji (zakładek) w Theme Customizer, muszę napisać kod poniżej. Czy to jest poprawne? /* Utwórz nową kartę */ add_action('customize_register', 'themedemo_customize'); function themedemo_customize($wp_customize) { $wp_customize->add_section( 'themedemo_demo_settings', array( 'title' => 'Demonstracja', 'priority' => 35, ) ); $wp_customize->add_setting( 'some_setting', array( 'default' => 'default_value', ) ); $wp_customize->add_control( 'some_setting', array( 'label' => 'Ustawienie tekstu', 'section' => 'themedemo_demo_settings', 'type' => 'text', ) ); $wp_customize->add_section( 'themedemo_demo_settings', array( 'title' => 'Materiały demonstracyjne', 'priority' => 40, ) ); $wp_customize->add_setting( 'some_other_setting', array( 'default' => '#000000', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'some_other_setting', array( 'label' => 'Color Setting', 'section' => 'themedemo_demo_settings', 'settings' => 'some_other)_setting'); } Do czego użyliśmy "customize_register" i dlaczego zawsze są różne słowa? Jak mam to "themedemo_customize" to jest jak parametr tutaj .. add_action('customize_register', 'themedemo_customize'); function themedemo_customize($wp_customize) { Przeczytałem oficjalną dokumentację, ale jej nie dostałem.


title: WPAlchemy: Jak wyprowadzać wartości?

text:
Używam http://www.farinspace.com/wpalchemy-metabox/ i utworzyłem moje meta pola, a dane są pomyślnie zapisywane (patrz poniżej), ale nie wiem, jak wyprowadzić te „składniki” z przodu koniec? Tablica ( [docs] => Tablica ( [0] => Tablica ( [składnik] => Ser ) [1] => Tablica ( [składnik] => Sól )) ) **To jest mój pojedynczy.php** < ?php globalne $simple_mb; $meta = $prosta_mb->meta(); ?> **To jest mój meta.php**
 <?php while($mb->have_fields_and_multi('docs')): ?> <?php $mb->the_group_open(); ?> <?php $mb->the_field('składnik'); ?>
 Składnik <input class="text" type="text" name="<?php $mb->the_name(); ?>" value=" <?php $mb->the_value(); ?>"/> Usuń
 <?php $mb->the_group_close(); ?> <?php koniec; ?>
<?php echo __('Dodaj składnik'); ?>

 **To jest mój functions.php** // Meta WP Alchemia include_once 'metaboxes/setup.php'; $custom_metabox = $simple_mb = new WPAlchemy_MetaBox(array ( 'id' => '_custom_meta_ingredient', 'title' => 'Składniki receptur', 'types' => array('recipe'), 'mode' => WPALCHEMY_MODE_EX prefix' => '_ingredient_', 'autosave' => TRUE, 'template' => get_stylesheet_directory() . '/metaboxes/ingredients-meta.php', ));


title: Jak wymusić na użytkownikach wypełnienie określonego pola niestandardowego za pomocą WyPiekacz?

text: Mam stronę Wordpress + Buddypress. Stworzyłem dwa niestandardowe pola, które **musi** być wypełnione w każdym poście. Ponadto mam formularz w niestandardowym metaboksie, aby je pokazać. Używam wtyczki WyPiekacz do sprawdzania minimalnych słów, tagów i kategorii. Byłoby więc miło, gdybym mógł go trochę poprawić, aby sprawdzić, czy te niestandardowe pola są wypełnione, czy nie, i ustawić status postu na draft, jeśli niestandardowe pola są puste. Dziękuję :)


title: pobierz listę użytkowników w obszarze administracyjnym

text: jak mogę pobrać listę zarejestrowanych użytkowników i pokazać ją w panelu administracyjnym. Wiem, że istnieje już lista w panelu administracyjnym, ale dodałem kilka tabel i muszę je pokazać w nowej karcie w panelu administracyjnym.


title: Umożliwienie klientom korzystania z wtyczek/motywów do tworzenia wizualnych w instalacji WordPress Multisite

text: Używam WordPress Multisite do tworzenia i zarządzania witrynami moich użytkowników. Zastanawiałem się - czy jest możliwe (i legalne zgodnie z prawami autorskimi) zakup jednej z tych wtyczek/motywów Visual Builder i **również pozwalanie moim klientom na używanie ich w swojej witrynie?** Wiem, że można ich używać do budowania moich klientów witryny, ale nie jestem pewien, czy dać **im** dostęp do narzędzia.


title: Jak usunąć niektóre słowa z adresu URL?

text: Próba stworzenia wtyczki SEO, która usunie słowa stop z ślimaków. Oto jak `rozbić` `$slug` na listę i rozbić zmienną zawierającą słowa stopu: add_filter ('zdezynfekuj tytuł', 'remove_false_words'); function remove_false_words($slug) { if (!is_Admin()) return $slug; $slug = eksploduj ('-', $slug); foreach ($ślimak as $klucz => $słowo) { //$ślimak został rozbity i pobiera jego wartość $keys_false = 'a,powyżej,te,również'; $klawisze = eksploduj (',', $keys_false); foreach ($keys as $1 => $wordfalse) { if ($word == $wordfalse) { unset ($slug[$k]); } } } return implode ('-', $slug); } Czy poprawne jest `unset` wartości tutaj? A może powinienem użyć innego sposobu osiągnięcia tego samego wyniku?


title: Zmień autora komentarza po opublikowaniu nowego komentarza

text: Próbuję zaktualizować user_id komentarza po jego opublikowaniu. Sprawdza, czy comment_author_email istnieje jako użytkownik w tabeli users, a jeśli tak, dołącz tego użytkownika do komentarza. funkcja set_comment_author($comment_ID){ globalny $wpdb; $comment = get_comment($comment_ID, ARRAY_A); if($comment["user_id"] == 0){ $user = get_user_by('email', $comment["comment_author_email"]); if($user){ $user_id = $user->ID; $comment["user_id"] = $user_id; wp_update_comment (komentarz $); //Ta metoda nie działa /* * Ta metoda też nie działa $wpdb->update( $wpdb->prefix.'comments', array( 'user_id' => $user_id ), array( 'comment_ID' => $comment_id ) ); $wpdb->print_error();*/ } } } add_action("comment_post", "set_comment_author", 10, 1); Zrobiłem trochę debugowania i akcja jest uruchamiana, nadchodzi identyfikator komentarza i znaleziono identyfikator użytkownika. Więc problemem jest aktualizacja komentarza. Zarówno funkcja wordpress, jak i metoda bazy danych nie działają. Jakieś pomysły?


title: ajax_wp zwraca 0 dla próby użycia w interfejsie

text:
ajax_wp_nopriv_myaction zwraca 0. Próbuję wstawić do bazy danych, przekazując dane ajax do funkcji. Wiem, że używa pliku javascript, ponieważ wyświetla okno ostrzeżenia o tym, jaka jest odpowiedź i jej 0. Zgaduję, że jest to coś, co ma związek z tym, jak zarejestrowałem testową funkcję wywołania zwrotnego. Krótki kod tworzy formularz:
 <form method='post' id='bday-form'>

 Nazwa:	  <input id='name' type='text' name='name'/>

 Urodziny:	 <input id='email_birthday' type='text' name=' urodziny' />

 E-mail:	 <input id='email_email' type='text' name='email'/>

 	 <input style='float:right;' type='button' name='prześlij' id='prześlij' value='Prześlij'><input style='float:right;' type='reset' value='Clear'>

 </form>
 Ta sama funkcja, która tworzy formularz, ma to u góry: //enqeue scripts and callbacks //add_action( 'wp_enqueue_scripts', 'theme_name_scripts' ); $this->start_scripts(); add_action('wp_ajax_my_test', array($this,'test')); add_action('wp_ajax_nopriv_test', array($this,'test')); funkcja skryptów startowych i funkcja wywołania zwrotnego funkcja start_scripts() { wp_enqueue_script( 'nazwa-skryptu', plugins_url() . '/verify-me/js/example.js', array('jquery'), '1.0.0', PRAWDA ); wp_localize_script( 'nazwa-skryptu', 'MyAjax', array( // URL do wp-admin/admin-ajax.php w celu przetworzenia żądania 'ajaxurl' => admin_url('admin-ajax.php'), // generuj numer jednorazowy z unikalnym identyfikatorem "myajax-post-comment-nonce" // dzięki czemu można go później sprawdzić po wysłaniu żądania AJAX 'security' => wp_create_nonce( 'my-special-string' ) )); } test funkcji() { check_ajax_referer( 'mój-string-specjalny', 'bezpieczeństwo' ); globalny $wpdb; var_dump( isset( $wpdb ) ); //pobierz zmienne postu z formularza $data = array("email_name" => "test", "email_birthday"=>"test", "email_email"=>"test"); $wpdb->insert('wp_verify_emails', $dane); umierać(); // jest to wymagane do zwrócenia poprawnego wyniku } Właśnie mam dane testowe wchodzące do bazy danych. Wreszcie strona js: jQuery(document).ready(function($) { var data = { action: 'test', security : MyAjax.security, cokolwiek: 1234, dataType: 'json' }; jQuery( "#submit" ).click(function( event ) { event.preventDefault(); //pobierz zmienne do przekazania var name = jQuery("#name").val(); var bday = jQuery("#email_birthday").val( var email = jQuery("#email_email").val(); alert(name + bday + email); // ponieważ 2.8 ajaxurl jest zawsze zdefiniowany w nagłówku admin i wskazuje na admin-ajax.php jQuery.post( MyAjax.ajaxurl, data, function(response) { alert('Otrzymałem to z serwera: '+odpowiedź); }); }); });


title: Synchronizuj niestandardowe typy postów (i niestandardowe pola, koty itp.) między witrynami WordPress

text: Zbudowałem dwie witryny WordPress. Jedna to witryna publiczna — ludzie ją odwiedzają, przeglądają moje treści itp. Druga witryna to prywatny katalog kursów. W katalogu kursów mam 3 niestandardowe typy postów. Zawartość katalogu kursów jest udostępniana w różnych miejscach za pomocą szablonów, które generują XML, pliki PDF itd., a następnie zawartość musi również przejść do mojej głównej witryny. Wpisy w katalogu kursów zmieniają się od czasu do czasu, więc strona główna musi zostać zaktualizowana, aby odzwierciedlić te zmiany. Nie wiem jednak JAK. Mam nadzieję, że społeczność pomoże mi to rozgryźć. Użycie eksportu WordPress do pobrania niestandardowych typów postów z katalogu kursów i zaimportowania ich do strony głównej działa, ale z dwóch powodów: istniejące posty nie zostaną zaktualizowane, aby odzwierciedlić zmiany i kategorie z katalogu kursów UTWÓRZ kategorie na stronie głównej zamiast używać już istniejące, identycznie nazwane kategorie. Zajrzałem do FeedWordPress, ale nie robi on niestandardowych typów postów i niestandardowych pól, nawet jeśli zbuduję szablon RSS w katalogu kursów, aby pokazać te niestandardowe pola. WP All Import mówi, że zrobi wszystko oprócz kategorii, ale potrzebuję poprawnie mapować kategorie między witrynami. Treść jest uporządkowana i filtrowana według kategorii w interfejsie katalogu kursów. Pomoc? Proszę?


title: Czy mogę użyć wp_add_inline_style() wewnątrz funkcji, która jest wywoływana z pliku szablonu (nie z hooka)?

text: Tworzę motyw, który ma „konstruktor układu”, a jedną z opcji układu jest pokaz slajdów. Istnieją konfigurowalne ustawienia stylu dla każdego wystąpienia pokazu slajdów na dowolnej stronie, co oznacza, że muszę dodać niestandardowy css dla każdego pokazu slajdów. Wygląda na to, że `wp_add_inline_style()` powinien być tutaj moją odpowiedzią, ale to po prostu nie działa i zakładam, że to dlatego, że dzwonię za późno - pokaz slajdów jest wbudowany w funkcję uruchamianą w pliku szablonu, nie w haku. I tak wyślę kod, na wypadek gdyby okazało się, że to inny problem. function slideshow_builder( $args ) { // Trochę innych rzeczy tutaj // Jeśli zajmujemy się kierowaniem grafiką, przygotuj CSS i dodaj go do strony if( $art ) { $id = $args['id']; $m_height = $args['mobile_slide_height'] . „piksele”; $t_height = $args['tablet_slide_height'] . „piksele”; $l_height = $args['laptop_slide_height'] . „piksele”; $art_css = <<<END #$id .slide-background-holder { height: $m_height; } @media screen and (min-width: 768px) { #$id .slide-background-holder { height: $t_height; } } @media screen and (min-width: 1024px) { #$id .slide-background-holder { height: $l_height; }     }     KONIEC; wp_add_inline_style( 'mój-arkusz stylów-już umieszczony w kolejce', $art_css ); }      Czy robię coś źle? Czy to tylko dlatego, że spóźniam się?


title: Przekazywanie tablicy w add_option() w niestandardowym motywie WordPress

text:
Muszę utworzyć stronę opcji w moim niestandardowym wordpressie. oto przykładowy kod <?php function bguru_register_settings(){ $default_options=array( 'bguru_logo'=>'http://templategraphy.com/demo/businessguru/images/logo.png', 'bguru_vimeo'=> '', 'bguru_skype'=>'', 'bguru_dribbble'=>'', 'bguru_slide_one_image'=>'', 'bguru_slide_one_heading'=>'', 'bguru_slide_one_text'=>'' ); add_option('bguru_options',$default_options); register_setting('tgbusinessguru', 'bguru_options'); } add_action('admin_init', 'bguru_register_settings'); function bguru_register_options_page(){ add_theme_page('Opcje guru biznesowego', 'Dostosowywanie motywów', 'edit_theme_options', 'bguru-options', 'bguru_options_page'); } add_action('admin_menu', 'bguru_register_options_page'); funkcja bguru_options_page(){ $options=get_option('bguru_options'); ?>
 <?php screen_icon(); ?>
Opcje Guru Biznesu
 <form method="post" action="options.php"> <?php settings_fields('tgbusinessguru'); ?>

Ogólne

 Logo:	 <input type="text" id="bguru_logo" size="50" name="bguru_options[bguru_logo]" value="<?php echo $options['bguru_logo']; ?>" />

Linki społecznościowe

 Vimeo:	 <input type="text" id ="bguru_vimeo" size="50" name="bguru_options[bguru_vimeo]" value="<?php echo $options['bguru_vimeo']; ?>" />

 <ty zakres="wiersz"> Skype:	 <input type="text" id="bguru_skype" size="50" name="bguru_options[bguru_skype]" value="< ?php echo $options['bguru_skype']; ?>" />

 Dribbble:	  <input type="tekst" id="bguru_dribbble" size="50" name="bguru_options[bguru_dribbble]" value="<?php echo $options['bguru_dribbble']; ?>" />

 Obraz:	  <input type="tekst" id="bguru_slide_one_image" size="50" name="bguru_options[bguru_slide_one_image]" value="<?php echo $options['bguru_slide_one_image']; ?>" />

 Nagłówek:	  <input type="tekst" id="bguru_slide_one_heading" size="50" name="bguru_options[bguru_slide_one_heading]" value="<?php echo $opcje['bguru_slide_one_heading']; ?>" />

 Opis:	  <textarea type="tekst" id="bguru_slide_one_text" style="width:439px;height:100px;" name="bguru_options[bguru_slide_one_text]"><?php echo $options['bguru_slide_one_text']; ?></textarea >

 <?php submit_button(); ?> </form>
 <?php } ?> Wszystkie szczegóły formularza są przekazywane przez panel, który chcę, jeśli administrator zapomni wypełnij pole logo, to domyślnie działa $default_options, więc domyślnie pole logo jest wypełniane, ale kiedy próbuję uzyskać dostęp do tablicy za pomocą get_option, nie otrzymuję oczekiwanych wyników.


title: Dane wejściowe taksonomii zapytań WP różnią się od danych wyjściowych?

text: Próbuję utworzyć zapytanie niestandardowe i muszę dołączyć bieżący identyfikator kategorii. Wcześniej miałem argumenty WP_Query jako: Array ( [post_status] => publikuj [posts_per_page] => -1 [post_type] => kursy [cat] => 70 Kiedy wyprowadzam wynik SQL za tym zapytaniem argumentowym za pomocą $query->request ;taksonomie czytane jako 95 i 203, zamiast 70?SELECT wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_postmeta ON (wp_posts.meta1. WŁ (wp_posts.ID = mt1.post_id) ZŁĄCZENIE WEWNĘTRZNE wp_postmeta AS mt2 WŁ (wp_posts.ID = mt2.post_id) ZŁĄCZENIE WEWNĘTRZNE wp_postmeta AS mt3 WŁ (wp_posts.ID = mt3.post_id) GDZIE 1=1 AND (wp_s_termid_relation) (95,203) Czy ktoś może mi powiedzieć, jak/dlaczego to się dzieje i co muszę zrobić, aby znaleźć 95,203 z tych początkowych 70, abym mógł również zbudować to zapytanie ma rocznie? Wielkie dzięki


title: Jak ograniczyć akcje i filtrować „właściwie” według warunków

text: Która z nich jest poprawna przy dodawaniu akcji/filtrów/itd.... Obie metody działają dobrze i widziałem, jak ludzie robią rzeczy w obie strony, ale zakładam, że jedna jest poprawna. Przeczucie mówi mi, że zawijanie instrukcji if tylko wokół akcji jest lepsze, ale nie jestem pewien... Metoda A: Zawijanie `if` wokół `add_action`: function unregister_default_wp_widgets() { unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); unregister_widget('WP_Nav_Menu_Widget'); } if( !current_user_can('administrator')) ) { add_action('widgets_init', 'unregister_default_wp_widgets', 1); } ---- LUB ----- Metoda B: Zawijanie `if` wokół definicji funkcji i `add_action`: if( !current_user_can('administrator')) { function unregister_default_wp_widgets() { unregister_widget('WP_Widget_Pages'); unregister_widget('WP_Widget_Calendar'); unregister_widget('WP_Widget_Archives'); unregister_widget('WP_Widget_Links'); unregister_widget('WP_Widget_Meta'); unregister_widget('WP_Widget_Search'); unregister_widget('WP_Widget_Text'); unregister_widget('WP_Widget_Categories'); unregister_widget('WP_Widget_Recent_Posts'); unregister_widget('WP_Widget_Recent_Comments'); unregister_widget('WP_Widget_RSS'); unregister_widget('WP_Widget_Tag_Cloud'); unregister_widget('WP_Nav_Menu_Widget'); } add_action('widgets_init', 'unregister_default_wp_widgets', 1); }


title: Zatrzymać przesyłanie postów bez utraty danych?

text: Czy można zatrzymać publikację/aktualizację postu, a zamiast tego przekierować z powrotem do posta z tymi samymi danymi, które zostały przesłane? Chcę to zrobić, aby wyświetlić komunikat o błędzie, jeśli wprowadzą nieprawidłowe informacje w metaboksie. W tej chwili po prostu nie zapisuje wartości tego metaboksu, ale to nie jest zbyt dobra opcja. Myślę, że może to być możliwe, nieco nadużywając systemu automatycznego zapisywania, ale zanim zacznę się grzebać, pomyślałem, że zobaczę, czy ktoś inny natknął się na ten problem.


title: Tworzenie wielu pętli w Genesis, jeden post, a następnie 20, każda z niestandardowymi polami

text:
Muszę utworzyć niestandardową pętlę dla niestandardowego szablonu archiwum typu post, który jest jak najbardziej podobny do tej strony (www.manta.com/totd) przy użyciu frameworka Genesis. Oto pasta z tego co mam, która nie działa. http://pastebin.com/g1EK5f6M Oprócz aktualnego szablonu archiwum http://pastebin.com/A6UufNMu, który generuje to: m.angiemeekerdesigns.com/totd Czy ktoś może mi pomóc dowiedzieć się, dlaczego mój obecny kod nie działa? Aktualizacja: Po pracy nad tym trochę, doszedłem do wklejenia poniżej - działa około 80% tego, czego potrzebuję, z wyjątkiem tego, że jeden post z pierwszej pętli na górze (funkcja) pokazuje treść, z której wpisy druga pętla poniżej powinna być pokazana i na odwrót. Oto link do strony w witrynie: http://m.angiemeekerdesigns.com/totd i kod, o ile mam. <?php /** * * Wyświetl pola niestandardowego typu archiwum Porada dnia za pomocą * ACF. * * @author Angie Meeker * @używa zaawansowanych pól niestandardowych */ add_action('genesis_entry_content','genesis_do_post_title', 2); //* Usuwa funkcję Kontynuuj czytanie z funkcji fragmentu echa sbt_auto_excerpt_more( $more ) { return 'aaa'; } add_filter( 'excerpt_more', 'sbt_auto_excerpt_more', 20 ); function sbt_custom_excerpt_more( $output ) {return preg_replace('/]+>Kontynuuj czytanie.*?<\/a>/i','',$output); } add_filter( 'get_the_excerpt', 'sbt_custom_excerpt_more', 20 ); //* Dodaj klasę treści Tip of Day do nagłówka add_filter( 'body_class', 'add_tiparchives_body_class' ); function add_tiparchives_body_class( $classes ) { $classes[] = 'tiparchives-post-type-archive-{tipoftheday}'; zwróć $klasy; } // Zwróć kategorię i wskazówkę dnia w pojedynczych postach add_action ( 'genesis_before_content', 'show_totd', 9 ); function show_totd() { echo '
Porada dnia
'; } // Usuń autora posta add_filter( 'genesis_post_info', 'remove_post_author_totd_posts' ); function remove_post_author_totd_posts($post_info) { $post_info = '[data_postu]'; zwróć $post_info; } /** Zastąp standardową pętlę naszą własną pętlą */ remove_action( 'genesis_loop', 'genesis_do_loop' ); add_action( 'genesis_loop', 'manta_tips_feature' ); add_action( 'genesis_loop', 'manta_tips_teasers' ); /** Pokaż pierwszy wpis z niestandardowego typu wpisu TOTD */ function manta_tips_feature() { echo '
Aktualna wskazówka dnia
'; globalny $paged; // bieżąca strona z podziałem na strony global $query_args; // pobierz bieżące wp_query() args $args = array( 'post_type' => 'tipoftheday', 'posts_per_page'=> '1', 'paged' => $paged, ); genesis_custom_loop( wp_parse_args($args_query, $args) ); // Zwróć, jeśli CPT Porada dnia add_action( 'genesis_after_entry_content', 'manta_tips_pre_features' ); function manta_tips_pre_features() { // Przechowuj dane wskazówek wstępnych $tips_data_pre = array( 'totd_tags' => get_field( 'totd_tags' ), 'tip_article_headline' => get_field( 'tip_article_headline' ), 'article_author' => get_field( ' ), 'article_author_link' => get_field( 'article_author_link' ), ); // Wypisz tylko jeśli mamy dane wskazówek if ($tips_data_pre['totd_tags'] != '' || $tips_data_pre['tip_article_headline'] != '' || $tips_data_pre['artykuł_autor'] != '' || $tips_data_pre['article_author_link'] != '') { echo '

'; echo '
' , do_shortcode('[post_terms taxonomy="totd_tags" before="Zobacz więcej wskazówek dotyczących: " taxonomy="totd_tags"] '),'
' ; echo '

Udostępnij tę wskazówkę:

'; echo '

'; } } } /** Pokaż pierwszych 10 poprzednich postów z TOTD Custom Post Type */ function manta_tips_teasers() { echo '
Poprzednie wskazówki
'; globalny $paged; // bieżąca strona z podziałem na strony global $query_args; // pobierz bieżące wp_query() args $args = array( 'post_type' => 'tipoftheday', 'posts_per_page'=> '10', 'paged' => $paged, ); genesis_custom_loop( wp_parse_args($args_query, $args) ); // Zwróć, jeśli CPT Porada dnia add_action( 'genesis_after_entry_content', 'manta_tips_teaser_pre' ); function manta_tips_teaser_pre() { // Przechowuj dane przed poradami $tips_data_pre = array( 'totd_tags' => get_field( 'totd_tags' ), ); // Wypisz tylko wtedy, gdy mamy dane napiwków if ($tips_data_pre['totd_tags'] !='') { echo '

' ; echo '
' , do_shortcode('[post_terms taxonomy="totd_tags" before="Zobacz więcej wskazówek dotyczących: " taxonomy="totd_tags"] '),'
' ; echo '

'; } } } geneza();


title: Wszystkie posty w pętli pokazują tego samego autora, gdy jest wielu autorów

text:
Przechodzę przez tablicę identyfikatorów postów `$ids`. Wszystko jest wyświetlane poprawnie z wyjątkiem autorów. Każdy post pokazuje tego samego autora, chociaż posty są autorstwa różnych autorów. Nie wydaje mi się, żeby to się udało... <?php $ids = array(); $bookid = get_post_meta(get_the_ID(), 'preferowana_książka', prawda ); $args = array( 'post_type' => 'post', 'post__not_in' => array($post->ID), 'tax_query' => array( array( 'taxonomy' => 'książki', 'field' = > 'id', 'terms' => "$bookid", ) ) ); $my_query = nowe WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $moje_zapytanie->the_post(); $id[]= $post->ID; koniec; } ?> <?php $bookdesc = get_term( $bookid , 'książki'); if(count($ids)) : ?>
Opublikuj <?php echo $bookdesc->opis; ?>

 <?php foreach($ids as $id) : ?>
 <a href="<?php echo get_permalink( $id ); ?>">
 <?php $img = wp_get_attachment_url( get_post_thumbnail_id($id,'rozmiar-200') ); ?> <?php if ($img) : ?> <img class="smallImage" src="<?php echo $img ?>" /> <?php endif; ?>
<?php echo get_the_title($id); ?>

Autor: <?php the_author($id); // Tutaj to się nie udaje, niepoprawnie pokazując tego samego autora dla każdego posta ?>

 <?php endforeach; ?>
 <?php endif; ?>


title: wp_insert_posts Błąd krytyczny: Osiągnięto maksymalny poziom zagnieżdżenia funkcji '100', przerwanie!

text: Mam dziwny problem, napisałem poniższy kod: add_action('save_post', 'save_post_func'); function save_post_func(){ include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed($url); if (!is_wp_error($rss)) { //ini_set('xdebug.max_nesting_level', 1000); <-- Nie działa $maxitems = $rss->get_item_quantity(5); $rss_items = $rss->get_items(0, $maxitems); foreach ($rss_items as $item) { // count($rss_items) = 5 ??? wp_insert_post(array('post_title' => 'a')); // wstawia > 100 rekordów ??? } } } Wyświetla ten błąd: > Błąd krytyczny: Osiągnięto maksymalny poziom zagnieżdżenia funkcji '100', przerwanie! Jakaś pomoc? Gdzie jest problem, wszystko wydaje się w porządku...


title: Jak używać jquery zawartego w wordpressie dla jpanelmenu

text: Od jakiegoś czasu z powodzeniem używam jpanelmenu w moich motywach wordpress, ładując jquery z google api, tak: if ( !is_admin() ) { // jQuery wp_deregister_script('jquery'); wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"), fałsz); wp_enqueue_script('jquery'); // załaduj jPanelMenu wp_enqueue_script('jpanelmenu', get_bloginfo('template_directory') . "/js/jquery.jpanelmenu.js"); } Wolałbym używać wersji jquery, która jest dołączona do wordpress, ale nie wiem, jak to zrobić. Czy ktoś może mi doradzić, jak to zrobić, lub powiedzieć, czy mylę się, myśląc, że użycie wbudowanego jquery wp byłoby lepsze niż to, co robię w powyższym kodzie? Tworzę wystąpienie jpanelmenu w następujący sposób: $(document).ready(function() { var jPM = $.jPanelMenu({ duration: 100, openPosition: "240px", direction: "left", keyboardShortcuts: false }); jPM. on();//włącz jPanelMenu }); Z góry dziękuję! _**edited_** W oparciu o poniższe odpowiedzi próbowałem następujących, ale jpanelmenu nie działało (kliknięcie wyzwalacza menu nie powoduje wyświetlenia menu poza kanwą): function wpa_132328_enqueue_scripts(){ if ( !is_admin() ) { // jQuery wp_enqueue_script('jquery'); // załaduj jPanelMenu wp_enqueue_script('jpanelmenu', get_bloginfo('template_directory') . "/js/jquery.jpanelmenu.js"); } } add_action( 'wp_enqueue_scripts', 'wpa_132328_enqueue_scripts' ); i if ( !is_admin() ) { // jQuery wp_enqueue_script('jquery'); // załaduj jPanelMenu wp_enqueue_script('jpanelmenu', get_bloginfo('template_directory') . "/js/jquery.jpanelmenu.js"); } i wp_enqueue_script('jpanelmenu', get_bloginfo('template_directory') . "/js/jquery.jpanelmenu.js", array('jquery') ); i if ( !is_admin() ) { wp_enqueue_script('jpanelmenu', get_bloginfo('template_directory') . "/js/jquery.jpanelmenu.js", array('jquery') ); }


title: Powiązany post ignoruje określone tagi?

text:
Potrzebuję pomocy, chcę, aby moje powiązane strony ignorowały określony tag na moich stronach. Jak mogę sprawić, by ignorował tagi z "sportem" w moich powiązanych postach, poniżej znajduje się kod, którego używam do powiązanych postów na mojej stronie: function getRelatedPosts( $count=4) { global $post; $orig_post = $post; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'posts_per_page'=> $count, // Liczba powiązanych postów, które zostaną wyświetlone. 'ignore_sticky_posts'= >1 ); $my_query = nowe WP_Query( $args ); if( $my_query->have_posts() ) { ?>

Powiązane wpisy

 <?php while( $my_query->have_posts() ) { $my_query->the_post(); ?>

 <?php if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) { /* jeśli post ma miniaturkę */ ?> <a href ="<?php the_permalink(); ?>" rel="zakładka" title="<?php the_title(); ?>" class="img-shadow"><?php the_post_thumbnail('mały-kciuk'); ?> <?php } else { ?> <a href="<?php the_permalink(); ?>" rel="zakładka" title="<?php the_title(); ?>" class=" img-shadow"><img src="<?php echo bloginfo('template_url'); ?>/images/default145.jpg" /> <?php } ?>
 <a href="<?php the_permalink() ?>" rel="zakładka"><?php the_title(); ?>
 <?php } echo '

'; } } $post = $orig_post; wp_reset_query(); }


title: Jak korzystać z funkcji TinyMCE 3x w WordPressie 3.9

text: Chcę użyć funkcji "createControl" tinymce o szerokości 3x w wordpressie 3.9. Jak mogę to osiągnąć? createControl: function(n, cm){ return null; }


title: Reguła przepisywania nie działa

text: Chcę niestandardowej reguły przepisywania dla mojej wtyczki. Ale z jakiegoś powodu to nie działa. Próbowałem spłukiwać adres URL, zarejestrowane zapytanie var. Ale nadal nie działa i daje wynik taki: http://domain.com/page_name/?gallery_id=6 URL bez upiększania: http://domain.com/index.php?page_id=5&gallery_id=6 Chcę przepisz powyższy adres URL na: http://domain.com/page_name/gallery/id Dodałem niestandardowe zapytanie var `gallery` i `gallery_id`. Oto moja reguła przepisywania: "nazwa strony/galeria/([^/]+)/?" => "index.php?page_id=".$base_page_id."&gallery_id=".$wp_rewrite->preg_index(1), Proszę powiedz mi, co robię źle. Dziękuję


title: Jak wyświetlić licznik postów w nawigacji?

text: Mam niestandardowy typ posta o nazwie Rezerwacja. Posiada status posta niestandardowego: „oczekuje na potwierdzenie” i „potwierdzony”. Chcę wyświetlić licznik w menu nawigacyjnym, aby zliczyć wszystkie posty, których status to "oczekuje na potwierdzenie". Wyglądałoby to tak. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/dPqfK.png) Jak mogę to zrobić? Mój kod źródłowy jest tutaj: https://github.com/rahmatawaludin/morpha-event


title: Próbuję ukryć niestandardową kategorię postów dla zalogowanych użytkowników z Pre_Get_Posts

text: W moim motywie mam niestandardowy typ posta o nazwie portfolio. Jego kategorie nazywają się kategoriami projektów. Próbuję wykluczyć kategorię projektu dla zalogowanych użytkowników. W ogóle nie mogę zmusić tego do działania. Przeczytałem kodeks pre_get_posts, ale po prostu utknąłem. Nie jestem pewien, czy definiuję kategorie dla mojego niestandardowego typu postu, czy będzie to taka sama jak normalna kategoria postów. Kiedy klikam kategorię, aby ją edytować, znajduje się to w pasku adresu przeglądarki `wp-admin/edit-tags.php?action=edit&taxonomy=project-type&tag_ID=94&post_type=portfolio` Oto kod, który próbuję już teraz. function exclude_category( $query ) { if ( is_user_logged_in() && $query->is_main_query() ) { $taxquery = array( 'taxonomy' => 'project-type', 'field' => 'id', 'terms' => tablica( 94 ), 'operator' => 'NIE W' ); $query->set( 'tax_query', $taxquery); } } add_action( 'pre_get_posts', 'exclude_category' ); Wszelkie pomysły dotyczące tego, co mogę zrobić źle, byłyby bardzo mile widziane. Dziękuję


title: Uzyskaj wszystkie posty typu custom_post_type + posty na blogu z jednej kategorii w jednym zapytaniu

text: Czy istnieje sposób na wyszukiwanie postów z wielu post_type i filtrowanie zwykłych postów na blogu według kategorii? Próbuję wyświetlić 10 najnowszych postów custom_post_type i postów na blogu na mojej stronie głównej w jednym zapytaniu - tak, że mam w sumie 10 postów, posortowanych według post_date w kolejności DESC, zawierających wszystkie posty z mojego custom_post_type i posty na blogu z określonej kategorii . Załóżmy, że mam niestandardowy typ posta o nazwie wiadomości. Chcę odpytywać zarówno wiadomości, jak i posty, ale ograniczam posty do kategorii o id 3. NIE chcę ograniczać wiadomości do żadnej kategorii. $args = array ( 'cat' => 3, 'post_type' => array ( 'news', 'post' ) ); Wydaje się, że powyższy kod działa tylko w połowie - pobiera tylko posty na blogu z kategorii 3, ale w ogóle nie ma custom_post_types...


Dlaczego, gdzie i kiedy używać wskaźników referencyjnych w filtrach/hakach? Jakie są potencjalne wady nieużywania ich, gdy są sugerowane lub wymagane? Po prostu szukam bardziej szczegółowej odpowiedzi niż zapewnia kodeks i być może niektórych zastosowań tego w świecie rzeczywistym. Na przykład: `add_filter('some_wp_filter', array(&$this, 'moja_funkcja_do_filtra');`


title: Globalna zmiana koloru tła równania $latex $

text: ## Tło Niestety, hostując swój blog za pomocą WordPress.com, nie możesz używać wtyczki MathJax-LaTeX i musisz używać domyślnego wordpressa LaTeX. Sposób, w jaki to działa, polega na renderowaniu matematyki LaTeX na obrazie i wstawieniu tego obrazu do posta na blogu. Ponieważ jest to obraz, ma kolor tła. Ta funkcja została zaprojektowana w taki sposób, aby próbowała znaleźć odpowiedni kolor tła dla twojego motywu, aby naturalnie pasował do LaTeX-a. Niestety dla mnie mój kolor tła jest biały, ale LaTeX jest renderowany z szarym tłem. Istnieje sposób na zmianę koloru pojedynczego równania. Na przykład: `$lateks E = mc^2$` wygeneruje domyślny kolor tła, podczas gdy `$lateks E = mc^2&bg=ffffff$` wymusi białe tło. To właśnie chcę osiągnąć, ale dla każdego równania w moim poście. Nie chcę ręcznie wpisywać `&bg=ffffff` na końcu każdego środowiska LaTeX (jest już wystarczająco dużym kłopotem napisanie `$latex` zamiast po prostu `$`!). * * * ## Pytanie > Czy istnieje sposób na jednoczesną zmianę koloru tła wszystkich równań matematycznych? Alternatywnie, jeśli taka metoda nie istnieje. > Skąd funkcja `$latex $` odgaduje kolor tła i jak mogę > zmienić to, co odgaduje? Pamiętaj, że jestem na WordPress.com, więc nie mogę po prostu przełączyć się na wtyczkę MathJax-LaTeX.


title: Jaka jest różnica między różnicą bloginfo('stylesheet_url') get_stylesheet_uri()

text: Tak naprawdę pytanie jest w tytule. Jaka jest różnica między różnicą blog_info('stylesheet_url') get_stylesheet_uri(), a jeśli jest to nowsza, to która. Kodeks mówi: > 'stylesheet_url' — zwraca główny adres URL pliku CSS (zwykle style.css) > aktywnego motywu. Zamiast tego rozważ użycie get_stylesheet_uri().


title: Zaczep na koszu na śmieci

text: Chcę wykonać akcję, gdy usunę jeden z moich niestandardowych typów postów, którego haka powinienem użyć: wp_trash_mycpt lub trash_mycpt Moja akcja powinna być uruchamiana tylko wtedy, gdy mycpt jest w stanie 'publish', 'draft' lub 'future' i zmierza w kierunku stan „śmieci”. Po usunięciu go z samego kosza nie ma powodu, aby ponownie uruchomić funkcję.


title: Ręczne dołączanie obrazów do postów (tj. za pomocą własnego kodu, bez użycia API)

text: Pracuję nad mobilnym API dla witryny WordPress. API jest napisane w PHP i udostępnia metody działania takie jak tworzenie postu. Teraz mogę utworzyć post z jednym obrazem (miniaturą) posta. Jak mogę utworzyć post z wieloma obrazami, jakie rekordy w jakich tabelach WP muszę utworzyć, aby połączyć wszystkie te dane? Mam na myśli bez użycia kodu WP, z czystym PHP?


title: Tworzenie dynamicznej struktury URL

text: Chcę utworzyć strukturę katalogów dla moich linków WordPress i aby ostateczna strona była oparta na taksonomii strony. Mam więc firmę należącą do „miasta” (meta) i „kraju” (taksonomia). Chcę, aby końcowy URL to http://example.com/{kraj}/{miasto}/{tytuł_postu}/ Czy to w ogóle możliwe? Próbowałem `add_rewrite_rule()`, ale albo nie może zrobić tego, co chcę, albo robię to źle (pozbyłem się kodu, więc nie mogę go pokazać, przepraszam).


title: Dostosowanie wtyczki do niestandardowego typu postu?

text:
Próbuję przeformułować funkcję (we wtyczce), aby dotyczyła postów w niestandardowym typie postów, a nie normalnych postów. funkcja save_posts ($post_id) { global $wpdb, $user_ID; $this->setup_links(); if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; if('post' == $_POST['post_type']) { if(!current_user_can('edit_post', $post_id)) return; } w przeciwnym razie powrót; $mydata = ($_POST['mf_post_to_forum'] == 'prawda')?true:false; if ($ mydata) { $ data = $ this-> wpf_current_time_fixed('mysql', 0); $fid = (int)$_POST['mf_post_to_forum_forum']; $_POST['mf_post_to_forum'] = 'fałsz'; //Wieczna pętla, jeśli nie jest ustawiona na false $post = get_post($post_id); $sql_thread = "WSTAW DO {$this->t_threads} (ostatni_post, temat, nadrzędny_id, `data`, status, starter) VALUES('{$date}', '".$this->strip_single_quote($post-> post_title)."', '{$fid}', '{$date}', 'open', '{$user_ID}')"; $wpdb->zapytanie($sql_thread); $tid = $wpdb->insert_id; $sql_post = "WSTAW DO {$this->t_posts} (tekst, parent_id, `data`, autor_id, temat) VALUES('".$this->input_filter($wpdb->escape($post->post_content)) ."', '{$tid}', '{$date}', '{$user_ID}', '".$this->strip_single_quote($post->post_title)."')"; $wpdb->zapytanie($sql_post); $new = $post->post_content."\n".'
get_threadlink($tid).'">'.__("Dołącz do dyskusji na forum w tym poście ", "mingleforum").'
'; $post->post_content = $nowy; wp_update_post($post); } } Założyłem, że mogę po prostu zmienić `if('post' == $_POST['post_type'])` na `if('my_custom_post' == $_POST['post_type'])` a reszta będzie działać tak samo . Wartość `$mydata` pochodzi stąd: function send_wp_posts_to_forum() { add_meta_box('mf_posts_to_forum', __('Połącz opcje postów na forum', 'mingleforum'), array(&$this, 'show_meta_box_options'), 'my_custom_post') ; } function show_meta_box_options() { $fora = $this->get_forums(); echo '<input type="pole wyboru" name="mf_post_to_forum" value="true" /> '.__('Dodaj ten post do', 'mingleforum'); echo ' <select name="mf_post_to_forum_forum">'; foreach($forum as $f) echo '<option value="'.$f->id.'">'.$f->nazwa.'</option>'; echo '</select>
'.__('Nie zaznaczaj tego, jeśli ten post był już połączony z forum!', 'mingleforum').''; } co działa dobrze, ponieważ pole meta znajduje się we właściwym miejscu.


title: Przekieruj na stronę, jeśli przodkowie są pusti

text: Mam ten skrypt, aby uzyskać identyfikator przodków //Get root ID $post_id = $post->ID; $ancestors = get_post_ancestors($post_id); Chciałbym dokonać przekierowania, jeśli jest pusty do określonego identyfikatora strony, aby nikt nie mógł być na stronie bez przodków. Jak ?


title: Pobieranie usuniętych użytkowników w bazie danych

text: Korzystam z bazy danych używanej przez witrynę WordPress. Próbuję pobrać wszystkich użytkowników z tabeli `wp_users` za pomocą zapytania SQL. Ale są też wcześniej usunięci użytkownicy w tabeli `wp_users`. Przeszukałem inne tabele, takie jak `wp_usermeta`, ale nie mogłem znaleźć żadnego statusu ani kolumny, które identyfikowałyby, czy ten użytkownik został usunięty, czy nie. Czy istnieje jakaś tabela lub kolumna, w której witryna WordPress przechowuje informacje o usuniętych użytkownikach?


title: Czy istnieje dobry sposób na używanie obrazów CMS z CSS?

text: Tworzę responsywny motyw wordpress, który pozwala na przesłanie niestandardowego obrazu banera na każdą stronę. Jednak ze względu na responsywny charakter motywu muszę ustawić obrazy jako obrazy tła za pomocą CSS, aby uzyskać odpowiedni efekt. Ale nie chcę wrzucać losowych stylów CSS do mojego znacznika HTML. Czy istnieje możliwość pobrania adresu URL obrazu z szablonu strony i dynamicznego upuszczenia go do pliku css? Znalazłem tutaj przykład tego, co chcę zrobić, ale bez funkcji suwaka.: http://emporiumpies.com/ Wygląda na to, że mocno kodują obrazy w pliku css, ale to jest efekt wizualny, do którego zmierzam . Muszę tylko dowiedzieć się, jak powiązać to z Wordpress CMS. Każda pomoc byłaby bardzo mile widziana! Dziękuję Ci!


title: Wysyłanie informacji o poczcie do witryny coldfusion.

text: Mam wymóg, aby wysłać tytuł posta, fragment i permalink do zewnętrznej strony coldfusion. Zasadniczo witryna coldfusion wyświetlałaby te informacje jako zwiastun, a następnie umożliwiała czytelnikowi kliknięcie linku bezpośredniego, aby przejść do strony z wpisami wordpress, aby przeczytać więcej. Czy dostępna jest usługa sieciowa, która może w tym pomóc? Dziękuję


title: update_post_meta po przesłaniu formularza

text: Używam wtyczki "Formidable" do łatwego zarządzania i tworzenia formularzy. Ustawiłem niestandardowy typ posta i utworzyłem dodatkowy post_meta. Potrafię użyć meta('test'); w pętli, aby pokazać moją wartość meta na pojedynczej stronie postów. Za każdym razem, gdy ktoś tworzy wpis, przesyłając formularz, który znajduje się na stronie pojedynczego posta, chcę, aby wartość metaklucza „test” została odjęta o jeden (zaktualizowany). Wtyczka Formidable zawiera hak akcji: add_filter('frm_after_create_entry', 'after_entry_created', 30, 2); function after_entry_created($entry_id, $form_id){ if($form_id == 7){ //zmień 7 na identyfikator formularza //zrób coś tutaj } } Umieściłem to w moim functions.php. Ale jak ustawić właściwy wpis i odpowiedni klucz meta? Dziękuję


title: Echo autora ślimaka na stronie edycji postu

text: Na stronie edycji posta w zapleczu, jak wyświetlić nazwę użytkownika `nazwa_ładnej_użytkownika`? Mam na myśli autora posta, a nie obecnego użytkownika.


title: Przesyłanie/przetwarzanie formularza front-end bez użycia pliku szablonu

text:
Piszę wtyczkę, która ma formularz frontonu, który jest generowany przez shortcode. Mam problem z przetwarzaniem przesłanego formularza w jakikolwiek sposób. Wiele samouczków opisuje umieszczanie kodu przetwarzania formularzy na górze pliku szablonu. Ale jako plugin nie mam pliku szablonu. To właśnie mam w tej chwili. Krótki kod po prostu wywołuje tę funkcję: function get_testimonial_submission_form() { ?> <form action="" id="testimonialPostForm" method="POST"> <fieldset> <?php _e('Name: ', 'rhl-retestimonial') ?> <input type="text" name="nazwa klientatestimonial" id="nazwa klientatestimonial" /> </fieldset> <fieldset> <input type="hidden" name=" przesłano" id="submitted" value="true" /> <button type="submit"><?php _e('Prześlij opinię', 'rhl-testimonial') ?></button> </fieldset> </ formularz> Wynikiem jest <?php echo $testResult; ?>

 <?php } A do przetwarzania formularzy używam tego kodu testowego: function testimonial_submission_form(){ if($_POST['testimonialclientname'] = = ''){ $testResult = 'Tak'; } else { $testResult = 'Nie'; } } add_action( 'init', 'testimonial_submission_form' ); Obecnie po przesłaniu formularza $testResult jest pusty.


title: Uruchom akcję tylko wtedy, gdy Widget faktycznie utworzył instancję (nie tylko zarejestrowano)

text: Załóżmy, że masz widżet, który zależy od dodania metaboksu do, powiedzmy, Twoich postów. Prostym sposobem na zrobienie tego jest po prostu dodanie akcji `add_meta_boxes` do konstruktora widgetu i gotowe. Kiedy ten widżet jest zarejestrowany z funkcją `register_widget()`, twoje metaboksy są dodawane i gotowe. _Problem_ z tym podejściem polega na tym, że jeśli użytkownik nie przeciągnął tego widżetu na jeden ze swoich pasków bocznych, _nadal_ dodajemy metaboksy. A jeśli z jakiegoś powodu zarejestrujemy dwie różne wersje tego widżetu (powiedzmy, że rozszerzymy widżet), to bezużytecznie uruchamiamy funkcję dwukrotnie. `wp_register_sidebar_widget` jest wywoływany, gdy widżet jest zarejestrowany, ale oznacza to, że działa niezależnie od tego, czy widżet faktycznie pojawia się na pasku bocznym, czy nie. Czy istnieje odpowiednia akcja, która jest uruchamiana, gdy widżet jest faktycznie ładowany do paska bocznego? Innymi słowy, akcja, która będzie działać tylko dla każdego widżetu, który jest faktycznie dodany do paska bocznego? A może musimy przekopać się przez listę widżetów otrzymanych przez `wp_get_sidebars_widgets()`?


title: Pageline V1.4.5: kolor tła mojego tytułu

text: Jak zmienić kolor tła mojego tytułu w artykułach na blogu? Nie kolor strony, ale kolor tła tytułu bloga.


title: Po paginacji wp-pagenavi

text: mam problem z paginacją stron za pomocą wp-pagenavi, używam tego zapytania: $myposts = query_posts( array( 'showposts' => 10, 'paged' => get_query_var('paged') );; Chciałbym, żeby miał 10 postów na stronie, w rzeczywistości to strony, ale to tylko strony z 5 postami na stronę, mam 18 postów i nie mogę odnieść sukcesu w paginacji. W Konfiguracje > Czytanie > Posty na stronie: 10. Jaki może być mój problem? kod: http://pastebin.com/TC7eBuFh


title: Przełącz meta pola wordpress

text: Chociaż napisano kilka doskonałych postów i samouczków na temat usuwania i usuwania metaboksów, to, czego szukam, to możliwość ich wyłączania i wyłączania za pomocą „strony ustawień” dla mojego motywu. Pracuję nad funkcją (odtworzoną poniżej) do zarządzania widżetami na pulpicie nawigacyjnym, pobiera tablicę get_option, która zawiera tylko identyfikatory (jako klucze) metaboksów, które chcę wyświetlić, porównuje tę tablicę z tablicą (kluczami) wszystkie metaboksy, które dałem do usunięcia (obecnie tylko te podstawowe, ale w przyszłości również niestandardowe); tablice są łączone, a unikalne pozostałe identyfikatory są przekazywane do pętli foreach, gdzie są usuwane za pomocą metody `remove_meta_box()` (również tutaj można było użyć unset). To wszystko działa dobrze, ale czy istnieje prosty, prosty sposób na ponowne dodanie tych metaboksów bez konieczności przechodzenia przez całą pracę związaną z przedefiniowaniem wszystkich argumentów `add_meta_box()` ? Mam na myśli coś podobnego do `wp_register_script()`, a następnie `wp_enqueue_script()`, gdzie po zdefiniowaniu wp_register_script, wp_enqueue_script można łatwo wywołać za pomocą tylko jednego argumentu. Funkcja, którą mam do tej pory to: function manage_dashboard_widgets() { $show_metaboxes = (tablica) get_option('dashboard_show'); $all_metaboxes = array( 'dashboard_quick_press', // 'QuickPress' 'dashboard_secondary', // 'Inne wiadomości Wordpress' 'dashboard_primary', // 'Blog WordPress' 'dashboard_incoming_links' // 'Linki przychodzące' ); $metaboxes_to_remove = array_unique( array_merge( $all_metaboxes, $show_metaboxes) ); if( ! empty( $metaboxes_to_remove )){ foreach ($metaboxes_to_remove as $metabox_to_remove ) { remove_meta_box( $metabox_to_remove, 'dashboard', 'side' ); remove_meta_box( $metabox_to_remove, 'dashboard', 'normal' ); } } // Usuń panel powitalny, niezależnie od użytkownika. update_user_meta( get_current_user_id(), 'show_welcome_panel', false ); } add_action( 'wp_dashboard_setup', 'manage_dashboard_widgets', 20, 0); Dziękuję Ci


title: Jak wyświetlić listę kategorii podczas korzystania z filtra wielu kategorii?

text: Używam filtra wielu kategorii, łącząc się z adresami URL, takimi jak: domain.com/category/reviews+books domain.com/category/reviews+art itp. Działa to dobrze jako filtr, ale nie mogę znaleźć żadnego wbudowanego w WordPressie funkcja, która wyświetli listę przeszukiwanych kategorii na stronie. Na normalnej stronie kategorii użyłbym single_cat_title(), ale to pobiera tylko pierwszą kategorię w adresie URL. Jak wyświetlić oba lub wszystkie, jeśli jest ich więcej? Dziękuję


title: Określ szerokość kolumny tabeli na stronie

text:
Obecnie mam następujący kod HTML na mojej stronie Wordpress
 <col width="50"> <col width="100">

NLP

 Przegląd	 Wyzwanie przetwarzania języka naturalnego.

 Jednak `<col width="50">` wydaje się być ignorowany. Czy to jest zastępowane przez coś w CSS, a jeśli tak, jak to naprawić?


title: Czy mogę stworzyć własne niestandardowe ustawienie wyświetlania załączników?

text: Przenoszę witrynę klienta do WP ze starego niestandardowego CMS .Net i coś, co ich istniejący system radzi sobie dobrze, to interfejs administratora witryny zawiera proste narzędzie do przesyłania multimediów na serwer i automatycznego formatowania dla strony, aby odwiedzający mogli pobrać plik. (Tam, gdzie pliki do pobrania pojawiają się w ich witrynie, znajduje się specjalna ikona, która dodaje rozmiar pliku po tekście zakotwiczenia) Byłaby dla mnie bardzo udaną migracją, gdybym mógł zapewnić podobne rozwiązanie w WP z poziomu Biblioteki multimediów i rozszerzyć Ustawienia wyświetlania załączników z jedną dodatkową opcją niestandardową wydają się robić to ładnie. * Czy to możliwe? Czy mogę dodać opcję do menu Ustawienia wyświetlania załączników? * Czy można to zrobić, aby nie zostało nadpisane podczas aktualizacji WP? Cieszę się, że sam się tym zajmę, chociaż nie jestem najlepszym facetem od PHP. Ale wszelkie wskazówki, od czego zacząć, byłyby ogromną pomocą. Dziękuję!


title: wp_query->max_num_pages zawsze zwraca 0 w niestandardowym typie postu

text:
Cześć, rozwijam motyw, w którym muszę załadować posty za pomocą ajax, na mojej stronie indeksu wszystko działa poprawnie, problem polega na tym, że muszę go użyć na niestandardowym typie posta, przekazuję wartości do pliku jquery za pomocą wp_localize_script, przekazuje poprawną wartość, gdy mam zwykłe posty, ale zawsze przekazuje 0, gdy mam niestandardowy typ posta. Możesz mi pomóc? Wielkie dzięki. Kod do przekazywania argumentów do mojej funkcji skryptu jQuery core_ajax_init() { global $wp_query; // Dodaj kod do stron indeksu. if( !is_admin() ) { //!is_singular() // Dodaj skrypt jQuery do przetworzenia Ajax wp_enqueue_script( 'core_custom', get_template_directory_uri(). '/core/js/ajax-load-posts.js', array(' jquery'), '1.0', prawda ); // Na której stronie jesteśmy? A jaki jest limit stron? $max = $wp_query->max_num_pages; $paged = ( get_query_var('paged') > 1 ) ? get_query_var('stronicowane') : 1; //echo $max; // Dodaj kilka parametrów dla JS. wp_localize_script( 'core_custom', 'core', array( 'startPage' => $paged, 'maxPages' => $max, 'nextLink' => next_posts($max, false) ) ); } } add_action('template_redirect', 'core_ajax_init'); Poniżej znajduje się szablon, w którym wywołuję przycisk, aby załadować więcej postów <?php global $wp_query; $ found_posts = $ wp_query-> found_posts; $per_page = get_option('posts_per_page'); $post_count = $found_posts - $na_stronę; if($found_posts > $per_page) : ?>

   <div id="loader" data-perpage="<?php echo $per_page; ?>">

<?php _e('Kliknij tutaj, aby załadować więcej', CORE_THEME_NAME); ?>

  <?php endif; ?> A tutaj mam snippet, w którym tworzę niestandardowe zapytanie dla określonego typu postu global $wp_query; $paged = ( get_query_var('paged')) ? get_query_var('stronicowane') : 1; $wp_query = new WP_Query(array( 'post_type' => 'kurs', 'zamówienie' => 'DESC', 'orderby' => 'date', 'paged' => $paged)); if($wp_query->have_posts()): ?> Problem polega na tym, że bez względu na to, ile mam stron, wp_query var tutaj zawsze zwraca 0 do mojej funkcji core_ajax_init(), jeśli mam regularne posty, zwraca poprawną liczbę stron, ale dla niestandardowego typu postu zawsze zwraca 0. Dlaczego? Dziękuję Ci za Twoje odpowiedzi.


title: Przekazywanie tagów html jako parametrów shortcode

text: Chcę, aby użytkownik mojej wtyczki zdefiniował tagi HTML, które będą używane przed i po wyjściu tekstowym przez shortcode, więc używam parametrów, w których mogą wprowadzać tagi. Jednak tagi są konwertowane na encje HTML. Dlatego uciekłem się do używania html_entity_decode(), czy to dobra praktyka? extract( shortcode_atts( array( 'count' => -1, 'category_name' => '', 'q_before' => '<h3>', 'q_after' => '</h3>', 'orderby' => 'data', //'brak','ID','autor','tytuł','imię','data','zmodyfikowano','rodzic','rand','menu_order' 'zamówienie' => 'ASC', //'DESC' ), $atts, 'myfaq' ) ); $q_before = html_entity_decode( $q_before ); $q_after = html_entity_decode( $q_after );


title: funkcjonalność pola niestandardowego

text: Muszę zbudować niestandardową funkcjonalność w oparciu o niestandardowe pola. Mam pasek boczny, który wyświetla referencję z cytatu blokowego. W tej chwili osiąga się to poprzez nadanie postowi kategorii cytatu blokowego. Ale klient chce uczynić go bardziej przyjaznym dla użytkownika, dodając pole na tytuł, cytat i autora. Mogę to zrobić, dodając niestandardowe pola meta i korzystając z metadanych posta. Ale chcą też mieć możliwość wybrania strony, na której będą wyświetlane. Obecnie cytat blokowy jest częścią szablonu i jest wywoływany przez warunek w różnych plikach szablonów. Nie wiadomo więc z góry, które strony będą się pojawiać w miarę wzrostu treści i dodawania różnych stron. Potrzebuję pola wyboru na ekranie edycji postu, które zostało automatycznie wypełnione wszystkimi bieżącymi stronami, które wyświetlają cytat blokowy. Ale nie wiem, jak wypełnić to pole wyboru, ponieważ nie wiadomo z góry, które strony kończą się cytatem blokowym. Myślałem o znalezieniu sposobu, aby za każdym razem, gdy strona wyświetla cytat blokowy, te informacje są rejestrowane, a następnie używane do wypełniania pola wyboru, ale nie jestem tak świetny z niestandardowym php, jestem deweloperem frontendu, który uczy się, jak zbuduj back-end WordPressa. Mam dobry HTML CSS JavaScript, ale moja znajomość php ogranicza się do prostych warunków i niestandardowych funkcji WordPressa. Zakładam, że będzie to zaczepiać gdzieś filtr, ale nie widzę gdzie. Jakakolwiek pomoc w tym zakresie byłaby bardzo mile widziana.


title: zmodyfikuj filtr funkcji

text: Używam najnowszej wersji wp-ecommerce (3.89) i wprowadzono nowy filtr, aby umożliwić dostęp oparty na rolach do niektórych funkcji pulpitu nawigacyjnego, takich jak strona sprzedaży lub możliwość aktualizacji. Jednak domyślną rolą w pliku podstawowym jest obecnie „administrator”. To, co chciałbym zrobić, to wziąć oryginalny filtr i zmodyfikować go, umieszczając zmodyfikowany kod w moim pliku funkcji, aby go zastąpić. Więc jak to zmodyfikować: (z pliku wtyczki wp-ecommerce/wpsc-admin/admin.php $purchase_logs_cap = apply_filters( 'wpsc_purchase_logs_cap', 'administrator' ); $page_hooks[] = $purchase_logs_page = add_submenu_page( 'index. , __( 'Sprzedaż w sklepie', 'wpsc' ), __( 'Sprzedaż w sklepie', 'wpsc' ), $purchase_logs_cap, 'wpsc-purchase-logs', 'wpsc_display_purchase_logs_page'); do czegoś takiego remove_filter('wpsc_purchase , 'administrator'); funkcja sh_wpsc_admin_pages($purchase_logs_cap) { apply_filters( 'wpsc_purchase_logs_cap', 'editor'); }


title: Dlaczego przycisk przesyłania multimediów nie znajduje się na głównym pasku narzędzi i czy można go tam umieścić?

text: Czy istnieje dobry powód, dla którego przycisk przesyłania multimediów wp nie jest umieszczony na głównym pasku narzędzi edycji i czy możemy go tam umieścić zamiast pływać powyżej?


title: Jak usunąć menu z motywu?

text: Mam bardzo proste pytanie, jak usunąć menu z witryny WordPress? Czy istnieje wtyczka, która może to obsłużyć, czy muszę wejść do kodu mojego motywu i coś stamtąd usunąć?


title: Czy panel 3.4.2 ma nagłówki Chrome Frame?

text: Szybkie wyszukiwanie w Google „Wordpress Dashboard Chrome Frame” wydaje się wskazywać, że integracja Google Chrome Frame w wersji 3.2 lub nowszej jest zawarta w Dashboardzie, ale nie udało mi się znaleźć niczego oficjalnego na ten temat w Wordpressie, a kiedy sprawdzam nagłówki w Chrome nie widzę standardowych nagłówków Chrome Frame. Czy ktoś coś o tym wie?


title: Dlaczego podczas tworzenia nowego posta znalazłem 2 rekordy związane z tym postem w tabeli bazy danych postów?

text: Jestem bardzo nowy w rozwoju WordPressa i mam wątpliwości co do tabeli bazy danych WP o nazwie **posty** Zauważyłem, że kiedy tworzę nowy post (w panelu administracyjnym WP) są tworzone 2 rekordy w **postach* * stół. Na przykład po utworzeniu jednego posta zatytułowanego **DB TEST** do tabeli **posts** znalazłem te 2 rekordy: 29 1 2014-08-14 20:36:43 2014-08-14 20:36:43 test deb DB TEST publikuje otwarty otwarty test db 15.08.2014 20:37:34 15.08.2014 20:37:34 0 http://localhost/wordpressAsper/?p=29 0 post 0 30 1 2014-08-15 20:36:43 2014-08-15 20:36:43 deb test DB TEST dziedzicz otwarte otwarte 29-revision-v1 2014-08-15 20:36:43 2014-08-15 20:36:43 29 http://localhost/wordpressAsper/2014/08/15/29-revi... 0 wersja 0 Jak widać 2 rekordy zawierają te same informacje z wyjątkiem ID (czyli jednoznacznego) i dla pola **post_type**. W pierwszym rekordzie to pole ma **post** jako wartość, podczas gdy w drugim rekordzie valie to **inerith** Więc dlaczego tworząc nowy post mam 2 rekordy, a nie jeden rekord? Ponadto zauważyłem, że w przypadku innych postów mam więcej 2 rekordów związanych z tym samym postem. Co dokładnie oznacza?


title: Najlepsze praktyki dotyczące wielu funkcji niestandardowych plików danych

text: Utworzyłem dwa nowe kanały RSS WordPress w moich funkcjach motywu: ` // Custom Feed 1 add_action('init', 'customRSS'); funkcja customRSS(){ add_feed('feedname', 'customRSSFunc'); } function customRSFunc(){ get_template_part('rss', 'feedname'); } // Kanał niestandardowy 2 add_action('init', 'customRSS2'); funkcja customRSS2(){ add_feed('feedname2', 'customRSS2Func'); } function customRSS2Func(){ get_template_part('rss', 'feedname2'); } ` Działa idealnie, jednak w oparciu o koncepcję DRY wydaje mi się, że może mieć lepsze podejście do tego kodu, zamiast dodawać całą funkcję dla każdego nowego niestandardowego kanału. Czy to prawda? Samouczek, który śledziłem, jest taki, jeśli ktoś jest zainteresowany.


title: Niestandardowy CSS dla formularza wtyczki

text: Mam krótki kod, który dodaje formularz do strony. Jak mogę się upewnić, że CSS formularza zostanie załadowany na czas z krótkim kodem?


title: Czy mogę wykluczyć post za pomocą metaklucza za pomocą funkcji pre_get_posts?

text: Widzę, że wiele osób woli używać haka `pre_get_posts` zamiast `query_posts`. Poniższy kod działa i pokazuje wszystkie posty, które mają funkcję „polecane” w metakluczu feature_posts( $query ) { if ( $query->is_main_query() ) { $query->set('meta_key', 'featured'; $query- >set('meta_value', 'yes'; }} add_action( 'pre_get_posts', 'featured_posts' );Ale chcę, aby posty, które mają '`featured`' meta_key były **wykluczone** z głównego zapytania. jest na to łatwy sposób?


title: Jak dołączyć posty z motywem

text: Tworzę motyw i chciałbym przesłać użytkownikowi posty, które stworzyłem z tym motywem. Jak to zrobić?


title: Zdefiniować add_editor_style do określonych typów postów?

text: Zastanawiam się, czy można zdefiniować add_editor_style do określonych typów postów? Obecnie używam tej funkcji.. // STYL EDYTORA add_editor_style('editor-style.css'); Ale chciałbym mieć wiele stylów edytora dla różnych typów postów. Więc zgadywanie może wyglądać tak... if ( ... ) { // WPISY I STRONY W STYLU EDYTORA add_editor_style('editor-style.css'); } else if ( ... ) { // NIESTANDARDOWE KSIĄŻKI W STYLU EDYTORA add_editor_style('editor-style-books.css'); } Moje typy postów to `page`, `post`, `book` Wszelkie pomysły byłyby świetne dzięki


title: Jak wyświetlić niestandardowy typ postu w hierarchii stron?

text: Czy można wyświetlić listę stron z niestandardowym typem wpisu zawartym na tej liście, jeśli nadrzędną stroną jest strona? Jeśli więc użyłbym zapytania bardziej konkretnie, takiego jak `get_pages()`, `wp_list_pags()` itp., czy mógłbym wyświetlić listę/mapę witryny, która byłaby bardziej podobna do mapy witryny, która pasowała do całej struktury witryny? Zastanów się więc, że są to wszystkie dostępne publicznie linki witryny: example.com example.com/about example.com/contact-us example.com/services example.com/services-one example.com/services/service- dwa example.com/usługi/usługa-trzy example.com/usługi/usługa-cztery example.com/usługi/usługa-piąta Te linki zostały utworzone z „stronami” wbudowanymi w typie posta: example.com/informacje o example.com/ skontaktuj się z nami example.com/services Załóżmy, że istnieje niestandardowy typ wiadomości o nazwie services, który ma **page** "services" jako nadrzędny podczas rejestrowania typu psst. Tak więc w ramach cpt usług utworzono następujące linki: example.com/usługi/usługa-jeden example.com/usługi/usługa-dwa example.com/usługi/usługa-trzy example.com/usługi/usługa-cztery example.com /services/service-five Czy mogę w jakiś sposób użyć zapytania do utworzenia listy zawierającej cpt?


title: skrypty nie kolejkują

text: Uderzam głową w to już od kilku godzin i wydaje mi się, że nie mogę tego rozgryźć. Próbuję umieścić skrypt w kolejce na mojej stronie z następującym kodem w moim functions.php. function my_slider_scripts() { $scriptsrc = get_stylesheet_directory_uri().'/js/jquery.nivo.slider.pack.js'; wp_register_script( 'nivo-slider-pack', $scriptsrc ); wp_enqueue_script('nivo-slider-pack'); } add_action( 'wp-enqueue_scripts', 'my_slider_scripts' ); Przejrzałem kodeks i każdy samouczek, jaki udało mi się znaleźć, i wydaje się, że nic nie sprawia, że to działa. Powinienem wspomnieć, że używam motywu potomnego. Wszelkie pomysły byłyby bardzo mile widziane.


title: Zmień rozmiar Rich Post Editor w Chrome

text: Z jakiegoś powodu nie mogę zmienić rozmiaru obszaru edycji tekstu w instalacji WordPress mojej witryny w przeglądarce Chrome lub Firefox. Mogę zmienić rozmiar edytora HTML, który pokazuje wskaźnik zmiany rozmiaru w białym obszarze edytora tekstu, ale edytor sformatowany nie zmieni rozmiaru, mimo że pokazuje wskaźnik zmiany rozmiaru w szarym obszarze - http://cl.ly/5zgH. Mogę zmienić rozmiar edytora w innych używanych przeze mnie witrynach WordPress, ale nie w tej. Czy ktoś to widział i macie jakieś sugestie?


title: Modyfikuj obrazy po wstawieniu do edytora WYSIWYG

text: Gdy obraz zostanie dodany, aktualnie dodaje  Wiem, że ten użytkownik może bezpośrednio dodać link. Jednak redaktorzy popełniają błąd, nie robiąc tego. Ustaw także IIRF, aby rzeczywista domena używana do wordpress była inna niż rzeczywisty host. Muszę więc zmienić dane wyjściowe the_content na (dotyczy to istniejących postów)  Podczas wstawiania nowego obrazu, niezależnie od tego, jaki edytor opcji wybierze, wstaw tylko obraz jako  Widziałem to Modyfikowanie wyjścia HTML wstawionych obrazów, ale nie jestem całkiem pewny, jak właściwie to zmienić zgodnie z moimi wymaganiami


title: Settings API - walidacja checkboxów w menu z wieloma podstronami

text: Buduję motyw za pomocą ustawień API. Mam menu najwyższego poziomu z wieloma podstronami i wszystko działa dobrze, z wyjątkiem pól wyboru. Zapisuję opcje do pojedynczej tablicy opcji. To jest moja funkcja sanitarna: public function sanitize($input) { $options = get_option(THEMEOPTIONS); $fields = gosu_adminpanel_fields(); foreach ($fields as $key => $field) { if($field['callback'] == 'gosu_controls_checkbox') { // jeśli pole jest polem wyboru if(!isset($input[$key])) { $opcje[$klucz] = "wyłączone"; } } } foreach($input as $klucz => $pole) { $opcje[$klucz] = $wartość; } return $opcje; } $fields jest tablicą zawierającą wszystkie dane pola, takie jak typ, wartości domyślne itp. Ponieważ pola wyboru nie są wysyłane w tablicy POST, gdy opcja nie jest zaznaczona, wymaga to dodatkowej walidacji. To działałoby dobrze, gdybym używał jednej strony menu, ale ponieważ używam więcej niż jednej, kiedy przesyłam jedną ze stron, która nie ma pola wyboru, ustawia wartość na „off”, myśląc, że użytkownik jest odznaczony pole, ponieważ pole nie istnieje. Chciałbym móc sprawdzić poprawność pola wyboru tylko wtedy, gdy strona, na której się znajduje, zostanie przesłana lub mieć inny sposób, aby to zadziałało bez nieprawidłowego ustawienia wartości pól wyboru. Chcę używać tylko jednej tablicy opcji dla wszystkich ustawień motywu; użycie zmiennej dla każdej strony nie wchodzi w rachubę. Rozważam zmianę pól wyboru dla listy rozwijanej tak/nie, ale to nie byłoby eleganckie rozwiązanie.


title: $post->ID wyświetla błędne ID

text: Ten jest dość dziwny. Ten kod: $post->ID Wyświetla właściwy identyfikator za każdym razem z wyjątkiem strony blogu (strona ustawiona jako blog na /wp-admin/options-reading.php). Na tej stronie $post->ID zwraca identyfikator pierwszego wpisu na blogu dla danej strony. Teraz trudna część, próbowałem usunąć wszystkie pętle ze wszystkich moich stron, całkowicie wymazać plik loop.php, wyłączyłem wszystkie widżety, które mogły mieć wpływ na $post i nadal zwraca niewłaściwy identyfikator. Jakieś wskazówki? Mój index.php jest dość standardowy: <?php get_header();?> <?php get_template_part( 'pętla', 'indeks' ); ?> <?php get_footer(); ?> A loop.php to: <?php while ( have_posts() ) : the_post(); ?> zawartość <?php endwhile; ?> Może problem polega na tym, że próbuję uzyskać identyfikator w pliku header.php? I tak, `wp_reset_postdata()` również nie pomaga :/


title: Musisz dodać/usunąć grupę opcji i wyświetlić je jako wiersze

text: Tworzę wtyczkę, która ma 5 pól tekstowych na opcje. To, co muszę zrobić, to traktować te 5 opcji jako 1 przedmiot i móc dodać więcej przedmiotów. Zawsze pracowałem ze statycznymi, zakodowanymi na sztywno opcjami dla moich wtyczek wordpress, więc nie jestem pewien, jak to zrobić, ale postaram się jak najlepiej wyjaśnić. Chcę mieć tabelę podobną do tabeli postów, a następnie chcę mieć możliwość dodawania/usuwania wierszy. Każdy wiersz będzie jednym „elementem” zawierającym 5 opcji. **Czy ktoś zna wtyczkę, która działa podobnie, więc mogę to sprawdzić? (jeśli używa również ajax, to byłoby niesamowite)** Moim głównym problemem jest to, że nie jestem pewien, jak zapisać/odzyskać wiele wierszy, ponieważ zawsze zapisywałem na sztywno nazwy moich opcji w kodzie.


title: Właściwy sposób na stworzenie niestandardowej strony wyszukiwania dla złożonych niestandardowych typów postów

text: Próbuję utworzyć niestandardową stronę wyszukiwania, aby wyświetlać tylko niestandardowe typy postów, które spełniają określone kryteria wyszukiwania. Mam złożony formularz, który obejmuje różne zaznaczenia, przyciski radiowe i pola wprowadzania tekstu. Potrafię swobodnie używać klasy WP_Query do zapytania o posty, które są identyfikowane za pomocą formularza wyszukiwania, ale nie jestem pewien, czy powinienem tworzyć dodatkowe szablony, czy korzystać z wbudowanej strony wyszukiwania. Pozwól, że podam ci na przykład pomoc w przekazaniu mojej zagadki. Wyobraź sobie, że masz CPT „Osoba”. Dla każdej osoby masz „Data urodzenia”, „Płeć”, „Wzrost” i „Waga”. Chcesz wyszukać wszystkich mężczyzn urodzonych po 1972 r., którzy mają ponad 6 stóp wzrostu. Jak wypracowałbyś to wyszukiwanie? Znowu mogę łatwo połączyć `$args` dla klasy WP_Query, aby otrzymać te posty. Muszę wiedzieć, jak najlepiej zintegrować to z WordPressem. Ostatecznie potrzebuję rozwiązania, które spełnia następujące warunki: 1) Zachowuje podział na strony na stronie wyszukiwania 2) Wyszukuje tylko określone CPT, a nie inne CPT I mam następujące pytania 1) Czy powinienem mieć do tego osobny szablon, czy czy mogę zintegrować to bezpośrednio z `search.php`? Moje obecne rozwiązanie wydaje się szalone i chciałbym opracować alternatywę. Utworzyłem nową stronę w admin WP. Używam adresu URL tej strony jako atrybutu `action` w formularzu wyszukiwania. Następnie używam niestandardowego szablonu do wyświetlania wyników tej strony. Wydaje mi się to niewłaściwe. 2) Jeśli zintegruję to z `search.php`, w jaki sposób zachowam zwykłe wyniki wyszukiwania, oprócz tych wspaniałych niestandardowych wyników wyszukiwania? Dziękuję bardzo za Twoją pomoc! EDYCJA: W dalszym dochodzeniu zaczynam myśleć, że `pre_get_posts` prawdopodobnie będzie zaangażowany w „lepszy sposób”, aby to zrobić.


Jaki jest najłatwiejszy sposób na zduplikowanie całego menu nawigacyjnego? Nie obchodzi mnie, czy dotyczy to poleceń SQL, czy czegokolwiek. Mam tylko kilka naprawdę dużych menu, które chciałbym powielić. Nie widziałem wtyczki do tego. Dla wyjaśnienia chcę powielić menu, aby móc wprowadzić w nim pewne zmiany i używać go jako menu pomocniczego w innym miejscu. Nie próbuję wyświetlać menu dwa razy. ![wordpress.jpg](http://img16.imageshack.us/img16/2006/wordpressg.jpg)


title: Potrzebuję pomysłów na skomplikowane menu

text:
Mam nieco skomplikowane menu do kodowania z dokumentu PSD i integracji z wordpressem. tak to wygląda: (link w komentarzu poniżej) Efektem mojej pracy jest to: http://slavisaperisic.com/FlexE/meni_setap.html Teraz kiedy piszę funkcję otrzymuję domyślny znacznik

 Ale utworzony przeze mnie znacznik (który daje mi odpowiednio wystylizowane menu dynamiczne) wygląda tak:

 Odkrywanie

 Korzystanie

 Pobieranie

 Stylizowałem go tak, aby był zgodny z długością słowa w elemencie menu. Oczywiście nie mogę użyć funkcji `wp_list_pages()`, ponieważ struktura, którą mi daje, jest inna niż ta, której potrzebuję. Masz jakieś pomysły? Może wskaż mi gdzieś, gdzie mogę nauczyć się kodować to inaczej lub mi to wyjaśnić? Dziękuję


title: Jak mogę zorganizować folder przesyłania według ślimaka (lub identyfikatora, typu pliku lub autora)?

text: Chcę przechowywać wszystkie załączniki (media) w folderach nazwanych przy każdym tytule posta. Przykład: `/wp-content/uploads/my-post-about-stuff/` Folder powinien zawierać wszystkie media dołączone do tego posta. Czy to jest możliwe?


title: Uniemożliwić rejestrację w przypadku braku roli?

text: Mój blog jest nękany przez sploggerów. Dobrą wiadomością jest to, że w każdym przypadku rola wyświetla się jako „Brak” na liście użytkowników. Czy istnieje sposób na użycie add_action("rejestr użytkownika") w functions.php, aby zapobiec tym rejestracjom w oparciu o pustą rolę lub brak? Chociaż zakładam, że kod będzie wyglądał mniej więcej tak: add_action("rejestr użytkownika","spike_registrations"); function spike_registrations($user_id){ //wyciągnij rolę, oceń rolę, jeśli rola = "" lub Brak, zatrzymaj rejestrację } Nie jestem pewien, co do konkretnego kodu, który trafia do mojej funkcji. Jaki jest zestaw danych używany na przykład w procesie rejestracji i jak mogę wyciągnąć rolę z tego zestawu danych? Czy jest jakiś specjalny sposób na ocenę wartości roli? A jaka funkcja WP służy do zatrzymania procesu rejestracji? Dzięki za wszelkie pomysły, jak to zrobić. Zaoszczędziłoby mi to godzinę co kilka tygodni spędzonych na przeglądaniu ponad 20 stron fałszywych rejestracji.


title: Wiele domen dla podkatalogów WordPress MultiSite

text: Jak mogę używać example.com i example1.com do wszystkich podkatalogów WordPress z wieloma witrynami? Na przykład, jeśli użytkownik przejdzie do example1.com/witryna/, zobaczy tę samą witrynę, jak gdyby ktoś przeszedł do example.com/witryna/ (lub zostałby przekierowany). Obecnie mam swój DNS dla obu domen wskazujący na adres IP mojego serwera, ale działa tylko domena, którą ustawiłem w ustawieniach WordPressa (na przykład: example.com). Druga domena (example1.com) działa, ale nie działa z podkatalogami (na przykład jeśli dotarłem do example1.com/site/, po prostu wraca do example.com). Wygląda na to, że muszę coś zmienić na moim serwerze lub w ustawieniach WordPressa, aby umożliwić korzystanie z obu domen, ale nie wiem. Kupiłem i przetestowałem tę wtyczkę, ale pozwala ona tylko na przełączanie się między wieloma domenami na podwitrynę (nadal tylko 1 domena), potrzebuję wielu domen dla wszystkich podwitryn.


title: Jak usunąć wszystkie wygenerowane obrazy z mojego serwera poza tymi, które są obecnie używane w postach?

text: Mam nowy zestaw rozmiarów obrazów dla opracowywanego motywu witryny. Mój serwer jest wypełniony starymi rozmiarami obrazów, z których większość nigdy nie była używana. Słyszałeś to już wcześniej, prawda? **Pytanie** Jak usunąć wszystkie miniatury wygenerowane przez WP z mojego serwera _ale nie te, które są obecnie używane w postach_? To znaczy: `$ find . -nazwa "*-*x*.jpg" | xargs rm -f` jest zbyt wielkim młotkiem, ponieważ `myimage-300x250.jpg` może zostać użyte w poście. Jednak 6 innych odmian jest mile widziane! Myślę, że muszę wygenerować listę używanych obrazów, porównać je z moim katalogiem i usunąć różnicę (bez oryginałów). Ale jak się do tego zabrać, umyka mi. * * * Pasek boczny „ **Dlaczego?** ”: Dodatkowe rozmiary obrazów na serwerze to generalnie nic wielkiego, ale mamy w tej chwili ponad 2,7 gigabajtów i wydaje się, że marnowanie ich i tworzenie ich kopii zapasowych jest marnotrawstwem. Poza tym zaraz zaczynamy od nowa – dlaczego nie zrobić wiosennych porządków? Jeśli chodzi o regenerację kciuków, podczas gdy nowy projekt ma nowe specyfikacje obrazu, nikt z nas nie ma czasu na aktualizowanie setek starszych postów za pomocą wstawionych obrazów RTE. Niech minione przeminą, mówię.


title: Wypełnić tytuły postów na podstawie treści postów?

text: Zaimportowałem ponad 1000 postów z galerii Tumblr. Wszystkie posty nie mają tytułu, ale każdy ma zdjęcie i nazwę wewnątrz posta. Jak sprawić, by treść każdego posta została przypisana do nazwy posta?


title: Pole niestandardowe nie aktualizuje się, gdy wartość jest pusta

text:
Dodałem kilka niestandardowych pól do programu do przesyłania obrazów WordPress za pomocą hooków `attachment_fields_to_edit` i `attachment_fields_to_save`. Wszystko działa bardzo dobrze, z wyjątkiem sytuacji, gdy pole jest usuwane przez użytkownika. Na przykład w polu używanym było „Obraz olejny”, a użytkownik je wymazał, chcąc, aby to pole było puste – ale pole nadal mówi „Obraz olejny”. Jednak zmiana tekstu na coś innego działa dobrze. Jakieś pomysły, dlaczego tak się dzieje? Z góry dziękuję Oto mój kod: // Dodaj pola niestandardowe do funkcji przesyłania mediów wpf_fields_edit( $form_fields, $post ) { $post->post_type == 'attachment'; $form_fields[ 'wpf_g_medium' ] = array( 'label' => __( 'Medium' ), 'input' => 'text', 'value' => get_post_meta( $post->ID, '_wpf_g_medium', true ) ); $form_fields[ 'wpf_g_medium' ][ 'etykieta' ] = __( 'Średni' ); $form_fields[ 'wpf_g_medium' ][ 'wejście' ] = 'tekst'; $form_fields[ 'wpf_g_medium' ][ 'wartość' ] = get_post_meta($post->ID, '_wpf_g_medium', true ); // Tutaj dodano kilka dodatkowych pól, używając tego samego kodu return $form_fields; } add_filter( 'attachment_fields_to_edit', 'wpf_fields_edit', NULL, 2 ); // Zapisz funkcję danych pól wpf_fields_save( $post, $attachment ) { $fields = array('wpf_g_medium', 'wpf_g_dimen', 'wpf_g_collabs'); foreach( $pola jako $pole ) { $klucz = '_' . pole $; if( isset( $załącznik[ $pole ] ) ) { if( trim( $załącznik[ $pole ] ) == '' ) $post[ 'błędy' ][ $pole ][ 'błędy' ][] = __( 'Błąd! Coś poszło nie tak.' ); else update_post_meta( $post[ 'ID' ], $klucz, $załącznik[ $pole] ); } } return $post; } add_filter('attachment_fields_to_save', 'wpf_fields_save', NULL, 2 ); // Wydrukuj wartości wywołane w funkcji attachment.php get_artwork_fields_info() { global $post; $fields = array('wpf_g_medium', 'wpf_g_dimen', 'wpf_g_collabs'); $title = $post->post_title; if( $fields ) { echo '

' . $tytuł . '
'; foreach ( $pola jako $pole) { $klucz = '_'. pole $; $meta = get_post_meta( $post->ID, $klucz, prawda ); if ( $meta ) { echo '
'; echo $meta; echo '
'; } } echo '
'; } }


title: Jak włączyć user_can_rich_edit dla gości?

text: Używanie wp 3.3beta1 z wp_editor na interfejsie dla bbPress. Jak mogę pozwolić gościowi zobaczyć edytor wizualny, dzwoniąc do edytora w interfejsie użytkownika? Widzę tylko opcje wyłączenia edytora wizualnego w całej witrynie lub dla każdego użytkownika, ale nie ma opcji zezwalania gościom na korzystanie z wizualizacji?


title: Edytowanie stron, które zostały już opublikowane

text: Przepraszam za proste pytanie. Opublikowałem stronę. Powiedzmy, że teraz muszę wprowadzić zmiany na stronie. Czy mogę go po prostu edytować po opublikowaniu? A może powinienem użyć trybu konserwacji? Jeśli ktoś spróbuje wyświetlić stronę w tym samym czasie, w którym ją edytuję, czy zostanie przywitany komunikatem o błędzie? Dziękuję Ci. -Laxmidi


title: Jak naprawić brakujące informacje w kanale wordpress?

text: Jestem nowym programistą wordpress utrzymującym istniejącą witrynę. Witryna ma niestandardowy szablon. Jeśli przejdę do `mysite/mytemplate/feed` otrzymuję kanał z tym szablonem -- z wyjątkiem tego, że jedno z pól jest puste. Plik XML kanału wygląda tak: <description> <![CDATA[]]> </description> Wiem, że pole opisu jest wypełnione w bazie danych, ponieważ pojawia się w interfejsie użytkownika. Gdzie znajduje się kod wypełniający pole opisu w pliku danych? Gdy będę wiedział, że będę mógł zagłębić się w PHP, który wypełnia pole opisu.


title: Testujesz lokalny serwer z MAMP/wordpressem na urządzeniu mobilnym?

text: Obecnie tworzę lokalnie witrynę wordpress przy użyciu MAMP PRO, co oczywiście wiąże się z wykorzystaniem lokalnej bazy danych. Chciałbym przetestować tę stronę na moim iPhonie za pomocą zdalnego łącza. Udało mi się to zrobić wpisując w adres URL mojego telefonu komórkowego następujący adres... 192.234.2.32:8888 (Adres IP : Numer portu) Problem polega na tym, że strona indeksu jest wyświetlana, ale bez stylów CSS. Następnie, gdy klikam inną stronę, pojawia się komunikat, że nie można znaleźć strony. Wygląda na to, że połączyła się prawidłowo z serwerem, ale nie z bazą danych Wordpress. (przynajmniej myślę, że to jest problem) Czy ktoś ma jakieś informacje, jak to działa lub wskazuje mi właściwy kierunek? Czy potrzebujesz do tego innej aplikacji, czy można to zrobić za pomocą adresu mamp/IP itp.? Z góry dziękuję


title: Stan przejściowy nie działa w przypadku pętli niestandardowych

text: Pracuję nad motywem WordPress. Ponieważ muszę wyświetlać polecane posty, powiązane posty, niektóre widżety z najnowszymi postami itd., muszę użyć wielu niestandardowych pętli. Z tego powodu wzrosła również liczba zapytań do bazy danych. Próbując zoptymalizować motyw pod kątem lepszej wydajności, natknąłem się na http://codex.wordpress.org/Transients_API , co wydaje się dobrym sposobem na buforowanie pętli, których nie muszę aktualizować przy każdym przeładowaniu strony. Do tej pory tak dobrze, użyłem transientu do wp_nav_menu i działało tak, jak powinno. Udało mi się nieco zmniejszyć liczbę zapytań do bazy danych. Problem pojawił się, gdy próbowałem użyć transjentu do niestandardowych pętli. Stan nieustalony zostaje zapisany. Mogę uzyskać wartość przejściową. Jedynym problemem jest to, że liczba zapytań do bazy danych wydaje się być znacznie wyższa niż przy użyciu WP_Query bez transjentów. Oto moja niestandardowa pętla: if( false === ( $loop = get_transient('featured')) ) { $loop = new WP_Query( array( 'posts_per_page' => 20 ) ); set_transient('polecane', $pętla, 60 * MINUT_W_SEKUNDACH); } if( $loop->have_posts() ) : while( $loop->have_posts() ) : $loop->the_post(); tytuł(); the_post_thumbnail('kciuk'); koniec; endif; wp_reset_postdata(); Kod używany do wyświetlania liczby zapytań do bazy danych i czasu wykonania jest następujący: <?php echo get_num_queries(); ?> zapytania w <?php timer_stop(1); ?> sekund. Używając wtyczki debugowania zapytań, widzę, że _update_meta_cache()_ generuje wiele zapytań. Nie potrafię wyjaśnić, dlaczego liczba zapytań do bazy danych rośnie zamiast maleć i dlaczego to działało dla menu, ale nie dla niestandardowych pętli. Może coś przegapiłem. Każda pomoc jest mile widziana.


title: Dynamiczny pasek boczny i poprawność XHTML?

text: Moje pytanie dotyczy dynamicznych pasków bocznych i umieszczania kodu dynamicznego paska bocznego w tagu `<ul>`. Kiedy mam włączone widżety/dynamiczny pasek boczny, _nie_ dodawaj widżetów do paska bocznego i _nie_ zawijaj kod php dynamicznego paska bocznego w tagu `<ul>` mój motyw jest zgodny z XHTML. Ale kiedy dodaję widżet, jest on nieprawidłowy i wymaga znacznika `<ul>`, aby był prawidłowy! Jak sprawić, by była ważna we _wszystkich_ okolicznościach? <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ): ?> <?php endif; ?>


title: WordPress w podfolderze, ale dostępny z poziomu root

text: Sporo szukałem bez znalezienia rozwiązania. Mam bloga wordpress w `/_wp` i coś innego w `/other` Staram się, aby każde żądanie było przekierowywane do WordPressa. Z wyjątkiem tych do `/other` i jego katalogów potomnych. Chcę też przepisać dostęp do bloga. Kilka przykładów, aby to wyjaśnić: / --> /_wp/ /ablogpost --> /_wp/ablogpost /other --> /other /other/bingou --> /other/bingou Próbowałem kilku rzeczy, ale co wydaje mi się, że najbardziej logiczne jest: * nie dotykaj .htaccess z /_wp/ * edytuj .htaccess głównego '/' dodając: RewriteEngine na RewriteCond %{HTTP_HOST} ^(www.)?mywebsite.com $ RewriteCond %{REQUEST_URI} !^(/other|/other/.*)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/?(.*)$ /other/$1 ` # EDYCJA Więc ustawiłem poprawnie katalog /_wp, jak wyjaśniono w Internecie. Chociaż nie mam dostępu do `/other`, to jest teraz mój htaccess: RewriteEngine On RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Myślałem o dodaniu `RewriteRule ^other - [L]`, chociaż to nadal nie działa....


title: Usuń ślimak nadrzędny dla stron podrzędnych

text: Szukam funkcji wtyczki/niestandardowej, która usuwa nadrzędny slug permalink strony podrzędnej. Coś, co _automatycznie_ zmienia permalink dla stron podrzędnych. Przykład: www.blog.com/products/apple staje się www.blog.com/apple Czy ktoś ma wskazówkę, czy można to zrobić? Z góry dziękuję