title: ochrona hasłem poszczególnych stron

text: Czy w Wordpressie można zabezpieczyć hasłem poszczególne strony? To, co próbuję zrobić, to mieć specjalne strony, takie jak somesite.com/project1, które mają nazwę użytkownika i hasło, które mogę ustawić, ale somesite.com/project2 ma inną nazwę użytkownika i hasło. I tak dalej i tak dalej, z nowymi nazwami użytkowników i hasłami do nowych stron tworzonych w dalszej kolejności. Z góry dziękuję!


title: Dwie osadzone galerie w jednym poście

text: Mam do ciebie miłe pytanie. Czy jest łatwy sposób na osadzenie dwóch galerii w tym samym poście? Odnoszę się do wbudowanej galerii wordpress. Oczywiście za pomocą wtyczki. Czy istnieje wtyczka inna niż Easy Gallery Manager, która może osiągnąć te cele? Czy muszę napisać nową wtyczkę?


title: Dodaj pola ustawień na stronie administratora dyskusji na temat opcji

text: ## Opis problemu Szukam sposobu na dodanie sekcji ustawień/pola ustawień do strony `~/wp-admin/options-discussion.php` dokładnie tam, gdzie Core wywołuje… do_settings_sections('discussion'); ## Jak to zrobić Po zarejestrowaniu ustawienia i dodaniu pola ustawień nic się nie pojawia: function register_setting() { register_setting('discussion' ,$this->Option_name ,array($this, 'sanitize_setting') ); } public function add_settings_field() { add_settings_field( $this->option_name ,__( 'Label', 'wpse_textdomain' ) ,array( $this, 'render_field' ) ,'dyskusja' ,'dyskusja' ,array() ); } ## Debugowanie/inspekcja Teraz byłem ciekawy, dlaczego nic się nie pojawiło i zrzuciłem globalną sekcję ustawień tuż pod tą linią w rdzeniu: var_dump( $GLOBALS['wp_settings_sections'] ); Dane wyjściowe były zwykłym, prostym `NULL`. ## Pytanie > Jak zarejestrować tam ustawienie, **bez** rejestrowania sekcji > za pomocą `add_settings_section( 'dyskusja', __( 'Tytuł', 'textdomain' ), > 'callback', 'dyskusja' ); ` pierwszy? ## Powód Powód, dla którego proszę o _"bez rejestracji ustawienia bez sekcji"_ jest prosty: jeśli inna wtyczka zarejestruje później tę samą sekcję, nadpisze/zastąpi dodaną sekcję. **EDYTUJ** Aby było bardziej jasne, o co proszę. Zdaję sobie sprawę, że na stronie są już dwie sekcje `default` i `avatars` i że mogę się tam podłączyć. Chodzi o to, że nie chcę podpinać się do istniejących podstawowych ustawień funkcji, ale _pod_ nimi, bezpośrednio do sekcji ustawień, które rdzeń _powinien_ wyprowadzić za pomocą `do_settings_sections( 'dyskusja' );`. Wskazuje się również na to, że strona `discussion` nigdy nie została zarejestrowana przez jądro i dlatego nie może zostać użyta do przerwania `do_settings_section()` bez możliwości przejścia przez jakiekolwiek (nie) zarejestrowane strony. W pełni zgadzam się z odpowiedzią, która to potwierdza i stwierdza: _Nie, nie działa. Jest błędem._ lub **jeszcze lepiej** tworzy lub pomaga w tworzeniu _łatki_.


title: Jak oznaczyć załącznik graficzny jako obraz tła?

text: Próbuję dodać funkcję oznaczania identyfikatora załącznika posta jako obrazu tła. Zasadniczo chciałbym powielić funkcję miniatury posta: w szczegółach załącznika obrazu użytkownik kliknąłby link / przycisk „Użyj jako tła posta”, a ten obraz zostałby ustawiony jako tło posta. Szukałem w Google czegoś podobnego do pól niestandardowych, ale dla załączników graficznych, ale niczego nie znalazłem. Jakieś pomysły?


title: Dodać przycisk resetowania do strony opcji (za pomocą interfejsu Settings API)?

text: Jak dodać przycisk resetowania za pomocą interfejsu API ustawień? Używam add_settings_field Aby dodać pole... czy istnieje podpięcie do dodania przycisku resetowania?


title: Usuń „załącznik/” z adresu URL stron załączników

text: Obecnie nośnik dla strony w `/hello-world/` jest pokazywany w `/hello-world/attachment/image-name/`. Czy można usunąć `attachment` z tego adresu URL i ustawić go jako `/hello-world/image-name/`?


title: Sortowanie tagów według nazwy

text:
Wyświetlam trochę tagów, gdy mają opis. Chciałbym je posortować według nazwy, a nie według ilości postów. Czy jest na to sposób? <?php $tagi = get_tags(); if ($tags) { foreach ($tags as $tag) { if ($tag->description) { echo '
term_id) .'" title=" ' .sprintf( __( "Wyświetl wszystkie posty w %s" ), $tag->name ). '" ' . '>
' . $tag->nazwa.'

' . $tag->opis . '
'; } } } ?>


title: Jak zaimplementować stylizację div w interfejsie za pomocą ustawień meta pola administratora wtyczki?

text: Mam metabox wtyczki (w panelu administracyjnym Wordpress) z następującymi polami i wartościami: Nazwa selektora klasy div= Feature_content Rodzina czcionek= Verdana Kolor czcionki= #000 Są one przechowywane w metatabeli postów w Wordpress. W interfejsie Wordpress, jeden z szablonów treści ma następujący div: <div class="featured_content"> Szybki brązowy lis przeskakuje nad leniwym psem. </div> Jak mam komunikować się z interfejsem Wordpress z moich ustawień metabox Wordpress dla tego div? Aby po załadowaniu strony zawierającej nazwę selektora klasy div „featured_content” zaimplementowano odpowiednią stylizację na podstawie ustawień meta pola zaplecza. Zastanawiam się nad uruchomieniem kodu JS, aby przeskanować wszystkie selektory identyfikatorów i klas, a następnie wysłać zapytanie za pośrednictwem AJAX, aby pobrać ustawienia i zaimplementować je, ale nie jestem pewien, czy jest to najlepszy sposób. Dziękuję za wszelkie wskazówki.


title: Jak sprawić, by nie wyświetlały się żadne do tego kontenera div w post metabox?

text: Dodaję meta box przez hak add_meta_box, ale nie wyświetla się w panelu administracyjnym, dwukrotnie sprawdzam kod źródłowy i wydaje się, że jest ukryty z powodu tej linii: <div class="postbox-container" id="postbox-container-2 " style="display: none;"> To są wszystkie moje próby usunięcia tego display:none, ale wszystkie nie działają: a.) Używanie CSS takich jak: #postbox-container-2 {display:block;} b.) Używanie jQuery jak: $('#postbox-container-2').css('style',''); LUB $('#postbox-container-2').show(); LUB $('#postbox-container-2').css('display','block'); LUB $('#postbox-container-2').removeAttr()('display'); Jak sprawić, by ten div się pojawił? Dziękuję za wszelkie wskazówki.


title: Tworzenie dynamicznej nazwy klasy w moim niestandardowym widżecie

text: Obecnie buduję niestandardowy widżet w WordPressie w oparciu o widżet tekstowy jako punkt wyjścia. Wygląda na to, że w części widżetu `function __construct` nazwa klasy jest zakodowanym na stałe łańcuchem. Chciałbym uczynić ten ciąg zakodowany na sztywno bardziej dynamicznym, wywołując oddzielny plik, który zawiera kilka instrukcji if else, które są wybierane w zależności od opcji wyboru wybranej przez użytkownika. Zmieniłoby to wyraźnie klasę w interfejsie widżetu, aby umożliwić różne style. parent::__construct('jeden_w_czterech_widżetach', __('Niestandardowy widżet LCPS'), $widget_ops, $control_ops); Próbowałem zastąpić ciąg zakodowany na sztywno plikiem nadrzędnym::__construct(include( get_template_directory_uri() . '/views/one-in-four-admin.php' ), __('LCPS Custom Widget'), $widget_ops, $control_ops); Wydaje się jednak, że powoduje to przerwanie obszaru administracyjnego licznymi ostrzeżeniami, np. > Ostrzeżenie: include() [function.include]: http:// wrapper jest wyłączony w > konfiguracji serwera przez allow_url_include=0 in > /Users/jonbeech/Sites/lancscps 2nd site/lancscps.dev/wp-> content/themes/lancscpstheme/functions/one-in-four-widget.php on line 33 Jakieś przemyślenia byłyby mile widziane? Czy to przypadek, że moja składnia jest niepoprawna?


title: Wybierz niestandardowe posty według meta_value i posortuj według innej meta wartości

text: Mam skonfigurowane zapytanie w następujący sposób: $article_query = new WP_Query(array( 'meta_key' => 'issue', 'meta_value' => $post->ID , 'post_type' => 'article', 'orderby' = > 'numer_zamówienia', 'zamówienie' => 'opis' )); Chcę, aby wszystkie artykuły dotyczące danego numeru były posortowane według niestandardowego pola „numer_zamówienia” W obecnej sytuacji zamówienie jest ignorowane. Przeczytałem, że muszę ustawić meta_key na „order_number”, aby umożliwić zamawianie według tego klucza, ale filtruje to według tego klucza, co skutkuje brakiem wyników. Jak więc sortować według numeru zamówienia?


title: Nie można uzyskać strony ustawień wtyczki, aby zapisać dane

text:
mieć prostą wtyczkę, która wstawia tekst (reklamę Google) w części treści pojedynczego posta. Próbuję utworzyć stronę ustawień, która umożliwi użytkownikom zmianę kodu reklamy i zmianę akapitu, po którym reklama ma się pojawiać. Spędziłem cały dzień czytając samouczki i kod, i mam uroczą stronę ustawień, ale nie wiem, jak to zrobić, aby faktycznie zapisać dane. Głównie podążam za przykładem w profesjonalnym tworzeniu wtyczek do WordPressa. Oto co mam: <?php // dodaj opcje wtyczki add_option( 'wpa_ad_insert_paragraph', '2' ); add_option( 'wpa_ad_insert_adcode', 'tu kod reklamy'); // opcje aktualizacji update_option( 'wpa_ad_insert_paragraph', $_POST['wpa_ad_insert_paragraph'] ); update_option('wpa_ad_insert_adcode', $_POST['wpa_ad_insert_adcode'] ); // Dodaj menu dla naszej strony opcji add_action('admin_menu', 'wpa_ad_insert_add_page'); function wpa_ad_insert_add_page() { add_options_page( 'Wstawianie reklam', 'Wstawianie reklam', 'manage_options', 'wpa_ad_insert', 'wpa_ad_insert_option_page'); } // Narysuj stronę opcji function wpa_ad_insert_option_page() { ?>
 <?php screen_icon(); ?>
Wstawianie reklamy
 <form action="options.php" method="post"> <?php settings_fields('wpa_ad_insert_options'); ?> <?php do_settings_sections('wpa_ad_insert'); ?> <input name="Submit" type="submit" value="Save Changes" /> </form>
 <?php } // Zarejestruj się i zdefiniuj ustawienia add_action('admin_init', 'wpa_ad_insert_admin_init' ); funkcja wpa_ad_insert_admin_init() { register_setting( 'wpa_ad_insert_options', 'wpa_ad_insert_options', 'wpa_ad_insert_validate_options'); add_settings_section( 'wpa_ad_insert_main', 'Ustawienia wstawiania reklam', 'wpa_ad_insert_section_text', 'wpa_ad_insert'); add_settings_field( 'wpa_ad_insert_paragraph', 'Reklama pojawi się po numerze akapitu:', 'wpa_ad_insert_paragraph_setting', 'wpa_ad_insert', 'wpa_ad_insert_main' ); add_settings_field( 'wpa_ad_insert_adcode', 'Kod reklamy:', 'wpa_ad_insert_adcode_setting', 'wpa_ad_insert', 'wpa_ad_insert_main'); } funkcja wpa_ad_insert_paragraph_setting() { $options = get_option('wpa_ad_insert_paragraph'); $items = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", " 12”, „13”, „14”, „15”, „16”, „17”, „18”, „19”, „20”); echo "<select id='wpa_ad_insert_paragraph' name='plugin_options[wpa_ad_insert_paragraph]'>"; foreach($items as $item) { $selected = ($options['wpa_ad_insert_paragraph']==$item) ? 'selected="wybrane"' : ''; echo "<option value='$item' $selected>$item</option>"; } echo "</select>"; } funkcja wpa_ad_insert_adcode_setting() { $options = get_option('wpa_ad_insert_adcode'); echo "<textarea id='wpa_ad_insert_adcode' name='plugin_options[wpa_ad_insert_adcode]' rows='7' cols='50' type='textarea'>{$options['wpa_ad_insert_adcode']}</textarea>"; } function wpa_insert_ad($content) { $paragraphAfter = get_option('wpa_ad_insert_paragraph'); $ad = get_option('wpa_ad_insert_adcode'); if( is_single() && is_main_query() ) { $content = explode("
", $content); for ($i = 0; $i <count($treść); $i++ ) { if ($i == $paragraphAfter) echo $treść[$i] . „
”; } } return $treść; } add_filter('treść', 'wpa_insert_ad'); ?> Ten kod tworzy stronę z ustawieniami, ale kiedy zapisuję stronę z ustawieniami, nic się nie dzieje (cóż, pojawia się żółty pasek, że moje ustawienia zostały zapisane, ale informacje na pewno nie są zapisywane w bazie danych. Czego mi brakuje tutaj?


title: Filtrowanie meta_zapytania WP_Query według wartości liczbowych nie działa

text: To był bardzo gęsty tytuł. Mam niestandardowy typ wpisu „event”, który ma pole wyboru daty/godziny „event_date” dzięki wtyczce Advanced Custom Fields. Ten selektor daty/godziny zapisuje w bazie danych znacznik czasu systemu UNIX. Próbuję użyć WP_Query, aby uzyskać wszystkie zdarzenia, które są dziś lub w przyszłości. Oto kod, który mam teraz: $args = Array( 'post_type' => 'event', 'posts_per_page' => -1, 'meta_key' => 'event_date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => array( 'key' => 'event_date', 'compare' => '>=', 'value' => intval(strtotime(date('Y-m-d '))), 'typ' => 'numeryczny' ), ); $zapytanie = nowe WP_Query( $args ); Daje mi wszystkie wydarzenia, przeszłość i przyszłość. Zdaję sobie sprawę, że znaczniki czasu są przechowywane jako ciągi w bazie danych, więc „porównaj” => „>=” normalnie nie działałoby, ale co przeczytałem w Google i w Kodeksie, że „typ” => „numeric” powinien zamienić ciąg na liczbę całkowitą i zezwolić na porównanie go z moją wartością z dzisiejszego poranka o północy. Niestety to nie działa i nie rozumiem dlaczego.


title: Przypisujesz tagi użytkownikowi?

text: Czy ktoś zna sposób (programowy lub wtyczkowy) przypisywania tagów użytkownikom. Chcę utworzyć listę zainteresowań użytkowników jako tagi, aby móc dopasować powiązane treści do ich zainteresowań? Wiwaty, Chris.


title: Chcę, aby tylko moje podstrony były klikalne na pasku nawigacyjnym

text: Buduję prostą stronę internetową z wieloma podstronami, z których każda jest pogrupowana. Załóżmy, że moja witryna ma około 20 stron, pogrupowanych w 5 kategorii. Więc chcę, aby mój pasek nawigacyjny wyświetlał 5 kategorii, a każda kategoria, po najechaniu myszą, wyświetla strony utworzone pod nią. Teraz, ponieważ tworzę swoje strony jako strony, a nie posty, rozumiem, że „kategorie” nie są dostępne. Więc tworzę je jako podstrony. I tworzę każdą „kategorię” jako stronę. Mój problem: stworzyłem te „strony” tylko w celu pogrupowania „podstron” na pasku nawigacyjnym. Ale żadna z tych „stron” nie jest rzeczywistymi stronami, więc nie chcę, aby na żadnej z nich można było kliknąć. To, czego chcę, to jeśli ktoś kliknie samą „stronę” w pasku nawigacyjnym, powinien zostać przeniesiony na pierwszą podstronę tej kategorii (lub strony). Byłbym wdzięczny za wszelkie rozwiązania. (Uwaga na marginesie: wydaje się, że to bardzo powszechna sytuacja, a jednak, po dłuższym polowaniu, nie widzę nic, co by rozwiązało ten problem. Jestem programistą internetowym z ponad dziesięcioletnim doświadczeniem, ale względnym nowicjuszem w wp i Uważam, że tego rodzaju sytuacja powtarza się w kółko.)


title: Jak programowo usunąć element menu?

text: Używam wbudowanego menedżera menu do tworzenia moich menu i wyłączam je za pomocą `wp_nav_menu()`. Zastanawiam się, czy możliwe jest usunięcie niektórych pozycji menu z wyświetlania na podstawie określonego warunku?


title: Wybierz Opcje Metadane nie są aktualizowane w oknie edycji meta

text: Mam Meta pole z dwoma danymi wejściowymi użytkownika 1: Pole tekstowe i 2: Wybierz opcje rozwijane. Użyłem następującej metody Save w mt Meta box, a druga część kodu należy do zapisania opcji Selected z rozwijanego menu. funkcja save_options(){ global $post; if (!isset($_POST['cena']) || $post->post_type != 'produkt') { return $post; } update_post_meta($post->ID, "cena", $_POST['cena']); if (!isset($_POST['nyc_borough']) || $post->post_type != 'produkt') { return $post; } update_post_meta($post->ID, "nyc_borough", $_POST['nyc_borough']); } Jak dotąd wszystko działa dobrze i jestem nawet w stanie pobrać wybraną wartość w niestandardowej kolumnie, jednak kiedy przechodzę do sesji edycji produktu, opcje rozwijane zawsze pokazują pierwszy wybrany element (jako domyślny). Muszę więc ponownie zaktualizować pole wyboru, w przeciwnym razie wybierze pierwszy element i zaktualizuje metadane! Czy możesz mi powiedzieć, dlaczego tak się dzieje i jak mogę temu zapobiec? Dziękuję za poświęcony czas i komentarze


title: Jak wyświetlać kategorie i podkategorie za pomocą WooCommerce?

text: Chciałbym wiedzieć, jak wyświetlić wszystkie kategorie i podkategorie na mojej stronie archiwum-produktu WooCommerce. (Strona indeksu sklepu). Zdaję sobie sprawę, że możesz przejść do administratora WooCommerce w opcjach katalogu i zaznaczyć kategorie wyświetlania, jednak wyświetla to obrazy kategorii nadrzędnych. Szukam czegoś dokładnie takiego.. http://www.simonandsimononline.com/shirts.html Jak widać po lewej, chcę, aby jakaś funkcja wyświetlała wszystkie kategorie i podkategorie jako linki (bez obrazków).


title: Zapobiegaj dodawaniu zduplikowanych stron

text: Używam tego kodu, aby zapobiec dodawaniu zduplikowanych postów, ale muszę też zapobiegać duplikowaniu stron. Czy ktoś może pomóc? funkcja clearDuplicatePosts(){ global $wpdb; $prefiks = $wpdb->prefiks; $wpdb->query("DELETE bad_rows . * FROM ".$prefix."posts AS bad_rows INNER JOIN ( SELECT ".$prefix."posts.post_title, MIN( ".$prefix."posts.ID ) AS min_id FROM ".$prefix."posts GRUPA WEDŁUG tytułu_postu MIEJĄC LICZBĘ( * ) >1 ) JAK WŁĄCZONE good_rows ( good_rows.post_title = bad_rows.post_title AND good_rows.min_id <> bad_rows.ID )"); } add_action('publish_post', 'clearDuplicatePosts');


title: Błąd bazy danych WordPress Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada Twojej wersji serwera MySQL

text: po aktualizacji wordpressa do wersji 3.5+ pojawia się błąd w tej wtyczce. Nie rozumiem, jak to naprawić. Jeśli ktoś może mi pomóc w rozwiązaniu tego problemu lub podać przykład, jak to naprawić, oto pełny kod wtyczki: http://pastebin.com/pVUXjWat błędy, które otrzymuję: Błąd bazy danych WordPress Masz błąd w swoim składnia SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'wp_jsrm_menus' w wierszu 1 dla zapytania POKAŻ TABELI PODOBNE wp_jsrm_menus utworzonego przez Activate_plugin, do_action('activate_simple-retail-menus/simple-retail-menus.php' ), call_user_func_array, jsrm_activate_loop, jsrm_activate Błąd bazy danych WordPress Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu „wp_jsrm_items” w wierszu 1 dla zapytania POKAŻ TABELĘ PODOBNE wp_jsrm_items wykonanego przez Activate_plugin, do_action('activate_simple-retail-menus/simple-retail-menus.php' ), call_user_func_array, jsrm_activate_loop, jsrm_activate Błąd bazy danych WordPress Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'wp_jsrm_menus' w wierszu 1 dla zapytania POKAŻ TABELĘ PODOBNE wp_jsrm_menus wykonanego przez do_action('activate_simple-retail-menus/simple-retail-menus.php'), call_user_func_array, jsrm_activate_loop, jsrm_activate Błąd bazy danych WordPress Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'wp_jsrm_items' w wierszu 1 dla zapytania POKAŻ TABELĘ PODOBNE wp_jsrm_items wykonanego przez do_action('activate_simple-retail-menus/simple-retail-menus.php'), call_user_func_array, jsrm_activate_loop, jsrm_activate Błąd bazy danych WordPress Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'wp_jsrm_menus' w wierszu 1 dla zapytania POKAŻ TABELĘ PODOBNE wp_jsrm_menus wykonanego przez do_action('activate_simple-retail-menus/simple-retail-menus.php'), call_user_func_array, jsrm_activate_loop, jsrm_activate Błąd bazy danych WordPress Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'wp_jsrm_items' w wierszu 1 dla zapytania POKAŻ TABELĘ PODOBNE wp_jsrm_items wykonanego przez do_action('activate_simple-retail-menus/simple-retail-menus.php'), call_user_func_array, jsrm_activate_loop, jsrm_activate Błąd bazy danych WordPress Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'wp_jsrm_menus' w wierszu 1 dla zapytania POKAŻ TABELI PODOBNE wp_jsrm_menus utworzonego przez Activate_plugin, do_action('activate_simple-retail-menus/simple-retail-menus.php' ), call_user_func_array, jsrm_activate_loop, jsrm_activate Błąd bazy danych WordPress Wystąpił błąd w składni SQL; sprawdź instrukcję, która odpowiada twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu „wp_jsrm_items” w wierszu 1 dla zapytania POKAŻ TABELĘ PODOBNE wp_jsrm_items wykonanego przez Activate_plugin, do_action('activate_simple-retail-menus/simple-retail-menus.php' ), call_user_func_array, jsrm_activate_loop, jsrm_activate wszystkie zapytania sql tutaj function jsrm_activate() { add_option('jsrm_val_cols', '2'); globalny $wpdb; $jsrm_menu_table = $wpdb->prefiks . "jsrm_menus"; $jsrm_item_table = $wpdb->prefiks . "jsrm_items"; require_once (ABSPATH . 'wp-admin/includes/upgrade.php'); if (!empty ($wpdb->charset)) $charset_collate = "DOMYŚLNY ZESTAW ZNAKÓW $wpdb->charset"; if (!empty ($wpdb->sortuj)) $charset_collate .= " SORTUJ $wpdb->sortuj"; if ($wpdb->get_var( "SHOW TABLES LIKE $jsrm_menu_table") != $jsrm_menu_table){ $sql1 = "UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE $jsrm_menu_table ( id mediumint(9) NOT NULL AUTO_INCREMENT, menuorder mediumint(9) NULL , nazwa tinytext NOT NULL, tekst opisu, etykieta tinytext NOT NULL, nagłówek elementu tinytext NOT NULL, nagłówek value tinytext NOT NULL”; for ($v=2;$v<=JSRM_VALUE_COLS;$v++){ $sql1 .= "valueheader" . $v . " tinytext NOT NULL "; }; $sql1 .= "UNIKALNY KEY id (id) ) $charset_collate;"; dbDelta($sql1); } if ($wpdb->get_var( "SHOW TABLES LIKE $jsrm_item_table") != $jsrm_item_table){ $sql2 = "UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE $jsrm_item_table ( id mediumint(9) NOT NULL AUTO_INCREMENT(9) NOT(9) NULL, element order mediumint(9) NOT NULL, element tinytext NOT NULL, tekst opisu, obraz tinytext, połączony tinyint(1), linkurl tinytext, itemhidden tinyint(1), wartość tinytext,”; for ($v=2;$v <=JSRM_VALUE_COLS;$v++){ $sql2 .= "wartość" . $v . " tinytext"; }; $sql2 .= "UNIKALNY KEY id (id) ) $charset_collate;"; dbDelta($sql2); } } // SPRAWDŹ TABELĘ BAZY DANYCH PRZY INICJALIZACJI I AKTUALIZUJ, JEŚLI KONIECZNE function jsrm_check_database_version(){ $dbversion = get_option( 'jsrm_db_version', '1' ); if ($dbversion != JSRM_DB_VERSION){ jsrm_activate_loop(); } } add_action('init', 'jsrm_check_database_version');


title: Wartości pól niestandardowych są usuwane podczas usuwania niestandardowego typu wpisu

text:
Stworzyłem niestandardowy typ posta z dołączonymi do niego 2 polami niestandardowymi... Kiedy tworzę post tego typu i wypełniam pola niestandardowe, dane są w rzeczywistości zapisywane w bazie danych... Jednak, jeśli Usuwam jeden z nich, a następnie dane pól niestandardowych tego wpisu są usuwane z bazy danych. Myślałem, że koszenie miało po prostu zmienić post_status na „kosz”, więc jest niewidoczny, chyba że faktycznie usuniesz go na stałe? Jeśli tak jest, dlaczego tracę dane z pól niestandardowych, gdy wyrzucam element do kosza? Oto cały odpowiedni kod dla powyższego pytania: <?php add_action('admin_init', 'wpg_add_testimonial_author'); funkcja wpg_add_testimonial_author() { add_meta_box('wpg_testimonial_author', __('Informacje o autorze', 'cytat'), 'wpg_testimonial_author', 'referencje', 'strona', 'niski'); } funkcja wpg_testimonial_author() { global $post; $custom = get_post_custom($post->ID); $testimonial_author_name = $custom['testimonial_author_name'][0]; $testimonial_author_link = $custom['testimonial_author_link'][0]; ?>
 <etykieta><?php _e("Nazwisko autora:", 'cytat'); ?> <input name="testimonial_author_name" value="<?php echo $testimonial_author_name; ?>" />

 <?php _e('Attribution Link:', ' godny zacytowania'); ?> <input name="testimonial_author_link" value="<?php echo $testimonial_author_link; ?>" />
 <?php } function wpg_save_testimonial_author() { global $post; if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post_id; } if (defined('DOING_AJAX')) { powrót; } update_post_meta($post->ID, 'testimonial_author_name', $_POST['testimonial_author_name']); update_post_meta($post->ID, 'link_testimonial_author_, $_POST['link_testimonial_author_]); } add_action('save_post', 'wpg_save_testimonial_author'); funkcja wpg_row_actions() { global $post; if($post->post_type == 'strona') { if(!current_user_can('edit_page')) { powrót; } } else { if(!current_user_can('edit_post')) { return; } } if($post->post_status == 'trash') { $actionLinks = '
ID.'&action=untrash', 'untrash-'.$post- >post_type.'_'.$post->ID).'">'.__('Przywróć', 'cytowanie').' | '; $actionLinks .= 'ID.'&action=delete', 'usuń- '.$post->post_type.'_'.$post->ID).'" title="'.__('Usuń ten element na stałe', 'cytat').'" class="submitdelete">'. __('Usuń na stałe', 'cytować').''; } else { $actionLinks = '
ID.'&action=edit">'.__('Edytuj', 'cytować').' | '; $actionLinks .= ''.__('Szybka edycja', 'cytowanie').' | '; $actionLinks .= 'ID.'&action=trash', 'kosz- '.$post->post_type.'_'.$post->ID).'" title="'.__('Przenieś ten element do Kosza', 'cytat').'" class="submitdelete"> '._x('Kosz', 'czasownik (tj. wyrzuć ten post)', 'cytat').''; } return $actionLinks; } function wpg_edit_testimonials_columns($columns) { $columns = array( 'cb' => '<input type="checkbox" />', 'testimonial_author' => __('Autor', 'cytat'), 'testimonial_text' = > __('Referencja', 'cytowanie'), 'attribution_link' => __('Atrybucja Link', 'cytowanie'), 'date' => __('Data dodania', 'cytowanie') ); return $kolumny; } function wpg_manage_testimonials_columns($kolumna, $post_id) { global $post; $custom = get_post_custom($post->ID); $testimonial_author_name = $custom['testimonial_author_name'][0]; $testimonial_author_link = $custom['testimonial_author_link'][0]; $wpg_row_actions = wpg_row_actions(); switch($column) { case 'testimonial_author': echo $testimonial_author_name.$wpg_row_actions; przerwanie; case 'testimonial_text': echo $post->post_content; przerwanie; przypadek 'attribution_link': echo $testimonial_author_link; przerwanie; domyślnie : przerwa; } } add_filter('manage_edit-testimonials_columns', 'wpg_edit_testimonials_columns'); add_action('manage_testimonials_posts_custom_column', 'wpg_manage_testimonials_columns', 10, 2); Niestandardowy typ posta nie obsługuje części „tytułowej” postów, więc nie jest uwzględniany jako jedna z kolumn na stronie edycji postów. Dlatego musiałem zhakować moją własną wersję funkcji row_actions(), aby włączyć linki edycji/szybkiej edycji/kosz po najechaniu na każdy post. Cała funkcjonalność działa tak, jak powinna... Z wyjątkiem tego, że wartości "autor opinii" i "link do atrybucji" są usuwane z bazy danych podczas przenoszenia posta do kosza. Nie mam pojęcia dlaczego...


title: ostatnie posty dla różnych kategorii

text:
Opracowuję motyw, który będzie zawierał dwie sekcje ostatnich postów na stronie głównej - jedną sekcję dla ostatnich aktualizacji portfolio, a drugą dla ostatnich postów na blogu. Mam problem z zaimplementowaniem tych funkcji w motywie; Wiem, że ma to coś wspólnego z wp_query, po prostu nie jestem do końca pewien, jak się do tego zabrać. Wszelka pomoc mile widziana. HTML:

Ostatnia praca

<!- - end divider -->

Ostatni blog

 CSS #recent { border-top: 1px solid #202020; dopełnienie-dolne: 40px; padding-top: 40px; } #ostatni .dzielnik { wyświetl: blok; pływak: lewy; margines lewy: 20px; dopełnienie-dolne: 20px; } #recent #recent-work { display: block; pływak: lewy; pozycja:względna; } #recent #recent-work p { padding-bottom: 20px; } #recent #recent-work p span { font-family: nevis-webfont; rozmiar czcionki: 112,5%; grubość czcionki: normalna; odstępy między literami: 1px; transformacja tekstu: wielkie litery; } #recent #recent-work a { padding-bottom: 40px; dopełnienie-prawo: 20px; } #recent #recent-blog { display: block; pływak: w prawo; pozycja:względna; } #recent #recent-blog p { padding-bottom: 20px; } #recent #recent-blog p span { font-family: nevis-webfont; rozmiar czcionki: 112,5%; grubość czcionki: normalna; odstępy między literami: 1px; dopełnienie lewe: 20px; transformacja tekstu: wielkie litery; } #recent #recent-blog a { padding-bottom: 40px; dopełnienie lewe: 20px; } #recent .next { pozycja: bezwzględna; dół: -40px; po prawej: 0px; }


title: Jak uzyskać link bezpośredni do niestandardowego typu postu?

text: Mogę uzyskać link bezpośredni do określonego tagu posta lub kategorii, ale co zrobić, jeśli chcę uzyskać link bezpośredni do niestandardowego typu postu? Nie mogę znaleźć niczego w Kodeksie ani nigdzie indziej o tym, jak to zrobić.


title: Niestandardowe typy postów i miniatury

text:
Chcę skonfigurować 2 niestandardowe typy postów - Reklama i zarządzanie Chciałbym wyświetlić wyróżnioną miniaturę dla każdego posta z niestandardowego typu postu na stronie Reklama. Będą one następnie linkować do każdego posta za pomocą niestandardowego szablonu. To samo chciałbym zrobić w sekcji Zarządzanie. Stworzyłem typ posta, ale kiedy klikam miniatury, przenoszę się na stronę, która nie zawiera żadnych istotnych informacji. Używam motywu potomnego Twenty Twelve. Czy ktoś może w tym pomóc? ### Kod używany do rejestracji cpt add_action('init', 'publicity_register'); function publicity_register() { $labels = array( //nazwa (prawdopodobnie w liczbie mnogiej) dla naszego nowego typu postu 'name' => _x('Publicity', 'Ogólna nazwa typu posta'), //jak się odwołujesz to w liczbie pojedynczej (np. 'Dodaj nowy ****') 'singular_name' => _x('Publicity', 'post type w liczbie pojedynczej'), 'add_new' => _x('Add New', 'publicity' ), 'add_new_item' => __('Dodaj nowego artystę reklamowego'), 'edit_item' => __('Edytuj artystę reklamowego'), 'new_item' => __('Nowy artysta reklamowy '), 'view_item' => __('Wyświetl artystę publikacji'), 'search_items' => __('Wyszukaj reklamę'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => true, 'supports' => array('title', 'editor', 'thumbnail'), 'has_archive' => true, ); register_post_type( 'reklama' , $args ); } ### Kod użyty do pętli $args = array( 'post_type' => 'publicity', 'posts_per_page' => 20 ); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); echo '
'; echo ''; echo get_the_post_thumbnail() . ' '; echo '
' . pobierz_tytuł() . '
'; echo '
'; koniec; ?>


title: Jak dodać klasę do pola wyszukiwania stylu

text: Nie jestem zbyt doświadczony z PHP, ale udało mi się znaleźć fragment, aby dodać pasek wyszukiwania do mojego menu głównego, używając tego kodu w moim pliku functions.php: add_filter( 'wp_nav_menu_items','add_search_box', 10, 2 ); function add_search_box( $items, $args ) { $items .= '<li>' . get_search_form( 'echo=0' ) . '</li>'; zwróć $items; } Nie wiem jednak, jak to stylizować, wiem, że muszę dodać do tego klasę, abym mógł stylizować to za pomocą css, ale nie wiem jak! Zastanawiałem się też, jak trudno byłoby zrobić z niej tylko ikonę wyszukiwania, która po kliknięciu przełącza się na pasek? Myślę, że można to zrobić też w css? Z góry dziękuję...


title: pętla na stronie powoduje błąd shortcode

text:
Mam typową stronę _WordPress_ (page.php): <?php the_post(); ?>
 <div <?php post_class(); ?>> <?php the_content(); ?>
 Wszystko działa dobrze; mieć krótki kod, _[galeria]_ , w treści strony. Następnie dodaję prostą pętlę do strony, aby wyświetlić losowe posty z danej kategorii: <?php query_posts('category_name=interesting_sites&posts_per_page=3&orderby=rand'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div <?php post_class(); ?>>
<?php the_title(); ?>
 <?php the_content(); ?>
 <?php endwhile; ?> <?php endif; ?> <?php wp_reset_postdata(); ?> Wtedy shortcode w treści strony nie działa! Dlaczego tak się dzieje? Jakieś pomysły?


title: Uzyskaj aktualną taksonomię i odpowiednio wyświetl zapytanie

text: Okej, mam tu trochę problemu z kategoryzacją / taksonomią / filtrowaniem i nie wiem, jak to rozwiązać. Mam nadzieję, że ktoś mógłby mi trochę pomóc w drodze. Powiedzmy, że mam bloga o jedzeniu, z kilkoma głównymi tematami; * tajskie jedzenie * indyjskie jedzenie * greckie * meksykańskie * francuskie * hiszpańskie * fast foody Post na blogu jest zawsze powiązany z jednym lub kilkoma z tych tematów wpis na blogu na temat „burrito” zarówno pod hasłem __meksykańskie jedzenie_, jak i _„fast food”_ ). Są też różne kategorie, takie jak * restauracje * recenzje * informacje * wiadomości * dania na wynos * przepisy Wpisy na blogu są również zawsze powiązane z jedną lub kilkoma z tych kategorii. Kategorie te są dostępne w menu. To, co chcę zrobić, to zaoferować odwiedzającemu możliwość filtrowania wszystkich treści na określony temat. Gdyby ktoś zdecydował się umieścić filtr na _'tajskim jedzeniu'_, wszystkie zwrócone artykuły powinny dotyczyć tajskiego jedzenia. Jeśli ktoś wybrałby kategorię _recenzje_, gdy filtr _'tajskie jedzenie'_ jest włączony, powinien zawierać tylko artykuły o _tajskiej kuchni_ w ramach kategorii _recenzje_. Jeśli filtr jest wyłączony (lub wszystkie) i można przejść do kategorii _'recenzje',_ artykuły w przeglądzie kategorii na różne tematy powinny zostać pobrane. Więc jest! Teraz zdaję sobie sprawę, że mogłem to wyjaśnić w trudny sposób, ale nie wiem, jak to osiągnąć. W tej chwili mam oba przedmioty jako kategorie jako kategorie najwyższego poziomu, ale zakładam, że niestandardowa taksonomia może być lepszym rozwiązaniem. Każda pomoc byłaby bardzo mile widziana! _edit: ok, żeby było łatwiej, myślę, że mam lepsze wyobrażenie o tym, co powinno się tutaj dziać: powinienem wykryć, czy użytkownik ma wybrany filtr (które są teraz niestandardowymi taksonomiami) i odpowiednio zwracać posty. (więc coś w stylu: jeśli wybrano tajskie jedzenie, a użytkownik kliknie kategorię 'recenzje', zwróć zapytanie z niestandardową taksonomią tajskie jedzenie w kategorii recenzje) Moje główne pytanie w tym przypadku brzmi, jak rozpoznać, czy jest wybrana taksonomia, i która? Dziękuję!_


title: Dowiedz się, ile razy użytkownik się logował

text: Chciałbym określić, ile razy użytkownik się logował. Czy WordPress zachowuje te informacje, czy też będę musiał dodawać wpis bazy danych przy każdym logowaniu? if(is_user_logged_in() && ($logged_in_times == 2)) { // zrób coś }


title: Krótki kod funkcji - Ustaw parametr

text:
function get_gifts_posts($params, $content){ $default_params = array( 'post_type' => 'post', 'order' => 'desc', 'orderby' => 'data', 'posts_per_page'=> 5, ) ; if (isset($params['type']) && !empty($params['type']) && post_type_exists($params['type'])) $params['post_type'] = $params['type' ]; if (isset($params['taxonomy']) && !empty($params['taxonomy']) && taxonomy_exists($params['taxonomy']) && isset($params['slug']) && !empty( $params['slug'])) $params[$params['taksonomia']] = $params['slug']; foreach(array('typ', 'slug', 'taksonomia') as $key) if (isset($params[$key])) unset($params[$key]); $params = wp_parse_args($params, $default_params); $transient_hash = 'get_gifts_posts_'.substr(md5(serialize($params)),0,10); if (false === ($html = get_transient($transient_hash))){ add_filter('query', 'q'); globalne $ request_sql; // inicjalizacja $html = ''; $rp = nowe WP_Query($params); // $html .= '
ROZPOCZNIJ
'; // $html .= '
'.var_export($params, 1).'
'; // $html .= $request_sql.'
'; if ($rp->have_posts()){ $html .= '
'; while ( $rp->have_posts() ) { $rp->the_post(); $html .= "
"; if (($thumb_id = get_post_thumbnail_id())){ $thumb = wp_get_attachment_image_src($thumb_id, 'panel-mały', fałsz); $html .= "
"; } $html .= "".get_field('fl_price_ex').""; $html .= "".get_field('fl_title').""; $html .= "

"; } $html .= '
'; } if (!empty($html)) set_transient($transient_hash, $html, 60); } return $html; } Jak określić liczbę postów, które chciałbym wyświetlić jako parametr w shortcodzie? W tej chwili domyślnie wyświetlam 5 postów `'posts_per_page'=> 5,` Jeśli użytkownik nie określi liczby postów, funkcja powinna domyślnie wyświetlać 5 postów.


title: Dodaj starsze posty na dole strony listy postów kategorii

text: Zainstalowałem tę wtyczkę i działam, używam shortcode, ale nie mogę dowiedzieć się, jak umieścić link do „Starszych postów” lub Więcej postów” lub „Archiwum” na dole każdej strony wymienionych postów, jeśli rzeczywiście jest więcej postów w kategorii niż maksymalna liczba wyświetlanych na stronie.Chcę, aby działało to podobnie do tego, jak zwykle wyświetlana jest kategoria postów, w której wyświetlane są najbardziej aktualne i przewijasz w dół do linku „Starsze posty”, wróć do lista postów. Dzięki!


title: Pytanie o znaczniki php: php/html w ramach bitu warunkowego

text:
Zaczynam się bardzo mylić, próbując uzyskać istniejący fragment kodu do pracy w ramach warunkowego bitu kodu if/else. Nie mogę uzyskać poprawnej składni. Wszystkie przecinki i średniki echa (przepraszam, że nie jestem koderem). Istniejący kod pokazujący informacje o autorze wpisu pod treścią wpisu:

O autorze
 <?php echo get_avatar( get_the_author_id() , 80 ); ?>
<?php link_autora_postów(); ?>

<?php the_author_meta('opis'); ?>

 I nowy kod, którego chcę użyć, aby zapobiec wyświetlaniu informacji o autorze posta utworzonego przez główne konto administratora: <?php globalne $wp_query; $thepostid = $wp_query->post->ID; $postdata = get_post($thePostid, ARRAY_A); $authorid = $postdata['post_author']; if ($authorid==1) { echo 'Nic nie pokazuj'; } else { echo 'Istniejący kod informacji o autorze, aby przejść tutaj'; } ?> Obydwa bity kodu działają oddzielnie, ale ich połączenie, jak wspomniałem powyżej, skutkuje błędami znaczników w programie Dreamweaver i uszkodzeniem witryny w przeglądarce. Czy ktoś może dać mi kilka wskazówek, jak edytować pierwszy fragment kodu, aby zmieścił się w innej części?


title: Właściwy tag warunkowy WP do sprawdzania istniejących taksonomii w celu wylistowania terminów z wp_list_categories?

text:
To jest to, co obecnie mam, ale nie daje żadnych wyników ... Był to najbliższy warunek, o którym mogłem pomyśleć, aby dopasować to, co próbuję wyprowadzić, ale wydawało się, że nie działa. Jakieś pomysły?... UWAGA: Terminy taksonomii, które wymieniam na pasku bocznym, muszą być widoczne **przez cały czas** podczas przeglądania zapytań o niestandardowe typy postów, archiwów taksonomii i pojedynczych stron produktów/postów. <?php if (is_tax('kategoria produktu')): ?>
 <?php echo '
'; $args_list = array( 'taxonomy' => 'productcategory', 'title_li' => __(''), 'show_count' => false, 'hierarchical' => true, 'echo' => '0', ); echo wp_list_categories($args_list); echo '
'; ?>
 <?php else: ?> <?php endif; ?>


title: Automatyczne publikowanie z wypełnianiem szablonów z danych zewnętrznych i okresową aktualizacją

text: Cześć Chcę osiągnąć następujące szenario i poprosić o radę, aby rozpocząć **Szenario** Mamy zewnętrzną bazę danych mysql wypełnioną informacjami o produktach. Ta baza danych dostarcza dane dla kilku sklepów internetowych. Dostęp do bazy danych możliwy jest bezpośrednio przez połączenie mysql lub jak wolę przez własne API. (żądanie http). Wynik można pobrać jako tablicę w formacie JSON. Chcemy teraz mieć kilka środowisk wordpress na różnych serwerach/krajach i wyświetlać filtrowane informacje o produktach. Chcemy zbudować „blog reklamowy” dla np. konkretnej branży produktowej (np. oświetlenie). Każdy produkt jako post-wordpress Jeśli chcę dodać nową reklamę produktu do konkretnego bloga, chcę utworzyć nowy post i kliknąć przycisk i podać id produktu. Wtyczka musi pobierać dane z zewnętrznego serwera (najlepiej przez dostęp do interfejsu API) i automatycznie wypełniać części szablonu. Znalazłem wtyczki, które mogą wykonać część tego, ale żadna nie spełnia wymagań. Innym problemem, który mam, jest to, że post ma okresową automatyczną aktualizację informacji (powiedzmy raz w tygodniu). Czy to w ogóle możliwe? **Rozwiązania** Nie boję się rozwijać własnej wtyczki, która spełni wymagania. Nie boję się też dostosowywać niektórych wtyczek, jeśli to konieczne. Kupowanie komercyjnej wtyczki jest nawet opcją. Ale nie wiem od czego zacząć. Czy ktoś zna wtyczkę lub zestaw wtyczek, które spełniają (lub prawie spełniają) wymagania? Czy ktoś ma jakieś wtyczki/motywy/klony wordpressa, które spełniają wymagania? **Auto-Update-Part** Tworzenie wtyczki pobierającej dane i tworzenie posta nie jest dla mnie problemem. Mogłem również sformatować wyjście api, aby dostarczyć blok do kopiowania i wklejania do tworzenia postów. Boję się o aktualizację- część. Czy lepiej jest utworzyć post i później manipulować danymi w bazie danych, czy stworzyć coś w rodzaju widżetu, który nie przechowuje danych i pobiera informacje przez interfejs API przy każdym żądaniu strony? Czy jest wystarczająco wydajny? A może powinienem przechowywać dane związane z produktem dla każdego postu w oddzielnej tabeli/kolumnie/cokolwiek i aktualizować je okresowo dla każdego zadania? Jestem wdzięczny za wszelkie rady **EDYTUJ** Teraz piszę własną wtyczkę. Import danych, przechowywanie i wyświetlanie krótkich kodów działa jak urok. Teraz zmagam się z częścią aktualizacyjną, ale to nie będzie poważny problem. Dzięki za radę


title: Wyświetlaj miniaturę posta bez wyróżnienia obrazu

text:
Mam nadzieję, że uda mi się wyjaśnić, do czego zmierzam. Na stronie głównej mojego obecnego projektu wyświetlam miniaturkę wyróżnionego obrazu każdego posta wraz z fragmentem treści posta. Na każdej z rzeczywistych stron postów znajduje się domyślna galeria WP z 2 do 4 obrazami w środku. To, co chcę zrobić, to sprawić, aby mój klient nie musiał zawsze używać wyróżnionego obrazu w każdym poście, aby miniatura zawsze pojawiała się na stronie głównej. Innymi słowy, w tej chwili musi wybrać obraz do wyróżnienia, aby w pętli na stronie głównej była reprezentatywna miniatura każdego posta. Czy mogę sprawić, że nawet jeśli nie wybierze polecanego obrazu do posta, nadal jest miniatura reprezentująca post? Czy mogę automatycznie wybrać pierwszy obraz w galerii posta, jeśli nie wybrano żadnego polecanego obrazu? Na wszelki wypadek, oto niektóre z tego, czego używam, z uwzględnieniem kodu:
 <?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?>
 <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php the_title('
', '
'); ?>
 <?php the_content(__('Kontynuuj czytanie', 'przykład')); ?> <?php wp_link_pages('before=
' . __('Strony:','przyklad') '&after=
'); ?>

 <?php endwhile; ?> <?php else : ?>
<?php _e('Przepraszam, żaden post nie spełnia twoich kryteriów', 'przykład'); ?>
 <?php endif; ?> <?php wp_reset_query(); ?> To jest w moim pliku FUNCTIONS: // Ten motyw używa miniaturek postów add_theme_support( 'post-miniaturki' ); set_post_thumbnail_size( 150, 100, prawda ); // Automatycznie zmienia miniatury polecanego obrazu jako link, który można kliknąć add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 ); function my_post_image_html( $html, $post_id, $post_image_id ) { $html = '' . $html . ''; zwróć $html; } // Ten motyw wyświetla pełnowymiarowy wyróżniony obraz na stronie posta function InsertFeaturedImage($content) { global $post; $oryginalna zawartość = $zawartość; if ( current_theme_supports( 'post-miniatur' ) ) { if ((is_page()) || (is_single())) { $content = the_post_thumbnail('page-single'); $zawartość .= $oryginalna_zawartość; } } return $treść; } add_filter( 'the_content', 'InsertFeaturedImage' ); http://dependablecarcompany.com to adres, jeśli chcesz zobaczyć, o czym mówię. Zobaczysz, co mam na myśli, patrząc na post zatytułowany: „1991 GMC Sierra”. Nie użyłem wyróżnionego obrazu w poście, więc nie jest pokazana miniatura. Z góry dziękuję!


title: Czy Wordpress sprawdza dostępność aktualizacji wtyczki za pomocą nazwy folderu głównego wtyczek?

text: Właśnie ukończyłem pisanie wtyczki z innej wtyczki. Kiedy zmieniłem nazwę programisty, wersję i inne szczegóły z pliku wtyczki, myślałem, że śledzenie wersji będzie teraz wykonywane przy użyciu nowej nazwy wtyczki, ale w rzeczywistości powiązało aktualizację ze starszą wtyczką, dopóki nie zmieniłem nazwy folderu głównego dla wtyczka. Czy aktualizacja nie miała nastąpić z danych zawartych w pliku? Proszę kierować. Dziękuję


title: Bieżący użytkownik widzi informacje o innym zalogowanym użytkowniku

text:
Mam dziwny problem, w którym sprawdzam bieżącego użytkownika za pomocą polecenia `wp_get_current_user` i od czasu do czasu użytkownicy zgłaszali, że widzieli informacje dla innego użytkownika. Czy mam sprawdzać obecnego użytkownika w inny sposób? Jest to przerażające, ponieważ informacje, które wyświetlam użytkownikom, są poufne i potrzebuję, aby system pokazywał tylko bieżącego użytkownika, a nie innego użytkownika, który jest również zalogowany. AKTUALIZACJA: Załączony kod... function ssm_dashboard() { global $ wpdb; $użytkownik = wp_get_current_user(); echo '
Panel nadrzędny
'; if (current_user_can(SSM_CAPS_APPROVED_USER)) { $ssmuser = $wpdb->get_row( "SELECT id, last_name, first_name FROM ". $wpdb->prefix.SSM_USER_TABLE. "WHERE user_id_1=". $user->ID, ARRAY_A); echo 'Witamy'. $ssmuser['first_name'] . ' ' . $ssmuser['last_name']; } } Tak więc fragment kodu to widget, który stworzyłem dla mojej wtyczki, który pokazuje pulpit nawigacyjny użytkownika. To, co ma się stać, to to, że po zalogowaniu się użytkownika widżet pobiera identyfikator bieżącego użytkownika, a następnie sprawdza jego konto w mojej tabeli (wp_ssm_user) i zwraca wiersz, który pasuje do wp_user->ID i jest wyświetlany na pulpicie nawigacyjnym. Problem w tym, że niektórzy użytkownicy zgłaszają, że po zalogowaniu się i wykonaniu pewnych funkcji (oczekuję na odpowiedź, która konkretnie funkcja) są przekierowywani do dashboardu, na którym wyświetlane są informacje o innym użytkowniku.


title: Zastąp tekst w fragmencie

text:
Mam osobny motyw dla mojej niestandardowej instalacji WP, który będzie używany dla użytkowników mobilnych, w moim przypadku muszę zmienić tag html we wszystkich wystąpieniach fragmentów, ale bez zmiany DB, znalazłem tę prostą funkcję, która byłaby idealna, ale ja nie mogę go uruchomić, nic się nie dzieje. function replace_content_on_the_fly($text){ $replace = array( // 'słowa do znalezienia' => 'zamień na to' '
' => '
', '
' => '
' ); $text = str_replace(tablica_keys($zamień), $zamień, $tekst); zwróć $tekst; } add_filter('fragment', 'replace_content_on_the_fly'); Dodałem powyższy kod w moim motywie `function.php`. Dlaczego to nie działa?


title: Biały ekran śmierci tylko w wp-admin

text: Jestem w stanie zalogować się do serwisu ale chwilę po zalogowaniu pojawia się biały ekran w wp-admin. Nadal mogę uzyskać dostęp do witryny i pokazuje, że jestem zalogowany za pomocą paska narzędzi u góry każdej strony, ale za każdym razem, gdy wychodzę do wp-admin, pojawia się biały ekran. Próbowałem zmienić nazwę folderu motywów i wtyczek, a nawet je usunąć. Próbowałem zwiększyć limit pamięci php do 128M, ale nadal nie mam szczęścia. Jakakolwiek rada? Jeśli muszę ponownie zainstalować Wordpress, jak nie stracę wszystkiego, co już tam jest? EDYCJA: Włączyłem również debugowanie, ale nadal nie otrzymuję żadnych błędów, ostrzeżeń ani powiadomień.


title: Czy można dodać argument do funkcji niestandardowej dodanej do zaczepu filtra?

text: Przykład: próbuję zmodyfikować instancję WP_Query za pomocą filtra `posts_orderby`, tak jak: add_filter('posts_orderby', 'favorites_orderby'); $new_query = nowe WP_Query($args); remove_filter('posts_orderby', 'favorites_orderby'); funkcja `favorites_orderby()` wygląda tak: function favorite_orderby($post_in){ if(is_array($post_in)) $post_in_str = implode(',', $post_in); return $post_in_str; } `$post_in` to tablica, która zmienia się na podstawie poprzedniego, oddzielnego zapytania db, więc muszę być w stanie przekazać go do funkcji `favorites_orderby()`. Zasadniczo jest to tablica identyfikatorów postów, które muszą zostać przekazane do parametru `ORDER BY` instancji WP_Query, aby wynikowe żądanie bazy danych było ustawione w następujący sposób: `ORDER BY FIELD(ID, 6, 18, 90, 12)`. Wszystko działa z wyjątkiem przekazywania tablicy identyfikatorów postów (`$post_in`) do `favorites_orderby()` Każda pomoc byłaby bardzo mile widziana!


title: Przekierowanie Wordpress na podstawie obecności pliku cookie

text: Mam trudną sytuację... Chciałbym poszukać ciasteczka. Jeśli nie istnieje, przekieruj do wewnętrznej strony Wordpress i ustaw plik cookie. A następnie kontynuuj przeglądanie witryny. Ale utknąłem w pętli, jeśli adres URL nie istnieje. To jest to, co mam do tej pory... każda pomoc byłaby świetna. function cookiebasedredirect() { // KIEDY ZNALEŹŁEŚ SWÓJ COOKIE if ( !isset($_COOKIE["sevisitor"])) { setcookie('sevisitor', 1, time()+1209600, "/", "http:/ /localhost/child/", fałsz); // PRZECHWYTY BIEŻĄCĄ NAZWĘ STRONY - TO RÓWNIEŻ ZNANE JAKO SUGEST STRONA/POST $pagename = get_query_var('pagename'); // SPRAWDŹ STRONĘ, ABY NIE BYŁO W NIESKOŃCZONEJ PĘTLI // W TEJ PRZYKŁADOWEJ GALERII MULTIMEDIALNEJ JEST STRONA, NA KTÓRĄ CHCESZ ZOSTAĆ PRZEKIEROWANA // JEŚLI NIE JEST USTAWIONY COOKIES // UPEWNIJ SIĘ, ŻE WORDPRESS 'T WYKONAJ PRZEKIEROWANIE if( $nazwa_strony != "o-siebie") { wp_redirect( pobierz_stronę_url().'/o-siebie' ); Wyjście; } else { } } else { }} add_action("template_redirect", "cookiebasedredirect");


title: Dodawanie informacji pomocy do niestandardowej strony edycji posta

text: Mam utworzone dwa niestandardowe typy postów (za pomocą wtyczki `Types`) z kilkoma niestandardowymi polami. Muszę dodać informacje pomocy, instrukcje dla administratorów, które wyświetlą się na górze strony dodawania nowego/edycji CPT w dashboardzie. Jak dodać tekst widoczny tylko na tych dwóch stronach („dodaj/edytuj typ wpisu 1” i „dodaj/edytuj typ wpisu 2”)?


title: Jak mogę ograniczyć zmianę opcji maksymalnego poziomu zagnieżdżonych komentarzy do superadministratorów?

text: Mam starszy motyw, który zmodyfikowałem tak, aby obsługiwał komentarze w wątkach. Chciałbym, aby poszczególni administratorzy w mojej instalacji wielostanowiskowej mogli wybrać, czy komentarze w wątkach są włączone. Chciałbym jednak ograniczyć możliwość wyboru maksymalnej liczby poziomów do superadministratorów. Patrząc na możliwości, wydaje się, że wszystkie możliwości ekranu ustawień są zgrupowane jako jedna. Czy można ograniczyć tylko tę pojedynczą opcję, tak aby była zmuszona mieć tę samą wartość statyczną w całej sieci blogów?


title: Rozszerzenie wtyczki AZIndex o korzystanie z niestandardowych typów postów i niestandardowych taksonomii

text: Rozpaczliwie potrzebuję być w stanie wyświetlić coś dokładnie takiego: http://bottlesup-07112011.31two.com/bottlesup-retailers/ 5 kolumn postów typu niestandardowego posortowanych alfabetycznie według niestandardowej taksonomii ze stronicowaniem. Widziałem tę wtyczkę Wtyczka AZIndex (http://wordpress.org/extend/plugins/azindex), ale nie ładuje niestandardowych typów postów ani niestandardowych taksonomii. Jestem gotów zasponsorować mod, jeśli ktoś może pomóc w tym jak najszybciej. Dziękuję. Lub pomóż z surowym kodem zapytania, ponieważ jestem przyzwoitym koderem WP, ale nie jestem dobry z danymi wyjściowymi kolumn.


title: zapobiegaj temu samemu tytułowi posta wordpress

text:
Pracuję nad stroną wordpress, na której użytkownicy mogą zamieszczać własne posty. Chciałbym uniemożliwić użytkownikom dodawanie postu z tym samym `post_title` W ten sposób obecnie sprawdzam, czy tytuł posta istnieje: $posts = $wpdb->get_col("SELECT post_name FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'opublikuj' LUB post_status = 'kosz' LUB post_status = 'szkic'"); pobiera tytuł posta z postaci $alias = $_POST['tytuł_postu']; sprawdza, czy post_title jest pusty, jeśli jest tworzony losowo, w przeciwnym razie użyj zdefiniowanego przez użytkownika if ($_POST['post_title'] == ''){ $alias = generateRandomString(); } else { $alias = $_POST['post_title']; } Następnie sprawdzam, czy post_title już istnieje w następujący sposób: if (in_array($alias, $items)){ echo '
Przepraszam, ten tytuł już istnieje!
 '; } else { //wstaw post } Moim problemem jest to, że wordpress doda numer po tytule posta, jeśli już istnieje. Czy istnieje sposób, aby zapobiec temu w Wordpress? Wynik powyższego pokazuje to: Tablica ( [0] => db [1] => abi [2] => ybd [3] => cc [4] => cc-2 [5] => fb ) Muszę zapobiec występowaniu cc-2.


title: Nie udało się zaimportować meta menu nawigacyjnego

text: Jestem autorem wtyczki Nav Menu Roles, która umożliwia wyświetlanie/ukrywanie elementów menu w oparciu o rolę użytkownika. Zauważyłem, że meta pozycji menu nie jest importowana podczas korzystania ze zwykłej wtyczki/narzędzia WordPress do importowania. Każdy element menu to w zasadzie tylko post w bazie danych, a dane zapisywałem jako meta postu. Pojawia się w wyeksportowanym pliku XML. Oto próbka z eksportu testowego, który właśnie wykonałem lokalnie. <item> <title>Sztuka i projektowanie</title> <link>http://localhost/blog/2013/01/13/263/</link> <pubDate>Pon, 14 stycznia 2013 03:36:16 + 0000</pubDate> <dc:creator>helga</dc:creator> <guid isPermaLink="false">http://localhost/blog/2013/01/13/263/</guid> <description></ opis> <content:encoded><![CDATA[]]></content:encoded> <excerpt:encoded><![CDATA[]]></excerpt:encoded> <wp:post_id>263</wp: post_id> <wp:post_date>2013-01-13 22:36:16</wp:post_date> <wp:post_date_gmt>2013-01-14 03:36:16</wp:post_date_gmt> <wp:comment_status>otwarty </wp:comment_status> <wp:ping_status>otwórz</wp:ping_status> <wp:post_name>263</wp:post_name> <wp:status>opublikuj</wp:status> <wp:post_parent>0</ wp:post_parent> <wp:menu_order>1</wp:menu_order> <wp:post_type>nav_menu_item</wp:post_type> <wp:post_password></wp:post_password> <wp:is_sticky>0</wp:is_sticky > <kategoria y domain="nav_menu" nicename="main-menu"><![CDATA[Menu główne]]></category> <wp:postmeta> <wp:meta_key>_menu_item_type</wp:meta_key> <wp:meta_value> <![CDATA[taksonomia]]></wp:meta_value> </wp:postmeta> <wp:postmeta> <wp:meta_key>_menu_item_menu_item_parent</wp:meta_key> <wp:meta_value><![CDATA[0] ]></wp:meta_value> </wp:postmeta> <wp:postmeta> <wp:meta_key>_menu_item_object_id</wp:meta_key> <wp:meta_value><![CDATA[6]]></wp:meta_value > </wp:postmeta> <wp:postmeta> <wp:meta_key>_menu_item_object</wp:meta_key> <wp:meta_value><![CDATA[kategoria]]></wp:meta_value> </wp:postmeta> <wp:postmeta> <wp:meta_key>_menu_item_target</wp:meta_key> <wp:meta_value><![CDATA[]]></wp:meta_value> </wp:postmeta> <wp:postmeta> <wp: meta_key>_menu_item_classes</wp:meta_key> <wp:meta_value> <![CDATA[a:1:{i:0;s:6:"projekt";}]]></wp:meta_value> </wp:postmeta> <wp:postmeta> <wp:meta_key>_menu_item_xfn< /wp:meta_key> <wp:meta_value><![CDATA[]]></wp:meta_value> </wp:postmeta> <wp:postmeta> <wp:meta_key>_menu_item_url</wp:meta_key> <wp: meta_value><![CDATA[]]></wp:meta_value> </wp:postmeta> <wp:postmeta> <wp:meta_key>_nav_menu_role</wp:meta_key> <wp:meta_value><![CDATA[a :2:{i:0;s:13:"administrator";i:1;s:12:"shop_manager";}]]></wp:meta_value> </wp:postmeta> </item> Ale wtedy podczas importu metaklucz `_nav_menu_role` nie pojawia się nawet w bazie danych. Używam lokalnie multisite, ale użytkownik, który zwrócił moją uwagę na ten problem, nie jest. Chciałbym rozwiązać ten problem dla każdego, kto korzysta z tej wtyczki, ale jestem tak zakłopotany, gdzie w ogóle zacząć szukać. Myślałem, że może to być problem z serializacją/brakem serializacji, ale klucz nie jest uszkodzony, nie ma go nawet po imporcie. **AKTUALIZACJA** : Zbadałem wtyczkę importera i dla pozycji menu wtyczka importuje tylko tradycyjne, wstępnie zdefiniowane meta .. takie jak „klasa”.


title: Zakładka z Settings API resetująca wszystkie opcje za pomocą INSERT INTO

text: Mam menu Opcje utworzone kodem z samouczka Chipa Bennetta, ale stary kod sprzed roku (nowy ma znacznie lepszą strukturę walidacji, ale nadal działa naprawdę ładnie). To jest link do samouczka: http://www.chipbennett.net/2011/02/17/incorporating-the-settings-api-in-wordpress-themes/ Opiera się na kilku zakładkach, z których każda zawiera -tabName i przycisk reset-tabName. W moim przypadku wszystko działa dobrze, z wyjątkiem trzech instalacji motywu w trzech różnych adresach URL od trzech różnych klientów. W ich przypadku wszystkie karty zapisują i resetują swoje opcje w porządku, ale kliknięcie przycisku Zapisz na karcie Opcje strony głównej resetuje wszystkie (!) opcje dla wszystkich kart. I dzieje się tak do tej pory tylko w tych 3 instalacjach, a ja nie jestem w stanie celowo odtworzyć tego zachowania. Ponadto, porównując wyniki na pasku debugowania, w zapytaniach dotyczących nieprawidłowej instalacji motywu otrzymuję: INSERT INTO `wp_options` (`nazwa_opcji`, `wartość_opcji`, `autoload`) WARTOŚCI ('quadro_theme_options', ' a:112:{s:17:\"display_text_logo\";b:1;s:14:\"logo_image_url\";s:0:\"\";s:15:\"display_tagline\";b: 0;s:12:\"topleft_logo\";b:0;s:17:\"favicon_image_url\";s:0:\"\";s:14:\"login_logo_url\";s:0:\ "\";s:11:\"show_footer\";b:1;s:13:\"footer_layout\";s:1:\"4\";s:21:\"copyright_footer_text\";s: 102:\"Minuscula Theme by Quadro\";s:16: \"404_custom_title\";s:9:\"404 Error\";s:15:\"404_custom_text\";s:127:\"Ups! Wygląda na to, że nie ma tutaj strony, której szukasz. Don \'t feel blue... użyj wyszukiwarki i dotrzyj tam, gdzie chcesz! :)\";s:18:\"top_sidebar_layout\";s:1:\"a\";s:24:\"contact_sidebar_position \";s:5:\"right\";s:22:\"show_blog_title_single\";b:1;s:17:\"blog_title_single\ ";s:4:\"Blog\";s:23:\"blog_description_single\";s:15:\"Nasze najnowsze wiadomości\";s:24:\"blog_ribbon_color_single\";s:7:\" #e53f0b\";s:21:\"blog_sidebar_position\";s:5:\"right\";s:19:\"show_prevnext_title\";b:0;s:17:\"google_map_script\";b :1;s:14:\"display_slider\";b:1;s:12:\"slider_style\";s:12:\"large-slider\";s:16:\"cycle_transition\";s :4:\"fade\";s:22:\"slider_slides_quantity\";i:1;s:14:\"slider_timeout\";i:5000;s:14:\"display_slogan\";b:1 ;s:12:\"slogan_input\";s:75:\"Jestem Twoim hasłem. Użyj mnie, aby wyświetlić zgrabną wiadomość powitalną dla swojej witryny.\";s:15:\"display_tophtml\";b:0;s:21:\"top_custom_html_input\";s:0:\"\";s: 16:\"display_services\";b:0;s:15:\"display_recents\";b:1;s:19:\"recent_news_heading\";s:11:\"Ostatnie wiadomości\";s:19 :\"recent_news_tagline\";s:25:\"przeczytaj moje najnowsze wpisy na blogu\";s:17:\"display_portfolio\";b:0;s:20:\"portfolio_categories\";a:0:{ }s:14:\"portfolio_size\";s:5:\"Small\";s:18:\"portfolio_quantity\";i:3;s:17:\"portfolio_heading\";s:13:\ "Nasze portfolio\";s:17:\"portfolio_tagline\";s:22:\"przeglądaj moje najnowsze prace\";s:28:\"portfolio_categories_display\";b:1;s:17:\"portfolio_infotag \";s:7:\"Klient:\";s:21:\"portfolio_viewproject\";s:19:\"Wyświetl projekt →\";s:18:\"display_widgetarea\";b:0; s:23:\"homepage_widgets_layout\";s:1:\"c\";s:18:\"display_bottomhtml\";b:0;s:24:\"bottom_custom_html_input\";s:0:\" \";s:21:\"quadro_homepage_order\";s:63:\"tophtml,slogan,services,portfolio,recents,widgetarea,bottomhtml\";s:18:\"background_pattern\";s:4:\ "brak\";s:16:\"backgroun d_color\";s:7:\"#eeeeee\";s:19:\"main_color_selector\";s:7:\"#e53f0b\";s:20:\"links_color_selector\";s:7: \"#e53f0b\";s:20:\"hover_color_selector\";s:7:\"#ff9a1a\";s:15:\"menu_tabs_color\";s:7:\"#525252\";s :22:\"menu_color_selector[1]\";s:7:\"#e53f0b\";s:22:\"menu_color_selector[2]\";s:7:\"#e53f0b\";s:22 :\"menu_color_selector[3]\";s:7:\"#e53f0b\";s:22:\"menu_color_selector[4]\";s:7:\"#e53f0b\";s:22:\ "menu_color_selector[5]\";s:7:\"#e53f0b\";s:22:\"menu_color_selector[6]\";s:7:\"#e53f0b\";s:22:\"menu_color_selector [7]\";s:7:\"#e53f0b\";s:22:\"menu_color_selector[8]\";s:7:\"#e53f0b\";s:22:\"menu_color_selector[9 ]\";s:7:\"#e53f0b\";s:23:\"menu_color_selector[10]\";s:7:\"#e53f0b\";s:15:\"quadro_css_tbox\";s :0:\"\";s:23:\"enable_minusculas_magic\";b:1;s:9:\"logo_font\";s:25:\"Abel|rodzina czcionek: \"Abel\"; \";s:10:\"logo_fsize\";i:40;s:24:\"logo_text_color_selector\";s:4:\"#111\";s:13:\"tagline_fsize\";i: 18;s:22:\"tagline_color_selector\";s:4:\"#555\";s:13:\"top_menu_font\";s:25:\"Abel|font-fami ly: \"Abel\";\";s:10:\"menu_fsize\";i:14;s:13:\"headings_font\";s:25:\"Abel|font-family: \"Abel \";\";s:14:\"headings_fsize\";s:6:\"medium\";s:23:\"headings_color_selector\";s:4:\"#555\";s:11 :\"slogan_font\";s:25:\"Abel|font-family: \"Abel\";\";s:12:\"slogan_fsize\";i:36;s:9:\"body_font\ ";s:47:\"none|rodzina czcionek: Helvetica, Arial, sans-serif;\";s:10:\"body_fsize\";i:12;s:19:\"body_color_selector\";s :4:\"#111\";s:17:\"footer_text_color\";s:4:\"#fff\";s:7:\"send_to\";s:0:\"\"; s:10:\"name_label\";s:4:\"Nazwa\";s:11:\"email_label\";s:5:\"Email\";s:13:\"subject_label\"; s:7:\"Temat\";s:12:\"button_label\";s:4:\"Wyślij\";s:15:\"incorrect_email\";s:34:\"Wprowadzony adres e-mail jest nieprawidłowy\";s:15:\"missing_general\";s:27:\"Proszę wypełnić to pole\";s:12:\"missing_name\";s:31:\"Zapomniałeś wypełnić na Twoje imię i nazwisko\";s:13:\"missing_email\";s:41:\"Zapomniałeś podać swój adres e-mail\";s:15:\"missing_subject\";s:33:\"Ty zapomniałem wpisać tematu\";s:15:\"missing_message\";s:41:\"Proszę dołączyć de kilka słów w Twojej wiadomości\";s:15:\"sending_success\";s:61:\"Dziękujemy za kontakt! Odpowiemy tak szybko, jak to możliwe.\";s:10:\"mail_title\";s:23:\"Poczta e-mail z Twojej witryny\";s:10:\"mail_intro\";s:54:\" Otrzymałeś wiadomość za pośrednictwem formularza kontaktowego.\";s:9:\"mail_name\";s:5:\"From:\";s:15:\"mail_email_from\";s:14:\" Adres e-mail:\";s:12:\"mail_subject\";s:8:\"Temat:\";s:12:\"mail_message\";s:12:\"Wiadomość:\";s :7:\"digg_id\";s:0:\"\";s:11:\"dribbble_id\";s:0:\"\";s:11:\"facebook_id\";s:0 :\"\";s:9:\"flickr_id\";s:0:\"\";s:9:\"forrst_id\";s:0:\"\";s:9:\" google_id\";s:0:\"\";s:6:\"rss_id\";s:0:\"\";s:12:\"sharethis_id\";s:0:\"\" ;s:8:\"skype_id\";s:0:\"\";s:10:\"skype_link\";s:0:\"\";s:10:\"twitter_id\";s :0:\"\";s:8:\"vimeo_id\";s:0:\"\";s:10:\"youtube_id\";s:0:\"\";}', ' tak') ON DUPLICATE KEY UPDATE `nazwa_opcji` = WARTOŚCI(`nazwa_opcji`), `wartość_opcji` = WARTOŚCI(`wartość_opcji`), `autoload` = WARTOŚCI(`autoload`) Co jest dziwne, ponieważ nie robi tego „INSERT INTO " ze wszystkimi domyślnymi opcjami w każdej z moich instalacji. Oto podsumowanie z odpowiednimi plikami: https://gist.github.com/4692896 Już nie mam pojęcia, nie wiem, gdzie jeszcze szukać. Czy ktoś ma jakiś pomysł? Dziękuję!! EDYCJA: Zapomniałem dodać, że w jednym z przypadków baza danych była udostępniana innej witrynie WP, a ponowna instalacja witryny na nowej nowej bazie danych rozwiązała ten problem. Pozostałe dwie witryny znajdują się jednak we własnej bazie danych. Czy to może być przypadek uszkodzonej bazy danych? I czy może tak się dziać z tylko jedną z zakładek opcji?


title: Definiowanie domyślnej strony dla niestandardowego typu postu

text: Załóżmy, że tworzę niestandardowy typ posta o nazwie „nowe projekty”, z możliwościami type = page i slug = „projects”. Załóżmy zatem, że tworzę nową stronę typu „nowe projekty” i nazywam ją „mój nowy projekt”. Domyślnie adres URL będzie reprezentowany jako: mojawitryna.com/projects/mój-nowy-projekt/ Jeśli jednak chcę, aby strona **mój-nowy-projekt** była stroną domyślną (jak indeks) dla tego niestandardowego typ postu, czy to możliwe? Innymi słowy, chciałbym, aby mysite.com/projects/ załadowało stronę **mój-nowy-projekt**. Jeśli jest to możliwe, czy mogę dodać więcej stron typu „nowe projekty” i nadal zdefiniować jedną z tych stron jako stronę „domyślną”? Dziękuję bardzo, Tathiano


title: Zapytanie o zaawansowane pola niestandardowe

text: Mam, mam nadzieję, łatwe pytanie. Mam tutaj moje zapytanie, które używa ACF <?php query_posts(array('post_type' => 'our-clients-list', 'posts_per_page' => 1, 'order' => 'DSC', 'orderby' = > 'rand','paged'=> $paged)); ?> <?php while(have_posts()) : the_post(); ?> <?php the_field('świadectwo_'); ?> <?php koniec; ?> <?php wp_reset_query();?> Tak więc istnieje pole w moim niestandardowym typie posta o nazwie „testimonial_” Chciałbym wykonać zapytanie tylko wtedy, gdy niestandardowe pole nie jest puste, więc !=” . Czy ktoś może mi pomóc lub dać jakąś wskazówkę?


title: Witryna Wordpress zawiera 35 tys. obrazów spamowych

text: Pomagam klientowi, którego witryna ma wiele wtyczek i 35 000 obrazów spamu z Zillow. Są w bibliotece mediów. Ma też 100 tys. komentarzy spamowych. Od tego czasu wyłączyłem komentarze. Miał też ponad 300 użytkowników bez ról. Usunąłem wszystkich użytkowników oprócz jednego z uprawnieniami administratora. Jak mogę usunąć wszystkie zdjęcia, które nie zostały przesłane przez administratora? Oczywiście nie mogę ręcznie przejść przez wszystkich, ale nie widzę opcji filtrowania typu Autor. Dziękuję!


title: Dodaj InfoBox w oknie przesyłania multimediów

text:
Próbuję dodać InfoBox (tylko infotekst dla użytkownika) do wyskakującego okienka przesyłania multimediów (patrz link do makiety). Jakieś wskazówki, jak zająć się tą funkcją? Hak filtra? Inne rozwiązanie? Z góry dziękuję. Makieta InfoBoxu **Edytuj** Rozwiązany problem funkcja media_upload_infobox() {?>

Tutaj nagłówek.

 Infotekst tutaj

  <?php } // Zakończ funkcję media_upload_infobox // Dodaj funkcję do Action Hook add_action('pre-flash-upload-ui', 'media_upload_infobox'); add_action('pre-html-upload-ui','media_upload_infobox'); ?>


title: Przepisz regułę dla parametrów niestandardowych

text: Mam reguły przepisywania, takie jak ta add_rewrite_tag('%offercode%','([^&]+)'); add_rewrite_tag('%offerdatefrom%','([^&]+)'); add_rewrite_tag('%offerdeparture%','([^&]+)'); add_rewrite_rule('^oferta/([^/]*)-([^/]*)-([^/]*)?','index.php?page_id=193&offercode=$matches[1]&offerdatefrom=$matches [2]&offerdeparture=$matches[3]','top'); Link współpracujący z regułą przepisywania to: oferta/40_37830_2635-2014_05_14-Warszawa/ Czy istnieje możliwość stworzenia reguły przepisywania, która zignoruje, jeśli w linku nie podano 2 ostatnich parametrów i nadal wyświetla mi się odpowiednia strona oferta/40_37830_2635--/ powyżej działa, ale nie chcę mieć dwóch niepotrzebnych --. Czy jest jakiś sposób, aby to osiągnąć? Nie jestem dobry w przepisywaniu zasad i tylko do tego doszedłem... Z góry dziękuję.


title: opcje motywu nie są zapisywane

text:
Stworzyłem naprawdę prostą stronę ustawień motywu, aby umożliwić mojemu użytkownikowi dodanie linków do mediów społecznościowych. Jednak gdy wprowadzam jakieś dane i zapisuję pola, tekst znika i nie wydaje się, aby został zapisany. <?php // tworzenie własnego menu ustawień motywu add_action('admin_menu', 'getextra_settings_create_menu'); function getextra_settings_create_menu() { //utwórz nowe menu najwyższego poziomu add_menu_page('Ustawienia motywu', 'Opcje motywu', 'administrator', __FILE__, 'ge_settings_callback_page'); //ustawienia rejestru wywołań funkcja add_action( 'admin_init', 'register_mysettings' ); } function register_mysettings() { //zarejestruj nasze ustawienia register_setting( 'theme-settings-group', 'theme_options' ); } function ge_settings_callback_page() { ?>

Ustawienia motywu Foxyrentals
 <form method="post" action="options.php"> <?php settings_fields( 'ustawienia-motywu -Grupa' ); ?> <?php do_settings_sections( 'grupa-ustawień-motywu' ); ?>

 Facebook	 <input type="text" name="facebook" value= "<?php echo get_option('facebook'); ?>" />

 Twitter	 < input type="text" name="twitter" value="<?php echo get_option('twitter'); ?>" />

 <ty zakres= "row">Pinterest	 <input type="text" name="pinterest" value="<?php echo get_option('pinterest'); ?>" />

 Google+	 <input type="text" name="googleplus" value="<?php echo get_option('googleplus') ; ?>" />

 Linkedin	 <input ty pe="text" name="linkedin" value="<?php echo get_option('linkedin'); ?>" />

 Czterykwadraty	 <input type="text" name="czwórki" wartość ="<?php echo get_option('czwórka'); ?>" />

 <?php submit_button(); ?> </form>
 <?php } ?> z tego stworzyłem funkcję wyświetlającą te opcje w stopce za pomocą następujących: <?php function social_icons() { $facebook = get_option('facebook'); $twitter = get_option('twitter'); $googleplus = get_option('googleplus'); $linkedin = get_option('linkedin'); $foursquare = get_option('foursquare'); $pinterest = get_option('pinterest'); ?> <a href="<?php echo $facebook; ?>"<img src="<?php bloginfo('template_url'); ?>/images/icon_fb.png" alt="facebook" /> <a href="<?php echo $twitter; ?>"><img src="<?php bloginfo('template_url'); ?>/images/icon_tw.png" alt="twitter" /> <a href="<?php echo $googleplus; ?>"><img src="<?php bloginfo('template_url'); ?>/images/google-icon.png" alt="googleplus" /> <a href="<?php echo $linkedin; ?>"><img src="<?php bloginfo('template_url'); ?>/images/pinterest-icon.png" alt="pinterest" /> <a href="<?php echo $pinterest; ?>"><img src="<?php bloginfo('template_url'); ?>/images/linkedin-icon.png" alt="linkedin" /> <a href="<?php echo $foursqaure; ?>"><img src="<?php bloginfo('template_url'); ?>/images/foursquare-2-icon.png" alt="foursqaure" /> <?php } ?>


title: Sortuj listę autorów alfabetycznie

text: Zawęziłem kod do tego: <?php $authors = $wpdb->get_results('SELECT DISTINCT post_author FROM'.$wpdb->posts); if($autorzy): foreach($autorzy jako $autor): ?> Chciałbym aby autorzy byli posortowani Alfabetycznie, nie ma znaczenia czy sortuje się według imienia, nazwiska.


title: Kopiowanie terminu taksonomii do pola niestandardowego

text: Mam niestandardowy typ wpisu o nazwie „listing” i niestandardową taksonomię o nazwie „listing_state”. Używam groźnego do tworzenia postów. To, co próbuję zrobić, to mieć dwie rzeczy, które się wydarzą, gdy użytkownik wybierze stan z listy rozwijanej taksonomii. Po pierwsze, aby ustalić taksonomię, co dzieje się teraz. Ale w tym samym czasie również ten wybrany stan zostanie skopiowany do niestandardowego pola o nazwie „stan”. Wynikiem końcowym powinna być lista sklasyfikowana według stanu, ale zawierająca również nazwę stanu w polu niestandardowym. Jakieś pomysły? Z góry dziękuję za wszelką pomoc.


title: Jak uzyskać liczbę postów na stronie archiwum?

text: Mam własną stronę archiwum postów typu `archive- my_custom_post_type.php` i używam pętli „standardowej”, która składa się z bardzo znanego <?php if(have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> ... <?php endwhile; ?> <?php endif; ?> Który wydaje się używać zmiennych globalnych. Jak mam uzyskać całkowitą liczbę postów na tej stronie? Potrzebuję go do obliczenia szerokości kolumn, w których zamierzam wyświetlić te rzeczy. * * * **Cóż, znalazłem odpowiedź:** * * * Po żmudnej inspekcji zmiennej `$GLOBALS` w PHP , dowiedziałem się, że możesz uzyskać odniesienie do `WP_Query`, które zostało użyte do wygenerowania strony za pomocą `$wp_the_query`. I oto i oto, możesz uzyskać liczbę postów za pomocą tej poręcznej sztuczki: $countPosts = $wp_the_query->post_count; Mam nadzieję, że to pomoże każdemu, kto ma ten sam problem, co ja!


title: Kiedy wywoływać `add_rewrite_rule` ze względów bezpieczeństwa?

text: Zaczynam napotykać sytuacje w projektach, w których łączę wiele wtyczek, które w różnych punktach używają `add_rewrite_rule` i `flush_rewrite_rules`. Jak wszyscy wiemy, wywoływanie `flush_rewrite_rules` przy każdym ładowaniu strony jest złą rzeczą. Problem pojawia się, gdy wtyczka A nie dodała jeszcze reguł przepisywania, ale wtyczka B wywołuje `flush_rewrite_rules`. Wtyczka A jest dobrym obywatelem i nie wywołuje `flush_rewrite_rules`, chyba że jest to konieczne, więc teraz reguły **it's** przepisywania nie są już obecne. Szukałem akcji, która zostanie wywołana, zanim reguły zostaną posortowane przez `flush_rewrite_rules`, które mogę przechwycić dla moich wywołań `add_rewrite_rule`, aby upewnić się, że wszystkie reguły są obecne przed ich skompilowaniem, ale nie znalazłem żadnej . Jakieś sugestie?


title: zapisz nowe dane w wp_options nie-post formularz

text: Mam formularz na mojej pierwszej stronie. Wysyła wprowadzony adres do Google API i zwraca JSON do wp_options. To działa dobrze. Używam update_option do tego, więc za każdym razem przepisuje meta_key. Jak mam się zachować, aby każdy wprowadzony adres pozostał? $adres = esc_html( $_POST['adres'] ); //przypisz obiekt JSON do var za pomocą funkcji geokodowania('address') input $address_results = gmap_geocode($address); // przenieś dane do tablicy opcji $options['py_name'] = $py_username; $opcje['adres'] = $adres; $options['coords'] = $address_results; // utwórz i nazwij opcję nazwa_opcji i ustaw pola za pomocą tablicy $options update_option( 'row_name', $options );


title: Poprzedni/następny link do posta w kategorii, a NIE tag?

text: Na stronie z pojedynczym postem po pętli mam następujący kod: <?php previous_post_link('« %link') ?> | <?php next_post_link(' %link »') ?> Z jakiegoś powodu nie jest to pobieranie kolejnych pozycji w kategorii, a jedynie znajdowanie następnego elementu w tej grupie znaczników. Kategoria to „wynajem” (na przykład), a tag to „sąsiedztwo x” (na przykład). Ale linki są ograniczone i pokazują tylko „sąsiedztwo x” (tag), a nie „wynajem” (kategoria). Czy istnieje sposób, aby linki nawigacyjne używały wszystkiego w kategorii zamiast tagu?


title: Rozszerzenie bazy danych

text: Próbuję dodać dodatkową kolumnę do bazy komentarzy, która będzie przechowywać identyfikator użytkownika autora posta/strony. Jest to część wtyczki, która wyświetla nowe komentarze w odpowiedzi na post lub inny komentarz. O ile widzę, Wordpress nie ma wbudowanej tej funkcjonalności, ale raczej umieszcza komentarze w jednej dużej grupie. Chcę, aby użytkownicy szybko widzieli tylko komentarze, które są dla nich istotne. require_once (ABSPATH . 'wp-admin/includes/upgrade.php'); globalny $wpdb; $wpdb->show_errors(); $query = "ZMIEŃ TABELĘ $wpdb->comments ADD replyto_who bigint(20)"; if ( Maybe_add_column($wpdb->comments,'replyto_who',$query)) { $query = "SELECT comment_post_ID,comment_ID FROM $wpdb->comments WHERE replyto_who IS NULL"; $wyniki = $wpdb->get_results($zapytanie); foreach ( $results as $result ) { $user_id = $wpdb->get_var( "SELECT post_author FROM $wpdb->posts WHERE ID = $result->comment_post_ID" ); if ( isset($user_id) ) $wpdb->query("UPDATE $wpdb->comments SET replyto_who='$user_id' GDZIE comment_ID=$result->comment_ID"); } } Proszę zauważyć, że powyższy kod jest przeznaczony tylko do testowania. Problem, jaki mam, polega na tym, że nowy wpis zawsze otrzymuje wartość „1” po wprowadzeniu nowego komentarza, mimo że powyższy kod nie został uruchomiony. Patrząc na strukturę tabeli za pomocą `phpMyAdmin` widzę, że kolumna ma `Null=yes` i `default=NULL`. Będąc nowicjuszem w SQL, nie jestem do końca pewien, co robię. Co zrobiłem źle?


title: Generowanie użytkowników za pomocą Settings API

text:
Staram się stworzyć wtyczkę, która będzie generować użytkowników. Jestem całkiem nowy w Wordpressie, a moje PHP to ehhhh. Pomysł polega na tym, aby wtyczka generowała wielu użytkowników po jej zakończeniu. W tej chwili próbuję tylko zmusić go do wygenerowania. Ale mam problemy, próbując to zrobić, jakieś pomysły? Po kliknięciu przycisku Prześlij otrzymuję „Ustawienia zapisane”. Uważam więc, że oznacza to, że formularz przeszedł, ale żaden użytkownik nie pojawia się w DB. Wyobrażam sobie, że nie otrzymuję informacji w formularzu lub nie wykonuję poprawnie swojej funkcji. <?php function sl_add_options_page() { // Dodaj nową stronę w zakładce Ustawienia add_options_page( __( 'Opcje użytkownika' ), __( 'Opcje użytkownika' ), 'manage_options', 'user_options_page', 'sl_render_options_page' } add_action( 'admin_menu', 'sl_add_options_page' ); function sl_render_options_page() { ?>

<?php _e( 'Opcje generatora treści i użytkowników' ); ?>
 < form action="options.php" method="post"> <?php settings_fields( 'liczba_użytkowników' ); ?> <?php do_settings_sections( 'user_options_page' ); ?>
 <input type= "prześlij" name="prześlij" id="prześlij" class="przycisk-podstawowy przycisk" value="<?php _e( 'Prześlij' ); ?>">
 </form>
 <?php } function sl_add_setting() { // Zarejestruj wartość binarną o nazwie "pimple_disable" register_setting( 'num_users', 'num_users', 'absint' ); // Dodaj sekcję ustawień do przechowywania interfejsu add_settings_section( 'user_main_settings', __( 'Kontrolki użytkownika' ), 'sl_render_main_settings_section', 'user_options_page' '); // Dodaj pole ustawień, aby zdefiniować interfejs add_settings_field( 'user_main_settings_field ( 'Ilu użytkowników' ), 'sl_render_users_input', 'user_options_page', 'user_main_settings', 'sl_wp_create_user' ); } add_action( 'admin_init', 'sl_add_setting' ); function sl_user_w$_create, $liczba_użytkowników = intval( $_GET['liczba_użytkowników'] ); $username = 'Testowanie'; $email = 'fałszywa poczta@easyfakemail.com'; $password = wp_generate_password( 12, false ); for( $j = 0; $j < $liczba_użytkowników; $j++ ) { $login_użytkownika = esc_sql( $nazwaużytkownika ); $user_email = esc_sql( $email ); $hasło_użytkownika = $hasło; $userdata = compact('user_login', 'user_email', 'user_pass'); zwróć wp_insert_user($userdata); } echo '

' . $liczba_użytkowników . ' Utworzono użytkowników

'; } function sl_render_main_settings_section() { echo '
Główne ustawienia wtyczki Generator treści i użytkowników.
'; } function sl_render_users_input() { echo '<input id="num_users" name="num_users" type="input" value="" />'; }


title: wp_remote_get zwraca błąd dla prawidłowego adresu URL

text: ## Obecnie mam następujący fragment php do pobrania kodu HTML i renderowania go w moim motywie (motyw squasha). <?php $response = wp_remote_get( 'http://www.toucan-it.co.uk/wp-content/themes/squash/index5.html' ); print $response ['ciało']; ?> ## Plik, którego żądam, jest dostępny pod następującym adresem URL. http://www.toucan-it.co.uk/wp-content/themes/squash/index5.html ## Problem Problem polega na tym, że podczas próby pobrania „index5.html” za pomocą przeglądarki internetowej wyjście pliku jest wygenerowane, ale podczas wywoływania go za pośrednictwem „wp_remote_get” przy użyciu ścieżek bezwzględnych lub względnych wyświetlany jest błąd. ## Podczas wykonywania var_dump $response Wynik można zobaczyć na stronie głównej, pod suwakami na stronie głównej. Możesz zobaczyć, co powinno być renderowane przez plik php pod kodem błędu, patrząc na poniższe kręgi (http://www.toucan-it.co.uk) object(WP_Error)#337 (2) { ["błędy" ]=> array(1) { ["http_request_failed"]=> array(1) { [0]=> string(24) "nie można połączyć się z hostem" } } ["dane_błędu"]=> array(0) { } }


title: Jak zmienić link z uszkodzonym linkiem?

text: Usunąłem wszystkie posty w mojej witrynie. A potem zamieściłem je ponownie. Ale linki się zmieniły. Przykład: Oryginał: > http://mywebsite.com/helloeverybody Po zmianie: > http://mywebsite.com/hieverybody A kiedy wchodzę na http://mywebsite.com/helloeverybody, wyświetla się „nic nie znaleziono”. Czy powinnam ? Nie mogę ręcznie przekierować 301, ponieważ mam dużo postów. Proszę pomóż mi Dziękuję !


title: Jak powstrzymać użytkownika przed aktualizacją daty postu

text: Mam niestandardową rolę o nazwie „dealer”. Po opublikowaniu nowego posta nie mogą go usunąć. Ważne jest, aby nie mogli aktualizować daty, a ja trochę nie wiem, jak to zrobić. Wygląda na to, że stary D/M/R jest zachowany w globalnym $_POST, więc pomyślałem, że nadpiszę wszelkie zaktualizowane informacje o dacie z tym. Sprawdź mój kod; function rd_dealer_save_post($post_id) { $post_author_id = $_POST['post_author']; //drukuj_r($_POST); //przetestuj, czy ten autor jest dealerem na podstawie wielkich liter if(!current_user_can('delete_published_posts'. $post_author_id)) { $_POST['mm'] = $_POST['hidden_mm']; $_POST['jj'] = $_POST['ukryty_jj']; $_POST['aa'] = $_POST['ukryty_aa']; $_POST['hh'] = $_POST['hidden_hh']; $_POST['mn'] = $_POST['ukryty_mn']; } print_r($_POST); //umierać(); } add_action('save_post', 'rd_dealer_save_post'); Czy moje działanie jest prawidłowe? Jakiekolwiek myśli nie działają... Dzięki, Dan.


title: Jak uzyskać dostęp do danych meta użytkownika we wtyczce?

text:
Próbuję napisać wtyczkę. Dodałem dodatkowe pole w formularzu rejestracyjnym za pomocą wtyczki pomyślnie. Chciałbym sprawdzić, czy wartość w dodatkowym polu pasuje do już zarejestrowanej nazwy użytkownika. Kiedy próbuję sprawdzić poprawność za pomocą predefiniowanych funkcji usermeta. Otrzymuję poniższe błędy: require( 'C:\wamp\www\cpa\wp-load.php' ) require_once( 'C:\wamp\www\cpa\wp-config.php' ) require_once( 'C:\ wamp\www\cpa\wp-settings.php' ) Mogę to zrobić w szablonie motywu. Ale chciałbym wiedzieć, jak uzyskać dostęp do wszystkich predefiniowanych funkcji WordPressa w wtyczce, tak jak robimy to w plikach motywów. Kod: //1. Dodaj nowy element formularza... $referral_username = $_REQUEST['referral']; add_action('formularz_rejestru','formularz_rejestru_wtyczki'); function myplugin_register_form (){ $referral_username = ( isset( $_POST['referral_username'] ) ) ? $_POST['referral_username']: ''; ?>
 <?php _e('Referral_username','mydomain') ?>
 <input type="text" name="referral_username" id="referral_username" class="input" size="20"value="<?php echo $referral_username = $_PROŚBA['referral']; ?>" size="25" />
 <?php } //2. Dodaj weryfikację. W takim przypadku upewniamy się, że referral_username jest wymagana. add_filter('błędy_rejestracji', 'myplugin_registration_errors', 10, 3); function myplugin_registration_errors ($errors, $sanitized_user_login, $user_email) { if ( empty( $_POST['referral_username'] ) ) $errors->add( 'referral_username_error', __('BŁĄD: Musisz zawierać prawidłową nazwę użytkownika polecającego. W przeciwnym razie pozostaw to pole puste.','mydomain') ); zwróć $błędy; } //3. Na koniec zapisz naszą dodatkową meta rejestracyjną użytkownika. add_action('user_register', 'myplugin_user_register'); function myplugin_user_register ($user_id) { if ( isset( $_POST['referral_username'] ) ) update_user_meta($user_id, 'referral_username', $_POST['referral_username']); } //Test Usermeta $user = get_userdatabylogin('vijay'); echo $użytkownik->ID; // wyświetla identyfikator użytkownika;


title: Jak używać kodu PHP ze stroną wordpress

text: nowy użytkownik do WP. Dynamicznie tworzę tabele HTML z danymi SQL w moim PHP. Strony WordPress nie zezwalają na kod PHP, a ludzie naganiali mnie, abym nie używał wtyczki PHP ze względów bezpieczeństwa. Teraz, gdybym potrzebował tylko uruchomić plik PHP, po prostu dołączyłbym go do mojego niestandardowego szablonu strony. Ponieważ kod musi być wyświetlany wewnątrz „kontenera treści” (który jest ładowany dynamicznie), nie do końca rozumiem, gdzie umieścić mój kod. <?php get_template_part( 'zawartość', 'strona' ); ?> Zauważyłem, że powyższy kod wywołuje kontener treści dla tej strony. Czy powinienem ładować tutaj inną stronę? czy powinienem bezpośrednio modyfikować dane strony w bazie danych, aby odzwierciedlić mój php? Czy to zadziała? co najlepiej zrobić w mojej sytuacji?


title: Meta zapytanie z wartością logiczną prawda/fałsz

text: Staram się pokazać wszystkie nieruchomości na wynajem, najpierw według wszystkich nieruchomości, które nie były wynajmowane, a następnie według wszystkich nieruchomości, które są obecnie wynajmowane. Istnieje niestandardowy typ postu „wypożycz” z niestandardową meta postu za cenę wypożyczenia (_price_rented), który jest polem wyboru (zwraca prawdę lub fałsz... prawda, jeśli ZOSTAŁA wypożyczona). Muszę zmienić zapytanie, aby wyświetlały wszystkie nieruchomości z dostępnymi (niewynajmowanymi) nieruchomościami, które pojawiają się jako pierwsze, a następnie wynajmowane. Oto moje zapytanie: $ts_properties = new WP_Query( array( 'post_type' => 'rent', 'paged' => $paged, 'posts_per_page' => -1, 'meta_key' => '_price_rented', 'orderby' => 'meta_value', 'order' => 'DESC', 'meta_query' => array( array( 'key' => '_price_rented', 'value' => false, 'type' => 'BOOLEAN', ) , ) ) ); Z jakiegoś powodu to zapytanie pokazuje wszystkie nieruchomości, które zostały wynajęte. Kiedy zmieniam wartość z „false” na „true” w meta_query, nie pokazuje żadnych właściwości. Więc wtedy pomyślałem, że zwracana wartość to albo false (dla nieruchomości, które SĄ wynajmowane) albo NULL (dla nieruchomości, które NIE są wynajmowane), ale nie jestem pewien, jak zapytać o wynik NULL (nie false), dodałem ' porównaj argument z meta_query i ustaw wartość na !=, ale to też nie zadziałało. EDYCJA: var_dump zwraca dla dostępnego, niewynajętego mieszkania: `string(0) ""` a dla niedostępnego, wynajmowanego mieszkania: `string(1) "1"`


title: termin w wielu taksonomii?

text: Czy można mieć termin (np. tag1), który występuje w wielu taksonomach (np. tax1, tax2, tax3)? Czy to dobre podejście, aby ten sam termin był powiązany z wieloma taksonomiami? czy lepiej mieć tylko jeden termin na taksonomię?


title: Strony statyczne nie działają

text: Z powodzeniem używam statycznej strony głównej w tworzonym przeze mnie motywie (lokalnie, więc nie mogę udostępniać adresu URL) bez żadnych problemów. Nagle przestało działać i nie wiem dlaczego. Widzę teraz pustą stronę zamiast wpisów w mojej kategorii bloga. Ostatnią zmianą, jaką wprowadziłem między działaniem a zerwaniem, było dodanie wyrażenia `<?php else: ?>` do mojego index.php wraz z `&! is_front_page()` do instrukcji if, abym mógł wyświetlać różne treści na mojej statycznej stronie głównej. index.php: <?php get_header(); ?> <div id="content"> <?php if ( have_posts() &! is_front_page() ) : ?> <?php /* Uruchom pętlę */ ?> <?php while ( have_posts() ) : the_post (); ?> <?php get_template_part( 'posty', get_post_format() ); ?> <?php koniec; ?> <?php jeszcze: ?> To jest strona główna! <?php endif; // koniec have_posts() check ?> </div> <?php get_sidebar(); ?> <?php get_footer(); ?> Próbowałem ponownie załadować stronę permalinków i ponownie utworzyć statyczną stronę główną i skonfigurować ją na stronie ustawień czytania, ale wydaje się, że nic nie rozwiązuje problemu. Oczywiście usunąłem też wiersze, które dodałem, ale to też nie rozwiązało problemu! Moje ustawienia permalinku są ustawione na nazwę posta i bazę kategorii jako `.`, aby usunąć część kategorii z adresu URL (znowu to działało wcześniej). Jeśli usunę bazę kategorii, kategoria działa, ale adres URL jest wtedy błędny. Przechodzę do statycznej strony bloga, którą otrzymuję: is_front_page() = false have_posts() = false Mam nadzieję, że wszystko ma sens! Korzystanie z Wordpress 3.9.1 -- Jestem stosunkowo nowy w WordPressie i uczących się motywach, dlatego nie jest dostępny. Daj mi znać, jeśli jest jakiś inny kod/ustawienia, które musisz znać! Używam również niestandardowych typów postów z niestandardowymi taksonomiami przy użyciu taksonomii hierarchicznych. AKTUALIZACJA: Znalazłem tę stronę, która prowadzi do tego, co chciałem zrobić, i musiałem umieścić permalink do `/%category%/%postname%/` zamiast po prostu `/%postname%/` i to się stało znów działa. Jednak założyłem nową witrynę wordpress na tym samym komputerze z innym adresem URL i skopiowałem do niej mój motyw, wraz z utworzeniem odpowiednich plików, a istniejąca metoda, której używałem, działała tam. Jestem teraz bardzo zdziwiony :/ AKTUALIZACJA 2: Więc kiedy odświeżyłem permalinki na drugiej stronie, zepsuł się adres URL bloga... więc myślę, że to jest rozwiązanie!


title: Wtyczkowe API do łatwego generowania tabel z listą administratorów, obsługi i eksportu tabel MySQL?

text: Znam klasę `WP_List_Table` (która ogromnie pomogła w obecnej formie). Jednak szukam czegoś jeszcze bardziej wydajnego - jakiejś formy API, dzięki której można po prostu "zarejestrować" tabelę MySQL, przekazać tłumaczenia `field_name => label` i wszystkie twarde przeszczepy (linki do menu, generowanie tabel, paginacja , sortowanie kolumn) i ewentualnie eksport danych (CSV itp.) odbywa się za Ciebie automagicznie! Wiem, że jest to bardzo konkretna prośba, ale pomyślałem, że warto o to zapytać. Jeśli ktoś wie o czymś podobnym zdalnie, proszę o to! Heck, jeśli w tej chwili nic tam nie ma, mogę po prostu to zbudować sam, jeśli wzbudzi to zainteresowanie ...


title: Jak stworzyć niestandardowy przycisk do edytora wizualnego, który dodaje 4 niełamliwe spacje? (wtyczka lub prosty kod)

text: Do edytora wizualnego Wordpress (TinyMCE) chciałbym dodać przycisk, który po kliknięciu dodaje cztery nierozdzielające spacje, tak:      Znalazłem kilka wtyczek, które dodają przyciski do edytora HTML, ale nie do edytora wizualnego (ten np.). lub ogólnie, dobrze byłoby wiedzieć, czy istnieje wtyczka lub kodowalna (ale prosta) alternatywa do dodawania niestandardowych przycisków do wizualnego edytora tinyMCE.


title: Błąd podczas przesyłania zdjęć z międzynarodowymi postaciami?

text: Dlaczego, gdy przesyłam do WordPressa zdjęcie o nazwie zawierającej znaki międzynarodowe, takie jak: ábc.jpg, nazwa pliku jest wyświetlana jako: bc.jpg? Zamiast tego jego tytuł i adres URL są poprawne. Proszę zobaczyć ten zrzut ekranu: http://d.pr/i/1oFG Czy to błąd? P/S: ZACHOWAJ UWAGĘ, że takie zachowanie występuje tylko w przypadku obrazów, w których znak międzynarodowy jest PIERWSZĄ literą jego nazwy, a NIE, gdy znajduje się w środku nazwy.


title: Woo Framework: woo_cat_featured nie wypełnia się

text: W ustawieniach frameworka: $options[ 'featured_cat' ] = array( "name" => "Polecana kategoria", "desc" => "Polecane posty będą wyświetlane w głównym rotatorze na stronie głównej.", "id" => $ shortname."_cat_featured", "type" => "select", "options" => $woo_categories); Zaktualizowano z kategorią w ustawieniach i nie zostanie ona wypełniona, argument w motywie to: $rotator_args = array( 'posts_per_page' => $woo_options[ 'woo_featured_count' ], 'tax_query' => array( 'relation' => ' AND', array( 'taxonomy' => 'category', 'terms' => array( $woo_options[ 'woo_cat_featured' ] ), 'field' => 'ID', 'operator' => 'IN' ), array ( 'taxonomy' => 'post_format', 'terms' => array( 'post-format-video', 'gallery' ), 'field' => 'slug', 'operator' => 'NIE W', ) , ) ); Nie działa, gdy jest to ustawienie domyślne lub gdy zmieniłem ustawienia na takie, jakie chciałem (2 różne selektory kategorii). ale działa, gdy upraszczam to do: $rotator_args = array( 'posts_per_page' => $woo_options[ 'woo_featured_count'], ); Także jeśli zostawię sekcję `'post_format'` w `'tax_query'`, to zadziała. Czy ktoś może wyjaśnić, dlaczego woo_cat_featured nie zapełnia się. Sprawdzone już 1. istnieją posty dla tej kategorii 2. CSS jest w porządku 3. Jestem w trakcie zaczynania od nowa, * Kiedyś działał, a potem przestał działać, * problem z serwerem? Wersja robocza, używająca działającego kodu bez tax_query, na dostosowanym frameworku. link (backend i połowa sekcji admina losowo też przestały działać, więc zaczynam od nowa). Nowa wersja: link


title: Czego użyć zamiast filtra content_save_pre?

text: Czytałem na stronie Adama Browna, że filtr `content_save_pre` jest przestarzały od WordPress 3.8 – czy to prawda? Nie mówi tego na oficjalnej stronie kodeksu `content_save_pre`, więc jestem sceptyczny. Jeśli jest nieaktualny, jakiego filtru użyję do edycji zawartości po naciśnięciu przycisku Opublikuj/Aktualizuj, ale przed zapisaniem jej w bazie danych?


title: Podwójny pasek „|” w tytule (Według WP SEO Yoast?)

text: Zastanawiam się, dlaczego moje strony (post nie ma tego problemu) mają w sobie podwójny pasek "`|`" np. `O || Jiew Meng's Blog` ![](http://i.imgur.com/OUepu.png) **UPDATE** Właściwie pojawia się również na innych stronach, tak jak ta. W tym przypadku jest to niestandardowy typ posta. Zwróć uwagę na powtarzającą się nazwę witryny KLIF Media v2 | | Jiew Meng's BlogJiew Meng's Blog **AKTUALIZACJA 2 (@CorvanNoorloos)** Ok, zmieniłem tytuł na wp_title('') Zamiast domyślnego `wp_title('|', true, 'right')' w dwudziestu dziesiątkach. To naprawiło problem z podwójnymi paskami, ale jeśli przejdę do archiwum z niestandardowym typem postu, otrzymuję coś w stylu PortfolioJiew Meng's Blog Jeśli wejdę na niestandardowy link typu post typu single page, otrzymuję KLIF Media v2 - Jiew Men's BlogJiew Meng's Blog przepisać tytuły, działa to głównie z wyjątkiem niektórych stron, stając się - Jiew Meng's Blog Myślę, że muszę ręcznie ustawić tytuł strony, jeśli użyłem tej opcji?


title: Dodawanie funkcji do błędu function.php 505

text: Za każdym razem, gdy próbuję edytować plik function.php mojego motywu. Otrzymuję błąd 505, bez względu na to, jaką funkcję dodam, zawsze da mi ten błąd.


title: Kategoria z tym samym ślimakiem

text: chciałbym to zrobić: www.website.ext/ciccio/pro www.website.ext/mario/pro www.website.ext/giuseppe/pro Dlaczego nie mogę tego zrobić? Wiem… kategoria slug/child-pro „pro” jest taka sama, ale znajduje się w różnych kategoriach nadrzędnych. Więc nie wiem, co mogę zrobić. :/ Próbowałem, ale to nie działa, ponieważ za każdym razem wordpress zmienia slug kategorii na: "kategoria_dziecka-kategoria_nadrzędna". Dziękuję!


title: (Początkujący) Potrzebuję pomocy przy instalacji Wordpress na moim VPS (Virtual Private Server)

text: # Wstęp: (oczywiście później to usunę) Cześć. Myślę, że byłoby mądrze zapytać profesjonalistów, jak najlepiej zainstalować WordPress na moim VPS, aby nie napotkać problemów z moim blogiem. Mam nadzieję, że go uruchomię przed obiadem! (8 godzin od teraz) # Wstępne badanie, które zrobiłem: wiem, że muszę mieć działającą bazę danych z sekcją dla WordPressa. Znalazłem coś, co nazywa się WebPI, co moim zdaniem sprawi, że instalacja będzie stosunkowo prosta, ale jestem ciekaw, co myślicie o WebPI lub czy istnieją lepsze rozwiązania. XAmpp pojawił się na niektórych forach, które czytałem, ale mówią też, że może powodować problemy. I że lepiej jest zainstalować ręcznie. Trochę się martwię, że coś zepsuję, jeśli to zrobię. Wszystkie samouczki, które szukałem na temat ręcznej instalacji, były różne i jestem nieco zdezorientowany, co do właściwego sposobu. Również wiele nie zaczyna pustych i już z bazą danych. # Więc pytanie brzmi: Jaki jest najlepszy (i najmniej prawdopodobny) sposób na zainstalowanie WordPressa na systemie Windows 8 VPS. Ale szukam też sposobu, który będzie łatwy do naśladowania, szybki i wykonalny w ciągu 8 godzin. Mam nadzieję, że to podsumowuje wszystko miłe pytanie dla tej strony! # Mój obecny postęp: Dzięki Danowi zaszedłem dość daleko. Wszystko mam zainstalowane w jednym miejscu. Ale teraz utknąłem w uzyskaniu strony 404 nie znaleziono, gdy tylko spróbuję uzyskać dostęp do phpmyadmina, mam zestaw Wampa online, więc powinien działać. Moje wyniki z portu 80 netstat > C:\Users\Administrator>netstat -aon |find /i "listening" |find "80" > TCP---0.0.0.0:80----------- -------------0.0.0.0:0---SŁUCHANIE---4 > TCP---[::]:80------------- ---------------[::]:0-------SŁUCHANIE---4 > TCP---[ab29::4da:bzrr:re75:50dx@ 40]:42---[::]:0-------SŁUCHANIE---3172 > TCP---[fe80::21a:4aff:fe82:8d50%41]:42---- [::]:0-------SŁUCHANIE---3172 Zmieniłem numery na TCP, ponieważ jest on włączony. Próbowałem też zmienić port na 81. to też nie działało.


title: Zarchiwizować strony postów na podstawie ich taksonomii?

text: Czy można wyświetlić archiwalne strony postów na podstawie ich taksonomii oraz archiwalną stronę terminu w tej taksonomii? Na przykład mam stronę o produktach kosmetycznych i piszę recenzję produktu jako post. Chcę umieścić go w kategorii „włosy” iw taksonomii „szampon”, z terminem „suchy”. Udało mi się stworzyć stronę archiwum dla wszystkich postów w kategorii „włosy”, ale nie mogę zrozumieć, w jaki sposób utworzyć stronę, aby pokazać wszystkie produkty, które są w kategorii „włosy” ORAZ z taksonomią „szampon”. Potrzebowałabym również kolejnej strony pokazującej wszystkie produkty w kategorii „włosy” ORAZ „szampon” ORAZ „suchy”. tj. mysite/hair/szampon/suchy, gdzie włos jest kategorią, szampon to taksonomia, a suchy to termin. Czy jestem na dobrej drodze, myśląc, że muszę stworzyć stronę taksonomii-szampon.php? Każda pomoc byłaby bardzo mile widziana. Dzięki, Patryku.


title: Które strony/adresy URL WordPress nigdy nie powinny być buforowane?

text: Mam bloga z wieloma witrynami, który wkrótce będzie miał przed sobą usługę buforowania Akamai, która będzie udostępniać odwiedzającym zawartość pamięci podręcznej (15 minut TTL). Chcę skonfigurować Akamai tak, aby wykluczał wszystkie ważne adresy URL, które nigdy nie powinny być buforowane (tzn. nie chcę obsługiwać buforowanych stron logowania/administracyjnych). Czy istnieje kompilacja lub ogólne zalecenie wszystkich ważnych adresów URL, które nigdy nie powinny być buforowane? Oto co mam do tej pory: * `/wp-*` (To zapobiegnie wp-includes/admins/etc) * `/xmlrpc.php` * Dowolny adres URL z `?preview=true`, aby redaktorzy mogli podgląd **Edycja: Dodatkowe informacje poniżej** Używamy pamięci podręcznej krawędzi Akamai, która jest **pełnym buforowaniem witryny**. Zasadniczo Akamai działa jako odwrotny serwer proxy. Nasz DNS wskazuje na Akamai, odwiedzający trafiają bezpośrednio do Akamai. Akamai każe nam aktualizować strony tylko wtedy, gdy wygasa TTL lub gdy żądana jest strona, która nie jest jeszcze zbuforowana. Mamy możliwość wyłączenia części witryny z pełnego buforowania, na przykład adresów URL pasujących do `wp-*` lub dowolnych adresów URL z ciągiem zapytania `preview=true`. Wyjątki zezwalają na przekazywanie plików cookie; Dozwolone są również żądania POST. Z tymi dodatkowymi informacjami nadal pozostaje pierwotne pytanie – jakie adresy URL/ścieżki/itp. specyficzne dla WP należy wykluczyć z **buforowania całej witryny**, aby zapobiec uszkodzeniom? Np. podglądy oczywiście muszą być z natury dynamiczne, więc wykluczyłem to, zezwalając na ciąg zapytania `preview=true`. Co jeszcze muszę wykluczyć? Czy coś pasującego do `wp-*` jest wystarczająco dobre, czy brakuje innych rzeczy, np. `/xmlrpc.php`? Mam nadzieję, że sprawy wniosą dodatkowy kontekst do pierwotnego pytania.


title: Jak tworzyć strony, które zmieniają się lub wygasają po określonym czasie?

text: Możesz utworzyć w tym celu nową stronę/post i ustawić dla niej niestandardową datę publikacji, ale teraz pytanie brzmi: **Jak sprawić, by strona była dostępna przez określony czas i zastąpić ją czymś innym po tym ?** Przykładem użycia może być sytuacja, w której chcesz skorzystać z **oferty ograniczonej czasowo**, a następnie zastąpić lub ukryć stronę. Jak możesz sobie wyobrazić, szukam rozwiązania, które pozwoliłoby Ci to zaplanować, abyś mógł być na wakacjach, gdy nastąpi zmiana ;)


title: Błędy 404 stronicowania dla zapytania autora na author.php

text: Próbuję przeszukać wszystkie posty autora i podzielić je na strony na stronie author.php. Próbowałem bawić się domyślnymi ustawieniami blogów WP na stronę i to nie pomaga. Spojrzałem na inne posty tutaj i mogę znaleźć rozwiązanie. Działa to na moich stronach kategorii i niestandardowych stronach szablonów (z wyjątkiem atrybutu autor). Oto, co mam dla mojego zapytania: if (get_the_author_meta( 'ID' )) { $authorID = get_the_author_meta( 'ID' ); } $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; $args = array( 'post_type' => 'post', 'author'=>$authorID, 'orderby'=> 'data', 'showposts'=>'5', 'paged'=>$paged ); $zapytanie = nowe WP_Query( $args ); Próbowałem nawet query_posts() bez powodzenia. Samo zapytanie działa, ale paginacja się zrywa. Jakieś pomysły?


title: Ustawić stan logowania użytkownika?

text: Tworzę użytkownika za pomocą wp_create_user, po pomyślnym stworzeniu użytkownika muszę ustawić jego status na zalogowany? Jak ustawić jego status na zalogowany ?


title: Jak wyświetlić kolejne 3 posty na pasku bocznym?

text: Tworzę prostą witrynę z informacjami o firmie/komunikatami prasowymi. Chcielibyśmy wyświetlić pięć ostatnich fragmentów postów na stronie głównej wraz z tytułami trzech kolejnych postów (od sześciu do ośmiu) i jednym przyciskiem „Archiwum”, który przenosi użytkownika na nową stronę, która wyświetla szósty post i wcześniejsze. Mam pięciu ekspertów od poczty, ale nie mogę uzyskać dwóch pozostałych rzeczy. Każda pomoc byłaby bardzo mile widziana! * * * AKTUALIZACJA: Dzięki, t-p, za wskazówkę, ale potrzebujemy tylko kolejnych trzech postów na pasku bocznym, a nie duplikatu pierwszych pięciu, a potem następnych trzech. W kolejności słowa, ostatnie pięć pojawi się na stronie głównej (już gotowe), a posty od 6 do 8 pojawią się tylko na pasku bocznym. Następnie chcemy, aby link/przycisk przeniósł odwiedzającego na stronę Archiwum.