title: Dodawanie skryptów w obszarze administracyjnym

text: Chciałbym umieścić skrypty w kolejce tylko dla utworzonej przeze mnie strony administratora. Oto przykład tego: http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_scripts_only_on_plugin_pages Myślę, że to nie działa, ponieważ piszę wtyczkę w ramach klasy. add_action działa tylko z konstruktorem? Czy istnieje sposób na dodanie skryptów do określonej strony z poziomu klasy? Wymyśliłem tę metodę: Moja główna strona wtyczek to lista niestandardowych typów postów (jeśli ustawisz `'show_in_menu' => 'custom_page_slug'` w argumencie typu postu, przejmie on tę stronę z listą postów). Tworząc typ postu, ustawiam zmienną o nazwie typu posta: $args = register_post_type('post-type', $args ); $this->posttype = $args->name; Następnie to wywołanie w konstruktorze: add_action( 'admin_print_scripts', array( &$this, 'scripts_init' ) ); I to w funkcji `scripts_init`: global $current_screen; if( $current_screen->id == $this->posttype ) { wp_enqueue_script( ... ); }      To działa. Ale wydaje się to bardziej skomplikowane, niż powinno być. Czy istnieje lepszy sposób na osiągnięcie tego? Dziękuję!


title: jaki jest prawidłowy sposób aktualizacji wtyczki przez tortoise svn do repozytorium?

text: Wstyd mi powiedzieć, że nie mam pojęcia o procedurze używanej do aktualizacji wtyczki przez tortoise svn, mimo że moja wtyczka była w repozytorium od lat i miała ponad 300 000 pobrań! jest tu dużo pytań o svn, ale one tylko jeszcze bardziej mnie zdezorientowały :-z jakoś mi się do tej pory udało, ale muszę znać właściwą procedurę aktualizacji wtyczki do nowej wersji w odniesieniu do zatwierdzenia pnia i wykonania katalog tagów. To właśnie robiłem do tej pory. 1. zakoduj aktualizacje wtyczek na moim lokalnym, dopóki nie będę z tego zadowolony 2. skopiuj wszystkie pliki w moim lokalnym folderze wtyczek do /trunk/ (wtyczka i plik readme mają zaktualizowane numery wersji) 3. zatwierdź katalog trunk 4. kliknij prawym przyciskiem myszy katalog główny i wybierz utwórz gałąź/tag i ustaw kopiowanie do folderu w /tags/ z nazwą będącą numerem wersji. Czy to jest poprawne i we właściwej kolejności? jeśli nie, jaki jest właściwy sposób? również o numerach wersji... z jakiegoś powodu przeszedłem z wersji 2.8.1 do 2.81.2 podczas mojej ostatniej aktualizacji, czy to oznacza, że nie będzie ona wyświetlana jako aktualizacja dostępna na pulpitach nawigacyjnych osób, które mają wersję 2.81.2 jeśli zmienię numer następnej wersji na 2.9? w jaki sposób wordpress określa, która jest najnowsza wersja i czy użytkownik powinien zaktualizować swoją wersję? czy to robi version_compare? działa tylko z odpowiednim formatem wersji php, prawda? np. 2.9.2 jest uważana za niższą wersję niż 2.81.2? (ponieważ, jak rozumiem, version_compare zaczyna się od lewej i porównuje wyższe/niższe dla każdej cyfry, więc 9 byłoby uważane za mniej niż 81) inne pytanie, czy wypatrzę głupi błąd w kodzie, który tak naprawdę nie wpływa na działanie wtyczki, może literówka lub dodatkowy obraz. Co mogę edytować i zobowiązać, aby nowe pliki do pobrania wtyczki zawierały zmianę? czy muszę edytować folder główny ORAZ folder tagów i zatwierdzić oba?


title: Paginacja zawsze dodaje link „Dalej”, gdy wyniki pochodzą z niestandardowego typu postu WP_query

text: A przynajmniej tak się wydaje. Mam stronę, do której przekazuję kilka argumentów do zapytania post_meta dla pola niestandardowego i zawsze otrzymuję dodatkowy link "Dalej" bez względu na liczbę postów. Jeśli zapytanie o ten sam typ posta bez przekazywania żadnych zmiennych do „meta_query” (ustawienie $female na null) w moim WP_query, paginacja działa zgodnie z oczekiwaniami. Przejrzałem każdy link, który mogę znaleźć na temat stronicowania niestandardowego typu postu (a jest ich wiele), zainstalowałem nawigację strony i przejrzałem kodeks, wyłączyłem i ponownie włączyłem moje wtyczki. Czuję się trochę głupio, więc proszę, bądź miły, bo wstydzę się, że to nie zadziała. Oto mój uproszczony kod i wszelkie pomysły będą mile widziane. Adresy URL: http://dev.huntingtonmedical.com/doctors/page/7/ http://dev.huntingtonmedical.com/doctors/page/5/?gender=female (następny link przeniesie Cię do pustej strony ) pobierz_nagłówek(); $płeć = $_GET['płeć']; if ( $płeć != 'kobieta' ) unset( $płeć ); globalny $paged; $paged = ( get_query_var('paged')) ? get_query_var( 'stronicowane' ) : 1; $args = array( 'post_type' => 'doctors', 'meta_key' => 'last_name', 'orderby' => 'meta_value', 'order' => 'ASC', 'paged' => $paged, ' meta_query' => array( array( 'key' => 'płeć', 'wartość' => $płeć, 'compare' => 'IN' ), ) ); $zapytanie = nowe WP_Query( $args ); while( $query->have_posts() ) { $query->the_post(); tytuł(); echo '<br>'; } posts_nav_link(' | ',' Poprzednia strona ',' Następna strona ');


title: Automatyczne ładowanie i przestrzenie nazw we wtyczkach i motywach WordPress: czy to działa?

text: Czy ktoś używał automatycznego ładowania i/lub przestrzeni nazw PHP we wtyczce lub motywie? Myślisz o ich użyciu? Jakakolwiek krzywda? Pułapki? _Uwaga: przestrzenie nazw są dostępne tylko w PHP 5.3+. Załóżmy, w przypadku tego pytania, że wiesz, że będziesz miał do czynienia z serwerami, o których wiesz, że mają PHP 5.3 lub nowsze._


title: Publikowanie tweetów z wordpress

text: Czy istnieje jakaś wtyczka, która będzie tweetować wszystkie posty z kategorii i/lub z określonym tagiem? _Nie_ chcę czegoś, co publikuje wszystko, co edytuję lub publikuję. Po prostu nie chcę być w stanie stworzyć zestawu tweetów (w formie postów), które zostaną opublikowane, gdy sam post zostanie opublikowany. Muszę mieć pełną kontrolę nad treścią, która jest wysyłana na Twittera, co oznacza brak magicznego przepisywania treści.


title: Czy muszę oczyścić zapytanie wyszukiwania Wordpress?

text: Przesyłam dane wyszukiwania do niestandardowej strony searchi.php <?php // $search_variables = $_GET['s']. '+' .$_GET['kot']; //Wysyła wiadomość http do adresu URL bez nagłówka curl("Status: 301 przeniesiony na stałe"); header("Lokalizacja:http://localhost/wordpress/?s=$search_variables"); Wyjście; ?> Wiem, że wp_query odkaża zmienne dla mnie, więc nie powinienem się tym martwić. Ale lepiej zapytać, niż przepraszać, czy jest jakiś sposób, aby narazić na szwank bezpieczeństwo? Zauważyłem, że echo zmiennej $search_variables z `<div></div>` wstawione przez formularz wyszukiwania działa, więc czy powinienem coś z tym zrobić?


title: problem z używaniem WP_Http z paypal nvp api

text: próbując przekonwertować wtyczkę, którą napisałem, aby używać wp_http zamiast Curl (więc będzie działać na serwerach bez curl) wtyczka wysyła do paypal nvp api i otrzymuje zaszyfrowany przycisk, gdy próbuję użyć klasy WP_Http otrzymuję „Nieprawidłowy HTTP Odpowiedź na POST” byłaby wdzięczna za wszelką pomoc w znalezieniu tej pomocy - ponieważ chcę, aby ta wtyczka była tak ogólna i zgodna ze standardami, jak to tylko możliwe. **to jest oryginalny kod wtyczki dla części publikującej używającej php Curl (i działającej)** $API_UserName = urlencode($username); $API_Password = urlencode($hasło); $API_Signature = urlencode($podpis); //część curl - może powinniśmy zmienić to na funkcje post wp // ustawianie parametrów curl. $ch = curl_init(); //wywołanie phplib curl wewnątrz $CH curl_setopt($ch, CURLOPT_URL, $API_Endpoint);//ustawienie punktu końcowego curl_setopt($ch, CURLOPT_VERBOSE, 1); //należy to sprawdzić, tak naprawdę nie wiem // wyłączenie serwera i weryfikacji równorzędnej (Koncepcja TrustManager). curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); // NVPŻądanie przesłania do serwera - w tym punktu końcowego, poświadczeń, danych przycisku $nvpreq = "METODA=$methodName_&VERSION=$wersja&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature&$nvpStr_"; // ustawienie nvpreq jako POST FIELD na curl curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq); // otrzymanie odpowiedzi z serwera $httpResponse = curl_exec($ch); $httpResponse = $request->request($API_Endpoint,array('method'=>'post', 'body'=>$nvpreq)); if(!$httpResponse) { exit("$methodName_ nie powiodło się: "/*.curl_error($ch).'('.curl_errno($ch).')'*/); } // Wyodrębnij szczegóły odpowiedzi przycisku $httpResponseAr = explode("&", $httpResponse->body); $httpParsedResponseAr = tablica(); foreach ($httpResponseAr as $i => $value) { $tmpAr = explode("=", $value); if(sizeof($tmpAr) > 1) { $httpParsedResponseAr[$tmpAr[0]] = $tmpAr[1]; } } if((0 == sizeof($httpParsedResponseAr)) || !array_key_exists('ACK', $httpParsedResponseAr)) { exit("Nieprawidłowa odpowiedź HTTP na żądanie POST($nvpreq) do $API_Endpoint."); } return $httpParsedResponseAr;// tablicę, którą przeanalizujemy z powrotem w funkcji wywołującej - obecnie używamy tylko kodu strony. ale w przyszłości może również kod email **A to jest kod z wordpress http api (który nie działa poprawnie):** if (!class_exists('WP_Http')) { include_once ('c:/wamp/ www/wp/wp-includes/class-http.php'); } $request = nowy WP_Http; $httpResponse = $request->request($API_Endpoint,array('method'=>'post', 'body'=>$nvpreq)); if(!$httpResponse) { exit("$methodName_ nie powiodło się: "/*.curl_error($ch).'('.curl_errno($ch).')'*/); } // Wyodrębnij szczegóły odpowiedzi przycisku $httpResponseAr = explode("&", $httpResponse->body); $httpParsedResponseAr = tablica(); foreach ($httpResponseAr as $i => $value) { $tmpAr = explode("=", $value); if(sizeof($tmpAr) > 1) { $httpParsedResponseAr[$tmpAr[0]] = $tmpAr[1]; } } if((0 == sizeof($httpParsedResponseAr)) || !array_key_exists('ACK', $httpParsedResponseAr)) { exit("Nieprawidłowa odpowiedź HTTP na żądanie POST($nvpreq) do $API_Endpoint."); }


title: Jak mogę przepisać adresy URL, aby przekazać wartości taksonomii i typu do zapytania?

text: Mam więc witrynę z około 6 niestandardowymi typami postów. Trzy z tych typów postów są dołączone do jednej niestandardowej taksonomii. Chciałbym móc wyświetlić listę_cats na pasku bocznym i wypluć adres URL, taki jak **../%post_type%/%taxonomy%/** i aby to przeniosło Cię do **taxonomy-%taxonomy%.php** szablon i zwróć tylko wyniki typu **%post_type%**. Mogę utworzyć warunek, który raz w pliku **taxonomy-%taxonomy%.php** odczyta bieżący **%post_type%** i poprawny styl. Potrzebuję wskazówek dotyczących najskuteczniejszej metody modyfikacji adresu URL, aby przekazać **%post_type%** do zapytania. Z góry dziękuję. Szukałem przez kilka dni bez jasnej odpowiedzi. **Więc oto moje słabe próby rozwiązania, ale są one jednym wielkim FAILem** To jest oparte na dyskusji znalezionej na rlmseo.com i odpowiedzi tutaj. **Próba dodania typu postu do zmiennej do użycia w zapytaniu:** _practice-areas to taksonomia. Próbuję dodać zmienną, której mogę użyć do filtrowania taksonomii według typu posta w funkcji taksonomii-practice-area.php_ add_query_vars($aVars) { $aVars[] = "cust_pt_var"; // reprezentuje nazwę niestandardowego typu posta, jak pokazano w adresie URL return $aVars; } // podłącz funkcję add_query_vars do query_vars add_filter('query_vars', 'add_query_vars'); function add_rewrite_rules($aRules) { $aNewRules = array('obszary-praktyki/([^/]+)/pt/([^/]+)/?$' => 'index.php?obszary-praktyki=$ dopasowania[1]&cust_pt_var=$matches[2]'); $aReguły = $aNoweReguły + $aReguły; zwróć $aRule; } // podłącz funkcję add_rewrite_rules do rewrite_rules_array add_filter('rewrite_rules_array', 'add_rewrite_rules') **Próba przekazania zmiennych zapytania w przepisaniu** _Próba dodania typów postów (portfolio i klienci) oraz termin taksonomii obszarów praktyki do zapytania w rewrite._ function add_rewrite_rules($aRules) { $aNewRules = array('portfolio/practice-areas/([^/]+)/?$' => 'index.php?post_type=portfolio&practice-areas= $pasuje[1]'); $aNewRules = array('clients/obszary-praktyki/([^/]+)/?$' => 'index.php?post_type=clients&obszary-praktyki=$matches[1]'); $aReguły = $aNoweReguły + $aReguły; zwróć $aRule; } // podłącz funkcję add_rewrite_rules do rewrite_rules_array add_filter('rewrite_rules_array', 'add_rewrite_rules')


title: Problem z zapamiętaniem formularza logowania

text:
utworzyłem niestandardowy formularz logowania do mojej witryny, ale mam problem. (Mam podobny problem, jeśli ad używam domyślnego formularza logowania). Napisałem ten kod dla formularza logowania:
 <form name="loginform" id="loginform" action="<?php echo get_option('home'); ?>/wp -login.php" method="post">
 <etykieta>Nome Utente
 <input type="text" name="log" id="user_login" class="input" value="" rozmiar ="20" tabindex="10" />

 Hasło
 <input type="hasło" name="pwd" id="user_pass" class=" input" value="" size="20" tabindex="20" />

<input name="rememberme" type="pole wyboru" id ="rememberme" value="na zawsze" tabindex="90" />Ricordami

 <input type="submit" name="wp-submit" id=" wp-submit" class="button-primary" value="Zaloguj się"tabindex="100"/> <input type="ukryty" name="redirect_to" value="<?php echo get_bloginfo('url') ? >/ pagina-personale/" /> <input type="hidden" name="testcookie" value="1" />
 </form>
 <a href="<?php echo get_option('dom'); ?>/wp-login.php?action=lostpassword" title="Hasło zgubione i odnalezione">Hasło Persa?
 Rejestracja

 Kiedy loguję się jako użytkownik, Wordpress pamięta, że użytkownik jest zalogowany, ale jeśli spróbuję ponownie zobaczyć formularz logowania, pole jest puste (możesz zobaczyć tutaj http ://www.assicur.servizieweb.it/# na "Area Personale" i możesz zalogować się za pomocą użytkownika ggii ad i hasła 1122 ... nie martw się, to przestrzeń testowa).


title: Jak wyświetlić różne podstrony w oparciu o nazwę użytkownika członka w wordpressie?

text: Stworzyłem stronę internetową dla firmy z wieloma podstronami wykorzystującymi multisite w wordpressie. Te podstrony są chronione hasłem i są przeznaczone dla różnych klientów. Powiedzmy na przykład : - moja główna witryna to www.example.com i mam dwie podwitryny o nazwie :- www.example.com/client_one www.example.com/client_two Chcę mieć okno logowania klienta w moim głównym witrynę (www.example.com) z nazwą użytkownika i hasłem. Co chcę zrobić to, jeśli Członek z jednego miejsca wprowadzi poprawnie swoją nazwę użytkownika i hasło, to chcę go przekierować na www.example.com/client_one/landing page. w ten sam sposób dla innego użytkownika z klienta 2 do ---> www.example.com/klient_dwa/strona docelowa czy można to zrobić w wordpressie? Czy potrzebuję do tego żadnych wtyczek?


Jakiej funkcji mogę użyć, aby ominąć ograniczenie przesyłania do wielu witryn, dotyczące maksymalnego rozmiaru pliku? Osiągnąłem już maksymalny rozmiar przesyłania kb i upewniłem się, że maksymalny rozmiar przesyłanego pliku w php.ini wynosi ponad 50 MB, ale nadal otrzymuję błąd podczas przesyłania pliku 11 MB. ![Maksymalny rozmiar pliku WP dla wielu witryn](http://i.stack.imgur.com/DZNeT.png) ![](http://i.stack.imgur.com/wAvVn.png)


title: Jak zarchiwizować witrynę wordpress (spraw, aby była tylko do odczytu)

text: Czy można ustawić wdrożenie WordPress tylko do odczytu? W przypadku strony, która nie będzie aktualizowana, chciałbym, aby była tylko do odczytu/statyczna, więc archiwum jest, ale nikt nie może publikować, więc nie mam do czynienia z naruszeniami i aktualizacjami?


title: Zapytanie o niestandardowy typ posta według tagu

text: Trochę zdezorientowany.. mając nadzieję, że ktoś może pomóc. Mam niestandardowy typ posta o nazwie „Dostawcy”, z którego chcę pobrać wpisy oznaczone jako „podświetlone”. Włączyłem obsługę tagów w niestandardowym typie postu, a następnie spróbowałem użyć tag=highlighted i tag_id=15 w nowym zapytaniu, ale pokazuje tylko post hello world. Oto jego treść: https://gist.github.com/3623768


title: Woocommerce Zmień miejsce docelowe za pomocą opakowania

text:
Próbuję zmienić umieszczenie ceny z góry na obok przycisku Dodaj do koszyka i chcę zawinąć cenę i przycisk (formularz) do koszyka za pomocą jednego elementu div. Nie wiem, czy to zły sposób, czy poprawny sposób, ale jakoś udało mi się zmienić miejsce docelowe, ale teraz mam problemy z zawinięciem obu. Tutaj co robię //najpierw usuwam wszystkie z podsumowania pojedynczego produktu remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 ); // dodanie i zmiana rozmieszczenia funkcji miejsca docelowego q2a_product_summary() { add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 ); echo '
'; add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 30 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); echo '
'; add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 ); add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 ); } add_action('woocommerce_single_product_summary', 'q2a_product_summary'); Ale kiedy dodaję to wrzucam na górę jak `<div class="buy-box"> </div>` Teraz co mam zrobić, żebym mógł zawinąć cenę i dodać do koszyka przycisk z div powyżej.


title: Twórz i zapisuj wiele Meta-boksy

text: Stworzyłem niestandardowy post typu i wiele metaboksy, które należy zapisać. Mam funkcję, która zapisuje jeden metabox, ale nie wiem, jak ponownie użyć tej funkcji, aby zapisać wszystkie metaboxy. add_action ("add_meta_boxes", "add_dedications_jh"); function add_dedications_jh() { add_meta_box('jh_dedicationDate', 'Wprowadź datę', 'jh_dedications', 'jh_dedications', 'side', 'default'); add_meta_box('jh_dedicationName', 'Wprowadź nazwę', 'jh_dedicationName', 'jh_dedications', 'normal', 'default'); add_meta_box('jh_dedications', 'Wprowadź okazję', 'jh_dedicationOccasion', 'jh_dedications', 'normalne', 'default'); } function jh_dedicationDate($obiekt, $box) { wp_nonce_field(basename(__FILE__), 'dedicationDate_nonce' ); ?> <input type="text" name="datadedykacji" value="<?php echo esc_attr( get_post_meta( $object->ID, 'dedicationDate', true) ); ?>" /> <?php } function jh_dedicationName ($obiekt, $box) { wp_nonce_field(basename(__FILE__), 'dedicationName_nonce' ); ?> <input type="tekst" size="60" name="nazwadedykacji" value="<?php echo esc_attr( get_post_meta( $object->ID, 'nazwadedykacji', true) ); ?>" /> < ?php } function jh_dedicationOccasion ($object, $box) { wp_nonce_field( basename( __FILE__ ), 'dedicationOccasion_nonce' ); ?> <input type="text" size="60" name="jh_dedicationOccasion" value="<?php echo esc_attr( get_post_meta( $object->ID, 'dedicationOccasion', true) ); ?>" /> < ?php } add_action('save_post', 'jh_save_dedication', 10, 2); function jh_save_dedication($post_id, $post) { /* Sprawdź numer jednorazowy przed kontynuowaniem. */ if ( !isset( $_POST["data_dedykacji"] ) || !wp_verify_nonce( $_POST["data_dedykacji_nonce"], nazwa podstawowa( __FILE__ ) ) ) return $post_id; if ( !isset( $_POST["nazwadedykacji_nonce"]) || !wp_verify_nonce( $_POST["nazwadedykacji_nonce"], nazwa podstawowa( __FILE__) ) ) return $post_id; if ( !isset( $_POST["dedicationOccasion_nonce"] ) || !wp_verify_nonce( $_POST["dedicationOccasion_nonce"], basename( __FILE__) ) ) return $post_id; /* Pobierz obiekt typu post. */ $post_type = get_post_type_object( $post->post_type ); /* Sprawdź, czy bieżący użytkownik ma uprawnienia do edycji wpisu. */ if ( !current_user_can( $post_type->cap->edit_post, $post_id )) return $post_id; /* Pobierz opublikowane dane i oczyść je do użycia jako klasa HTML. */ $nowa_meta_wartość = ( isset( $_POST['data_dedykacji'] ) ? sanitize_html_class( $_POST['data_dedykacji'] ) : '' ); /* Pobierz metaklucz. */ $meta_key = 'data dedykacji'; /* Pobierz meta wartość klucza pola niestandardowego. */ $meta_value = get_post_meta( $post_id, $meta_key, true ); /* Jeśli dodano nową wartość meta i nie było poprzedniej wartości, dodaj ją. */ if ( $new_meta_value && '' == $meta_value ) add_post_meta( $post_id, $meta_key, $new_meta_value, true ); /* Jeśli nowa wartość meta nie odpowiada starej wartości, zaktualizuj ją. */ elseif ( $nowa_meta_wartość && $nowa_meta_wartość != $meta_wartość ) update_post_meta( $post_id, $meta_key, $nowa_meta_value ); /* Jeśli nie ma nowej wartości meta, ale istnieje stara wartość, usuń ją. */ elseif ( '' == $nowa_meta_wartość && $meta_wartość ) delete_post_meta( $post_id, $meta_key, $meta_value ); }


title: Jaki jest link do mojej domyślnej strony „archiwum”?

text: Używam dwadzieściaten i mam przeciążony plik home.php, aby zrobić kilka niestandardowych rzeczy. Jednak nadal chciałbym mieć stronę z listą wszystkich moich ostatnich postów, w stylu archiwalnym. Mogę dostać się do strony archiwum dla dowolnej kategorii z myblog/category/category-name. Ale chciałbym dostać się do archiwum, które zawiera listę wszystkich ostatnich postów, niezależnie od kategorii. Lubię mój blog/archiwum Czy zakładam za dużo? Wiem, że mogę utworzyć niestandardowy szablon strony, a następnie utworzyć niestandardową stronę i zastosować ten szablon. Po prostu myślałem, że wordpress ma wbudowaną stronę "archiwów", nie?


title: Niestandardowy formularz wyszukiwania Wordpress wyświetla nieoczekiwane wyniki

text:
Mam problem z niestandardowym formularzem wyszukiwania, który nie filtruje wyników zgodnie z potrzebami. Potrzebuję go do filtrowania na podstawie wybranej daty i/lub kategorii. kod użyty w szablonie:
FILTR SZUKAJ
 <form method="get" action="<?php bloginfo('url'); ?>"> <input type ="ukryty" name="post_type" value="news" /> <?php $args = array( 'order' => 'DESC', 'orderby' => 'date', 'post_type' => 'news' , 'posts_per_page' => '-1' ); $licznik = 0; $ ref_miesiąc = ''; $miesięcznie = nowe WP_Query($args); if( $monthly->have_posts() ) : ?>
Data
 <select name="m"> <option value="">Proszę wybrać datę</option> <?php while( $monthly ->have_posts() : $miesięcznie->the_post(); if( get_the_date('mY') != $ref_month ): ?> <option value="<?php the_date('Ym'); ?>"><?php echo get_the_date('F Y'); ?></option> <?php $ref_miesiąc = get_the_date('mY'); $licznik = 0; endif; koniec; ?> </select> <?php endif; ?> <?php wp_reset_postdata(); ?>
Złożono
 <?php $terms = get_terms( 'kategoria-wiadomości' ); foreach( $terms as $term ) : ?> <etykieta><input type="pole wyboru" name="cat" value="<?php echo $term->term_taxonomy_id ?>" /><?php echo $term- >imię; ?> <?php endforeach; ?> <input type="image" src="<?php echo get_stylesheet_directory_uri(); ?>/images/btn-filter.png" /> </form>  Jeśli wybiorę datę, to działa dobrze i przekierowuje do adresu URL podobnego do `website.dev/2013/09/?post_type=news&x=67&y=8` Jeśli wybiorę datę i kategorię, przekierowuje do strony 404 z adresem URL podobnym do `website.dev/?post_type =news&m=&cat=7&x=88&y=21` Próbowałem zmienić parametr cat na category i Wordpress go ignoruje. Mój plik .htaccess jest skonfigurowany zgodnie z zaleceniami Wordpress i opróżniłem DNS za pośrednictwem strony permalinków na wypadek, gdyby był to problem, ale to go nie rozwiązało. Jak mogę zmusić go do filtrowania według obu parametrów? edit: Czy może to być spowodowane tym, że jest to niestandardowy typ postu i niestandardowa taksonomia? Nie mogłem znaleźć poprawnej nazwy parametru do przekazania zamiast „cat”


title: the_time() nie może być poprawnie umieszczony

text:
Chcę użyć następującego kodu the_time('d. F Y', '
', '
'); aby pokazać datę artykułu (postu) opakowanego w `<p></p>`. Próbowałem też echo '
' . the_time('d. F Y') . '
'; ale znowu data nie jest umieszczona w tych tagach. Co robię źle? Mam normalne „foreach”, a nie „endforeach” i tak dalej.


title: Dodaj klasę do linku nawigacyjnego strony

text: Na mojej stronie Wordpress mam trzypoziomową nawigację. Na drugim poziomie każdego głównego elementu nawigacyjnego znajduje się strona „zestaw narzędzi”. Chciałbym wyróżnić tę stronę w nawigacji. Czy mimo to mogę dodać klasę do strony, aby oddzielnie stylizować jej link nawigacyjny? Czy istnieje wtyczka, która pozwoliłaby mi to zrobić? Mam nadzieję, że będzie to coś w rodzaju ekranu edytora stron, który jest niestandardowym polem, które pozwala mi wprowadzić klasę. Klasa jest następnie generowana podczas wywoływania funkcji WP_List_Pages. Następnie za pomocą prostego CSS i możesz zmienić tło wszystkich tych linków. Z góry dziękuję.


title: Błąd wtyczki po instalacji

text: Używam WP 3.1.2 na serwerze Apche z zainstalowanym najnowszym PHP. Mój WP jest skonfigurowany dla wielu podkatalogów. Motywy witryn są zwykle zmodyfikowanym motywem TwentyTen. Po zainstalowaniu nowej wtyczki, aktywuję dla każdej witryny, a nie sieci, i mogę kliknąć kilka linków w interfejsie administratora, zanim pojawi się komunikat o błędzie zaczynającym się od **Ostrzeżenie: require_once**. bez względu na to, jaka wtyczka jest zainstalowana lub jak jest aktywowana (na stronę lub sieć). Sprawdziłem, że „brakujący plik” jest tam, gdzie powinien. Używam najnowszej wersji, większość z nich została zaktualizowana w ciągu ostatniego miesiąca i zgodnie z oficjalnym forum WP dotyczącym wtyczek, inni użytkownicy twierdzą, że działają poprawnie. To staje się naprawdę uciążliwe, aby przejść do każdej wtyczki i na stałe zakodować katalog z każdym plikiem wtyczki. Próbowałem ponownie zainstalować wszystkie podstawowe pliki WP bezskutecznie. Czy ktoś jeszcze to widział lub wie, jak to naprawić? **Edytuj:** Na zupełnie innej domenie z zupełnie nową instalacją WP na nowej bazie danych, widzę to samo. Każda nowa instalacja wtyczki pokazuje błąd brakującego pliku. To bardzo irytujące i muszę to naprawić. Podejrzewam, że to coś w Apache, ale nie jestem pewien.


title: Jak wygląda proces ponownego wdrażania zapasowego WordPressa?

text: WordPress noob tutaj. Pomagam znajomej migrować jej motywy WordPress i zmieniać serwery. Przeniosłem już WP między serwerami, ale teraz pracuję nad zmianą motywu na mojej stronie dewelopera localhost za pomocą motywu potomnego. Czy po zakończeniu przebudowy motywu potomnego mogę po prostu wykonać kopię zapasową tej bazy danych, aktywować motyw w nowym WordPressie i ponownie zaimplementować kopię zapasową? Czy jest coś jeszcze, o czym powinienem wiedzieć?


title: Skróty, tabele HTML i wiele wierszy

text: Próbuję zbudować krótki kod, który wywołuje tabelę HTML ze stałą liczbą kolumn i zmienną liczbą wierszy w zależności od kontekstu. Trudno jest zarządzać — a nawet budować wiele tabel w kółko za pomocą HTML. Nie miałem problemów z tworzeniem stałych kolumn i wierszy za pomocą skrótów. Aby to zilustrować za pomocą trywialnego przykładu: Załóżmy, że buduję tabelę z 4 kolumnami i 1 wierszem. 4 kolumny będą zawierały następujące nagłówki tabeli: 1. Nazwa produktu 2. Ilość 3. Cena za sztukę 4. Cena całkowita A gdybym chciał utworzyć wiele wierszy (Produkt 1, Produkt 2 itd.), jeśli to w ogóle możliwe, jak mogę zbudować krótki kod, który pozwala mi dodawać więcej wierszy według własnego uznania - bez tworzenia oddzielnego shortcode dla wierszy tabeli (byłem tam).


title: pokaż, czy komentarz jest umiarkowany

text: Jak wyświetlić wiadomość moderacyjną z komentarzem po zamieszczeniu komentarza. Przepływ pracy powinien być następujący: * opublikowanie komentarza * wp uważa, że ten komentarz musi być moderowany * użytkownik widzi swój komentarz z bałaganem typu „dzięki, ale nie możesz go zobaczyć, ponieważ jest moderowany” * stretchgoal: ta wiadomość powinna być widoczna za każdym razem odwiedziny użytkowników (cookie?) * wiadomości znikają po usunięciu lub zatwierdzeniu komentarza Czy jest na to sposób? Dzięki ps: to jest crosspost z http://getsatisfaction.com/wordpress_snippets/topics/show_if_comment_is_in_moderation


title: Jak zmniejszyć maksymalny rozmiar przesyłanego pliku?

text: Na mojej stronie jest wielu autorów, którzy mogą publikować posty, ale niektórzy z nich przesyłają obrazy większe niż 1M , a ja chcę zmniejszyć maksymalny rozmiar przesyłanych postów do 500 kb.


title: Zamienić statyczny kod w pliku szablonu na pasek boczny i widżety?

text: Jestem nowy w WordPressie i potrzebuję pomocy. Obecnie pracuję na stronie http://ecentriconline.com/surferbeachfront. Na tej stronie chcę wyświetlić lewą stronę jako widżet. W tej chwili lewa strona jest zakodowana na stronie `index.php`. Daj mi znać, co muszę zrobić, aby to osiągnąć.


title: add_meta_box() do ekranu edycji kategorii?

text: Mam wtyczkę, która dołącza się do edytorów postów i stron, aby czytać i pisać do obiektu post_content. Chciałbym również dołączyć moją wtyczkę do ekranu edycji menedżera kategorii. W poniższym kodzie wiersze 1 i 2 dołączają go do edytora postów i stron, ale wiersz 3, strzał w ciemno, jeszcze nie działa. Jakieś pomysły, jak to zrobić? if ( function_exists('add_meta_box')) { add_meta_box('Moja wtyczka', __('Moja wtyczka'), 'My_plugin_callback', 'post', 'side', 'high'); add_meta_box('Moja-wtyczka', __('Moja wtyczka'), 'Moja_plugin_callback', 'strona', 'strona', 'wysokie'); //??? add_meta_box('Moja-wtyczka', __('Moja wtyczka'), 'Moja_plugin_callback', 'kategoria', 'strona', 'wysokie'); }


title: Paginacja 404 na niestandardowe zapytanie

text:
Podstawową kwestią jest to, że każda stronicowana strona mojego bloga będzie miała 404 stronę. /strona/2/, /strona/3/, itd. Kiedyś działał dobrze, ale teraz tak nie jest. Myślę, że może zmiana na 3.9 to zrobiła. Oto niektóre z wielu rzeczy, których próbowałem, aby to naprawić. Efekt końcowy wszystkich z nich był taki sam. Paginowane linki 404'd. * dezaktywował wszystkie wtyczki * wielokrotnie usuwał i resetował permalinki * próbowałem permalinków jako domyślnych zamiast /postname * Upewniono się, że moje ustawienia czytania > Pokaż strony bloga były ustawione na ten sam numer co moja pętla. (oraz mniej i więcej do przetestowania) * Wypróbowałem dwie oddzielne wtyczki nawigacyjne i domyślną paginację wordpress (starsze posty) i za każdym razem 404. próbowano użyć parse_query * wypróbowano paginate_links Oto mój kod (lub linki do mojego kodu): home.php <?php wymagają dirname( __FILE__ ) . '/strona-blogu.php'; blog-page.php <?php /* Nazwa szablonu: Strona bloga - niestandardowa */ get_header(); ?> <---KOD NIESTANDARDOWY---> <?php $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; $args = array( 'posts_per_page' => 5, 'post_type' => 'post', 'paged' => $paged ); $wp_query = nowe WP_Query($args); if($wp_query->have_posts()) : while($wp_query->have_posts()) : $wp_query->the_post(); ?> <---KOD WŁASNY---> endwhile; wp_reset_postdata();?>
<?php next_posts_link( 'Starsze wpisy' ); ?>

<?php previous_posts_link( 'Nowsze posty' ); ?>
 <?php endif; wp_reset_query(); Jeśli to pomoże, oto witryna testowa, którą skonfigurowałem dla danej strony. Zostawiłem to z domyślną paginacją wordpress. Skończyły mi się rzeczy do wypróbowania. Wszelkie sugestie będą mile widziane.


title: Zapytanie między datami za pomocą pól wyboru daty

text: Chcę zastąpić wtyczkę wydarzeń, którą mam obecnie na mojej stronie internetowej. Zdajemy sobie sprawę, że nie potrzebujemy pełnego kalendarza i tego typu rzeczy, wystarczy, że będziemy mogli wprowadzać wydarzenia z datą rozpoczęcia i zakończenia, a także niestandardowymi godzinami. Stworzyłem niestandardowe pola na datę rozpoczęcia i datę zakończenia, korzystając z opcji Zaawansowane pola niestandardowe -> Pola wyboru daty. Oczywiście możliwe jest, że wydarzenie może trwać kilka miesięcy. Więc jeśli wydarzenie trwa od maja do lipca, kiedy jestem w czerwcu, chcę, żeby to wydarzenie się pojawiło. Na naszej stronie głównej mamy widget, który wczytuje wydarzenia według miesiąca i roku. Na przykład pokazuje wszystkie wydarzenia w maju. Mam problem z jego wykonaniem w przypadku, gdy wydarzenie zaczyna się w maju i kończy w lipcu, chcę, aby to wydarzenie również pojawiło się w czerwcu, ponieważ to wydarzenie nadal trwa. Może jest coś, co mogę zrobić przed/po porównaniu. Zaktualizowałem wordpress do najnowszej wersji na dzień dzisiejszy. Nie jestem do końca pewien, jak mam obsłużyć zapytanie o datę za pomocą pól niestandardowych. Czy jest lepszy sposób, żebym to zrobiła? Zastanawiam się, czy możesz mieć jakieś sugestie lub pomóc mi z zapytaniem, które próbuję napisać. Oto co mam do tej pory: $all_events = array ( 'post_type' => 'events', 'posts_per_page' => 50, 'meta_query' => array( array( 'key' => 'event_start_date', 'compare' => '>=', 'value' => $startday, ), array( 'key' => 'event_end_date', 'compare' => '<=', 'value' => $endday, ) ), ) ; To prawie działa. Wyświetli wydarzenia, jeśli data rozpoczęcia i zakończenia przypada w tym samym miesiącu, ale nie widzę wydarzeń, które kończą się za miesiąc lub za dwa miesiące od teraz. Przekazuję stronę miesiąc i rok, aby przefiltrować listę według miesiąca i roku...Zastanawiam się, czy istnieje lepsze porównanie, którego powinienem użyć dla daty końcowej, aby zobaczyć wydarzenia, które mogły rozpocząć się w wybranym miesiącu ale też kończą się znacznie później. Wszelkie sugestie byłyby bardzo mile widziane. AKTUALIZACJA #1: Po kilku eksperymentach mogłem znaleźć rozwiązanie. Popatrz na to. $all_events = array ( 'post_type' => 'events', 'posts_per_page' => 50, 'status' => 'opublikowane', 'meta_key' => 'event_start_date', 'orderby' => 'meta_value_num', 'zamówienie ' => 'ASC', 'meta_query' => array( array( 'key' => 'event_start_date', 'compare' => '>=', 'value' => $startday, ), array( 'key' => 'event_start_date', 'compare' => 'BETWEEN', 'value' => array($startday, $endday), ), array( 'key' => 'event_end_date', 'compare' => '>= ', 'wartość' => $koniec, ) ), ); Ten też nie działa. Jestem w stanie pobrać i wyświetlić wydarzenia, ale niektóre z nich nie pokazują się dokładnie. Najtrudniejsze jest to, że wydarzenie może trwać kilka miesięcy. Na przykład może zacząć się 1 kwietnia i przejść do 15 lipca. Problem, jaki mam, polega na tym, że te wydarzenia będą pokazywane w maju i czerwcu. Próbowałem innego podejścia i to jest pisanie zapytania SQL, aby pobrać posty i wyświetlić je. Mam ten sam problem, ale może kilka dalszych poprawek tego zapytania pozwoli nam to zadziałać. Wartości $startday i $endday to 20140601 i 20140630. Chcę pobrać wszystkie zdarzenia, które mogą wystąpić między tymi dwiema datami. Widzę sposób, w jaki to napisałem, jeśli data zakończenia jest późniejsza niż 20140630, to się nie wyświetli. Myślę też, że wartości dat są przechowywane jako ciągi, więc czy muszę je przekonwertować, czy zrobić coś z tymi wartościami, aby zachowywały się jak pola z prawdziwymi datami? Czy istnieje sposób, aby podzielić to na dwie kwerendy. Pierwsze zapytanie zadałoby zapytanie o wszystkie zdarzenia, a drugie zapytanie mogłoby otrzymać podzbiór początkowych wyników zapytania? $querystr = " SELECT * FROM $wpdb->posts wposts, $wpdb->postmeta metastart, $wpdb->postmeta metaend WHERE (wposts.ID = metastart.post_id AND wposts.ID = metaend.post_id) AND (metastart.meta_key = 'event_start_date' AND metastart.meta_value > $startday ) AND (metaend.meta_key = 'event_end_date' AND metaend.meta_value <= $endday ) AND wposts.post_type = 'events' AND wposts.post_status = 'publish' ORDER BY metastart. meta_wartość ASC "; **AKTUALIZACJA #3** Zrobiłem mały postęp i myślę, że jestem już prawie na linii mety z tym, ale potrzebuję trochę pomocy w tym ostatnim kawałku. Rozwiązanie, które wymyśliliśmy, wydaje mi się trochę zwariowane, ale myślę, że możemy to uruchomić. Oto co zrobiłem. Zrobiłem dwa pola, jedno na datę początkową, a drugie na datę końcową. Utworzyłem dodatkowe pole niestandardowe do przechowywania zakresu dat. Przechodzą one w ciąg znaków oddzielonych przecinkami. Następnie wysyłam zapytanie do tego pola, aby sprawdzić, czy którakolwiek z dat w zakresie dat od pierwszego dnia miesiąca do końca miesiąca jest zgodna. To jest część, na której teraz utknąłem. Powiedz mi, czy mam tę konfigurację poprawnie. Najpierw w moim pliku functions.php ustawiłem dwie funkcje do obsługi tworzenia zakresu dat, a następnie zapisywania zakresu w polu niestandardowym (które będzie domyślnie ukryte, więc użytkownik nawet nie będzie wiedział, że tam jest). Utwórz funkcję zakresu dat - znalazłem to gdzieś w Internecie, prawdopodobnie na tej stronie. function makeDateRangeArray($startday,$endday) { $aryRange=array(); $iDateFrom=mktime(1,0,0,substr($startday,5,2), substr($startday,8,2),substr($startday,0,4)); $iDateTo=mktime(1,0,0,substr($koniec,5,2), substr($koniec,8,2),substr($koniec,0,4)); if ($iDateTo>=$iDateFrom) { array_push($aryRange,date('Ymd',$iDateFrom)); // pierwszy wpis while ($iDateFrom<$iDateTo) { $iDateFrom+=86400; // dodaj 24 godziny array_push($aryRange,date('Ymd',$iDateFrom)); } } return $aryRange; } Następnie stworzyłem funkcję aktualizującą pole textarea za pomocą tablicy przekonwertowanej na ciąg zakresów dat. Jeśli moja data rozpoczęcia to 1 stycznia, a data zakończenia to 15 stycznia, w tym dodatkowym polu zostaną umieszczone 20140101 - 20140115. Później przeszukam to pole zamiast dwóch pól selektora daty. function update_event_date_range( $post_id ) { $slug = 'zdarzenia'; // Jeśli to nie jest post z wydarzenia, nie aktualizuj go. if ( $slug != $_POST['post_type'] ) { return; } // Sprawdź wpis według identyfikatora if ( isset( $post_id ) ) { // Pobierz wartości pola daty $tempstartday = get_field( "event_start_date", $post_id); $tempendday = get_field( "event_end_date", $post_id); // ustaw datę vars $startday = date('Y-m-d', strtotime($tempstartday)); // zachowaj myślniki $endday = date('Y-m-d', strtotime($tempendday)); // zachowaj myślniki // Utwórz tablicę $DateRangeAry = makeDateRangeArray($startday, $endday); $date_str = implode(', ', $DateRangeAry); // Zaktualizuj nowe pole postu o zakres dat update_post_meta( $post_id, 'auto_event_date_span', $date_str ); } } add_action( 'save_post', 'update_event_date_range' ); Więc wszystko to działa, widzę, że wszystkie moje posty o wydarzeniach mają prawidłowy ciąg dat wstawiony do nowego pola. Tworzę nowy zakres dat na podstawie pierwszego dnia miesiąca i końca miesiąca, ponieważ chcę zobaczyć tylko wydarzenia, które mają miejsce w maju, czerwcu lub lipcu. A jeśli wydarzenie obejmuje kilka miesięcy, powinno pojawić się również w tych miesiącach. $aryDates = createDateRangeArray($startday, $endday); $date_str = implode(', ', $aryDates); Ustawiam moje niestandardowe zapytanie: $all_events = array ( 'post_type' => 'events', 'posts_per_page' => 50, 'status' => 'published', 'meta_query' => array( array( 'key' => 'auto_event_date_span', 'value' => $data_str, 'compare' => 'IN') ) ); Próbowałem wysłać "wartość" jako tablicę, a także jako ciąg. Wiem, że mogę wysłać tablicę w „wartości”, ale nie wiem, czy „pole”, które porównuję, również może zawierać wiele wartości? Czego mi tu brakuje CZY to po prostu nie zadziała? Widzę, że jeśli jest wydarzenie jednodniowe, co oznacza, że w polu "auto_event_date_span" jest tylko jedna data, taka jak 20140116, będzie w stanie dopasować te typy wydarzeń, ale gdy dodam zakres dat do pola, to trochę przestaje działać. porażka. Pytanie brzmi, czy mogę wysłać tablicę lub ciąg i porównać przy użyciu IN w meta_query? Przepraszam, jeśli moje posty są zbyt długie i ostatecznie, po zakończeniu, opublikuję ostateczną, dobrze udokumentowaną odpowiedź na to inaczej trudne pytanie.


title: WP Wstaw post Jeśli użytkownik odświeży, nadpisz nowy post

text: WP Insert Post to bardzo prosta i łatwa w użyciu funkcja. Obecnie mam to ustawione na zdarzenie wywołane przez to, czy użytkownik jest zalogowany podczas rezerwacji, aby potwierdzić swoją rezerwację na własnej stronie. Obawiam się, że jeśli użytkownik odświeży lub wróci i ponownie prześle stronę, otrzyma 2 rezerwacje. Więc staram się temu zapobiec. Jednym z pomysłów, jaki mam, jest użycie sesji, która jest tworzona podczas tworzenia strony z nową rezerwacją. Ta sesja następnie wypełnia identyfikator pola => w tablicy insert post. W ten sposób pominiesz informacje w istniejącym poście. Aby to zadziałało, opierałoby się na domyślnej wartości ID będącej kreacją wordpress, gdyby sesja nie miała wartości, tj. rezerwacja nie została jeszcze dokonana. Czy to zadziała, a jeśli nie, to ktoś wie, jak mogłoby się to udać. Cudowny


title: add_rewrite_rule nie jest uruchamiane

text: Muszę przepisać kilka adresów URL: mam stronę (id = 61), ze ślimakiem „anunciantes”, na którym używam niestandardowego szablonu do wygenerowania „wp_query” w celu wyświetlenia niestandardowego post_type. Muszę być w stanie filtrować według dwóch różnych taksonomii, `area` i `category` function rewrite_rules() { /* Próbowano: global $wp_rewrite; $wp_rewrite->flush_rules(); */ add_rewrite_rule('^/?anunciantes/(.*)/(.*)/$', '/anunciantes/?area=$matches[1]&category=$matches[2]', 'top'); /* Próbowano również: add_rewrite_rule('^/?anunciantes/(.*)/(.*)/$', 'index.php?page_id=61&area=$matches[1]&category=$matches[2]', ' Top'); */ } add_action('init', 'rewrite_rules'); Ale zawsze otrzymuję błąd 404, jeśli próbuję: `/anunciantes/one/two/` (przeszedłem do wp-admin -> permalinks -> zapisz zmiany , rozumiem, że opróżnia zasady przepisywania? ) Więc każdy pomysł, co to jest robię źle?


title: dodać filtr do wp_list_categories i zapytanie, jeśli jest używany do wyświetlania terminów podatkowych?

text: to prawdopodobnie mylący tytuł mojego pytania, ale dokładnie to najlepiej opisuje mój problem. Chcę dodać category-slug jako nazwę klasy do moich danych wyjściowych wp_list_categories(). Znalazłem naprawdę prostą funkcję, która robi dokładnie to, co działa idealnie. add_filter('wp_list_categories', 'add_slug_css_list_categories'); funkcja add_slug_css_list_categories($lista) { $cats = get_categories(); foreach($cats as $cat) { $find = 'cat-item-' . $cat->term_id . ''"'; $replace = 'kategoria-' . $cat->slug . ''"'; $lista = str_replace( $znajdź, $zastąp, $lista ); $find = 'kot-pozycja-' . $cat->term_id . ' '; $replace = 'kategoria-' . $kot->ślimak . ' '; $lista = str_replace( $znajdź, $zastąp, $lista );*/ } return $lista; } Więc teraz mam `class-categoryslug` w moim `li`s dla `wp_list_categories()`` Mam jeszcze tylko jedną małą poprawkę do dodania. Napisałem funkcję, która używa `wp_list_categories()` również do wylistowania moich terminów taksonomii dla hierarchicznej taksonomii i niestandardowego typu post… wygląda tak. function wr_list_taxonomy($taxonomy, $orderby, $hierarchical) { $show_count = 0; $liczba_pad = 0; $tytuł = ''; $args = array( 'taxonomy' => $taxonomy, 'orderby' => $orderby, 'show_count' => $show_count, 'pad_counts' => $pad_counts, 'hierarchical' => $hierarchical, 'title_li' => $tytuł ); return wp_list_categories ($args ); } Mogę więc użyć `wr_list_taxonomy()` i wylistować wszystkie moje terminy taksonomiczne. Chcę mieć to samo dla terminów taksonomii, aby nazwy klas miały powiązany z nimi fragment terminu taksonomii. Byłoby to łatwe, ponieważ muszę tylko zastąpić `$cats = get_categories();` `$cats = get_terms('event_type');` … Jednak mogę zrobić tylko albo. Więc albo wybieram opcję `$cats = get_categories();` i wszystkie moje zwykłe kategorie dla zwykłych wpisów na blogu mają nazwę category-slug jako nazwę klasy, albo używam `$cats = get_terms('event_type');` i całej mojej taksonomii terminy mają kategorię-slug jako nazwę klasy. Nie mam pojęcia, jak mogę określić wewnątrz funkcji `add_slug_css_list_categories()`, czy funkcja jest aktualnie uruchomiona dla normalnych kategorii lub dla moich warunków podatkowych. Pomyślałem o add_filter ('wp_list_categories', 'add_slug_css_list_categories'); function add_slug_css_list_categories($lista) { //$cats = get_terms('event_type'); $koty = get_categories(); //if ( empty( $cats ) ) // $cats = get_categories(); Ale to nie działa. Jakieś pomysły?


title: Jak znak wodny obrazy wordpress z folderu wp-content/uploads za pomocą htaccess i php?

text: Mam stronę Wordpress, ze względu na pewne ograniczenia muszę mieć oryginały zdjęcia po stronie serwera, ale ze znakami wodnymi na frontendzie iz bezpośrednim otwarciem zdjęć. Używam wtyczki do tworzenia treści Frontend i (jak rozumiem) nie wszystkie wtyczki rozwidą się z niestandardowymi polami wejściowymi plików (używane wp_handle_upload). Znalazłem dobre rozwiązanie: plik php + ustawienie htaccess z RewriteRule. Problem w tym, że z jakiegoś powodu to nie działa. Rozwiązanie to: http://dolcepixel.com/how-to-watermark-all-your-uploaded-images/ Kiedy otwieram plik za pomocą: /watermark.php?p=br&q=90&src=wp-content/uploads/link /to/file.jpg wszystko jest w porządku, znak wodny jest na obrazku, ale gdy ten obrazek załaduje się na stronę lub bezpośredni link w przeglądarce - nic się nie dzieje. Ładuje oryginalny obraz bez znaków wodnych. Istnieją dwa główne ustawienia: reguła htaccess RewriteRule ^wp-content/uploads/(.*\.(jpe?g|gif|png))$ watermark.php?p=br&q=90&src=wp-content/uploads/$1 I pełny blok sekcji mod_rewrite: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteRule ^wp-content/uploads/(.*\.(jpe?g|gif|png))$ watermark.php?p=br&q=90&src=wp-content/uploads/$1 </ IfModule> plik php jest większy i działa tak, jak widzę, problem tkwi w czymś innym, ale możesz znaleźć .php pod linkiem na górze posta. Jaki jest problem ze mną, Apache, .htaccess lub Wordpressem? Jeśli istnieje sposób na odmowę dostępu do /uploads/ z możliwością otwierania obrazów przez proxy php – jest to również rozwiązanie, ale gdy próbuję użyć /wp- content/uploads/.htaccess z "deny from all " to nie zadziała, a bezpośredni plik otwiera się bez problemów z przeglądarką. **AKTUALIZACJA:** Reguła nie działa nawet po regule RewriteBase


title: Jak pokonać ustawienie „Strony bloga pokazują co najwyżej __ postów” w pętli?

text:
Używam tego skryptu na moim archive.php, aby wyświetlić listę linków wszystkich postów zawartych w aktualnej kategorii. Jednak ogranicza liczbę wyników w stosunku do liczby przypisanej do „Ustawienia > Czytanie > Strony bloga pokazują co najwyżej ___ postów”. Innymi słowy, w tej kategorii może być 10 postów, ale wyświetla się tylko do liczby przypisanej w tym ustawieniu. Jak zmienić skrypt, aby ignorował to ustawienie? <?php if(is_category()) while (have_posts()) : the_post(); ?> <li id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute( ?>"> <?php the_title(); ?>  <?php echo get_link_excerpt(); ?>
 <?php endwhile; } ?>


title: Jak bezpiecznie podłączyć niektóre teksty Unicode do widżetu kalendarza?

text: Zebrałem dobre cyfry zastępujące funkcję kalendarza WordPress: function make_bangla_number($str) { $engNumber = array('0','1','2','3','4','5','6' „7”, „8”, „9”); $bangNumber = array('০','১','২','৩','৪','৫','৬','৭','৮','৯'); $converted = str_replace($engNumber, $bangNumber, $str); zwróć $przekonwertowane; } Funkcja wyraźnie to stwierdzająca, bierze cyfry angielskie i po prostu zastępuje je cyframi Banglā. Ale problem polega na tym, że podobna funkcja może zastąpić wszystkie miesiące gregoriańskie skryptami Banglā, ale używając funkcji cyfr, mieszam widżet kalendarza. Bo wywołanie: add_filter( 'get_calendar', 'make_bangla_number' ); zastępuje wszystkie cyfry, nawet w kodzie HTML. Załóżmy, że link do poprzedniego miesiąca w HTML:   « Paź  	 pobieranie...   « অক্টোবর  	 Są więc dwa problemy: 1. Kotwica podaje nieprawidłową ścieżkę, więc URL archiwum nie jest ustawiony (`?m=২০১৩১০`) 2. Struktura archiwum widżetów psuje się, ponieważ HTML otrzymuje nieprawidłową wartość dla właściwości HTML (`colspan="৩"`) A wszyscy wiecie, że wszystkie cyfry Unicode mogą być równe wartości liczbowej, ale nie równe ich wartości binarnej. Tak więc cyfra łacińska „1” nie jest odpowiednikiem cyfry Bangla „১” w porównaniu z ich wartością binarną. Jak więc w bezpieczny sposób postępować z takim filtrem/hakiem?


title: Dziwne zachowanie podczas programowego dodawania terminów/term_taksonomii

text: To z pewnością wygląda na błąd. Stworzyłem poniższy kod, abyś mógł go przetestować na nowej instalacji. Zasadniczo kod doda dwie podkategorie pod "uncategorized", aby osiągnąć następujący efekt uncategorized sub-uncategorized sub-sub-uncategorized Brak problemów z dodaniem ich do wp_terms i wp_term_taxonomies. Oba identyfikatory rodzica zostały poprawnie dodane. Problem tkwi w interfejsie użytkownika wp admin. Widzisz tylko nieskategoryzowane i podkategoryzowane. Ostatniego ( sub-sub ) brakuje w akcji! Ale jeśli przejdziesz do menu rozwijanego nadrzędnego na tej samej stronie "dodaj kategorie", zobaczysz, że zarówno sub-uncat, jak i "sub-sub-cat" pojawiają się tam, z odpowiednim wcięciem - pojawiając się dokładnie w następującym poprawnym hierarchy uncategorized sub-uncategorized sub-sub-uncategorized Aby umieścić brakującą podkategorię w głównym widoku, musisz wykonać jeden z następujących kroków: albo przetworzysz wp, zatrzymując i uruchamiając, albo po prostu dodać atrapa kota a następnie kliknij link "kategorie", aby wyświetlić listę wszystkich kotów. Następnie wp pamięta, aby poprawnie wyświetlić napisy.Ktoś ma pojęcie, dlaczego tak się dzieje?Będę wdzięczny za wszelkie programowe środki zaradcze, abym nie musiał przechodzić przez głupie kroki t tylko po to, aby zobaczyć koty.Kod znajduje się poniżej.Po prostu odpowiednio dostosuj ścieżkę wp-load.php, zanim będziesz mógł przetestować ją na nowej instalacji, a następnie sprawdź, co opisałem powyżej dla siebie.<?php raportowanie_błędów ( E_ALL); //load wp shebang na tej stronie to (" wstaw pełną ścieżkę tutaj do wp-load.php"); define('WP_USE_THEMES', fałsz); //dodaj podkategorię pod "bez kategorii", która zawiera świeżą instalację $Term = "Sub-UnCategorized"; $args = array('parent' => 1 ); wp_insert_term ($Term, "kategoria", $args); //dodaj kolejną podrzędną pod ostatnio utworzonym powyżej. $Term = "Sub-Sub-Uncategorized"; $args = array('parent' => 3 ); wp_insert_term ($Term, "kategoria", $args); echo "<pre> Po uruchomieniu tego kodu zauważysz, że w widoku brakuje Sub-Sub-UnCategorized. Zabawne jest jednak menu rozwijane. - Sub-Uncategorized jest tam. Aby wyświetlić brakującą sub-sub-sub, musisz zrobić dwie rzeczy: 1 - Dodaj atrapę kota 2 - Kliknij link kategorii w panelu nawigacyjnym. wp rozwiąże ten problem i zobaczysz wszystko, co powinieneś mieć.Nie mogę dowiedzieć się, co powoduje to zachowanie i jak temu zaradzić, dodając atrapa kota i usuwając go później.</pre>"; ?>


title: Zmień wygląd na podstawie kategorii, ale post jest w dwóch głównych kategoriach

text: Chcę zmienić nagłówek i menu w zależności od kategorii, w której znajduje się post. Mógłbym zduplikować post i przypisać każdą z dwóch kategorii osobno, ale to brzmi niechlujnie i bleh. Post/y w tym przykładzie należą zarówno do „pirtek”, jak i „btcc”. http://www.talkativebroadcasting.co.uk/ ale posty z pirtek musząbyćstylizowane z niestandardowym nagłówkiem itp. (i ewentualnie z niestandardowym menu ... co sprawia, że myślę, że może powinienem po prostu powielić dla łatwej implementacji oddzielnego menu ?) Co myślisz? W obecnej postaci mój standardowy nagłówek ma priorytet <php if ( has_category('pirtek')) { $header = 'http://www.talkativebroadcasting.co.uk/wp-content/uploads/2013/11/cropped- pirtekheader.png' } else { $header = 'http://talkativebroadcasting.co.uk/wp-content/uploads/2013/06/cropped-talkativeheader2.png' } ?>


title: Najlepsze praktyki dotyczące zapisywania/pobierania danych formularzy w zakresie tworzenia motywów

text: Tworzę motyw i mam niestandardowy szablon strony z „<formularz>”, który odwiedzający mogą wypełnić i przesłać. Przetwarzam dane za pomocą hooków i to wszystko jest oddzielone od pliku szablonu. Doszedłem do momentu, w którym muszę zapisać dane do bazy danych. Jakie są najlepsze praktyki, jeśli chodzi o zapisywanie niestandardowych danych formularzy dla programisty motywów? Spodziewam się co najmniej tysiąca przesłanych formularzy i około dziesięciu różnych danych pól, które zostaną zapisane. Czy powinienem 1. Utworzyć oddzielną tabelę db i użyć $wpdb do zapisywania/odzyskiwania danych 2. Utworzyć niestandardowy post i utworzyć wpis dla każdego przesłania formularza 3. Coś mądrzejszego (do Ciebie)


title: Jak ustrukturyzować wtyczkę

text: To nie jest pytanie o to, jak zbudować wtyczkę WordPress. Raczej, jakie, jeśli w ogóle, przewodniki można zastosować do tego, jak złożyć architekturę plików dowolnej wtyczki. Niektóre inne języki programowania lub biblioteki mają bardzo kontrolowane sposoby organizowania katalogów i plików. Czasami jest to denerwujące i podkreśla swobodę, jaką oferuje PHP, ale z drugiej strony wtyczki WordPress są łączone w dowolny sposób określony przez ich autora. _Nie ma właściwej odpowiedzi_ , ale mam nadzieję, że udoskonalę sposób, w jaki ja i inni budujemy wtyczki, aby były one bardziej przyjazne dla innych programistów do analizowania, łatwiejsze do debugowania, łatwiejsze w nawigacji i prawdopodobnie bardziej wydajne. Ostatnie pytanie: **Jak myślisz, co jest najlepszym sposobem na zorganizowanie wtyczki?** Poniżej znajduje się kilka przykładowych struktur, ale w żaden sposób nie jest to wyczerpująca lista. Zapraszam do dodawania własnych rekomendacji. **Założona struktura domyślna** * `/wp-content` * `/plugins` * `/my-plugin` * `my-plugin.php` **Metoda kontrolera widoku modelu (MVC)** * `/wp- content` * `/plugins` * `/my-plugin` * `/controller` * `Controller.php` * `/model` * `Model.php` * `/view` * `view.php` * `mój -plugin.php` Trzy części _MVC:_ * **Model** współdziała z bazą danych, wysyłając zapytania i zapisując dane oraz zawiera logikę. * **Kontroler** zawierałby tagi szablonów i funkcje, z których korzystałby widok. * **Widok** odpowiada za wyświetlanie danych dostarczonych przez model skonstruowany przez kontroler. **Porządkowane według metody typu** * `/wp-content` * `/plugins` * `/my-plugin` * `/admin` * `admin.php` * `/assets` * `css/` * ` images/` * `/classes` * `my-class.php` * `/lang` * `my-es_ES.mo` * `/templates` * `my-template.php` * `/widgets` * `my -widget.php` * `my-plugin.php` **Luźno zorganizowana metoda** * `/wp-content` * `/plugins` * `/my-plugin` * `css/` * `images/` * `js/` * `my-admin.php` * `my-class.php` * `my-template.php` * `my-widget.php` * `my-plugin.php`


title: Dlaczego administrator ajax ponownie ładuje moją stronę?

text: O ile wiem, nie używałem Ajax nigdzie w moim kodzie. Jednak podczas debugowania mam trafione punkty przerwania za pomocą „admin-ajax.php” w katalogu głównym stosu wywołań. To drugie trafienie mojego punktu przerwania następuje między 10 a 30 sekundami po oryginale. Dziwne jest to, że na razie nie ma wyjścia HTML, więc w przeglądarce nie ma żadnych skryptów. Jakieś pomysły, dlaczego lub gdzie tak się dzieje i dlaczego moje skrypty php są wywoływane dwukrotnie?


title: Załaduj strony nadrzędne, gdy nie ma stron podrzędnych

text:
Używam następującego kodu do ładowania podstron w pasku bocznym na wszystkich stronach: <?php $children = wp_list_pages('title_li=&child_of='.$post->ID.'&echo=0&depth=1'); if ($dzieci) { ?>
 <?php echo $dzieci; ?>
 <?php } ?> Działa dobrze na wszystkich stronach z podstronami lub dziećmi. Ale co, jeśli chcę, aby ten pasek boczny ze stronami dla dzieci ładował się z rodzicami], gdy nie ma dzieci? Jaki kod dodać do innego if lub elseif? Zasadniczo muszę dodać „Brak dzieci? Następnie ładuje strony nadrzędne..` **Aktualizacja:** Na http://www.fldtrace.com/wordpress/how-to-display-parent-page-title-in-wordpress Znalazłem ten kod do załadowania strony nadrzędnej link: <?php $parent_title = get_the_title($post->post_parent);?> <a href="<?php echo get_permalink($post->post_parent) ?>"><?php echo $parent_title;?> Świetnie, ale muszę wymienić wszystkie strony nadrzędne, które są podstronami dziadka...


title: tytuły w ostatnich postach pojawiają się razem we wszystkich językach z qtranslate

text: Miałem do czynienia z problemem qtranslate (używam motywu dwadzieścia dziesięć) i mam nadzieję, że nie możesz mi pomóc, przeszukiwałem fora i strony, ale bezskutecznie (ich rozwiązanie jest dla innych o nazwie atahualpa). Przede wszystkim prędkość ładowania jest zbyt niska. Innym problemem jest to, że mam statyczną stronę, która na razie korzysta z wtyczki „Yet Another Related Posts Plugin”, ponieważ jest to jedyna wtyczka, którą znalazłem, która pokazuje listę ostatnich postów z wyróżnioną miniaturą (ale mam problem z tym nie łamać linii dla tekstów eksperckich), a następnie na innych stronach używam "NuRelm Get Posts", aby uzyskać listę najnowszych postów z określonej kategorii (jak tutaj http://eltemadehoy.net/?page_id=11 ). Mój problem polega na tym, że w tym „NuRelm Get Posts” (oprócz braku możliwości korzystania z miniatur) wszystkie tytuły postów, które są tłumaczone za pomocą qtranslate, są wyświetlane w sposób ciągły VG „Porque al mundo le importa la independencia de Escocia”. Dlaczego świat się o to troszczy Niepodległość Szkocji”. Tak więc tytuły pojawiają się jeden po drugim w obu językach. Mam część treści, która jest przetłumaczona, a część nie, ale może być w przyszłości. na razie po prostu zostawiam puste inny nieprzetłumaczony tytuł, treść i fragment postu. Ale te są tłumaczone niezmiennie otrzymują zduplikowany tytuł. Prosimy o pomoc.


title: język wp zmieniony po aktualizacji do centos 5.8

text: Mam hiszpańskiego bloga wordpress. po aktualizacji centos 5.7 do 5.8 język zmienił się na angielski. jak mogę go odzyskać do hiszpańskiego?


title: Zbiorcze ustawienia motywów w wordpressie multisite

text: Mam multisite z ponad 500 podstronami. Chciałbym zainstalować ten sam motyw we wszystkich ponad 500 witrynach. Większość z nich wymaga konfiguracji, takiej jak wybór paska bocznego (lewo/prawo), wybór menu głównego itp. Czy jest dostępna jakaś wtyczka do tego zadania? LUB Czy ktoś może dać mi jakiś pomysł? Dziękuję


title: Dynamiczne generowanie wywołań add_settings_section()

text: Mam kilka kawałków kodu w functions.php, które mógłbym łatwo zastąpić znacznie krótszymi funkcjami, jak na przykład: function register_sections() { add_settings_section('COŚ_ustawienia', 'COŚ Ustawienia', 'Generuj', 'COŚ_strony'); add_settings_section('COŚ 2_ustawienia', 'Ustawienia COŚ 2', 'wygeneruj', 'COŚ 2_strona' ); add_settings_section('COŚ 3_ustawienia', 'COŚ 3_ustawienia', 'wygeneruj', 'COŚ 3_strona' ); add_settings_section('COŚ 4_ustawienia', 'COŚ 4_ustawienia', 'Generuj', 'COŚ 4_strona' ); (...) } add_action('admin_init', 'register_sections'); Wydaje mi się, że funkcja zastępująca powyższy kod będzie wyglądać tak: function settings_sections() { $array = ('COŚ','COŚ2','COŚ 3', 'COŚ 4'); foreach($array as $section) { echo "add_settings_section('".$section."_settings','".$section." Ustawienia','generate','".$section."_page' ;"; } Ale nie jestem pewien, jak zainicjować tę dynamicznie generowaną zawartość? Oczywiście `add_action('admin_init', 'settings_sections');` wyświetla wyniki funkcji na wszystkich stronach administratora zamiast rejestrowania sekcji.


title: Migracja do Wordpressa – ale w jaki sposób zrobi „ustrukturyzowane” dane?

text: Przez lata opiekowaliśmy się kilkoma witrynami Wordpress, ale nigdy nic więcej niż trochę konserwacji. Nigdy nie zaczynaliśmy od zera w Wordpressie ani nie przekonwertowaliśmy istniejącej witryny na Wordpress. Ale nasze sporadyczne szczotkowanie z Wordpressem zawsze było pozytywne. Więc teraz _myślimy_ o przekonwertowaniu istniejącej witryny na WP. Jedną z obaw, jako stosunkowo początkujący, jest to, jak będzie przetwarzać **ustrukturyzowane** dane? Na przykład mamy witrynę, w której właściciel witryny umieszcza własny spis produktów, cenę, wymiary, opis itp. Plus trzy obrazy z boku. Uproszczona makieta: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/GWEqC.png) Jestem pewien, że WP może zrobić to ustrukturyzowane rzeczy, ale jaka jest droga naprzód? Zakładam, że możliwości są następujące: 1. Uczyń każdy produkt "postem", a właściciel strony sam musi określić wymiary, cenę, zdjęcia itp. Dowolny styl. _tj. W ogóle nieustrukturyzowane. Nie do końca to, czego szukamy._ 2. Wyszukaj wtyczkę „Inwentaryzacja” lub „Informacje o produkcie”. _Jestem pewien, że takie rzeczy istnieją, ale czy jest prawdopodobne, że zrobią dokładnie to, czego chcemy? np. czy zmusi to użytkownika do umieszczenia dokładnie 3 zdjęć, a następnie ułożenia ich dokładnie według istniejącej witryny, z boku itp. Plus co jeśli mamy bardzo specyficzne dla domeny pola produktów (nie tylko kolor, cena). Czy będzie to dozwolone?_ 3. Zanurz się w PHP i zapisz ustrukturyzowaną stronę w motywie. _Nie jestem pewien, czy to właściwa terminologia, ale dla nowicjusza PHP nie byłaby to nieznaczna krzywa uczenia się_ Czy te trzy pomysły są poprawne i jaka jest droga naprzód?


title: get_term_children zwraca nieznany int, chociaż termin nie ma dziecka

text: Uruchamiam get_term_children, aby sprawdzić, czy termin ma dzieci. W przypadku terminu, który nie ma dzieci, wp zwraca tablicę zawierającą pojedynczy int : 12, chociaż nie odnosi się to do żadnego terminu. Ostatnio jednak usunąłem termin podrzędny. $hasChildren = get_term_children( $categories[$i]->term_id, 'mój_podatek' ); var_dump($maDzieci); zwraca tablicę (rozmiar=1) 0 => int 12


title: pola get_post_meta nie pojawiają się na stronie postów

text: Jestem tu nowy i do kodowania! Ciężko pracowałem (tak, tak ciężko... tak ciężko) nad stworzeniem mojej strony internetowej iz okazjonalną pomocą stworzyłem wygląd, który lubię używać niestandardowych pól get_post_meta dla mojego banera i tła pod header.php. <div id="page" class="hfeed site"> <?php do_action( 'przed' ); ?> <?php $banner = get_post_meta($post->ID, 'baner', prawda); if (is_front_page() || $banner == '') { ?> <header id="masthead" class="site-header" role="banner"> <?php } else { ?> <header id=" masthead" class="site-header" role="banner" style="background-image: url(<?=$banner?>); background-size:cover"> <?php } ?> _Ale ja naprawdę natknąłem się na ten problem_ --żadne z nich nie pojawia się na mojej stronie /blog, która jest dość ważną stroną; pokazuje tylko ogólną zawartość nagłówka witryny, taką samą jak na pierwszej stronie. Zbadałem wystarczająco dużo, aby zrozumieć, że dzieje się tak, ponieważ mam stronę bloga ustawioną jako stronę postów (ze statyczną stroną główną), więc nie odwołuje się do tej samej zawartości header.php co strony, ale raczej do „szablonu strony głównej”, który jest szablonem, który indeksuje posty, więc moja strona /blog nie ma już identyfikatora strony i nie jest uwzględniona w `<div id="page">`, do którego odnoszą się moje niestandardowe pola. Jak więc sprawić, by ten szablon indeksu postów odwoływał się do tego samego kodu banera, co _strony_ mojej witryny? Rozwiązanie na tej stronie — pola niestandardowe nie wyświetlają się na mojej stronie bloga — również wydaje się odpowiednie dla mojego problemu, ale nie wiem, jak i gdzie użyć kodu `get_option( 'page_for_posts' )` w moim własny kod!


title: Jak dodać dodatkowe elementy w menu nawigacji wp?

text: Mam menu w wordpressie, w którym każdy element menu ma dodatkowy element. Na przykład: mam pozycję menu „Strona główna”, w której mam dodatkową pozycję „przyjdź do nas”, mam pozycję menu „O nas”, w której mam dodatkową pozycję „Poznaj nas”. Na przykład: Mam element menu li, tj.: * HOME przyjdź do nas Jak uzyskać ten element span osobno dla każdego elementu menu. Zastanawiam się tylko, jak to zrobić w wp_nav_menu w wordpressie. To jest wordpress i myślę, że to powinno być możliwe. Doceniam Twoją pomoc. Dziękuję.


title: Nie znaleziono strony 404 tylko dla jednego posta

text: Mam ponad 40 postów na moim blogu. Tylko jeden z nich przechodzi do strony 404 po kliknięciu tytułu (odwiedź permalink). Aby zobaczyć to w akcji: http://thegrovestead.com/tag/strawberries/ Poszukaj posta „Cure for the common slug” i kliknij tytuł (permalink: http://thegrovestead.com/cure-for-the- common-slug/) Otrzymasz błąd 404. Pamiętaj, że wszystkie inne posty na tej stronie będą wyświetlać grzywnę za pojedynczy post. Mój htaccess jest czysty: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # KONIEC WordPress Wyłączyłem wszystkie wtyczki. Próbowałem usunąć i odtworzyć post, wciąż otrzymuję błąd 404. Jeśli zmodyfikuję ślimak o jedną literę, to działa. Ale powyższy link bezpośredni nie działa. Musi być wyjaśnienie. Jakakolwiek rada?


title: Naprawiono puste tytuły postów podczas korzystania z wtyczki WP Yoast SEO

text: Mam filtr do naprawy wizualnie pustych tytułów postów w WordPressie, zastępując je fragmentem treści add_filter( 'the_title', 'empty_title_fix' ); add_filter( 'single_post_title', 'empty_title_fix'); function empty_title_fix( $titles ) { if ( strlen( trim( $titles )) < 1 ) { $daa = get_post($idd); $treść = $daa->post_treść; $contents = trim(strip_tags($conten)); if (strlen($zawartość) > 40) { $tytuły = substr($zawartość, 0, 40) . „...”; } elseif (strlen($zawartość) == 0) { $format = get_post_format(); if ( false === $format ) { $format = 'post'; } $tytuły = ucfirst($format); } else { $tytuły = substr($zawartość, 0, 40); } } return $tytuły; } Kiedy używam wtyczki Yoast SEO, poprzednie filtry nie mają zastosowania do systemu używanego przez Yoast do wypełniania tagu `WP_Title()` zmiennymi i po prostu pokazują pusty tytuł posta. Próbowałem użyć podobnej rzeczy do kodu opublikowanego przy użyciu filtra `wpseo_title`, ale to nie działa, ponieważ kończy się zastąpieniem całego tytułu i ignorowaniem innych zmiennych (takich jak %%sep%% i %%sitename%%) .


title: Pętla warunkowa na podstawie bieżącej strony

text:
Próbuję uzyskać pętlę poniżej, aby wyświetlić tylko post z kategorią, która odzwierciedla dany warunek, ale wydaje się, że nie działa. Jakieś pomysły, jak można to osiągnąć? <?php if ( is_page('css-tutorial')); globalne $x; $x = 'css'; ?> <?php // przypisz zmienną jako bieżącą kategorię $category = $x; // połącz zapytanie $args = 'category_name=' . kategoria $; // uruchom zapytanie query_posts( $args ); $query = nowe WP_Query('category_name=$x'); if($query->have_posts()) : while($query->have_posts()) : $query->the_post(); ?>

 <?php the_post_thumbnail($rozmiar, $attr); ?>

 <?php the_title(); ?>
 <?php the_fragment(); ?> <a href="<?php echo get_permalink(); ?>"> <?php the_author(); ?> | <?php data_(); ?> | → Kontynuuj

  <?php endwhile; ?> <?php endif; ?>


title: Włączanie tworzenia użytkowników za pomocą „Integracji z Active Directory”

text: Dla naszej wewnętrznej strony wordpress zainstalowaliśmy wtyczkę „Integracja z Active Directory” i jesteśmy w stanie umożliwić logowanie użytkowników przy użyciu hasła domeny. Jak sprawić, by użytkownicy byli tworzeni automatycznie? Ponadto nie udało mi się uzyskać przewodnika krok po kroku, który zawiera wszystko o tej wtyczce. Wszelkie sugestie byłyby bardzo mile widziane. Dzięki, Kannan.


title: Utworzyć posty za pomocą przecen?

text: Czy mogę zastąpić edytor WYSIWYG edytorem przecen? Jeśli tak, jakiej wtyczki mogę użyć?


title: Wdrożenie menu responsywnego dwadzieścia trzynaście w dwudziestu dwunastym

text: W przeszłości stworzyłem wiele motywów potomnych z 2012 roku, ponieważ motyw naprawdę odpowiada moim ogólnym potrzebom, ale jego responsywność nigdy nie była tak ważna. Teraz jednak tworzę stronę, która naprawdę potrzebuje dobrego responsywnego menu. I szczerze mówiąc, myślę, że ten z 2012 roku jest okropny. Więc szukam sposobu na zaimplementowanie menu 2013 (lub innego menu typu responsywnego, takiego jak: http://demos.cyberchimps.com/responsivepro/) w motywie 2012. Nie mam pojęcia, od czego zacząć, więc miałam nadzieję, że ktoś tutaj wskaże mi właściwy kierunek. Dziękuję.


title: Problem z aktualizacją SSH

text: ![alt text](http://i.stack.imgur.com/tjqez.png) Ciągle pojawia się ten sam błąd, jakieś pomysły? 1. Wygenerowałem klucz bez hasła używając `ssh-keygen` 2. Ustawiłem uprawnienia do kluczy na 600 3. Pomyślnie zalogowałem się używając `ssh -i /root/.ssh/id_rsa 1**.* *.*8.128` 4. Próbowałem zmienić nazwę hosta na `localhost` i `127.0.0.1` Serwer pracuje pod kontrolą CentOS 5.4.


title: Dodaj listę terminów jako klasę

text: Próbuję dodać listę terminów jako klasę dla niestandardowych typów postów. <?php while($portfolio->have_posts()) : $portfolio->the_post(); ?> <?php $categories = get_the_terms($post->ID, 'project_type'); foreach($kategorie jako $kategoria){ return $kategoria->nazwa; } ?> <div class='kafelek portfolio <?php echo $kategoria ;?>'> <?php the_post_thumbnail('medium' ); ?> </div> <?php endwhile; ?> </div> <?php wp_reset_query(); ?>


title: Czy strona 404 to to samo, co strona „to jest krępujące”?

text: Nie jestem pewien, czy wordpress 3 zaktualizował się z wyświetlania 404 stron do tekstu „no cóż, to jest krępujące” na stronach, których tam nie ma, ale chciałbym wiedzieć, czy samouczki, które mówią „napraw swoje strony 404” naprawiłbym również moją stronę "cóż, to jest krępujące". Dzięki EDIT: Załóżmy, że to najnowszy temat dwudziestu jedenastu.


title: Czy można jednocześnie pobrać post i jego metadane?

text: Zwykle używam dwóch kroków, aby pobrać listę postów i powiązanych metadanych: wywołaj get_posts (lub niestandardowe WP_Query), a następnie przejdź przez każdy zwrócony post i pobierz metadane każdego postu jeden po drugim. Czy istnieje sposób na połączenie tego w jedno zapytanie? Chyba szukam czegoś takiego jak funkcja get_posts_with_meta()?


title: Uzyskaj post_id nowego posta

text: Istnieje kilka sposobów na uzyskanie identyfikatora posta po jego zapisaniu (automatycznie itp.), ale czy istnieje sposób na uzyskanie identyfikatora posta natychmiast po utworzeniu nowego posta? Próbuję utworzyć katalog przy użyciu identyfikatora postu, ale nie mogę uzyskać statycznego identyfikatora postu. poniższy kod wydaje się działać, ale otrzymuję automatycznie zwiększony identyfikator za każdym razem, gdy nowy post automatycznie zapisuje wersję roboczą, ciągle otrzymuję nowy numer. function mojafunkcja( $id ) { if (!file_exists("/www/foo/blog/wp-content/uploads/" . $id)) { mkdir("/www/foo/blog/wp-content/uploads/" $id, 0777); } } add_action('save_post', 'myfunction'); Chciałbym otrzymać identyfikator posta, pod którym zostanie zapisany. Na pewno WP ma metodę na określenie tego poprawną? Czy też wersja robocza automatycznie zapisuje się co minutę, zwiększając id o jeden, aż do kliknięcia rzeczywistego przycisku „opublikuj”? myśli? Twoje zdrowie! bo


title: Niezdefiniowany indeks. Ale isset nie działa?

text:
Mam ikony społecznościowe, które są ustawiane za pomocą moich opcji motywów w WP. Oczywiście, jeśli nie zostaną wprowadzone, otrzymuję błąd Undefined Index. Próbowałem zawijać isset, który usuwa błąd, ale kiedy mój panel opcji jest zapisywany, pokazuje wszystkie ikony? Nawet jeśli nie zostały ustawione? Nie wiesz, jak poprawnie wykonać isset?
 <?php if ( $theme_global['social-twitter'] ) { ?>
<a class="social-twitter" href="<?php echo $theme_global[ 'social-twitter']; ?>" title="<?php _e( 'Wyświetl profil na Twitterze', 'lang' ); ?>" target="_blank">
Twitter

 <?php } if ( $theme_global['social-facebook'] ) { ?>
<a class="social-facebook" href="<?php echo $theme_global['social-facebook']; ?>" title="<?php _e( 'Wyświetl profil na Facebook'u', 'lang' ) ; ?>" target="_blank">
Facebook

 <?php } if ( $theme_global['social-linkedin'] ) { ?>
<a class="social-linkedin" href="<?php echo $theme_global['social-linkedin'] ; ?>" title="<?php _e( 'Wyświetl profil LinkedIn', 'lang' ); ?>" target="_blank">
Linkedin

 <?php } if ( $theme_global['social-pinterest'] ) { ?>
<a class="pinterest-społecznościowy" href="<?php echo $theme_global['pinterest-społecznościowy']; ?>" title="<?php _e( 'Wyświetl profil na Pinterest', 'język'); ?>" target="_blank">
Pinterest

 <?php } ?>
 Wielkie dzięki


title: Jak zmodyfikować klasę w load-scripts.js ?

text: Muszę uprościć interfejs edycji obrazu i nadpisać kilka funkcji zdefiniowanych w load-scripts.js w klasie imageEdit. Czy jest sposób, aby to obejść? I istnieje nieskomplikowana wersja javascriptu wp backoffice? Dziękuję ^^


title: Jak zmienić język mojej witryny z angielskiego na duński?

text: Stworzyłem stronę internetową w Wordpress w języku angielskim. Teraz chcę zmienić język na duński. Proszę, pomóż mi, jak to zmienić... Chcę zmienić w najprostszy i bardzo mniej czasochłonny proces... Proszę, pomóż mi....


title: Niektóre posty od niestandardowego typu postu po subdomeny

text: Mam niestandardowy typ postu, w którym wszystkie posty są powiązane z niektórymi osobami. **Like:** `mysite.com/masters/master-name/` I muszę mieć przekierowanie z `master-name.mysite.com`. To przekierowanie zostanie utworzone automatycznie.


title: Z którą funkcją wordpress jest połączony skrót napisów?

text: Użyłem tego kodu w treści mojej strony, aby spróbować wyprowadzić obraz + podpis z niestandardową klasą podpisu i identyfikatorem... `[caption id="my-caption-id" class="my-caption-class" align= "alignnone" width="399"]<img src="cokolwiek.jpg" alt="cokolwiek" width="399" height="600" /> Mój tekst podpisu[/caption]` ...ale identyfikator podpisu a nazwy klas nie są wyprowadzane. Po kilku poszukiwaniach znalazłem funkcję `img_caption_shortcode` w wp-include/media.php, która obsługuje atrybuty id i class w shortcode `[caption]`, ale po kilku eksperymentach wydaje się, że ta funkcja nie jest wykonywana z Shortcode `[caption]`... Czy ktoś wie, z którą funkcją jest powiązany krótki kod `[caption]`? (i/lub jak uzyskać atrybuty class i id, które mają być wyprowadzane w podpisie?) Używam WordPressa 3.9.2 .


title: Dołącz kategorię do zapytania podatkowego

text: Używam wtyczki The Events Calendar, ale pomyślałem, że opublikuję ją tutaj, ponieważ uważam, że ta konkretna funkcja działa tak samo jak `get_posts()`. Próbuję użyć funkcji do wyświetlenia tylko postów z jednej konkretnej kategorii ('Lead Event'): <?php $args = array( 'posts_per_page' => 5, 'eventDisplay' => 'all', 'tax_query' , array( array( 'taxonomy' => 'typ-zdarzenia', 'field' => 'slug', 'terms' => 'lead-event' ) ), ); $wydarzenia = tribe_get_events( $args ); ?> Ale to tylko zwraca 5 postów, bez względu na to, w jakiej kategorii się znajdują, próbowałem też z operatorem `IN`, ale nadal bez powodzenia: <?php $args = array( 'posts_per_page' => 5, 'eventDisplay ' => 'all', 'tax_query', array( array( 'taxonomy' => 'typ-zdarzenia', 'field' => 'slug', 'terms' => 'lead-event', 'operator' = > „W” ) ), ); $wydarzenia = tribe_get_events( $args ); ?> Czy ktoś może zobaczyć, co robię źle?


title: Cherry framework dodający niestandardowy typ postu

text: Wygląda na to, że szukanie informacji jako dokumentacji programistów dla frameworka cherry nie istnieje. Próbuję dodać niestandardowy post-type z następującym kodem w moim pliku inicjującym motyw: (ten kod działa dobrze w standardowej instalacji używanej z motywem z frameworkiem cherry, którego nie wyświetla, po prostu pojawia się błąd 404) < ?php add_action( 'after_setup_theme', 'my_setup' ); if ( ! function_exists( 'my_setup' ) ): function my_setup() { // Ten motyw stylizuje edytor wizualny za pomocą editor-style.css, aby pasował do stylu motywu. add_editor_style(); // Ten motyw używa miniaturek postów if ( function_exists( 'add_theme_support' ) ) { // Dodano w 2.9 add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 299, 190, prawda ); // Normalne miniaturki postów add_image_size( 'slider-post-thumbnail', 1386, 563, true ); // Miniatura suwaka add_image_size( 'kciuk-suwaka', 96, 41, prawda ); // Suwak Small Thumbnail } // Dodaj domyślne posty i komentarze Linki do kanału RSS add_theme_support( 'automatic-feed-links' ); // obsługa niestandardowego menu add_theme_support( 'menus' ); if ( function_exists( 'register_nav_menus' ) ) { register_nav_menus( array( 'top_header_menu' => 'Górne menu nagłówka', 'header_menu' => 'Menu nagłówka', 'footer_menu' => 'Menu stopki' ) ); } } endif; /* Suwak */ function my_post_type_slider() { register_post_type( 'slider', array( 'label' => __('Slajdy', CURRENT_THEME), 'singular_label' => __('Slide', CURRENT_THEME), '_builtin' = > false, 'exclude_from_search' => true, // Wyklucz z wyników wyszukiwania 'capability_type' => 'page', 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => false, 'rewrite' = > array( 'slug' => 'slide-view', 'with_front' => FALSE, ), 'query_var' => "slide", // To przechodzi do schematu WP_Query 'menu_icon' => get_template_directory_uri() .' /includes/images/icon_slides.png', 'supports' => array( 'title', 'custom-f pola', 'miniaturka') ) ); } add_action('init', 'my_post_type_slider'); /* Portfolio */ function my_post_type_portfolio() { register_post_type( 'portfolio', array( 'label' => __('Projekty', CURRENT_THEME), 'singular_label' => __('Project', CURRENT_THEME), '_builtin' = > fałsz, 'public' => prawda, 'show_ui' => prawda, 'show_in_nav_menus' => prawda, 'hierarchical' => prawda, 'capability_type' => 'strona', 'menu_icon' => get_template_directory_uri() .' /includes/images/icon_portfolio.png', 'rewrite' => array( 'slug' => 'portfolio-view', 'with_front' => FALSE, ), 'supports' => array( 'title', 'editor ', 'miniaturka', 'wypis', 'pola niestandardowe', 'komentarze') ) ); register_taxonomy('portfolio_category', 'portfolio', array('hierarchical' => true, 'label' => 'Kategorie', 'singular_name' => 'Kategoria', "rewrite" => true, "query_var" => true )); register_taxonomy('portfolio_tag', 'portfolio', array('hierarchical' => false, 'label' => 'Tagi', 'singular_name' => 'Tag', 'rewrite' => true, 'query_var' => true )); } add_action('init', 'my_post_type_portfolio'); /* Referencje */ function my_post_type_testi() { register_post_type( 'testi', array( 'label' => __('Referencje', CURRENT_THEME), 'public' => true, 'show_ui' => true, 'show_in_nav_menus' = > false, 'menu_position' => 5, 'rewrite' => array( 'slug' => 'widok-opinii', 'with_front' => FALSE, ), 'supports' => array( 'title', 'custom -pola', 'miniaturka', 'edytor') ) ); } add_action('init', 'my_post_type_testi'); /* Usługi */ function my_post_type_services() { register_post_type( 'usługi', array( 'label' => __('Usługi', CURRENT_THEME), 'public' => true, 'show_ui' => true, 'show_in_nav_menus' = > false, 'menu_position' => 5, 'rewrite' => array( 'slug' => 'service-view', 'with_front' => FALSE, ), 'supports' => array( 'title', 'thumbnail ', 'redaktor') ) ); } add_action('init', 'my_post_type_services'); /* Często zadawane pytania */ function phi_post_type_faq() { register_post_type('faq', array( 'label' => __('FAQ', CURRENT_THEME), 'singular_label' => __('FAQ', CURRENT_THEME), 'public' = > false, 'show_ui' => true, '_builtin' => false, // To niestandardowy typ posta, nie wbudowany w '_edit_link' => 'post.php?post=%d', 'capability_type' => ' post', 'hierarchical' => false, 'rewrite' => array("slug" => "faq"), // Permalinks 'query_var' => "faq", // To przechodzi do schematu WP_Query 'supports' => array('title','autor','editor'), 'menu_position' => 5, 'publicly_queryable' => true, 'exclude_from_search' => false, )); } add_action('init', 'phi_post_type_faq'); /* Nasz zespół */ function my_post_type_team() { register_post_type( 'team', array( 'label' => __('Nasz zespół', CURRENT_THEME), 'singular_label' => __('Osoba', CURRENT_THEME), '_builtin ' => false, 'exclude_from_search' => true, // Wyklucz z wyników wyszukiwania 'capability_type' => 'page', 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => false, 'menu_position ' => 5, 'rewrite' => array( 'slug' => 'widok zespołowy', 'with_front' => FALSE, ), 'supports' => array( 'title', 'custom-fields', ' edytor', 'miniaturka') ) ); } add_action('init', 'my_post_type_team'); function products_post_type() { $labels = array( 'name' => _x( 'Produkty', 'Ogólna nazwa typu posta', 'text_domain' ), 'singular_name' => _x( 'Produkt', 'Pojedyncza nazwa typu posta' , 'text_domain' ), 'menu_name' => __( 'Produkty', 'text_domain' ), 'parent_item_colon' => __( 'Produkt nadrzędny:', 'text_domain' ), 'all_items' => __( 'Wszystkie produkty ', 'text_domain' ), 'view_item' => __( 'Wyświetl produkt', 'text_domain' ), 'add_new_item' => __( 'Dodaj nowy produkt', 'text_domain' ), 'add_new' => __( ' Nowy produkt', 'text_domain' ), 'edit_item' => __( 'Edytuj produkt', 'text_domain' ), 'update_item' => __( 'Aktualizuj produkt', 'text_domain' ), 'search_items' => __( 'Wyszukaj produkty', 'text_domain' ), 'not_found' => __( 'Nie znaleziono produktów', 'text_domain ' ), 'not_found_in_trash' => __( 'Nie znaleziono produktów w Koszu', 'text_domain' ), ); $args = array( 'label' => __( 'produkt', 'text_domain' ), 'description' => __( 'Strony z informacjami o produktach', 'text_domain' ), 'labels' => $labels, 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'custom-fields', ), 'taxonomies' => array( 'category', 'post_tag' ), 'hierarchical' => false , 'public' => prawda, 'show_ui' => prawda, 'show_in_menu' => prawda, 'show_in_nav_menus' => prawda, 'show_in_admin_bar' => prawda, 'menu_position' => 5, 'can_export' => prawda, 'has_archive' => prawda, 'exclude_from_search' => fałsz, 'publicly_queryable' => prawda, 'capability_type' => 'strona', ); register_post_type( 'produkt', $args ); } // Zaczep do akcji 'init' add_action( 'init', 'products_post_type'); function my_connection_types() { p2p_register_connection_type( array( 'name' => 'testi_to_product', 'from' => 'testi', 'to' => 'product', 'admin_box' => array( 'show' => 'dowolny ', 'context' => 'zaawansowane') ) ); } add_action( 'p2p_init', 'my_connection_types' ); ?> po stworzeniu nowych produktów nie mogę wyświetlić posta, po prostu pojawia się błąd 404, dla kategorii i pojedynczej strony. czy ktoś zdołał dodać nowy post-type do frameworka cherry i może wskazać mi właściwy kierunek, aby poprawnie go zintegrować?


title: Zaawansowane wp_query - niestandardowa data i nazwa posta

text: Próbuję napisać zapytanie i posortować według: 1. **niestandardowa data** 2. **nazwisko (w odwrotnej kolejności)** ponieważ moje nazwiska mają na końcu ciąg wersji, a ostatni wpis powinien pozostać na jeden na drugim. Dlatego **posty powinny być wyświetlane w następującej kolejności** : 1. Nazwisko A Wersja 10 (najnowsza data) 2. Nazwisko A Wersja 09 (starsza data) 3. Nazwisko A Wersja 08 (najstarsza data) 4. NazwiskoB Wersja 05 (najnowsza data) ) 5. NazwiskoB Wersja 04 (starsza data) i tak dalej... **Poniższy kod już wyświetla posty z uwzględnieniem niestandardowej daty, jak tak** : 1. NazwiskoA Wersja 10 (najnowsza data) 2. NazwiskoB Wersja 05 (najnowsza data) 3. Nazwisko A Wersja 09 (starsza data) 4. Nazwisko A Wersja 08 (najstarsza data) 5. NazwiskoB Wersja 04 (starsza data) i tak dalej... **ale jak mogę posortować posty po nazwie? ** <?php $dzisiaj = data('R-m-d'); $args = array( 'post_type' => 'product', //'posts_per_page' => 50, 'product_cat' => $catTerm->slug, 'post_status' => 'publish', //'orderby' => 'name', //'order' => 'ASC', 'meta_query' => array( array( 'key' => 'PUBLICATIONS_date', // rr-mm-dd 'value' => $dzisiaj, // wartość do porównania 'compare' => '<=', // metoda porównania 'type' => 'CHAR', //'paged' => $paged //'type' => 'DATE' ) ) ); ?> Jakakolwiek pomoc byłaby bardzo mile widziana.


title: Pole użytkownika i stanowisko dostępu

text:
Stworzyłem dwa niestandardowe typy postów (tutaj all'code). Używam wtyczki ACF do tworzenia niestandardowego posta i stworzyłem pole użytkownika relacji o nazwie "sleziona_cliente". Tworzę post cpt i przypisuję każdy post do każdego innego użytkownika (użyj pola użytkownika relacji ACF). Na function.php stworzyłem funkcję do automatycznego przekierowania. Jeśli zalogowany użytkownik ma przypisany post (z polem acf użytkownika), skrypt przekierowuje odwiedzającego do jego posta, jeśli nie ma żadnych przekierowań postu na konkretną stronę. function login_redirect ( $redirect_to, $request, $user ){ global $wpdb;$results = $wpdb->get_var ( "wybierz post_id z az_postmeta gdzie meta_key = 'seleziona_cliente' i meta_value = '".$user->id." '" ); if($results){$permalink = get_permalink( $results ); return $permalink;} else return $redirect_to;} add_filter( 'login_redirect', 'login_redirect', 10, 3 ); Ta funkcja skryptu, ale mam problem. Każdy odwiedzający może zobaczyć na interfejsie każdy post CPT, a to nie jest w porządku. Jak mogę ograniczyć dostęp tylko do użytkownika wybranego w polu użytkownika acf? Myślę, że ustawić każdy prywatny post reklamy CPT i stworzyć nową funkcję przypisywania odczytanego prywatnego cpt do wyboru użytkownika ACF. Próbuję kodu, ale nie mam dobrego wyniku. Próbuję ustawić to na single_cpt.php <?php get_header(); ?> <?php if (is_user_logged_in()) { ?>
 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <h2 class="title" id="post-<?php the_ID(); ?>"><?php the_title(); ?>
 <?php the_content(__('Przeczytaj resztę tej strony »')); ?> <?php koniec; endif; ?>
 <?php comments_template(); ?> <?php } else { // nie są zalogowani, więc pokaż im formularz logowania ?>

Przepraszam, ale musisz być zalogowanym członkiem zobacz tę stronę. Zaloguj się poniżej lub <a href="<?php bloginfo('wpurl'); ?>/wp-login.php?action=register">Zarejestruj się dzisiaj.p>
 <?php // !!! WAŻNY !!! Jeśli używasz permalinków do przepisywania adresów URL // swojej witryny, musisz dostosować działanie poniższego formularza. // Formularz będzie szukał pliku wp-login.php na podstawie akcji. // Jeśli przepisany adres URL Twojej strony to // http://www.twojadomena.com/nazwa_twojej_strony/, // musisz zmienić akcję w formularzu na // action='../wp-login. php' // więc będzie szukał w 'katalogu' powyżej /twoja_nazwa_strony/// w poszukiwaniu pliku wp-login. // W zależności od struktury adresu URL może być konieczne przejście do kilku katalogów. // Na przykład, jeśli Twoja strona znajduje się pod adresem // http://www.twojadomena.com/część_sekcji/nazwa_twojej_strony/ // musisz zmienić akcję na // action='../../wp- login.php' ?> <form name='loginform' id='loginform' action='<?php bloginfo('wpurl'); ?>/wp-login.php' method='post'>
 <etykieta>Nazwa użytkownika
 <input type='text' name='log' id='log' value='' size=' 20' tabindex='1' />

 Hasło
 <input type='hasło' name='hasło' id='hasło' value='' rozmiar ='20' tabindex='2' />

  <input name='rememberme' type='checkbox' id='rememberme' value='na zawsze' tabindex=' 3' /> Zapamiętaj mnie

 <input type='prześlij' name='prześlij' id='prześlij' value='Zaloguj się »' tabindex='4' /> <?php //użyj ukrytego pola, aby zwrócić je do strony, z której pochodzą ?> <input type="ukryty" name="redirect_to" value="<?php echo $_SERVER["REQUEST_URI"]; >" />
 </form> <?php } ?> <?php get_sidebar(); ?> <?php get_footer(); ?> I funkcja...więc jeśli użytkownik nie jest zalogowany nie widzi posta. Ale jak mogę ustawić, że tylko $user->id, który wybrałem w polu użytkownika relacji ACF, widzi jego post? Dziękuję


title: wp_nav_menu, klasa walkera, kategorie jako klasy li

text:
OK Próbuję pokazać moje główne menu, więc używam następującego kodu: <?php $defaults = array( 'theme_location' => '', 'menu' => '', 'container' => false, 'container_id ' => '', 'menu_class' => 'menu', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '
 %3$s
', 'depth' => 0, 'walker' => new description_walker() ); ?> <?php wp_nav_menu( $defaults ); ?> Menu jest wypełnione nazwami kategorii (nie stronami) i wyświetla następujące informacje:

menu

menu

menu

 menu

menu

menu

menu

menu

menu

 Chciałbym zastąpić wszystkie te klasy li nazwą kategorii, więc staram się użyć klasy walker w functions.php: https://gist.github.com/1053467 Więc mam minimalną ilość rzeczy ale nie wiem jak dodać klasy. class="category-categoryname" (tj. class="category-photography"). Wielkie dzięki za poświęcony czas i pomoc.


title: Pytanie Noob Loop

text: Przychodzę z podstawowym pytaniem, ale nie mogę rozwiązać, myślę, że to będzie dla ciebie łatwe. Chciałbym, jeśli mam 2 lub więcej postów w pętli, pokazać całą pętlę. Próbowałem następującego: <?php $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; $portfolio = new WP_Query(array('post_type' => 'project', 'posts_per_page' => 12, 'paged' => $paged)); $liczba = 0; ?> <?php if ($portfolio < 2) : ?> [PĘTLA ZAWARTOŚCI] <?php if ($portfolio) : while ($portfolio->have_posts()) : $portfolio->the_post(); [/CONTENT LOOP] <?php endwhile; ?> <?php endif; ?> <?php endif; ?> Jednak to nie zadziałało, pojedynczy post wciąż się pojawiał. Tak jak powiedziałem, jeśli mam jeden post w pętli, nic nie pokaże pętli. Przepraszam za pytanie, czy jeszcze nie znam się na wordpressie. Dziękuję Ci!


title: Zrozumienie użycia wp_reset_query();

text:
Nie jestem w stanie zrozumieć, dlaczego musimy użyć `wp_reset_query();` czy ktoś mógłby mi wyjaśnić? globalne $więcej; $więcej = 0; zapytanie_posty('kot=3'); if(have_posts()) : while(have_posts()) :the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title();?>

<?php the_content('Czytaj więcej' ) ?>
 <?php endwhile; endif; wp_reset_query();?>


title: Zastosuj przycinanie do niestandardowego rozmiaru z biblioteki multimediów

text: Chcę mieć możliwość zastosowania określonego przycięcia do średniego rozmiaru lub dowolnego innego niestandardowego rozmiaru obrazu, który zdefiniuję. Chcę kontrolować przycinanie, ponieważ jest ono kontrolowane w bibliotece multimediów dla miniatury. Chcę dodać opcję do "Zastosuj zmiany do:" medium/cokolwiek, co chcę. Czy to jest coś możliwego? sekcja Zastosuj zmiany


title: Jak przeanalizować format daty za pomocą wtyczki JSON API 1.0.7?

text:
Używam wtyczki JSON API do wyświetlania moich postów na blogu w mojej mobilnej witrynie internetowej. U mnie wszystko działa tak jak bym chciał, jednak data wyświetla się w takim formacie: 2012-03-21 20:03:30 Jednak chciałbym żeby tak się wyświetlała. Lub coś podobnego.: 21 marca 2012 To jest Javascript, którego używam do wyświetlania wpisów na blogu: var MYBLOG_LIMIT = 7; var MYWRAPPER_CLASS = 'homeblog'; var WP={open:function(b){var a={posts:function(){var d=MYBLOG_LIMIT;var e=0;var c={all:function(g){var f=b+"/api/ get_recent_posts/";f+="?count="+d+"&page="+e+"&callback=?";jQuery.getJSON(f,function(l){var k=l.posts;for(var j=0; j<k.length;j++){var h=k[j];h.createComment=function(i,m){i.postId=h.id;a.comments().create(i,m)}} g(k)})},findBySlug:function(f,h){var g=b+"/api/get_post/";g+="?slug="+f+"&callback=?";jQuery.getJSON(g, function(i){h(i.post)})},limit:function(f){d=f;zwrot c},strona:funkcja(f){e=f;zwrot c}};zwrot c}, pages:function(){var c={findBySlug:function(d,f){var e=b+"/api/get_page/";e+="?slug="+d+"&callback=?";jQuery.getJSON( e,function(g){f(g.page)})}};return c},categories:function(){var c={all:function(e){var d=b+"/api/get_category_index/" ;d+="?callback=?";jQuery.getJSON(d,function(f){e(f.categories)})}};return c},tags:function(){var c={all:function( e){var d=b+"/api/get_tag_index/";d+="?callback=?";jQuery.getJSON(d,function(f){e(f.tags)})}};return c}, komentarze:funkcja(){zmienna c={create:function(f,e){var d=b+"/api/submit_comment/";d+="?post_id="+f.postId+"&name="+f.name+"&email="+f. email+"&content="+f.content+"&callback=?";jQuery.getJSON(d,function(g){e(g)})}};return c}};return a}}; var blog = WP.open('http://www.endofphotography.com/'); blog.posts().all(function(posts){ for(var i = 0; i < posts.length; i++){ jQuery('.'+MYWRAPPER_CLASS).append(function(){ return (posts[i] .content) ? '

'+posty[i].title+'

'+posty[i].content+'
'+posty[i].date+'

' : '

'+posty[i].date+'

'; }); } }); Przeszukałem sieć w poszukiwaniu odpowiedzi i przepełnienia stosu, ale wierzę, że rozwiązanie będzie w jakiś sposób „zhakować” wtyczkę. Z góry dziękuję!


title: pokazywanie niestandardowych taksonomii z niestandardowym typem postu

text:
ustawiliśmy niestandardowy typ postu pod nagłówkiem niestandardowego typu postu wraz z dwoma niestandardowymi taksonomiami. (poniższy kod został dodany do naszej strony functions.php:) add_action('init', 'create_seminar_post_type'); function create_seminar_post_type(){ register_post_type('seminars', array( 'labels'=> array( 'name' => 'Seminaria', 'singular_name' => 'Seminarium', 'add_new' => 'Dodaj nowe seminarium', ' add_new_item' => 'Dodaj nowe seminarium', 'edit' => 'Edytuj seminarium', 'edit_item' => 'Edytuj seminarium', 'new_item' => 'Nowe seminarium', 'view' => 'Wyświetl seminarium', 'view_item' => 'Wyświetl seminarium', 'search_items' => 'Wyszukaj seminaria', 'not_found' => 'Nie znaleziono seminariów', 'not_found_in_trash' => 'Nie znaleziono seminariów w Koszu', 'parent' => ' Seminarium dla rodziców', ), 'supports' => array('title', 'editor ', 'fragment', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'thumbnail', 'autor', 'page-attributes'), 'public' =>true, 'taksonomies' = > array('post_tag', 'kategoria') ) ); register_taxonomy ('trt', 'seminars', array( 'labels' =>array( 'name' =>'Całkowity czas działania', 'singular_name' => 'Całkowity czas działania', 'search_items' => 'Przeszukaj łączny czas działania Czas', 'popular_items' => 'Popularny całkowity czas działania', 'all_items' => 'Wszystkie czasy działania', 'parent_item' => 'Rodzic czas działania', 'edit_item' => 'Edytuj czas działania', 'update_item ' => 'Aktualizuj czas działania', 'add_new_item' => 'Dodaj nowy czas działania', 'new_item_name' => 'Nowa nazwa czasu działania' ), 'hierarchical' => true, 'label' => 'Całkowity czas działania ')); register_taxonomy ('discs-in-set', 'seminars', array( 'labels' =>array( 'name' =>'Liczba płyt w zestawie', 'singular_name' => 'Łączna liczba dysków w zestawie', 'search_items ' => 'Szukaj dysków w zestawie', 'popular_items' => 'Popularne dyski w zestawie', 'all_items' => 'Wszystkie dyski w zestawie', 'parent_item' => 'Nadrzędne dyski w zestawie', 'edit_item' = > 'Edytuj dyski w zestawie', 'update_item' => 'Aktualizuj dyski w zestawie', 'add_new_item' => 'Dodaj nowe dyski w zestawie', 'new_item_name' => 'Nowe dyski w zestawie' ), 'hierarchical' = > fałsz, 'public' => prawda, 'show_ui' => prawda, 'query_var' => 'dyski-w-zestawie', 'show_tagcloud' => prawda, )); } a oto kod dodany z pętlą na naszej stronie pojedynczego seminarium (pochodzący ze strony single.php): <?php $loop = new WP_Query( array( 'post_type' => 'seminars', 'posts_per_page' = > 10 ) ); ?> <?php while ( $loop->have_posts() ): $loop->the_post(); ?> <?php the_title( '
', '
' ); ?> Chcielibyśmy pokazać dla każdego seminarium informacje o seminarium, wraz z niestandardową informacją taksonomiczną o czasie trwania i dyskach w zestawie. Ale wszystko, co pokazuje, to post seminarium i towarzyszące mu kategorie i tagi. co powinienem zrobić, aby to zadziałało? w podobny sposób, podczas przeglądania listy seminariów na pulpicie nawigacyjnym, pokazuje wszystkie aukcje , z kolumnami na tytuł, autora, kategorie, tagi, komentarze i datę. Byłoby miło włączyć niestandardowe taksonomie do tego wykazu dla uproszczenia. Czy można to zrobić za pomocą niestandardowych taksonomii? A może jest w tym bardziej bezpośredni sposób? wszelka pomoc / spostrzeżenia są bardzo mile widziane. * don


title: Wyszukiwanie nie znajduje tagów ani kategorii w niestandardowych typach postów

text: Dodałem tagi i kategorie do niestandardowego posta, ale pasek wyszukiwania nie znajduje ich, gdy go używam. Znajduje jednak kategorię „bez kategorii” (kategoria domyślna), która jest nieodłączną częścią wordpress. Wprowadzone przeze mnie kategorie pojawiają się na pasku bocznym, a także z niestandardowym typem wpisu (podobnie jak wprowadzone przeze mnie tagi). czego mi brakuje?


title: Jak zmusić next_posts_link do pracy z prywatnymi postami?

text: next_posts_link i previous_posts_link nie pokazują stron ani postów, które są prywatne. To pytanie było wielokrotnie zadawane na forach Wordpress bez rozwiązania. Jak sprawić, by ta nawigacja pokazywała moje prywatnie opublikowane posty?


title: Zarządzanie dużymi plikami CSS

text: Tworzę motyw, ale uważam, że plik CSS jest zbyt długi, czy dopuszczalne byłoby podzielenie pliku CSS na kilka, więc typograhy.css buttons.css table.css, czy to obniżyłoby wydajność i spowodowałoby inne problemy? czy są lepsze sposoby zarządzania plikami CSS.


title: wp_reset_postdata() lub wp_reset_query() po niestandardowej pętli?

text: Czytanie kilku rzeczy o query_reset_postdata i query_reset_query wprawia mnie w zakłopotanie... Na przykład: > > 1) Czy istnieje potrzeba używania jednocześnie wp_reset_postdata i wp_reset_query >? >> >> 2) http://www.poststat.us/properly-reset-wordpress-query/ Powyżej stwierdza, że powinieneś używać `query_reset_postdata()` tylko podczas używania "oddzielnych zapytań". W przykładzie 2 jest komentarz: WP_Query( $args ) = wp_reset_postdata(); AND query_posts ( $args ) = wp_reset_query(); I naprawdę nigdy nie powinieneś używać wp_reset_query, ponieważ nie powinieneś używać query_posts!? W Kodeksie WP jest napisane, że należy użyć wp_reset_query() po niestandardowej pętli (pierwszy przykład) http://codex.wordpress.org/Function_Reference/wp_reset_query Czy w takim razie kodeks jest błędny?


title: jeśli && problemy z transition_post_status

text: Staram się, aby ta funkcja działała i wydaje się, że nie działa po złożeniu. Kiedy mam po prostu $new_status == 'publish' to działa, kiedy używam tylko drugiego, działa również. Kiedy próbuję połączyć je razem, wydaje się, że jest czkawka. Należy również zauważyć, że próbowałem po prostu użyć akcji add_action ('publish_tweet', 'twitter_run_when_published'); ale to też nie zadziałało. Oto pełna funkcja, której próbuję użyć, pochodzi z przykładowego kodu funkcji intercept_all_status_changes( $new_status, $old_status, $post ) { if ( $new_status == 'publish' && $_POST['post_type'] = = 'tweet' ) { // Status posta zmieniony twitter_run_gdy_opublikowane (); } } add_action( 'transition_post_status', 'intercept_all_status_changes', 10, 3 ); Działa na twitter_run_kiedy_opublikowane. Wiem o tym, ponieważ indywidualnie działa warunek „jeżeli/warunek”. Kilka dziwactw: funkcja zadziała, jeśli opublikuję natychmiast. Nie działa, gdy planuję przyszły post. Dodatkowe informacje, które mogą pomóc wypróbować te w kodzie, nie działały. add_action('publish_tweet', 'twitter_run_gdy_opublikowane'); //możliwe alty, aby stało się to tylko raz i nie podwajać add_action('new_to_publish_tweet', 'twitter_run_when_published'); add_action('draft_to_publish_tweet', 'twitter_run_gdy_opublikowane'); add_action('pending_to_publish_tweet', 'twitter_run_when_published'); add_action('future_to_publish_tweet', 'twitter_run_gdy_opublikowane'); add_action('auto-draft_to_publish_tweet', 'twitter_run_when_published'); add_action('private_to_publish_tweet', 'twitter_run_gdy_opublikowane'); add_action('inherit_to_publish_tweet', 'twitter_run_gdy_opublikowane'); add_action('trash_to_publish_tweet', 'twitter_run_when_published'); Dopiero publikowanie spełnia od razu powyższą funkcję. Klasyczny przykład działa. function intercept_all_status_changes( $nowy_status, $stary_status, $post ) { if ( $nowy_status != $stary_status) { // Zmieniono status posta twitter_run_gdy_opublikowany (); } } add_action( 'transition_post_status', 'intercept_all_status_changes', 10, 3 ); Ale to spowoduje wielokrotne uruchomienie funkcji. Nie działa we wtyczce, ale na pewno zadziała w motywie. czego mi brakuje? Chciałbym, aby po opublikowaniu artykułu spełniał on niestandardowy tweet typu post, który pełni funkcję. EDYCJA: Trochę się błądziłem i próbowałem wyjaśnić kilka źle sformułowanych zdań.