title: Dodawanie niestandardowego adresu URL do linku readmore za pomocą get_permalink()

text:
Mam problemy z niestandardowym adresem URL. Mam stronę z pluginem/shortcode typu galeria. Teraz każdy element galerii wyświetlany na stronie ma link do więcej informacji, prowadzący do tego wpisu w galerii. Teraz stworzyłem własną niestandardową zmienną adresu URL, którą można ustawić we wpisie elementu galerii: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/WdZdf.png) Zostało to dodane w ten sposób na * *recipe_options.php**, gdzie możesz ustawić różne opcje dla każdego wpisu z galerii. $recipe_url = ''; Zostało to dodane w ten sposób do strony Recipe_options.php: function add_recipe_option_element(){ $recipe_price = ''; $recipe_social = ''; $paski boczne = ''; $right_sidebar_recipe = ''; $left_sidebar_recipe = ''; $recipe_detail_xml = ''; $select_chef = ''; $recipe_url = ''; foreach($_REQUEST as $keys=>$values){ $$keys = $values; } globalna $post; $recipe_detail_xml = get_post_meta($post->ID, 'recipe_detail_xml', prawda); $ingredients_settings = get_post_meta($post->ID, 'ingredients_settings', true); $nutrition_settings = get_post_meta($post->ID, 'nutrition_settings', true); if($recipe_detail_xml <> ''){ $cp_recipe_xml = nowy dokument DOMD (); $cp_recipe_xml->loadXML ( $recipe_detail_xml ); $recipe_price = find_xml_value($cp_recipe_xml->documentElement,'recipe_price'); $recipe_url = find_xml_value($cp_recipe_xml->documentElement,'recipe_url'); $recipe_social = find_xml_value($cp_recipe_xml->documentElement,'recipe_social'); $sidebars = find_xml_value($cp_recipe_xml->documentElement,'sidebars'); $left_sidebar_recipe = find_xml_value($cp_recipe_xml->documentElement,'left_sidebar_recipe'); $right_sidebar_recipe = find_xml_value($cp_recipe_xml->documentElement,'right_sidebar_recipe'); } //I niżej na stronie Recipe_options.php

  <?php _e('RECIPE URL', 'crunchpress '); ?>

 <input type="text" name="recipe_url" id="recipe_url" value="<?php if($recipe_url <> ' '){echo $recipe_url;};?>" />

Wprowadź swój adres URL

 **LINK** To jest ta część na tej samej stronie **recipe_options.php**, w której ustawiasz właściwość **href** dla linku „czytaj więcej”: <artykuł class="menu-det">
<?php echo strip_tags(mb_substr(get_the_content(),0,$num_excerpt));?> <a class="c-link" href="<?php echo $recipe_url ;?>"><?php _e('Czytaj M...', 'crunchpress'); ?>

 Musisz spojrzeć na tę część: href="<?php echo $recipe_url ;?>" Oryginalny kod to: href="<?php echo get_permalink() ?>" Teraz nie mogę wyświetlić tego adresu URL w linku na stronie... Próbowałem nawet użyć niektórych istniejących zmiennych, takich jak **$recipe_price** , ale nic nie działa. Jakieś pomysły, co robię źle? Dziękuję


title: linki do zawartości Biblioteki multimediów na pasku bocznym na stronę

text: Mam kilka plików PDF w mojej Bibliotece multimediów i chcę wyświetlać odpowiednie dla każdej strony na pasku bocznym. Tak więc na stronie „O kotach” chcę, aby ILoveCats.pdf i cat-food.pdf z Biblioteki mediów pojawiły się na pasku bocznym, ale nie dogsAreGreat.pdf. Jaki byłby najlepszy sposób na zrobienie tego? Jeśli to pomaga, używam frameworka Genesis. Chciałbym, aby istniało wyraźne połączenie między plikiem w Bibliotece multimediów a stroną (stronami), na której się pojawia, więc wolałbym nie mieć tylko zakodowanych linków w pliku szablonu z testowaniem PHP `jest_strona('bla')`.


title: dlaczego esc_url nie działa w smartmetabox

text: Czy kiedykolwiek próbowałeś http://www.wproots.com/ultimate-guide-to-meta-boxes-in-wordpress/ ? To dobre zajęcia do tworzenia metaboksu. Ale mam problem z walidacją. Wypróbowałem parametr `sanitize_callback` do oczyszczenia adresu URL, więc użyłem `esc_url`, ale pole nadal akceptowało wszystkie wartości. Jaki jest tutaj problem? Oto mój kod add_smart_meta_box( 'themename_slides_url', array( 'title' => __( 'Opcje slajdów', 'themename' ), 'pages' => array( 'slides' ), 'context' => 'normal', ' priorytet' => 'high', 'fields' => array( array( 'name' => __( 'URL slajdów', 'nazwamotywu' ), 'id' => 'slide_url', 'default' => '' , 'desc' => __( 'Wpisz adres URL slajdu', 'nazwamotywu' ), 'type' => 'text', 'sanitize_callback' => 'nazwamotywu_sanitize_url' ), ) ) ) funkcja nazwamotywu_sanitize_url( $nowy, $meta_key, $id ) { if( esc_url( $nowy ) ) return $nowy; }      Dowolny pomysł ?


title: Czy istnieje metoda has_more_tag() lub jej odpowiednik?

text: Muszę ustalić, czy bieżący post ma tag „więcej”. Obecnie używam $pos=strpos($post->post_content, '<!--more-->'); Czy brakuje mi wbudowanej metody podobnej do has_excerpt()?


title: Tylko administrator może edytować, usuwać lub aktualizować

text: Chcę wiedzieć, czy w WordPressie jest jakiś sposób, aby tylko administrator mógł aktualizować/edytować lub usuwać opublikowane posty/listy. Użytkownik, który przesłał post/wpis, nie może go nawet edytować, aktualizować ani usuwać. Motyw: DirectoryPress


title: Jak usunąć wszystkie elementy menu paska administracyjnego?

text: Widziałem techniki usuwania określonych elementów paska administracyjnego, ale jak to zrobić z dodatkowymi menu dodanymi przez wtyczki/motywy? Jak usunąć **wszystkie** elementy paska administracyjnego? ![Pasek administratora pełen elementów](http://i.stack.imgur.com/ryQ93.png) * * * _**Powiązane pytania i odpowiedzi_** * Czy nowy pasek administratora WordPress 3.1 można podłączyć i jak można przedłużę to? * usuń „edytuj swój profil” z paska menu administratora * Przenoszenie linków do paska administratora WordPress * Ustaw funkcję „Witaj, [nazwa]” jako przycisk wylogowania


title: usuń lub zaktualizuj add_image_size

text: Pracuję nad motywem, który ma poprawnie zdefiniowaną liczbę rozmiarów obrazu przy użyciu: add_image_size( 'name', 500, 200, true ); Chciałbym zastąpić te zdefiniowane rozmiary z motywu potomnego: add_image_size( 'nowa nazwa', 400, 300, true ); Wiem, że mogę dodać nowe rozmiary, ale jeśli dodam taką samą nazwę, tj. add_image_size( 'name', 400, 300, true ); Następnie używane jest wywołanie funkcji rodzicielskiej - potomne jest ignorowane - dodanie dodatkowych reguł dodaje dodatkowe obrazki, które nigdy nie będą używane - nie jest tak źle, ale nie jest wydajne. Czy istnieje funkcja wyrejestrowania dodanego rozmiaru obrazu? Twoje zdrowie! Promień


title: Więcej pól i przesyłanie multimediów

text: Używam więcej typów, więcej pól i więcej wtyczek taksonomii i są one doskonałe. Odkryłem jednak, że po usunięciu głównego bloku wysiwyg nie mam już dostępu do przycisków przesyłania multimediów. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/OQJ5A.jpg) Szukałem intensywnie opcji, która dawałaby mi nowe pole przesyłania lub inne przyciski, ale nie powiodła się. Przeczytałem tę genialną odpowiedź MathSmath, ale nie jestem pewien, jak zaimplementowałbym ją za pomocą more-fields. Znalazłem również artykuł wskazujący, że programista nie zapewni tej opcji, więc sam utknąłem w rozmyślaniu. Z tymi wtyczkami zaszedłem tak głęboko w króliczą norę, że nie ma odwrotu. Każda pomoc byłaby niezmiernie mile widziana.


title: Usunąć niektóre tagi z danych wyjściowych shortcode? Próbuję naprawić auto

text:
usuń_filtr( 'zawartość', 'wpautop' ); add_filter( 'zawartość', 'wpautop' , 99 ); add_filter( 'zawartość', 'shortcode_unautop', 100 ); Pracuj dla prawie wszystkich moich krótkich kodów, z wyjątkiem jednego, który zwraca listę niestandardowych miniatur wpisów, takich jak:

 Bez względu na to, co robię, zawsze dodaje ten `<p>` przed `</a> ` pomimo zwracania ich inline (nie mam nawet jednej spacji między nimi w moim źródle shortcode, np. <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

 <?php endwhile;?> Czy jest jakiś sposób na usunięcie tego pustego P z mojego wyjścia shortcodes?


title: Pisanie wtyczki, która powiadamia moich znajomych o nowym poście, który wspomina o nich(@)

text: Na przykład piszę nowy post o treści „Dzisiaj jestem szczęśliwy, bo w końcu spotkałem dziewczynę, o której @David powiedział mi o bla blah…” Po opublikowaniu posta powinno zostać wysłane powiadomienie e-mail do Davida o tym poście, który o nim wspomina. Czy jest już taka wtyczka? Jeśli nie, pomóż mi w realizacji. Dzięki milion razy! :) Skrypt musi najpierw przeanalizować treść nowego posta. Znajdź imiona po '@', a następnie przejdź do bazy danych, aby dopasować imię komentującego, aby uzyskać jego adres e-mail (Zakładając, że osoba, którą @ musi mieć wcześniej komentarz na moim blogu) Podstawowa część wysyłania e-maila znajduje się poniżej. function email_friend() { $postTitle = get_the_title($id); $post_permalink = get_permalink( $id ); $to = 'David@email.com'; $subject = 'Arch!tect wspomniał o Tobie w swoim nowym poście《'.$postTitle .'》'; $from = "noreplay@myWebsite.com"; $headers = "Od:" . $od; $message = "Arch!tect wspomniał o Tobie w swoim nowym poście《".$postTitle . "》 sprawdź to？\n\n" "Opublikuj link：".$post_permalink ."\n\n\nProszę nie odpowiadać na ten e-mail.\r\n"; poczta($do, $temat, $wiadomość, $nagłówki); } add_action ( 'opublikuj post', 'email_friend' ); Gotowe z prostą częścią! Teraz proszę o pomoc w trudnej części... parsowanie nazwy w poście i pobranie adresu e-mail z bazy danych. * * * PS Dziękuję wszystkim za pomoc! Udało mi się dokończyć kod i teraz działa bez zarzutu (testowane). Aby wspomnieć o osobach, których imię zawiera spację, najpierw używam podkreślenia, a następnie zmieniam je z powrotem na spację. Teraz wysyła e-mail do wszystkich osób, o których wspominam w moim poście, a po wykonaniu tego wyśle do mnie podsumowanie z wynikiem. Wkleję cały kod poniżej, spójrz i powiedz mi, co muszę poprawić. function email_friend() { // pobierz obiekt post $post = get_post($id); // pobierz treść posta $content = $post->post_content; // sprawdź, ile osób jest wspomnianych w tym poście //$mentionCount = preg_match_all('/(@(\w)+)/', $content, $matches); $mentionCount = preg_match_all('/(@[^\s]+)/', $content, $matches);//obsługuj inny język // jeśli istnieje co najmniej jeden @ z nazwą po nim jeśli (0 != = $mentionCount) { $friendList = array();//do przechowywania poprawnych nazw dla ($mentionIndex=0; $mentionIndex < $mentionCount; $mentionIndex++) { $mentionName = $matches[0][$mentionIndex]; $mentionName = str_replace('_',' ',$mentionName); //zmień _ z powrotem na spację $mentionName = substr($mentionName, 1); //pozbądź się @ //dla bezpieczeństwa i dodaj symbol wieloznaczny $friend_display_name_like = '%' . like_escape($mentionName) . „%”; globalny $wpdb; // najpierw pobierz poprawną nazwę $friendCorrectName = $wpdb->get_var( $wpdb->prepare( " SELECT comment_author FROM $wpdb->comments WHERE comment_author LIKE %s ", $friend_display_name_like )) ; // zdobądź e-mail od przyjaciela według nazwiska autora komentarza $friend_email = $wpdb->get_var( $wpdb->prepare( " SELECT comment_author_email FROM $wpdb->comments WHERE comment_author LIKE %s ", $friendCorrectName )) ; if($friend_email) {// jeśli znaleziono adres e-mail then email $postTitle = get_the_title($id); $post_permalink = get_permalink( $id ); $to = $przyjaciel_e-mail; $subject = 'Arch!tect wspomniał o Tobie w swoim nowym poście 《'.$postTitle . '》'; $from = "noreplay@swotong.com"; $headers = "Od:" . $od; $message = "Arch!tect wspomniał o Tobie w swoim nowym poście《".$postTitle . "》 sprawdź to？\n\n" "Opublikuj link：".$post_permalink ."\n\n\nProszę nie odpowiadać na ten e-mail.\r\n"; if(mail($to, $subject, $message, $headers)) { //jeśli send pomyślnie umieść jego/jej imię na mojej liście array_push($friendList, $friendCorrectName); //array_push($lista_przyjaciół, $e-mail_przyjaciela); } } } $oddzielone_przecinkami = implode(",", $ListaPrzyjaciół); //tablica listy znajomych do łańcucha // teraz wyślij do siebie e-mail o wyniku $postTitle = get_the_title($id); $post_permalink = get_permalink( $id ); $to = 'mojWłasny@email.com'; $subject = "Twój nowy post《".$postTitle . "》 powiadomił ".count($friendList)."znajomi pomyślnie"; $from = "noreplay@email.com"; $headers = "Od:" . $od; //lista wszystkich znajomych, którzy otrzymali mój e-mail $message = "Twój nowy post《".$postTitle . "》powiadomił ".count($friendList)."znajomi pomyślnie:\n\n".$comma_separated ; poczta($do, $temat, $wiadomość, $nagłówki); } }//koniec funkcji email_friend add_action ( 'publish_post', 'email_friend' ); Edycja: zmieniono (\w)+ na [^\s]+, więc obsługuje więcej języków. (testowane w języku chińskim)


title: Jak jednocześnie uzyskać dostęp do tej samej bazy danych MySQL w głównej kolumnie i pasku bocznym Wordpress?

text:
Napisałem podstawowy niestandardowy kod PHP dla mojej witryny Wordpress. Kod zasadniczo uzyskuje dostęp do bazy danych MySQL (innej bazy danych niż baza danych Wordpress) i wyświetla informacje. Oprócz uruchamiania go na stronie głównej, potrzebuję go również do uruchamiania na pasku bocznym. Kod działa doskonale na stronie głównej _lub_ działa doskonale na pasku bocznym, ale kiedy umieszczam kod w obu, otrzymuję następujący błąd na pasku bocznym: **Błąd krytyczny: Wywołanie funkcji członkowskiej Prepare() na -object w /home/kimusubi/public_html/wp-content/plugins/php-code-widget/execphp.php(44) : kod eval() w wierszu 5** Myślałem, że to problem z dostępem do tego samego tabela i baza danych w tym samym czasie, ale używam include_once i zamykam połączenie, gdy tylko skończę, więc nie jestem pewien, na czym polega problem. Oto kod, którego używam dla paska bocznego i strony głównej kolumny: <?php include_once 'db_config.php'; //Dołącz plik konfiguracyjny bazy danych $current_user = wp_get_current_user()->user_login; //Pobierz aktualny zalogowany użytkownik WP spróbuj { //Dostęp do tabeli kont i przeciągnij informacje o użytkowniku do tablicy asocjacyjnej $STH = $DBH->prepare("SELECT * FROM accounts WHERE accnt = :accnt"); $STH->bindParam(':accnt', $bieżący_użytkownik); $STH->wykonaj(); $Wynik = $STH->pobierz(PDO::FETCH_ASSOC); $DBH = null; } catch(PDOException $e) { echo "Błąd wyboru tabeli kont: " .$e->getMessage(). „
”; //Wyświetl błąd (jeśli występuje) } $available = min($Result['week_two'],$Result['week_one'],$Result['current']); echo "Konto: " .$Wynik['konto']. „
”; echo "Nazwa: " .$Wynik['pierwszy']. " " .$Wynik['ostatni']. „
”; echo "Adres: " .$Wynik['adres']. ", " .$Wynik['miasto']. ", " .$Wynik['stan']. ", " .$Result['zip']. „
”; echo "Telefon: " .$Wynik['telefon']. „
”; echo "Bieżące saldo: $" .$Wynik['bieżące']. „
”; echo "Dostępne saldo: $" .$dostępne. „
”; ?> A oto co jest w moim pliku db_config.php: <?php try { $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); $DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); } catch(PDOException $e) { echo "Błąd wyboru bazy danych: " .$e->getMessage(). „
”; } ?> Exec-PHP to jedyna wtyczka, której używam do uruchamiania PHP bezpośrednio z Wordpressa. Będę wdzięczny za wszelkie wskazówki.


title: Uzyskaj bieżącą tablicę użytkowników z ciągiem post

text: Muszę uzyskać 10 bieżących pól użytkownika i przekazać wartości pól do ciągu postu. Ciąg postu oczekuje określonych nazw etykiet dla każdej wartości. Przykład - napis post oczekuje `'firstname' => 'wartość'`, a nie `'user_firstname' => 'value'`. Po wielu dniach krytycznych błędów składni, teraz otrzymuję tylko status niepowodzenia. Albo mój kod tablicy, albo kod pocztowy (albo oba) są w jakiś sposób wadliwe. Przeczytałem dziś post z 2011 roku, w którym od czasu WordPress 3.3 (obecna wersja to 3.9), sposób wywoływania niestandardowych pól użytkownika jest inny. Post > http://goo.gl/x5deHi mówi, że sposób wywoływania niestandardowych pól WP, takich jak moje 5, jest taki: if ( $current_user->has_prop( 'my-field' ) ) ) echo '<p > ' . $current_user->get( 'moje-pole' ) . ' </p>';` Oto kod, który mam teraz: //Pobierz wartości dla tych 10 pól użytkownika function wp_get_current_user() { $current_user = wp_get_current_user(); $current_user_info = array( 'firstname' . $current_user->user_firstname =>' ', 'lastname' . $current_user->user_lastname =>' ', if ( $current_user->has_prop( 'mepr-address-one' )) ) ' . $current_user->get( 'mepr-address-one' ) . => ' ', if ( $current_user->has_prop( 'mepr-address-city') ) ' . $current_user->get( 'mepr-address-city' ) . => ' ', if ( $current_user->has_prop( 'mepr-address-state' )) ) ' . $current_user->get( 'mepr-address-state' ) . => ' ', if ( $current_user->has_prop( 'mepr-address-zip' )) ) ' . $current_user->get( 'mepr-address-zip' ) . => ' ', if ( $current_user->has_prop( 'adres-mepr' )) ) ' . $current_user->get( 'mepr-address-country' ) . => ' ', 'e-mail' . $current_user->user_email =>' ', 'nazwa użytkownika' . $current_user->user_login =>' ', 'hasło' . $current_user->user_pass =>' ' ); } // Generowanie ciągu POST // Te trzy ostatnie wiersze nie wysyłają moich wartości pobieranych przez użytkownika $postdata = ''; foreach($query_vals as $key => $value){ $postdata .= $key.'='.urlencode($n=$value).'&'; } A napis postu musi spełniać parametry opisane w poście, czyli: foreach ( get_user_meta( $user->ID ) as $key => $values ) { var_dump( $key, $values ); } Ale będąc php newb, nie jestem pewien składni kodowania. Czy nie muszę zdefiniować has_prop, zanim będę mógł go użyć?


title: Jak zainstalować przyciski Facebook, Google+ i Twitter LIKE dla każdego posta na stronie głównej?

text: Chcę zainstalować przyciski Facebook, Google+ i Twitter na stronie głównej dla każdego (podglądu) posta, aby użytkownik musiał kliknąć post, aby go polubić. Tak jak przyciski na stronie głównej: http://www.webdesignerdepot.com/ Każda wtyczka lub szybkie kody mogą to zrobić? Wielkie dzięki!


title: Google Apps SMTP dla WP MultiSite?

text: Jak zmusić WordPress MultiSite do wysyłania wszystkich e-maili za pośrednictwem serwera SMTP Aplikacji Google? Próbowałem użyć Easy WP SMPTP, jednak nie działa to dokładnie tak, jak się spodziewałem, nie wspominając o tym, że nie wysyła nawet e-maili w testach za pośrednictwem serwera SMTP Aplikacji Google. Wydaje się, że powinien istnieć sposób na jasne zdefiniowanie w WordPressie, że cała poczta wysyłana przez sieć powinna przechodzić przez pojedynczą bramę SMTP (taką jak Gmail w Google Apps), zamiast przeskakiwać przez obręcze.


title: Modyfikowanie href permalinku dla postów za pomocą jquery

text: Zastanawiałem się, czy istnieje sposób na zmodyfikowanie linku, aby dodać na przykład kategorię, której mógłbym użyć z $_GET. Na przykład www.example.com/this-is-the-post/category (lub ?cat=category) Próbowałem utworzyć funkcję w jquery, aby zmodyfikować link, ale to nie działa. Domyślam się, że ma to związek z modyfikacją, której używa wordpress. $('.post-style li a').each(function() { var oldHref = $(this).attr('href'); $(this).attr('href', oldHref + '?cat= ' + <?php echo $currentCat; ?>); }); $currentCat pobiera bieżącą kategorię strony. Miałem więc nadzieję, że ktoś wskaże mi właściwy kierunek! Jeśli coś jest niejasne lub musi zostać dodane, skomentuj i zajmij się tym jak najszybciej! Dziękuję


title: Pobierz ślimak kategorii i wyświetl go w zapytaniu_post

text: Właśnie przeczytałem "Jak stworzyć stronę opcji dla motywu wordpress" w wp.tutsplus.com - mam problem z pobraniem kategorii . moje pytanie składa się z dwóch części **- Część A - Pobierz slug kategorii i wyświetl go** W tym samouczku dostępna jest następująca opcja wyboru: $options[] = array( "section" => "select_section", "id " => WPTUTS_SHORTNAME . "_select_input", "title" => __( 'Wybierz (wpisz jeden)', 'wptuts_textdomain' ), "desc" => __( 'Zwykłe pole wyboru', 'wptuts_textdomain' ), " type" => "select", "std" => "3", "choices" => array( "1", "2", "3") Teraz zamiast 1-2-3 opcji, chcę aby zwracać ślimaki kategorii w celu wyświetlenia go użytkownikowi - czy ktoś może zmodyfikować ten kod tak, aby zwracał ślimaki dla kategorii utworzonych na stronie **- Część B - Wyświetlanie ślimaka kategorii w formacie query_posts** Typowa wartość zwracana dla powyższego kodu to this : <?php echo $wptuts_option['wptuts_select_input']; ?> Używam tego kodu do postu z zapytaniem: <?php query_posts('showposts=1&category_name=news'); ?> gdzie "news" to kategoria "slug" - nie nazwa kategorii teraz , czy ktoś może zmodyfikować kod tak, aby pobierał slug kategorii na podstawie opcji wybranej na stronie opcji motywu ? Utknąłem w naprawie tego problemu i szukałem wszędzie, ale nie mogę znaleźć rozwiązania dzięki


title: Czy page_id i post_id mogą być takie same?

text: Wordpress generuje identyfikatory dla każdej strony/postu. Czy strony w wordpressie mają tę samą kolumnę ID w bazie danych, co posty? Chodzi mi o to, że jeśli witryna zawiera zarówno posty, jak i strony, czy co najmniej jeden identyfikator page_ID może być taki sam jak niektóre identyfikatory Post_ID?


title: Usuwanie niepotrzebnych tagów p (nie co p)

text: Usunąłem `wpautop` z mojego motywu: function disable_linebreaks($content) { remove_filter ('the_content','wpautop'); zwróć $treść; } add_filter('the_content','disable_linebreaks',1); Ale teraz, kiedy przełączam się między HTML i Editor, WSZYSTKIE tagi p znikają, nawet te, które sam zakodowałem. Chcę tylko, aby Wordpress nie dodawał pustego `<p></p>` - Kod. Zasadniczo jestem zadowolony z `wpautop`, po prostu czasami to za dużo (na przykład wokół obrazów. Zawsze jest puste p przed każdym obrazem).


title: Żądane zmiany adresu URL podczas korzystania z niestandardowej reguły przepisywania

text: Mam w zasadzie ten sam problem, co pytanie #44117. Mam ustawioną niestandardową regułę przepisywania za pomocą add_rewrite_rule, ale gdy użytkownik przechodzi na stronę, wprowadzony adres URL zmienia się i wartość jest tracona. Użytkownik wpisuje: członkostwo/profil-członka/nazwa-profilu/ I zostaje przekierowany na: członkostwo/profil-członka/ Oto mój kod przepisywania: function profile_rewrite() { add_rewrite_rule('członkostwo/profil-członka/([^/]+) /?', 'index.php?pagename=member-profile&profile=$matches[1]', 'top'); } add_action('init', 'profile_rewrite'); Szukałem godzinami i chociaż znalazłem innych z podobnym problemem, nigdy nie było jednoznacznego rozwiązania. Może to problem z moimi ustawieniami Wordpress? Jeśli wprowadzę adres URL: index.php?pagename=member-profile&profile=test jestem przekierowany na: member/member-profile/?pagename=member-profile&profile=test Co zwraca błąd 404. Z góry dziękuję za wszelką pomoc. Jestem całkiem nowy w tym Wordpressie i może trochę za szybko wskakuję.


title: Jak zaimplementować autouzupełnianie jquery-ui w polach niestandardowych?

text: Obecnie mam niestandardowe pola do wprowadzenia nazwy stanu. Chcę użyć autouzupełniania z jquery-ui w tych polach. Jednak mi się nie udało. Po raz pierwszy używam jquery-ui i nie jestem zaznajomiony z php i jquery. Mam nadzieję, że możecie mi udzielić kilku rad. To był kod, którego używam: (function ($){ $(document).ready(function() { var availableTags = [ "ActionScript", "AppleScript", "Asp", "BASIC", "C", " C++”, „Clojure”, „COBOL”, „ColdFusion”, „Erlang”, „Fortran”, „Groovy”, „Haskell”, „Java”, „JavaScript”, „Lisp”, „Perl”, „PHP” , "Python", "Ruby", "Scala", "Scheme" ]; (jqeury)( "#custom_field_city" ).autocomplete({ source: availableTags }); })(jQuery); Powyżej znajduje się przykładowy kod, który ja użyj, aby wywołać funkcję autouzupełniania. Ale nic się nie stało w moim polu niestandardowym. Brak wypełnionej listy. Od abo ve kod nie działa, więc staram się znaleźć inny sposób na zaimplementowanie jquery-ui i znalazłem ten artykuł, wpisz tutaj opis linku. Jednak utknąłem przy tym kodzie: $(document).ready(function() { //attach autocomplete (jqeury)("#cctmcity").autocomplete({ //zdefiniuj wywołanie zwrotne do formatowania wyników źródło: function(req, add){ //przekaż żądanie do serwera $.getJSON("friends.php?callback=?", req , function(data) { //utwórz tablicę dla obiektów odpowiedzi var sugestie = []; //odpowiedź procesu $.each(data, function(i, val){ sugestie.push(nazwa.wartości); }); //przekaż tablicę do wywołania zwrotnego add(sugestie); }); }, //define select handler select: function(e, ui) { //utwórz sformatowanego przyjaciela var friend = ui.item.value, span = $("<span>").text(friend), a = $( "<a>").addClass("usuń").attr({ href: "javascript:", title: "Usuń " + przyjaciel }).text("x").appendTo(span); //dodaj przyjaciela do przyjaciela div span.insertBefore("#to"); }, //definiuj select handler zmiana: function() { //zapobiegaj aktualizowaniu pola 'do' i poprawianiu pozycji $("#to").val("").css("top", 2); } }); })(jQuery); Nie chcę, aby plik źródłowy został pobrany z bazy danych, taki jak ten: $.getJSON("friends.php?callback=?", req, function(data) Chcę, aby został pobrany z prostego miejsca, jak w pierwszym przykładzie. Jak mogę to zrobić?Dzięki


title: Przeciągnij posty i strony, aby móc je posortować

text: Czy ktoś to zrobił? Można to zrobić? Na adminie wordpress, kiedy klikniesz Lista stron lub Lista postów, chcę przeciągnąć i upuścić, aby posortować strony/posty, ale zanim zacznę, chcę wiedzieć, czy ktoś już to zrobił, czy jest wtyczka dla tego.


title: Dlaczego PHPUnit UnitTest nie może testować mojej witryny Wordpress

text: Zajmuję się tym zagadnieniem od wielu dni i chociaż wiele osób zadaje to pytanie, nigdy nie znalazłem jasnej i zwięzłej odpowiedzi. Używam: * Jednostka PHP: Wersja 3.7.21 * WordPress: Wersja 3.5.1 * System operacyjny: Ubuntu 11.10 * MySQL: Wersja 5.1.69-0ubuntu0.11.10.1 * PHP: Wersja 5.3.6-13ubuntu3.10 Długa historia w skrócie, mam podstawowy rdzeń wordPress pobrany do katalogu na moim komputerze. Pomyślnie pobrałem i zainstalowałem gruszkę i phpunit. Przetestowałem phpunit pisząc podstawowe testy na prostych plikach php, które działały dobrze. Mój problem polega na tym, że uruchamiam phpunit na stronie wordpress (w której nie zmieniłem podstawowych plików WP). Otrzymuję błąd: > "Błąd krytyczny PHP: wywołanie funkcji członka main() na obiekcie niebędącym członkiem w > /< katalog_główny>/functions.php w wierszu 779". Ten błąd odpowiada temu segmentowi kodu: function wp( $query_vars = '' ) { global $wp, $wp_query, $wp_the_query; $wp->główna( $query_vars ); // Linia 779 if ( !isset($wp_the_query)) $wp_the_query = $wp_query; } Po intensywnym przeszukiwaniu Internetu zauważyłem, że wiele osób ma błędy w tej dokładnej linii, więc wiem, że istnieje pewna ogólna rzecz, taka jak ustawienia środowiska lub nasz proces konfiguracji, które spowodowały ten błąd. Niektóre rozwiązania, które **przeczytałem i wypróbowałem**, nie działały dla mnie: * Zmień wymagany plik w swoim pliku "index.php". * Umieść wymaganie „load.php” nad nagłówkiem w pliku „index.php”. * Ponownie zainstaluj WordPress * Zmień środowiska boot-strap i phpunit. Jestem web-developerem od 5 lat, ale nigdy wcześniej nie korzystałem z WordPressa dla żadnego z moich klientów. Kiedy już będę mógł to ustawić, pisanie testów jednostkowych będzie łatwe; ale nie mam pojęcia, co powoduje ten problem. Wszelkie linki do przewodników/poradników lub jasne wyjaśnienia byłyby bardzo mile widziane. Dziękuję za Twój czas. --EDIT-- Uruchomiony plik testowy to: <?php //include PHPUnit require_once('PHPUnit/Autoload.php'); //dołącz testowany kod require_once('../index.php'); // rozszerz klasę PHPUnit StackTest extends PHPUnit_Framework_TestCase { public function testOne(){ $this->assertTrue(TRUE); $this->assertEquals(2,2); $this->assertTrue(1<3); } } ?> Nie używałem żadnych testów funkcjonalności WordPressa; Właśnie przeprowadziłem podstawowe testy, które działają, gdy nie mam dostępu do strony głównej mojej witryny WordPress i kończą się niepowodzeniem, gdy to robię. Również inna uwaga; Prawidłowo skonfigurowałem plik konfiguracyjny i bazę danych. Strona działa doskonale, tylko testy PHPUnit nie są w stanie pomyślnie uruchomić plików stron internetowych.


title: Nie można przesłać obrazu przez WordPress Media Manager

text: Posiadam witrynę opartą na WordPress 3.5.1. Podczas próby przesłania obrazów za pośrednictwem WordPress Media Manager wyświetlany jest poniższy błąd: „ _xxx.jpg nie udało się przesłać z powodu błędu. Przesłanego pliku nie można przenieść do /xx/xxx/dddd/wp-content/uploads/ 2013/08._ " Wiem, że powyższy błąd jest związany z problemem uprawnień do folderów i plików na serwerze. Witryna działa na **serwerze Amazon EC2 działającym na Amazon w wersji Linuksa „AMI”**. Podczas próby przesłania obrazu(ów) przez FTP, WordPress Media-Manager nie rozpoznaje przesłanego(ych) obrazu(ów). Przeszukałem sieć i odkryłem, że podczas korzystania z WordPress Media Manager _WordPress tworzy wpis w bazie danych_. **Moje pytanie:** Jeśli przesyłam obraz(y) za pomocą FTP, którą tabelę muszę zaktualizować, jeśli chcę, aby obraz(y) pojawiły się w Menedżerze mediów?


title: Problem z zarejestrowaniem niestandardowego edytora menu typu post

text: Próbuję zarejestrować niestandardowy typ postu w ten sposób: add_action( 'init', 'vocabulary_register_post_type' ); function vocabulary_register_post_type() { $labels = array( 'nazwisko' => 'Słowniczek', 'poj._nazwisko' => 'Pojęcie', 'menu_nazwa' => 'Pojęcia', 'nazwa_admin_bar' => 'Pojęcie', 'dodaj_nowe' = > 'Dodaj nowe pojęcie', 'add_new_item' => 'Dodaj nowe pojęcie', 'edit_item' => 'edytuj pojęcie', 'new_item' => 'Nowe pojęcie', 'view_item' => 'Wyswietl pojęcie pojęcie', 'all_items ' => 'Wszystkie pojęcia', 'wyszukiwane_elementy' => 'Wyszukaj_elementów', 'nadrzędny_element_colon' => 'Nadrzędne książki', 'nie_znaleziono' => 'Pojęć nie znaleziono', 'nie znaleziono_w_koszu' => 'Brak usuniętych pojęć' ) ; $product_args = array( 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'vocabulary' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'supports' => array( 'title', 'editor ', 'autor', 'miniaturka', 'wypis', 'komentarze' ), 'etykiety' => $etykiety ); register_post_type( 'słownictwo', $argumenty_produktu ); } Wszystko działa dobrze, z wyjątkiem tego, że nie mogę wybrać żadnego z tych elementów niestandardowych typów postów, aby wstawić je do menu (sekcja niestandardowego typu postu nie jest wyświetlana w edytorze menu). Ale... kiedy zmienię ostatnią linię register_post_type('vocabulary', $product_args ); nagle wszystko działa tak, jak powinno. Problem polega na tym, że mam już kilka niestandardowych elementów typu post i nie chcę zadzierać z bazą danych, aby zmieniać dla nich guidy i całe post_type. Więc ostatnie pytanie brzmi - dlaczego pierwsza nie działa, a druga działa? Po przekopaniu więcej - wydaje się, że ma to coś wspólnego z zamówieniem, kiedy dodajesz ten kod. Zrobiłem czystą instalację wp318 i umieściłem powyższy kod w domyślnym motywie 2014. Po skonfigurowaniu bazy danych i zalogowaniu się do backendu nie było opcji w niestandardowym menu (po utworzeniu). Teraz zrobiłem kolejną instalację, tym razem nic nie zmieniłem w szablonie, zalogowanym, utworzonym menu. Następnie dodałem kod do functions.php - wszystko spisało się dobrze, z dokładnie tymi samymi nazwami. Wygląda więc na to, że coś jest zablokowane w bazie danych, gdy niestandardowy typ wpisu zostanie dodany w niewłaściwym czasie.


title: jak skonfigurować skrypt PHPCHART dla motywu wordpress

text: mam motyw wordpress, który chcę użyć PHPChart na jakiejś stronie ... pierwszym krokiem korzystania z PHPChart jest plik konfiguracyjny 'conf.php', bardzo się starałem, ale nie mogę tego zrobić Wyobraź sobie, że masz poprawną strukturę folderów i pliki Ścieżka plików i folderów jest następująca. chcę === require_once("../conf.php"); === w pliku === currency_header_chart.php === to jest w katalogu głównym motywu wordpress I == conf.php == Znajduje się w Currency/Currency-inc/php/phpchart/conf.php dołączam conf.php w currency_header_chart.php bez błędu , ale problem Master jest w wierszu 1 conf.php , który powinien określać ścieżkę skryptu PHPChart ... Uwaga : jeśli conf.php przeniesie się w inne miejsce skrypt nie działa proszę powiedz mi jak zmienić conf. php bardzo dziękuję


title: jak połączyć profil autora z narzędziami Google dla webmasterów w blogu wieloużytkownikowym?

text: na tej stronie google pomóż nam włączyć nasz obraz profilowy na liście wyszukiwania google, gdy jakieś wyszukiwanie otrzyma wyniki z naszego postu na blogu. moje pytanie nie o to, jak to zrobić ... jak ten link, który się zamknął ... ale o blogu, który ma wielu autorów, których w artykule Google nie mogę znaleźć nic o autorach wielu użytkowników i separacji. (oddziel ich i podlinkuj ich własne posty w wynikach google?) jak możemy to zrobić , z drugim rozwiązaniem ?


title: Robienie bułki tartej za pomocą wp_nav_menu

text: Szukałem szybkiej i brudnej metody wyprowadzania nawigacji po stronie WP, bez konieczności instalowania wtyczki, a także korzystania z wbudowanego menu WP. Oto, co wymyśliłem. Jestem ciekaw, czy istnieje lepsze rozwiązanie, którego mi brakuje, i/lub czy jest coś wyraźnie złego w robieniu tego w ten sposób. Jak dotąd w moich testach działa całkiem dobrze. class BreadcrumbWalker extends Walker_Nav_Menu { private $i_current_page_id; prywatny $i_depth; prywatne $a_wyjście; function __construct() { // ustawia naszą bieżącą stronę, dzięki czemu wiemy, kiedy wyjść $this->i_current_page_id = get_queried_object()->ID; } function start_lvl(&$output, $depth=0, $args=array()) { // zwiększać głębokość za każdym razem, gdy wprowadzany jest nowy ul $this->i_depth++; } function end_lvl(&$output, $depth=0, $args=array()) { // zmniejsz głębokość po wyjściu z ul $this->i_depth--; } function start_el(&$output, $item, $depth=0, $args=array()) { // jeśli ta wartość wynosi zero, zaczynamy nową gałąź if($item->menu_item_parent == 0) { // zresetuj tablicę wyjściową i liczniki głębokości $this->a_output = array(); $to->i_głębokość = 0; } // jeśli nie ustawiliśmy reprezentatywnej pozycji menu dla tej głębokości, zrób to if(!isset($this->a_output[$this->i_depth])) { $this->a_output[$this->i_depth] ] = 'object_id) . '">' . $item->tytuł . ''; } } function end_el(&$output, $item, $depth=0, $args=array()) { if($this->i_current_page_id == $item->object_id) { // sprawdź, czy to jest nasz ostatnia pozycja, jeśli tak, wyświetl ścieżkę ścieżkową if($this->i_depth > 0) { // ale pokaż ją tylko wtedy, gdy faktycznie mamy ścieżkę ścieżkową $this->display_breadcrumb(); } } else { // jeśli nie, odznacz element dla tej głębokości, ponieważ nie to będziemy wyświetlać unset($this->a_output[$this->i_depth]); } } function display_breadcrumb() { // imploduj naszą tablicę w łańcuch znaków echo implode(' » ', $this->a_output); } } Zasadniczo używam metod Walker_Nav_Menu do ustawienia tablicy wyjściowej, która używa głębokości jako klucza, a po wywołaniu metody end_el, jeśli nie jest to identyfikator strony, która jest końcem okruszka, to usuwa ustawienie elementu na tej głębokości i kontynuuje iterację po tablicy. Jeśli _jest_ poprawnym identyfikatorem, wywołuje metodę display_breadcrumb w celu wyświetlenia menu. Z góry dziękuję za wszelkie uwagi. Czuję, że prawdopodobnie istnieje lepszy sposób na zrobienie tego, ale w tej chwili jestem zakłopotany, co to może być. Twoje zdrowie.


title: potrzebujesz pomocy z polami wyboru (zaznaczanie/odznaczanie polecanych postów)

text: Pracuję nad projektem, który ma funkcjonalność "featured_posts" na podstawie tej dyskusji. Stworzyłem tabelę z listą wszystkich postów. Mam pole wyboru w każdym wierszu, które po kliknięciu przesyła for przez javascript. gdy to pole jest zaznaczone, aktualizuje wszystko i oznacza post jako polecany. W ramach testu wyłączyłem wszystkie polecane posty. Po odznaczeniu ostatniego pola wyboru otrzymałem> Ostrzeżenie: ostrzeżenie o nieprawidłowym argumencie. Mój kod to foreach( $_POST['list_id'] as $listID ) { if( update_post_meta( $listID, '_property_featured', 'true' ) ) { $featureMessage = "Wybrane aukcje zostały pomyślnie oznaczone jako wyróżnione."; } else $featureError = "Wystąpił błąd. Spróbuj ponownie."; } list_id odnosi się do post_id i znajdował się w atrybucie wartości pola wyboru. Wiem, że kiedy ostatnie pole wyboru zostało odznaczone, musiałem zmierzyć się z tym ostrzeżeniem. Pytanie brzmi, jak mogę śledzić odznaczenie pola wyboru, ponieważ nie jest ono uwzględnione w danych POST formularza.


title: Domena WPMU nie pinguje

text: Skonfigurowałem konfigurację WPMU i użyłem mojej domeny podstawowej jako www. wersja topmmorpg100.com Przysporzyło mi to jednak kilku problemów, takich jak proste polecenie pingowania do topmmorpg100.com bez www. wydaje się zawodzić. Powoduje to pewne problemy podczas rejestrowania się w usługach, których stan domeny jest pingowany i sprawdzany. Zakładałbym, że ping nie działa, ponieważ nie podąża za przekierowaniem, jak ktoś mógłby zasugerować, że mogę to naprawić?


title: Błędy krytyczne, gdy tryb awaryjny jest wyłączony

text: Mam witrynę, która wyświetla błędy krytyczne, gdy tryb awaryjny jest wyłączony. Na przykład: > Błąd krytyczny: wyczerpano dozwolony rozmiar pamięci 262144 bajtów (próbowano > przydzielić 30720 bajtów) w /home/user/public_html/moja_domena.com/wp- > include/compat.php w linii 57 lub > Błąd krytyczny: Wyczerpano dozwolony rozmiar pamięci 262144 bajtów (próbowano > przydzielić 30720 bajtów) w /home/user/public_html/moja_domena.com/wp-> include/functions.php w wierszu 609 Pamięć naprawdę nie powinna stanowić problemu, ponieważ Wordpress jest przydzielony 256MB i php jest przydzielone 128MB na moim serwerze. Czy ktoś może wskazać sposób na rozwiązanie tego problemu?


title: Użyj automatycznego osadzania z get_post()

text: Mam skrypt PHP poza katalogiem WordPress, gdzie otrzymuję zawartość konkretnego posta, a teraz próbuję zastosować na nim filtr `oembed`: include('../wp-load.php'); $thePost = get_post(42, ARRAY_A); $theContent = $thePost['post_content']; Treść posta zawiera tekst i co najmniej jeden adres URL do YouTube (lub podobnych stron). Oczywiście WordPress jest w stanie wykryć te adresy URL i przepisać je do osadzania, ale nie mam pojęcia, jak zastosować to zachowanie do mojego fragmentu kodu. Wiem, że istnieje `wp_oembed_get`, ale ta funkcja nie wykonuje automatycznego wykrywania. Jakiś pomysł, jak to osiągnąć?


title: Absolutne minimum, które należy umieścić w pliku PHP, aby korzystać z funkcji WP?

text: Uważam, że bardzo brakuje dokumentacji na temat kodowania rzeczy WP i nie mogę dowiedzieć się, które pliki muszę dołączyć do mojego skryptu PHP, aby uzyskać minimalne środowisko pracy kodu? Przykład: Chcę wywołać `wp_insert_user()`, aby dodać użytkownika do mojej witryny. Skąd mam wiedzieć, które pliki w `wp-includes/` muszę uwzględnić w moim skrypcie PHP?


title: Załaduj minimalne środowisko WordPress

text: Stworzyłem własną usługę przesyłania dla mojej witryny, która jest oddzielona od WP, ale używa WP do zapewnienia funkcji db niskiego poziomu i weryfikacji użytkownika. W tym celu umieszczam wp-load.php w moim głównym skrypcie (Uploadify), ale robienie tego wydaje się wypełniać pamięć serwera niepotrzebnymi komponentami. Dzięki temu w moim skrypcie pojawia się błąd, który wskazuje na zainstalowaną wtyczkę WP. Jak mogę załadować tylko podstawowe komponenty WP i zignorować wtyczki? Czy to w ogóle możliwe?


title: Co się stało z menedżerem mediów?

text: Od czasu WP 3.5 (prawda?) media manager został „uproszczony” i obrazy nie są już, jak widzę, uporządkowane według roku/miesiąca w media managerze, chociaż nadal są zapisywane jak poprzednio. Czy mogę w jakiś sposób użyć haka (lub czegoś) do wyświetlania folderów w menedżerze multimediów?


title: Upewnienie się, że przyklejone posty są pobierane jako pierwsze (bez użycia dwóch zapytań)?

text: Muszę zachować paginację do użytku z nieskończonym przewijaniem. Czy nie ma sposobu, aby powiedzieć query_posts, aby najpierw pobierał przyklejone posty? Wydaje się to być domyślnym zachowaniem na standardowym blogu Wordpress na stronie głównej, ale staje się nieco niezręczne w przypadku niestandardowego szablonu strony z tego, co mogę powiedzieć. Dziękuję Ci. _**Zmieniono, aby pokazać bieżące zapytanie:_** query_posts( array( 'post_type' => array('post', 'careers-post'), 'paged' => $paged, 'posts_per_page' => 6, ' category__in' => $page_categories, 'ignore_sticky_posts' => 0 ) ); _**Edytuj 2:_** Wygląda na to, że „category__in” jest w konflikcie z przyklejonymi postami pochodzącymi od dłuższego czasu: http://wordpress.org/support/topic/category_in-ampamp-sticky Tylko dla potwierdzenia, usuwam „category__in „ rzeczywiście pozwala, aby przyklejone posty wystrzeliły do góry zgodnie z oczekiwaniami, ale oczywiście nie rozwiązuje problemu.


title: Czy mogę symulować zalogowanie użytkownika z WP_UnitTestCase?

text: Mam pewną logikę w moim kodzie, która opiera się na tym, czy użytkownik jest zalogowany, czy nie. Jak przetestować go z mojego WP_UnitTestCase?


title: Dobry samouczek na rozpoczęcie zaawansowanego tworzenia wtyczek wordpress?

text: Ok, widziałem wiele samouczków, które pozwalają wprowadzić krótki kod. Cóż, nie tego szukam. Właściwie chcę rozszerzyć backend, aby umożliwić drugi tytuł. W tej chwili mamy to: ![tutaj podaj opis obrazu](http://i.stack.imgur.com/nz3YZ.png) Teraz chcę mieć możliwość dodania „krótkiego” tytułu dla elementów, które konkretnie wymagają, powiedzmy , tytuł nie dłuższy niż 15 znaków. Więc chcę mieć drugie pole wprowadzania, które pozwoli mi wpisać ten krótki tytuł. Czy istnieje sprawdzony, dobry samouczek na ten temat? Dziękuję


title: Jak mogę zainicjować widżetowy pasek boczny (z widżetami)

text: Mam instalację wielostanowiskową WordPress. Klient chce mieć formularz aktualizacji e-mail na pasku bocznym każdego bloga. Chcę tam użyć widżetu, więc muszę przypisać go do paska bocznego. Czy jest jakiś sposób, aby to zrobić przy instalacji motywu?


title: Utwórz niestandardowe uprawnienia dla typu użytkownika

text: Obecnie chcę to mieć, aby autorzy w mojej witrynie musieli mieć administratora zatwierdzania ich treści przed ich opublikowaniem, ale nadal mogli wykonywać inne zadania, takie jak przesyłanie obrazów, dodawanie tagów itp. oraz poziomy uprawnień statycznych wordpress są albo zbyt restrykcyjne, albo pozwalają pisarzom się publikować. Wiem, że na drupalu jest łatwy sposób na edycję uprawnień dla typów kont, ale zastanawiałem się, czy w ogóle istnieje sposób na osiągnięcie tego samego poziomu funkcjonalności z wordpressem.


title: Czy funkcje Rich Text można skonfigurować na użytkownika?

text: Istnieją oczywiście różne typy użytkowników (od użytkowników zaawansowanych do zwykłych autorów). Edytor Rich Text WordPressa jest oparty na TinyMCE - który ma wiele funkcji. Większość z tych funkcji jest domyślnie wyłączona w WordPressie, aby stworzyć bardziej przyjazne (i bezpieczniejsze) środowisko edycji. Jednak niektórzy zaawansowani użytkownicy woleliby korzystać z tych dodatkowych funkcji TinyMCE. Czy można włączyć lub wyłączyć różne funkcje Rich Text (tabele, warstwy, style itp.) na użytkownika? Jak to się robi? Dziękuję.


title: Gantry Framework: nowa strona ładuje zawartość strony głównej zamiast zawartości strony

text: # Zmienione pytanie: Mam stronę opartą na WordPressie z zainstalowanym motywem Crystalline (wykonanym przez RocketTheme, używa frameworka Gantry). Kiedy tworzę nowe strony, nie wyświetlają one zamierzonej treści, a zamiast tego wyświetlają zawartość strony głównej. # Oryginał: ### Problem Permalinków dla stron utworzonych od czasu migracji z serwera LAMP na serwer Windows/IIS niepoprawnie ładuje zawartość strony domowej, niezależnie od tego, czy używam domyślnej struktury Permalink, czy niestandardowej struktury Permalink. Tak więc, jeśli próbuję odwiedzić www.domain.com/wordpress/new_page/, ładuje zawartość z www.domain.com/wordpress/, ale adres URL się nie zmienia; pozostaje www.domena.com/nowawitryna/nowa_strona/. Jednak ładowanie strony utworzonej przed przejściem działa dobrze, więc jeśli spróbuję odwiedzić www.domain.com/wordpress/old_page, ładuje zamierzoną zawartość. O ile wiem, jest pewien problem z wewnętrznym przepisywaniem, które robi Wordpress, ponieważ problem z moimi regułami .htaccess dotyczyłby wszystkich stron. Nie wiem jednak, jak rozpocząć debugowanie tego. ### Dodatkowe informacje * Permalinki działają dla wszystkich stron, które istniały podczas migracji, nawet jeśli zmienię strukturę permalinków w Ustawienia->Permalinki * Jeśli utworzę nowo utworzoną stronę jako podrzędną wcześniej istniejącej strony, odwiedzając nową Permalink utworzonej strony ładuje teraz poprawną treść. Tak więc www.domain.com/wordpress/old_page/new_page/ załaduje zamierzoną treść. * Jeśli tworzę istniejącą wcześniej stronę jako element podrzędny nowo utworzonej strony, oto wyniki: www.domena.com/wordpress/nowa_strona/stara_strona/ ładuje zamierzoną treść www.domena.com/wordpress/nowa_strona/ robi nie ładuje zamierzonej zawartości * Używam ISAPI_Rewrite 3. Poniżej znajduje się mój globalny plik konfiguracyjny (nie robię plików .htaccess dla każdego katalogu): ` RewriteEngine On RewriteBase / #Nowa witryna wordpress RewriteCond %{REQUEST_FILENAME} !-f RewriteCond % {REQUEST_FILENAME} !-d RewriteRule .*wordpress/.* /wordpress/index.php [L] #Cała witryna RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* /index.php [L ]` `


title: Bezpieczeństwo danych Ajax WordPress

text: Jestem świadomy nonces, aby sprawdzić intencje, ale nie mam sensu, jeśli mogę ich użyć do ograniczenia odczytów bazy danych? To znaczy, pobieram rekordy z bazy danych za pomocą AJAX, ale nie chcę, aby ktokolwiek miał te dane w inny sposób (żądania POST do tej strony `admin-ajax.php`). Na przykład w moim module obsługi AJAX mam tyle pracy (wysyłam `$myid` wraz z akcją w wywołaniu AJAX): $myid = 5575; $query = "SELECT `id` FROM table WHERE `user_id` = $myid;"; $dane = $wpdb->get_col($zapytanie); echo json_encode($dane); umierać(); Wywołuję tak dużo danych przez AJAX, jak mogę chronić je przed złymi użytkownikami, którzy mogą próbować wykonywać bezpośrednie wywołania POST do tej strony? **Edytuj:** @Bainternet Dziękuję za szczegółowe wyjaśnienie, doceniam to, ale moje pytanie tak naprawdę dotyczy tego, co powiedział @Milo i widzę, że jeśli nie mogę stworzyć unikalnego numeru jednorazowego dla tego żądania, nie mogę nic zrobić zgodnie z @złote jabłka. Prawidłowy? Obsługuję wszystkie te rzeczy za pomocą Facebook JS SDK, więc wszystko, co trzeba zrobić, jest tylko z AJAX (bez ładowania strony) i cokolwiek przyjdzie mi do głowy, aby użytkownik zalogował się w `wp_signon()` lub cokolwiek innego, każdy inny może rób to również bez autorytetu. Tak więc nie mam żadnej wyjątkowości w użytkowniku, który faktycznie korzysta z witryny, a ten, który próbuje odczytać niektóre dane inne niż witryna, wywołuje połączenie, aby pobrać dane. I cokolwiek mogę zrobić, aby się zalogować lub cokolwiek, co może zostać zreplikowane przez kogoś innego. Czy ktoś może coś wymyślić? **Aktualizacja:** Myślę, że znalazłem obejście tego problemu, po prostu wywołując go za pomocą `action` i pobierając inne parametry z Facebooka za pomocą PHP SDK. Ale nadal jestem otwarty na sugestie lub cokolwiek innego w tej sprawie.


title: Galeria zagnieżdżona Shortcode działa Z przerwami

text: Mam wtyczkę Expand/Collapse, która za pomocą skróconego kodu może rozwinąć/zwinąć zawartość. Moja rozwijana zawartość to skrócony kod galerii. Zobacz tutaj: http://shop.dearearth.net/collections Z CZASEM galeria pojawia się przynajmniej w pierwszej sekcji do rozwinięcia, ale nigdy w drugiej... * _to są wtyczki:_ *dagondesign.com/ artykuły/expanding-text-plugin-for-wordpress i wordpress.org/extend/plugins/galleria-galleria Każda pomoc w tym zakresie będzie oczywiście mile widziana! :)


title: Ograniczanie spamerskich rejestracji użytkowników

text: Po zastosowaniu się do rady z poprzedniego pytania (tutaj) udało mi się zniszczyć moje komentarze spamowe. Teraz jednak stwierdzam, że każdego dnia kilku nowych członków rejestruje się na stronie za pomocą śmieciowych adresów e-mail, takich jak 7428174812@aweseome-jewlery.co.uk. Mógłbym zamknąć zapisy, ale wolałbym nie, ponieważ mam nadzieję, że strona stanie się nieco bardziej popularna i chciałbym zachęcić do komentarzy.


title: Zezwalaj na tagi HTML w niestandardowych menu WordPress Pole opisu

text: Dodałem opisy do moich menu za pomocą tego posta, Opis pozycji menu?. Muszę jednak móc korzystać z tagów HTML, a WordPress je usuwa. Czy ktoś może pomóc?


title: Wyświetlaj treści ze strony „O nas” na stronie głównej

text: Mam stronę o nazwie "O nas" z pewną statyczną zawartością. Chcę wyświetlić tę statyczną zawartość na stronie głównej. Czy muszę wykonać niestandardowe zapytanie, które zwraca stronę z informacjami, czy istnieje lepszy sposób? $about_page = nowe WP_Query('p=7'); // czy to w zasadzie to? Czy jest na to lepszy sposób? Bardziej dynamiczny sposób, który umożliwiłby mi rozpowszechnianie tego motywu wśród innych osób, które nie mają określonego identyfikatora strony z informacjami. EDYCJA: Znaleziono tę stronę w Kodeksie. Zaleca użycie funkcji get_page.


title: Ukryj / przepisz link do pobrania

text: Chcę ukryć faktyczną ścieżkę moich plików do pobrania, które wyglądają tak > http://my.wordpresssite.com/wp-content/uploads/2012/12/example.pdf i zamiast tego uzyskać coś takiego: > http:// my.wordpresssite.com/downloads/example.pdf Myślę, że muszę to zrobić, przepisując, ale naprawdę nie czuję się z tym komfortowo. Czy ktoś mógłby zaproponować rozwiązanie mojego problemu?


title: Zapobieganie kolizjom między permalinkami a podkatalogami

text: Wdrożyłem instalację WordPressa w katalogu głównym mojej witryny. Ta strona ma również kilka podkatalogów, które powinny pozostać dostępne, takich jak `/jakiśfolder/`. Skonfigurowałem WordPressa do używania `/%postname%/` jako struktury permalinka. Podczas importowania istniejących postów na blogu z innej instalacji WordPressa zauważyłem, że pewien post używał `jakiś folder` jako ślimaka, co powoduje kolizję. Wiem, że mogę po prostu zmienić ślimak, ale zastanawiałem się, czy WordPress oferuje mechanizm sprawdzania kolizji permalink/podkatalogów.


title: Jak WordPress dołącza swoje polecane obrazy do postów?

text: Pracuję nad `WP_Query()`, gdzie próbuję pobrać wszystkie obrazy używając `'post_type' => załącznik` i `'post_parent_in' => array(1688)`(Chcę przekazać trochę więcej post_ids) wraz z innymi parametrami. Dzięki nim mogę pobrać wszystkie załączniki, oprócz wskazanego obrazu. Załączyłem dwa różne obrazy do posta, aby to sprawdzić. Potem zakradłem się do bazy danych WordPressa i w tabeli '`posts`' znalazłem dwa obrazy jako `'post_type' => 'attachment'` i `'post_mime_type' => 'image/jpeg'`. Ale... w '`post_parent`' jeden obraz jest dołączony do posta z identyfikatorem postu (1688), ale drugi pokazuje zero (0). Odkryłem, że tylko obrazy, które są wstawiane do posta, otrzymują `post_parent`, ale polecany obraz. ![tabela postów w bazie danych załącznik post_type bez post_parent](http://i.stack.imgur.com/4hwM3.png) I ten sam załącznik znajduje się w tabeli `postmeta`: ![polecany obraz w tabeli postmeta](http: //i.stack.imgur.com/YJbG6.png) Tak więc obecnie nie mogę pobrać wszystkich załączników dołączonych do niektórych postów. I zastanawiam się, W JAKI SPOSÓB POLECANE OBRAZY SĄ DOŁĄCZANE DO WPISÓW?


title: wtyczka wygenerowała 751 znaków nieoczekiwanych danych wyjściowych podczas aktywacji

text: Zrobiłem niestandardową wtyczkę dla mojego administratora wordpress, aby wyświetlić szczegóły użytkownika. Ta wtyczka działa dobrze po wyświetleniu tego błędu, ale głównym problemem jest ta wtyczka, kiedy próbuję otworzyć jakiś link, strona była pusta. Nie wiem, dlaczego i czym jest ten błąd. Przeszukano w Internecie, ale nie udało mi się rozwiązać tego problemu. Twoja pomoc byłaby mile widziana...oto pełny błąd, kiedy aktywuję tę wtyczkę...I **Wtyczka wygenerowała 751 znaków nieoczekiwanego wyniku podczas aktywacji. Jeśli zauważysz wiadomości „nagłówki już wysłane”, problemy z kanałami dystrybucji lub inne problemy, spróbuj dezaktywować lub usunąć tę wtyczkę**


title: jeden termin dwie taksonomii?

text: Każdy ma jakieś rozwiązania na to... Buduję aplikację, w której mam dwie heirchiczne niestandardowe taksonomie działające jako niestandardowe kategorie. Więc mam taksonomię cat1 i cat2. To, co chcę zrobić, to skopiować termin wraz z jego dziećmi z cat1 do cat2. Może coś w stylu: set_term_taxonomy($term_id, array("cat1, "cat2"));gdzie ten sam termin, wraz z jego dziećmi, może znajdować się w więcej niż jednej taksonomii.Powodem 2 taksonomii jest to, że są to 2 różne sklepy inwentaryzacje.


title: Zmień obraz nagłówka strony

text: Używam Sunrise Theme z s5themes.com i zastanawiałem się, czy na poszczególnych stronach mogę mieć inny Header Image, ponieważ z tego, co mogę powiedzieć, używają tego samego kodu CSS do wyświetlania obrazu nagłówka na stronie głównej. Oto zrzut ekranu strony głównej przedstawiającej obraz jako nagłówek ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/26WS2.jpg) A oto zrzut ekranu strony (O nas) który wykorzystuje ten sam obraz (brązową teksturę z zieloną częścią), co nagłówek, który wydawał się tylko powiększony. ![tutaj podaj opis obrazu](http://i.stack.imgur.com/Ov13L.png) Próbowałem zagłębić się w kod i uważam, że jest to część Styles.css, która się tym zajmuje. **CSS** .header-wrapper { background: #333; obraz w tle: url(img/wood-only.png); załącznik w tle: naprawiony; rozmiar tła: okładka; min-wysokość: 200px; Więc edytowałem powyższy kod, niestety wpływa to również na obraz na stronie głównej, próbowałem ustawić rozmiar tła na rozmiar tła: auto; Idealnie mógłbym pracować z edycją plików szablonów, ale nie znam struktury WordPressa, a teraz nie jestem pewien, jak postępować.


title: Jak pobieramy „tagi” i „załącznik” niestandardowego posta, który jest tworzony przez wp_insert_post();

text: Nie mogę uzyskać danych z postu, który wstawiłem przez wp_insert_post(); teraz chcę pobrać tagi, które zapisałem przez 'tags_input' => array('thread_tag' => $ tagi), a także przesłać obraz tego postu jako załącznik, więc czy możesz mi powiedzieć, jak pobrać załącznik?


title: Jak naprawić motyw za pomocą domyślnego szablonu page.php, który został przypadkowo usunięty?

text: Mam dzisiaj dość dziwny przypadek z WP i po spędzeniu około godziny na wyszukiwaniu w google i forach, nie mogę znaleźć żadnych odpowiedzi. Mam nadzieję, że post tutaj da mi szansę na uzyskanie pomocy od kreatorów WordPressa, którzy czają się gdzieś na tym forum wsparcia :) W każdym razie mój problem polega na tym, że przypadkowo usunąłem page.php z mojego szablonu (próbuję usunąć wszystkie domyślne szablony i uczynić WordPress bardziej spersonalizowanym i dostosowywać backend). Chciałem usunąć szablon o nazwie „Szablon domyślny” i utworzyć menu rozwijane na stronach takich jak: Szablon jednej strony (lub po prostu losowa nazwa) Szablon paska bocznego siatki 2 (lub po prostu losowa nazwa) Przechowuj zawartość (lub po prostu losową nazwę ) Po usunięciu page.php — szablon domyślny nie został w ogóle usunięty, nadal go mam i nie mam możliwości jego stylizacji ani usunięcia. Dodając do tego problem, gdy przekopiowałem page.php z mojego repozytorium, **Mam teraz PODWÓJNY szablon o nazwie „Szablon domyślny”!** Próbowałem zreplikować problem, instalując nową kopię WP 3.1.2 i duplikując 2010, a następnie aktywuję ten duplikat. Oto moje kroki: 1. Usuń page.php i page-with-sidebar.php 2. Sprawdź strony, teraz mam 'Default Template', ale nie page.php 3. Skopiowany page.php 4. Sprawdź strony, teraz mam DWA 'Szablon domyślny' 5. Przełączono na oryginalny 2010 -- strony kontrolne -- działa dobrze, z jednym "Szablonem domyślnym" i jednym "Szablonem domyślnym z paskiem bocznym" 6. Przełączono z powrotem do zmodyfikowanych 2010 -- stron kontrolnych -- nadal mam podwójny „Szablon domyślny” Teraz widzę, że ten problem na pewno występuje, ponieważ usunąłem page.php -- i utknął w motywie, a nie w samej instalacji Wordpress. Co gorsza, nie mogę znaleźć żadnego pliku, który jest z tego powodu aktualizowany - naprawdę zabawny. To wygląda blisko tego, co mam, ale nie do końca: * http://wordpress.org/support/topic/page-templates-gone-wp-271 * http://wordpress.org/support/topic/missing -template-files-makes-wp-fall-back-on-default Moje pytania: 1. Co mam zrobić, aby naprawić problem? Chciałem wiedzieć, czy istnieje możliwość zwrócenia motywu, aby rozpoznać, że już odzyskaliśmy page.php. 2. Jak usunąć „Szablon domyślny” z list rozwijanych szablonu strony? Może poprzez nieustawione wywołanie na functions.php ? Z góry bardzo dziękuję. Andre


title: Załącznik wp_mail WooCommerce nie działa dynamicznie

text: Zmodyfikowałem funkcję send(), aby dołączyć plik we wtyczce woo commerce, gdy statycznie używam ścieżki pliku załącznika, to działa, ale kiedy umieściłem go na dynamicznie źródle załącznika, nie mogę wysłać załącznika, ale otrzymuję pocztę. używam zapytania wybierającego do pobrania obrazu z bazy danych do załączenia w wiadomości e-mail. function send( $to, $subject, $message, $headers, $attachments) { global $wpdb; $current_post1=$post->ID; $result1=$wpdb->get_results("SELECT BgImageName FROM ca_woocommerce_order_items gdzie order_id = $current_post1"); foreach ( $result1 jako $print1 ) echo $imgemail=$print1->BgImageName; //ścieżka statyczna to działa //$attachments = array( '/home2/rahulr/public_html/cutting-edge/wordpress_theme/user_templates/1384010402.png' ); //ścieżka dynamiczna nie działa $attachments = array('/home2/rahulr/public_html/cutting-edge/wordpress_theme/user_templates/'.$imgemail); add_filter( 'wp_mail_from', array( $this, 'get_from_address') ); add_filter( 'wp_mail_from_name', array( $this, 'get_from_name') ); add_filter('wp_mail_content_type', array($this,'get_content_type')); wp_mail( $do, $temat, $wiadomość, $nagłówki, $załączniki); remove_filter( 'wp_mail_from', array( $this, 'get_from_address') ); remove_filter( 'wp_mail_from_name', array( $this, 'get_from_name') ); remove_filter('wp_mail_content_type', array($this,'get_content_type')); }


title: Chcę, aby tytuły stron i ich fragmenty pojawiały się na home.php w określonej kolejności

text: W functions.php mam dodany następujący kod: add_post_type_support( 'strona', 'wyciąg' ); Dzięki temu strony mogą zawierać fragmenty. Powodem, dla którego chcę fragment, jest to, że chcę, aby tylko strony z fragmentami były jednym z 3 modułów na stronie głównej. Na stronie głównej, w moim pliku home.php, te 3 moduły pokażą tytuły i fragmenty stron, w których dodałem fragment. W dowolnym momencie redaktor powinien mieć możliwość zmiany miejsca docelowego lub strony tak, aby każda istniejąca strona mogła teoretycznie stać się modułem na stronie głównej. Na przykład mam stronę Informacje, Nowi pacjenci i usługi, z których wszystkie trzy dodałem tekst do pola fragmentu (wszystkie pozostałe pola fragmentu zostawię puste na stronach, które nie muszą pojawiać się na stronie tytułowej). Na home.php, w podanej przeze mnie kolejności, chcę, aby tytuł i fragment każdej strony wyświetlały się w trzech kolumnach. Oto jak zamierzam to ostylować: http://i.stack.imgur.com/jOPb0.png Możliwe, że te 3 moduły będą wymagały zmiany kolejności lub zastąpienia inną stroną, dlatego szukam modułów dynamicznych . Stworzyłem dwa niestandardowe pola o nazwach `home_widget` i `order`. `home_widget` jest równe albo `true`, podczas gdy `order` jest równe kolejności, w jakiej powinny pojawiać się na stronie. Ten kod jest błędny, ale szukam podobnej logiki: <?php $pageExcerpt = get_the_excerpt(); if (is_page() && $pageExcerpt !== '') { the_excerpt(); } ?> Innymi słowy, jeśli strona istnieje ORAZ ma fragment, wywołaj the_excerpt(), ale zrób to w kolejności, którą zdefiniowałem przez niestandardowe pole. Pozwala to na dynamiczne wstawianie w razie potrzeby. Jak napisać ten kod, aby działał tak, jak powiedziałem?


title: Jak ustawić konkretne wartości dla taksonomii za pośrednictwem IXR_Client?

text: Staram się tworzyć posty za pomocą IXR_Client. Już jestem w stanie to zrobić, ale teraz mam problem z tworzeniem podkategorii dla postów, które tworzę. Sposób, w jaki tworzę kategorie, wygląda następująco: $content['terms_names'] = array('article-category' => array( "Nowy produkt","Produkt Alpha ) ); Chciałbym, aby `Produkt alfa` był podkategorii lub „Nowy produkt”, ale się nie dzieje. Postanowiłem więc ustawić go ręcznie i spojrzeć na „wp.getPost”, aby zobaczyć wyniki i sprawdzić, czy mogę coś wymyślić, a oto odpowiedź: [warunki] => Tablica ( [0] => Tablica ( [term_id] => 2 [name] => Nowy produkt [slug] => nowyprodukt [term_group] => 0 [term_taxonomy_id] => 2 [taxonomy] => kategoria artykułu [opis] => [rodzic] => 0 [liczba] => 4 [filtr] => surowe ) [1] => Tablica ( [term_id] => 4 [nazwa] => Produkt Alpha [slug] => productalpha [term_group] => 0 [term_taxonomy_id] => 4 [taxonomy] => kategoria artykułu [description] => [parent] => 2 [count] => 12 [filter] => surowe ) ) Więc jak widzisz, jeśli jest jakiś sposób, mogę ustawić `rodzica`, będzie dobrze, ale nie mam pojęcia, gdzie w `$content['terms_names']` mogę to zrobić . Każda wskazówka we właściwym kierunku zostanie doceniona! Dziękuję!


title: Zatrzymać spamerów przed rejestracją bez wyłączania rejestracji użytkownika?

text: Moja witryna http://remotejobs.io obecnie używa wtyczki do zasilania tablicy ogłoszeń i życiorysów dostarczonych przez użytkowników. Wtyczka tworzy użytkowników z własnego interfejsu, więc nie ma typowej metody tworzenia użytkowników na stronie. Jednak ostatnio miałem przytłaczającą liczbę nowych kreacji użytkowników od botów spamowych. Znam różnicę, ponieważ otrzymuję e-mail rejestracyjny nowego użytkownika od tych użytkowników, którzy, jak przypuszczam, po prostu trafiają na stronę http://remotejobs.io/wp-login.php?action=register, podczas gdy interfejs używany przez użytkowników faktycznie publikuje wznowić lub praca nie generuje tego powiadomienia e-mail. Czy istnieje możliwość zablokowania możliwości tworzenia kont przez boty spamowe w ten sposób bez całkowitego wyłączania rejestracji użytkowników? Aby było jasne, w witrynie nie trafia spam, ponieważ użytkownicy mogą publikować treści tylko za pośrednictwem interfejsu wtyczki. Ale chciałbym, aby baza danych użytkowników nie była wypełniona kontami spamowymi. EDYCJA: używam wtyczki wpjobboard.


title: Jak ustawić ścieżkę za pomocą WP_Filesystem i ftp base / chroot

text: W moim motywie użyję WP_Filesystem do napisania pliku na przykład: $file = get_template_directory().'/library/assets/css/wpless2css.css'; Który wypisuje coś w stylu `/home/user/domain/http_docs/wp-content/theme/mytheme/library/assets/css/wpless2css.css` To zadziała, chyba że użytkownik ftp będzie chrootował do `/home/user/domain /` (na niektórych serwerach?). W przypadku chroota WP_Filesystem nie może znaleźć `$file`. Wydaje się, że rozwiązaniem jest zdefiniowanie `FTP_PATH` w wp-config.php w `/home/user/domain/` i użycie: if(FTP_BASE) $file = str_replace(FTP_BASE,'',get_template_directory()).'/library/ asset/css/wpless2css.css'; Szukam bardziej niezawodnego rozwiązania i wsparcia dla różnych możliwych systemów uprawnień.


title: Użyj domeny z istniejącą instalacją Wordpress

text: Mam działającą, samodzielnie hostowaną instalację Wordpress znajdującą się w mojej przestrzeni internetowej pod adresem crypticname.online.de/Mysite/ i nabyłem domenę, powiedzmy mysite.de. Chciałbym, aby mysite.de zażądało strony głównej crypticname.online.de/Mysite/ i mysite.de/photos/ -> crypticname.online.de/Mysite/photos/, ale bez faktycznej zmiany adresu URL w przeglądarce na tajemniczy adres. Odpowiednie strony w kodeksie Wordpress wyjaśniają tylko, jak przenieść witrynę z jednej lokalizacji do drugiej, ale nie znalazłem rozwiązania tego konkretnego problemu. Jakie ustawienia muszę ustawić w backendzie Wordpress iu mojego dostawcy nazwy domeny?


title: div o różnych wyglądach w różnych motywach

text: Mam shortcode we wtyczce, która ma wyświetlać div. Div można stylizować w ustawieniach. Problem polega na tym, że div ma inny wygląd w różnych motywach. Jest to oczywiste, ponieważ inne motywy modyfikują style w sposób ogólny, którym nie zajmuję się konkretnie. Jakie jest _optymalne_ rozwiązanie, tak aby jego wygląd pozostał taki sam we wszystkich motywach. Jednym z oczywistych jest zastąpienie **WSZYSTKICH** możliwych właściwości CSS w moich stylach związanych z div. Czy jest na to lepszy sposób?


title: mój custom_post_type nie pojawia się na mojej stronie internetowej... jak?

text:
utworzyłem custom_post_type i utworzyłem tam post, który nie pojawia się na mojej stronie internetowej ... jak mogę go wywołać tam, gdzie chcę? normalne posty są wywoływane w następujący sposób: <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<a href="<?php the_permalink() ?>"><?php the_title(); ?>

 <?php the_content(); ?>


title: Uzyskaj posty z określonego typu posta w tablicy identyfikatorów

text: Mam kilka identyfikatorów postów w tablicy identyfikatorów, takich jak: $ids = array(20,34,65,126) ; W moim projekcie jest wiele niestandardowych typów postów, te identyfikatory są powiązane z różnymi typami postów, ale nie wiem, który identyfikator jest powiązany z którym typem postu w tym stanie. Innymi słowy, muszę zrobić coś takiego: $posts = my_get_posts( 'ids' => array(20,34,65,126), 'post_type' => 'product', ) ; Ta funkcja musi wyeliminować identyfikatory, które nie są produktem. Jak to zrobić?


title: Dodaj robots.txt do roota

text: Mam nową instalację Wordpress 3.5.1 (umieszczoną na Dreamhost FWIW), której **nie** chcę indeksować przez wyszukiwarki. Chciałbym udostępnić prosty plik robots.txt z `Disallow: /` dla wszystkich agentów użytkownika. Zaznaczyłem pole „Zniechęcaj wyszukiwarki do indeksowania tej witryny” w menu Ustawienia > Czytanie, ale http://mysite.com/robots.txt nadal zwraca błąd 404. Czy istnieje sposób, aby Wordpress automatycznie generował i wyświetlał odpowiedni plik robots.txt? Jeśli nie, jaki jest najlepszy sposób na skonfigurowanie go do obsługi mojego własnego statycznego pliku robots.txt?


title: Dodajesz CSS do postów na blogu?

text: Jak dodać kod CSS do określonego wpisu na blogu w WordPressie? Czy muszę utworzyć nowy plik i zachować kod CSS, którego potrzebuję do tego wpisu na blogu, w tym pliku?


title: Sortuj mój kalendarz wydarzeń według daty

text: Obecnie tworzę kalendarz wydarzeń na WordPressie z niestandardowym typem wpisu. Używam pól niestandardowych dla daty, opisu itp. Teraz chcę posortować wydarzenia według daty.. Więc --> 3 stycznia 2012 10 stycznia 2012 1 lutego 2012 ....


title: is_archive dla niestandardowej strony archiwum podatkowego?

text: Masz problem z uzyskaniem strony wyników niestandardowej taksonomii, aby poznać jej tę stronę. Pokazuje tylko szczegóły z domyślnej strony blogu is_archive... Próbowałem tego... <?php } elseif ( is_archive() && is_tax() == 'article-area') { get_template_part( 'includes/ inc-article' ) ?> Kiedy wszystko, co robi, pokazuje szczegóły z tego... <?php } elseif ( is_archive() ) { get_template_part( 'includes/inc-blog' ) ?> Jakieś pomysły, jak ja zakłopotany? :( Dzięki za obejrzenie... :)


title: Chcę wiedzieć o wtyczkach, które pomagają podczas pisania kodu na mojej stronie?

text: Chcę wiedzieć o wtyczkach, które pomagają mi pisać zakodowane bloki. Wypróbowałem dwa lub trzy, ale nie jestem w stanie się dogadać i wykorzystać. Proszę zasugerować mi kilka dobrych wtyczek, a także jak z nich korzystać, jeśli potrzebuję reprezentować niektóre kody. Tak, mam wiele różnych języków, w których koduję... więc podświetlanie i inne rzeczy mają znaczenie. Proszę pomóż.


title: Ustaw wyróżniony obraz, który się nie otwiera – utknął podczas ładowania

text: Nie mogę ustawić polecanego obrazu dla postów/stron. Okno „ustaw polecany obraz” otwiera się, ale nigdy się nie ładuje i nie wyświetla miniatur. Potem próbowałem wgrać obraz za pomocą Media, zacina się przy chrupaniu. Ale kiedy odświeżę stronę mediów po dłuższym czasie, obraz został przesłany. Rzeczy, których próbowałem: * Wyłączenie wszystkich wtyczek * Regenerowanie miniaturek * wyświetla błąd `function(){if(h){var d=h.length;!function f(b){n.each(b,function( b,c){var d=n.type(c);"funkcja"===d?a.unikalny&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f (c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this}` * Usunięto wszystkie obrazy z istniejącej Biblioteki mediów * Ręcznie usunięto folder UPLOADS/2014 . * Zmień na domyślny motyw dwadzieścia czternaście. * Poproszono hosting o zresetowanie wszystkich uprawnień do plików


title: Jak mogę wyłączyć funkcję multisite w WordPress 3.0?

text: Chcę użyć wtyczki Google XML Sitemaps, która mówi: „Wtyczka nie będzie aktywna, dopóki nie wyłączysz trybu wielu witryn”. Nie potrzebuję trybu wielostanowiskowego.


title: Wordpress Custom Query, aby wyświetlić posty z ostatnich x lat

text: Znalazłem sposób na pokazanie wszystkich postów z bieżącego roku za pomocą tego kodu: <?php $today = getdate(); $ostatni rok = $dzisiaj[ 'rok' ]; $args = array( //'nopaging' => true, 'paged' => $paged, 'category' => 1, 'posts_per_page' => 36, 'rok' => $ostatni, ); zapytanie_posty( $args ); // Zapytanie ?> <div id="grid"> <?php while ( have_posts() ): the_post(); // Pętla ?> <?php get_template_part( 'artykuł', 'kciuk' ); ?> <?php koniec; ?> </div> <?php get_template_part( 'nawigacja' ); ?> <?php wp_reset_query(); // Reset Query ?> Jednak to, czego naprawdę chcę, to pokazywanie postów sprzed 2 lat do dzisiaj (jest to styczeń 2014), czyli postów z 2012 i 2013 oraz 2014. Jak to zrobić? Z góry bardzo dziękuję.


title: Jak edytować widżety w WordPressie

text: W menu Wygląd -> Widżety znajduje się lista widżetów, które można przeciągać i upuszczać, aby wyświetlić je na pasku bocznym. Gdzie jest kod HTML/PHP dla tych niestandardowych widżetów? Byłem na WordPressie Function Reference, ale nie mogłem nic znaleźć. Z pewnością te widżety muszą być pobrane z szablonu HTML/PHP. Powodem, dla którego chcę wiedzieć, jest to, że domyślnie tytuły widżetów to znaczniki `<h3>` i chcę je zmienić na znaczniki `<h5>`. Muszę też dodać kilka `<hr />` i inne rzeczy. Sprawdziłem plik `theme/includes/widgets.php` ale nic nie znalazłem. Nawiasem mówiąc, używam kopii Twenty Eleven, aby zmodyfikować mój motyw. Kod w `theme/sidebar.php` jest przeznaczony dla `(!dynamic_sidebar())`, jednak mój pasek boczny _jest_ dynamiczny, więc ten kod jest bezużyteczny.


title: Pobieranie obrazów z biblioteki multimediów i funkcja get_the_date() nie działają

text:
Posiadam funkcję wyświetlania wszystkich obrazów w bibliotece multimediów na stronie. Chciałbym wyświetlić datę każdego obrazu, ale użycie get_the_date() zwraca tylko dzisiejszą datę. Oto kod, którego używam: function get_images_from_media_library() { $args = array( 'post_type' => 'attachment', 'post_mime_type' =>'image', 'post_status' => 'inherit', 'order' = > „DESC” ); $query_images = nowe WP_Query( $args ); $obrazy = tablica(); foreach ( $query_images->posty jako $image) { $images[]= $image->guid; } return $obrazy; } funkcja display_images_from_media_library() { $imgs = get_images_from_media_library(); $html = '
'; foreach($imgs as $img) { $html .= ''; echo get_the_date('F j, Y'); } $html .= '
'; zwróć $html; } Czy mógłbym ktoś mi pokazać, gdzie się nie zgadzam?


title: Zachowaj formatowanie treści shortcode

text: Jak mogę zachować formatowanie treści w bloku shortcode, gdy przełączam się między edytorem wizualnym i tekstowym w TinyMCE? Tak jak w przypadku rzeczy między `[mójkrótki kod]` i `[/mójkrótkikod]`. Używam JSON wewnątrz shortcode. Widziałem swobodnie pytanie Switch between Visual and HTML oraz wtyczkę Preserved HTML Editor Markup. Wtyczka wydaje się dobra, ale mam setki witryn i setki klientów, którzy są właścicielami tych witryn i nie chcę ryzykować zepsucia ich zawartości za pomocą rozwiązań „Napraw to” wymaganych przez tę wtyczkę. Naprawdę to, o co proszę, wydaje się być wyjątkowe dla sekcji zawartości bloków shortcode, więc mam nadzieję na rozwiązanie, które jest „lżejsze” niż wtyczka Preserved HTML Editor Markup. Oto przykład „przed”, w trybie **tekst**: [myshortcode] { "map": { "zoom": 5 } } [/myshortcode] Teraz mamy przykład przełączenia na **wizualizację* * mode: [myshortcode] { "map": { "zoom": 5 } } [/myshortcode] Po tym, jeśli przełączysz się z powrotem do trybu **text**, zobaczysz: [myshortcode] { "map": { "zoom": 5 } } [/myshortcode]


title: Problem z niestandardową stronicowaniem zapytań WordPress w wielu witrynach

text: Mam witrynę z zapytaniem do pobrania według określonej kategorii. W obecnej witrynie działa również system wielostanowiskowy. Przed aktualizacją do wersji 3.9 to zapytanie działało dobrze, ale po aktualizacji do wp 3.9 i wykonaniu aktualizacji sieci wp, stronicowanie już nie działa. Mam witrynę deweloperską z tym samym dokładnym kodem i danymi, aby porównać, co może być problemem. Jedyne, co mogę wymyślić, to to, że jest to kwestia wielostanowiskowa. Nie udało mi się znaleźć niczego w Internecie (jeszcze), gdzie ludzie są w stanie odtworzyć ten sam problem. Jeśli ktokolwiek może przekazać jakiś wgląd lub mieć pomysły na to, co dokładnie dzieje się z tym problemem, doceń to. Oto zapytanie. $paged = (get_query_var('strona')) ? get_query_var('strona') : 1; $args = array( 'category_name' => 'blog', 'posts_per_page' => '8', 'order' => 'DESC', 'paged' => $paged, 'status' => 'opublikuj' ); $posty = query_posts($args); Rysowane błędy: > Ścisłe standardy: Deklaracja Menu_With_Description::start_el() powinna być > kompatybilna z Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args > = Array, $id = 0) w /home/user/pub/wp- > content/themes/sometheme/functions.php w wierszu 59 > > Ścisłe standardy: Deklaracja Hook::call_parent() powinna być zgodna > z Mixin::call_parent($method) w /home/user/pub/wp- > content/themes/photocrati-theme/pope/lib/class.extensibleobject.php on-line > 1377 > > Ścisłe standardy: Deklaracja C_Component_Factory::define() powinna być > kompatybilna z C_Component ::define($context = false) w /home/user/pub/wp- > content/themes/photocrati-theme/pope/lib/class.component_factory.php on-line > 35 > > Ścisłe standardy: Deklaracja C_Base_Module: :define() powinna być > kompatybilna z C_Component::define($context = false) w /home/user/pub/wp- > content/themes/photocrati-theme/pope/lib/class.base_module.php w wierszu 184 >> Ścisłe standardy: Deklaracja C_B ase_Product::define() powinna być > kompatybilna z C_Base_Module::define($id, $name, $description = '', > $version = '', $uri = '', $author = '', $author_uri = '', $context = false) > w /home/user/pub/wp-content/themes/photocrati-> theme/pope/lib/class.base_product.php w wierszu 36 >> Ścisłe standardy: Deklaracja M_Photocrati_GalleryLegacy:: define() powinna > być zgodna z C_Base_Module::define($id, $name, $description = '', > $version = '', $uri = '', $author = '', $author_uri = '', $context = false) > w /home/user/pub/wp-content/themes/photocrati-theme/photocrati- > gallery/module.photocrati_gallery_legacy.php w wierszu 33 > > Ścisłe standardy: Deklaracja M_Photocrati_ThemeBulk::define() powinien być > kompatybilny z C_Base_Module::define($id, $name, $description = '', > $version = '', $uri = '', $author = '', $author_uri = '', $context = false) > w /home/user/pub/wp-content/themes/photocrati- > theme/module.photocrati_theme_bulk.php w wierszu 109 > > Ścisłe standardy: Declar acja M_Photocrati_ThemeAdmin::define() powinna być > zgodna z C_Base_Module::define($id, $name, $description = '', > $version = '', $uri = '', $author = '', $ author_uri = '', $context = false) > w /home/user/pub/wp-content/themes/photocrati- > theme/admin/module.photocrati_theme_admin.php w wierszu 250 > > Ścisłe standardy: Deklaracja P_Photocrati_Theme:: define() powinna być > kompatybilna z C_Base_Product::define($id, $name, $description = '', > $version = '', $uri = '', $author = '', $author_uri = '') w > /home/user/pub/wp-content/themes/photocrati- > theme/products/photocrati_theme/product.photocrati_theme.php on line 47 > > Surowe standardy: Deklaracja M_AutoUpdate::define() powinna być zgodna > z C_Base_Module::define($id, $name, $description = '', $version = '', > $uri = '', $author = '', $author_uri = '', $context = false) w > / home/user/pub/wp-content/themes/photocrati-> theme/products/photocrati_theme/modules/autoupdate/module.autoupdate.php on> linia 78 8 > > Ścisłe standardy: Deklaracja M_AutoUpdate_Admin::define() powinna być > zgodna z C_Base_Module::define($id, $name, $description = '', > $version = '', $uri = '', $ author = '', $author_uri = '', $context = false) > w /home/user/pub/wp-content/themes/photocrati- > theme/products/photocrati_theme/modules/autoupdate_admin/module.autoupdate_admin.php > on line 324 > > Uwaga: wpdb::escape jest przestarzałe od wersji 3.6! Zamiast tego użyj wpdb::prepare() lub > esc_sql(). w /home/user/pub/wp-includes/functions.php w wierszu 3078 > > Ścisłe standardy: tylko zmienne powinny być przekazywane przez odniesienie w > /home/user/pub/wp-content/themes/photocrati-theme/functions /photocrati->fonts.php w wierszu 42>> Uwaga: wpdb::escape jest przestarzałe od wersji 3.6! Zamiast tego użyj wpdb::prepare() lub > esc_sql(). w /home/user/pub/wp-includes/functions.php w wierszu 3078 >> Uwaga: wpdb::escape jest przestarzałe od wersji 3.6! Zamiast tego użyj wpdb::prepare() lub > esc_sql(). w /home/user/pub/wp-includes/functions.php w wierszu 3078


title: Proste przekierowanie, ale uzyskanie właściwego kodu?

text:
Muszę zmienić te linki, aby link do deski rozdzielczej kierował do profilu na forum zamiast do profilu panelu administracyjnego wordpress. Czy możesz pomóc?

<a href="<?php echo home_url() ?>/wp-admin/"><?php _e( 'Panel' , 'remis' ) ?>

<a href="<?php echo home_url() ?>/wp-admin/profile.php"><?php _e( 'Twój profil' , 'remis' ) ?>

<a href="<?php echo wp_logout_url(); ?>"><?php _e( 'Wyloguj' , 'remis' ) ?>

 najwyraźniej to gość zrobił to i działa z tym kodem, jednak nie wiem jak zmienić
<a href="<?php echo home_url() ?>/wp-admin/"><?php _e( ' Pulpit' , 'remis' ) ?>
 do <?php echo bbp_get_user_profile_url( get_current_user_id() ); ?>


title: Możliwość sortowania niestandardowych kolumn typu post

text: Moja witryna ma dwa niestandardowe typy: Aukcja i Partia. Partie są połączone z aukcją poprzez pole **post_parent**. Dodałem kolumnę Aukcja do listy Loty w panelu administracyjnym. function theme_lot_custom_columns($columns){ $new = array(); foreach($columns as $key => $value) { if ($key=='data') { // Umieść kolumnę Auction przed kolumną Date $new['auction'] = __('Auction'); } $nowy[$klucz] = $wartość; } return $nowy; } add_filter('manage_lot_posts_columns', 'theme_lot_custom_columns'); function theme_lot_custom_column($column, $post_id) { if ($column === 'aukcja'){ $post = get_post($post_id); if ($post->post_parent) { $post_parent = get_post($post->post_parent); echo 'ID). '">' . $post_parent->post_title . ''; } } } add_action('manage_lot_posts_custom_column', 'theme_lot_custom_column', 5, 2); Chciałbym, aby tę kolumnę aukcji można było sortować alfabetycznie według tytułu aukcji. Myślałem, że dodanie poniższego kodu wystarczy, ale nie. function theme_lot_sortable_columns($kolumny) { $kolumny['aukcja'] = 'aukcja'; return $kolumny; } add_filter('manage_edit-lot_sortable_columns', 'theme_lot_sortable_columns'); Każda pomoc byłaby mile widziana. Dziękuję!


title: Dynamiczne generowanie meta pola użytkownika

text:
Posiadam internetową witrynę edukacyjną wykorzystującą WordPress. Mam niestandardowy typ postu o nazwie „kurs”, który jest tworzony automatycznie za pomocą wtyczki e-learningowej, której używam „WooThemes Sensei”. Nadal jestem na wczesnym etapie, ale ważnym aspektem, który chcę śledzić, jest **uczestnictwo użytkowników w kursach**. W tym celu chcę mieć możliwość automatycznego tworzenia meta-pól dla każdego indywidualnego kursu. W każdym polu chcę mieć 3 opcje radiowe: Nie rozpoczęto, nie rozpoczęto i nie zakończono. Następnie podłączę funkcję do innej funkcji, która jest powiązana z użytkownikiem kończącym kurs, aby zaktualizować to metapole. Nie jestem programistą i na pewno nie wiem, czy jest to coś możliwego. Szukałem od tygodni i czytałem wiele artykułów online na temat pól meta użytkowników, ale nie znalazłem niczego, co by sprawdziło, jak to zrobić. **Podsumowując:** - Niestandardowy typ posta = kurs. - Kiedy publikuję kurs, chcę użyć sluga kursu do utworzenia nowego pola meta użytkownika. Ale jak mam to zrobić tylko raz? Może spróbuję tutaj czegoś "jeśli nie istnieje"? - Dla każdego automatycznie generowanego metapola dostępne są 3 opcje: Nie rozpoczęto, Rozpoczęto, Zakończono. Starałem się być pomocny i pokazać, że zrobiłem trochę badań na ten temat przed wysłaniem, ale przepraszam, jeśli to kompletny bałagan! Wypróbowałem następujący kod, wyświetla formularz w porządku, ale ** nie pokazuje poprawnej zapisanej wartości, podejrzewam, że ma to związek z tym, że $course_meta_name nie działa poza pętlą ** u góry, ale nie jestem tak dobry z kodowanie i nie znalazłem sposobu na prawidłowe zdefiniowanie go dla wyciągniętych kursów $. Każda pomoc byłaby mile widziana! Wszelkie komentarze są bardzo mile widziane i miejmy nadzieję, że będą one przydatne dla wielu innych. function edukadme_courses_for_user( $user ) { $courses_args = array( 'status' => 'zatwierdź', 'post_type' => 'kurs', ); $kursy = get_posts($kursy_args); $slug = $post->post_name; $nazwa_kursu_meta = $slug; $kurs_dla_użytkownika = get_the_author_meta( $kurs_meta_name, $użytkownik->ID); ?>
<?php _e('الكورسات في الأكاديمية'); ?>
 Wyświetlanie informacji o الات التي ارك ا ا المشارك.

 < ?php foreach($kursy jako $post) { $slug = $post->nazwa_postu; $course_title = $post->post_title; ?>
  <label for="<?php echo $slug; ?>"> <?php echo $course_title; ?>
 <?php echo $slug; ?> 	  <input type="radio" name="<?php echo $slug; ?>" < ?php if ($course_for_user == 'Nie rozpoczęto' OR $course_for_user == '' ) { ?>checked="zaznaczone"<?php }?> value="Nie rozpoczęte" />لم يبدأ
 <etykieta><input type="radio" name="<?php echo $slug; ?>" <?php if ($course_for_user == 'Rozpoczęto' ) { ?>checked="sprawdzone"<? php }?> value="Rozpoczęto" />بدأ ا الكورس
 <input type="radio" name="<?php echo $slug; ?>" <?php if ( $course_for_user == 'Zakończone' ) { ?>checked="zaznaczone"<?php }?> value="Zakończone" />إنتهى من الكورس

 <? php} ?>

 <?php } ?> <?php function save_educadme_courses_for_user( $user_id ) { if ( !is_super_admin() AND !current_user_can( 'edit_user', $user_id ) ) zwraca FAŁSZ; update_usermeta( $user_id, $course_meta_name, $_POST[$course_meta_name] ); } add_action( 'show_user_profile', 'educademe_courses_for_user' ); add_action( 'edit_user_profile', 'educademe_courses_for_user' ); add_action( 'personal_options_update', 'save_educademe_courses_for_user' ); add_action( 'edit_user_profile_update', 'save_educademe_courses_for_user' );


title: Naprawiam wyświetlanie oczekujących postów

text:
Więc w zasadzie staram się zrobić listę postów, które nie zostały jeszcze opublikowane. (w toku) http://streakingpirates.com/mytestpage/ oto mój wynik z poniższym kodem do tej pory i jak widać tytuły postów wyświetlają się 3 razy na zdjęcie. Oto mój kod:
 <?php echo '
'; $args = array( 'post_status' => 'oczekujące'); $ recent_posts = wp_get_recent_posts ( $ args ); $thumbnails = get_posts($args,'numberposts=5'); foreach ($thumbnails as $thumbnail) { echo '
ID) . '" title="' .esc_attr( $thumbnail->post_title) .'">' ; echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail'); echo '
'; foreach( $recent_posts as $recent ){ echo '
' . $recent["post_title"].' '. $recent["the_author"].'
'; } } echo '
'; ? http://streakingpirates.com/pending/, ale staram się to zmienić, ponieważ chcę, aby były one wymienione i blisko siebie w tym samym div zawartości, zamiast pokazywać cały artykuł w dużych fragmentach, jak w poniższym kodzie <? php $args= array( 'post_type' => 'post', 'post_status' => 'oczekuje' ); zapytanie_posty($args); ?> ale może mieć prostsze rozwiązanie


title: menu suwaka jest zagrożone w przestrzeni

text: Pobrałem motyw z wpexplorer do użycia w galerii i zaraz po wyjęciu z pudełka widzę, że obrazy suwaków znajdują się poniżej zawartości posta. Mogę dostosować przestrzeń, przesuwając w ten sposób nakładającą się zawartość w dół, używając argumentu wysokości. Zauważyłem jednak, że sposób ustawienia strzałek nawigacyjnych i przycisków suwaka nie poruszałby się odpowiednio. Lubię wiedzieć, jakie jest eleganckie rozwiązanie, aby wszystko (poniższe posty i nawigacja slidera) działało wokół różnych rozmiarów obrazu, tak jak było to zamierzone. Oto mój motyw (http://www.manartgallery.com/) i źródło (http://www.wpexplorer.me/tetris/) Będzie to bardzo pomocne w galerii. Bardzo dziękuję.


title: Używanie wp_cron z niestandardowym interwałem czasowym i zaczepem aktywacji rejestru

text: ## Scenariusz 1: nie powiedzie się Dodanie zadania cron `wp_schedule_event` z **niestandardowym interwałem** przy aktywacji wtyczki przy użyciu `register_activation_hook` poza definicją klasy nie działa, ponieważ niestandardowy interwał nie został jeszcze rozpoznany; register_activation_hook(__FILE__, array('Test', 'test_plugin_activated' ) ); register_deactivation_hook(__FILE__, array('Test', 'test_plugin_deactivated' ) ); add_action('plugins_loaded', array ( Test::get_instance(), 'plugin_setup' ) ); class Test { chronione statyczne $instance = NULL; public static function get_instance() { if ( null === self::$instance ) { self::$instance = nowe self; } return self::$instance; } public function plugin_setup() { //init stuff... } public function __construct() { add_filter( 'cron_schedules', array($this, 'custom_cron_schedule') ); } public function custom_cron_schedule( $schedules ) { $schedules['minute'] = array( 'interval' => 60, 'display' => __( 'Raz na minutę') ); zwróć $harmonogramy; } publiczna funkcja statyczna test_plugin_activated() { wp_schedule_event( time(), 'minuta', 'MINUTE_EVENT') ; } publiczna funkcja statyczna test_plugin_deactivated() { wp_clear_scheduled_hook( 'MINUTE_EVENT' ); } } ## Scenariusz 2: nie powiodło się Dodanie zadania cron z `wp_schedule_event` z **niestandardowym interwałem** przy aktywacji wtyczki przy użyciu `register_activation_hook` wewnątrz konstruktora klasy działa, ponieważ wywołanie `add_filter('cron_schedules', . ..);` jest również zapalany w łańcuchu wydarzeń. add_action('plugins_loaded', array ( Test::get_instance(), 'plugin_setup' ) ); class Test { chronione statyczne $instance = NULL; public static function get_instance() { if ( null === self::$instance ) { self::$instance = nowe self; } return self::$instance; } public function plugin_setup() { //init stuff... } public function __construct() { register_activation_hook(__FILE__, array($this, 'test_plugin_activated') ); register_deactivation_hook(__FILE__, array($this, 'test_plugin_deactivated' ) ); add_filter( 'cron_schedules', array($this, 'custom_cron_schedule') ); } public function custom_cron_schedule( $schedules ) { $schedules['minute'] = array( 'interval' => 60, 'display' => __( 'Raz na minutę') ); zwróć $harmonogramy; } funkcja public test_plugin_activated() { wp_schedule_event( time(), 'minuta', 'MINUTE_EVENT') ; } funkcja publiczna test_plugin_deactivated() { wp_clear_scheduled_hook( 'MINUTE_EVENT' ); } } ## Pytanie Jak sprawić, by scenariusz 1 lub 2 działał pomyślnie z niestandardowym interwałem czasowym. ## Edytuj: Oba scenariusze kończą się niepowodzeniem z niestandardowym czasem interwału innym niż domyślne wbudowane interwały.


title: Czy powinienem użyć is_admin() wewnątrz wywołania zwrotnego podpięcia 'admin_init'?

text: Dodaję akcję z następującą linią: `add_action( 'admin_init', 'fb_init_scripts');` A moja funkcja wygląda tak: function fb_init_scripts() { //Używaj tych skryptów tylko w interfejsie administratora jeśli (is_admin() ) { wp_enqueue_script('jquery-ui','http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js',array('jquery')); } } Czy w tym przypadku nie ma sensu używać `is_admin()` do kontroli, jeśli jestem w panelu administracyjnym, skoro uruchamiam tę funkcję w `admin_init` ?


title: Nie można wyświetlić ostatnich niestandardowych typów postów w domyślnym widżecie ostatnich postów

text:
Mam niestandardowy post typu „książki” i są już dodane „książki”. Jednak nie mogę zmodyfikować `WP_Query`, aby zmienić widget Ostatnie posty. Wiem, że istnieje filtr do modyfikacji argumentów `WP_Query`: add_filter('widget_posts_args', 'wp130512_recent_posts_args'); function wp130512_recent_posts_args($args) { $args['post_type'] = array('post', 'books'); return $args; } Ale niestety to nie działa. Próbowałem nawet bezpośrednio zmodyfikować default-widgets.php (tylko do testu) i nie wyświetla on żadnych „książek” (tylko „posty”). Próbowałem nawet dodać ten kod (tylko do testu) do default-widgets.php, ale nic nie pokazuje. Jeśli dodam dokładny kod do mojej strony głównej (front-page.php), wyświetli się „książki”. <?php $queryObject = nowe WP_Query( 'post_type=książki&posts_per_page=5' ); // Pętla! if ($queryObject->have_posts()) { ?>
 <?php while ($queryObject->have_posts()) { $queryObject->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?>
 <?php } ?>

Zobacz więcej
 <?php } ?> Więc co jest powód, dla którego nie mogę uzyskać niestandardowych typów postów w tym widżecie? **EDYTUJ** W ten sposób rejestruję niestandardowy typ poz. add_action('init', 'init_custom_post_types'); function init_custom_post_types() { register_post_type('books', array( 'label' => 'Książki', 'description' => 'Książki', 'public' => true, 'menu_position' => 5, 'menu_icon' => '', 'show_ui' => true, 'show_in_menu' => true, 'capability_type' => 'post', 'map_meta_cap' => true, 'hierarchical' => false, 'rewrite' => array('slug' => 'books', 'with_front' => true), 'query_var' => true, 'supports' => array('title','editor','excerpt','trackbacks','custom-fields', 'revisions','thumbnail','author','post-formats'), 'has_archive' => true, 'labels' => array ( 'name' => 'Książki', 'singular_name' => 'Książka' , 'menu_name' => 'Książki', 'add_new' => 'Dodaj książkę', 'add_new_item' => 'Dodaj nową książkę', 'edit' => 'Edytuj', 'edit_item' => 'Edytuj Bo ok', 'new_item' => 'Nowa książka', 'view' => 'Wyświetl książkę', 'view_item' => 'Wyświetl książkę', 'search_items' => 'Wyszukaj zwolenników', 'not_found' => 'Nie Znaleziono zwolenników', 'not_found_in_trash' => 'W Koszu nie znaleziono osób wspierających', 'parent' => 'Książka nadrzędna',)) ); ... inne niestandardowe typy postów tutaj... }


title: WP nav menu + Bootstrap, dodaj role="menu" do UL

text: W jednym z moich projektów próbuję dodać nav_menu do mojego motywu WP. Powinien działać jako szybkie menu (pasek boczny). Pozostał tylko jeden problem: jak dodać **role="menu"** do **< ul >**? <?php wp_nav_menu( array( 'menu' => 'menu', 'theme_location' => 'menu', 'głębokość' => 0, 'container' => '', 'menu_class' => 'menu rozwijane' , 'fallback_cb' => 'wp_bootstrap_navwalker::fallback', 'walker' => nowy wp_bootstrap_navwalker()) ); ?> Szukam wyjścia `<ul class="dropdown-menu" role="menu">` ktoś ?


title: Różna liczba postów w rzędzie w układzie siatki

text: Czy istnieje sposób na zwrócenie różnej liczby postów na wiersz w układzie siatki na podstawie rozmiaru posta pobranego z pola niestandardowego? Na przykład: | Duży post | | Średni post | Średni post | | Mały post | Mały post | Mały post | | Średni post | Średni post | | Duży post | Kolejność wierszy może być inna. Otrzymuję wartość rozmiaru posta z pól niestandardowych. Uważam, że logika jest następująca: 1. uzyskaj rozmiar postu 2. jeśli w pełni pasuje do wiersza, zamknij tag wiersza, otwórz nowy tag wiersza i sprawdź następny post 3. jeśli post nie pasuje do całego wiersza , zdobądź kolejny rozmiar posta i sprawdź, czy pasuje itp. Jakieś praktyczne pomysły? Wielkie dzięki. **EDYTUJ** : Przestudiowałem już wiele fragmentów kodu, które są dość proste. Jednak wszystkie dotyczą tworzenia takiej samej liczby kolumn za pomocą zmiennej i modułu $counter, czyli podziału pętli na układ dwu/trzy/czterokolumnowy. Nigdy nie widziałem fragmentu umożliwiającego różne rozmiary postów w tym samym układzie siatki. Rozmiar posta jest zdefiniowany w polu niestandardowego posta. Można to sprawdzić przez `get_post_meta($post_id, '_post_size', true);` Przykład siatki z różną liczbą postów w wierszu i różnymi rozmiarami postów można zobaczyć w Virgin.


title: Jak aktywować wtyczki za pomocą kodu?

text: Jeśli to możliwe, w jaki sposób można aktywować zainstalowane wtyczki (tzn. pliki zostały umieszczone w katalogu wp-content/plugins) z innych wtyczek?


title: Dostosuj niestandardowy widżet menu

text: Czy można dostosować niestandardowy widżet menu? Wszystko, co naprawdę chcę zrobić, to zmienić tekst, w którym jest napisane „wybierz kategorię”. Dziękuję


title: Jak zaimplementować filtr czasu, aby pokazać losowy post 1 miesiąc dla jednej kategorii i 3 miesiące dla innych kategorii?

text:
Zacząłem pracować na jednej stronie za innym deweloperem i jest problem z jego "popularnym widżetem", który w zasadzie wyświetla 3 losowe posty z kategorii. Istnieje pewne oświadczenie Switch, które reguluje wyświetlanie z kategorii wiadomości 3 losowych postów nie starszych niż 1 miesiąc, a dla innych kategorii 3 miesiące. Nie rozumiem, co tam zrobił z ['interval'], ale kiedy używam parametrów czasu wordpress, nadal nie mam wyników. function getSomePost($category,$postsPerPage=3) { global $post; $args = array( 'category_name'=>$category, 'posts_per_page'=>$postsPerPage, 'post_type'=>'post', 'post_status'=>'publish', 'post__not_in'=>array($post-> ID), 'orderby'=>'rand', ); switch ($category) { case 'news': $args['interval'] = '1 MIESIĄC'; przerwanie; case 'analiza': $args['interval'] = '3 MIESIĄC'; przerwanie; case 'raporty': $args['interval'] = '3 MIESIĄCE'; przerwanie; } $query = nowe WP_Query($args); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $postThumbClass = 'bez kciuka'; ?> <div <?php post_class(array('wp-post-entry', 'sidebar-post' )); ?>> <?php if(has_post_thumbnail ()):?> <?php $postThumbClass = '' ?>
 <a href="<?php the_permalink() ?> "> <?php the_post_thumbnail(tablica(70,70)); ?>
 <?php endif; ?> <div class="wp-post-full-content <?php echo $postThumbClass ?> ">
<a href="<?php the_permalink(); ?> "><?php tytuł_(); ?>

 } } } Próbowałem zamienić wewnątrz przełącznika case 'news': $args['interval'] = '1 MIESIĄC'; przerwanie; with case 'news': // Utwórz nową funkcję filtrującą, która doda naszą klauzulę where do funkcji zapytania filter_where( $where = '' ) { // posty w ciągu ostatnich 30 dni $where .= " AND post_date > '" . date('R-m-d', strtotime('-30 dni')) . "'"; zwróć $gdzie; } add_filter( 'posts_where', 'filter_where' ); $zapytanie = nowe WP_Query( $args ); usuń_filtr( 'posty_gdzie', 'filtr_gdzie' ); przerwanie; i przypadek 'analiza': $args['interval'] = '3 MIESIĄCE'; przerwanie; with case 'analysis': // Utwórz nową funkcję filtrującą, która doda naszą klauzulę where do funkcji zapytania filter_where( $where = '' ) { // posty w ciągu ostatnich 30 dni $where .= " AND post_date > '" . date('R-m-d', strtotime('-90 dni')) . "'"; zwróć $gdzie; } add_filter( 'posts_where', 'filter_where' ); $zapytanie = nowe WP_Query( $args ); usuń_filtr( 'posty_gdzie', 'filtr_gdzie' ); przerwanie; ale to nie działa, próbowałem również użyć `if ($category == 'news')` ale to psuje stronę


title: Pożyczanie wcześniej przetłumaczonych ciągów przez wtyczkę podrzędną

text: Istota: Czy podczas pisania rozszerzenia wtyczki rozszerzenie „pożyczy” tłumaczenia wymaganej wtyczki nadrzędnej, używając jej domeny tekstowej? Scenariusz: Załóżmy, że istnieje wtyczka nadrzędna, której tłumaczenie jest aktualne i zgodne ze standardami WP w tej kwestii. Przychodzę i piszę wtyczkę rozszerzenia. To rozszerzenie wymaga wtyczki nadrzędnej (bez niej nie zainstaluje się). Teraz powiedzmy, że w mojej wtyczce jest ciąg, który jest tłumaczony we wtyczce nadrzędnej. Zakładając, że ciągi są absolutnie identyczne (wielkość liter, alfa itp.), czy mogę pożyczyć tłumaczenie tego ciągu, który został już przetłumaczony przez innych, z wtyczki nadrzędnej i użyć go w moim rozszerzeniu, używając po prostu domeny tekstowej wtyczki nadrzędnej? jak _e('String', 'parentplugin'); To, co chciałbym zrobić, to dla kilku elementów, które mają identyczne, wstępnie przetłumaczone ciągi we wtyczce nadrzędnej, użyć dla nich tłumaczeń wtyczki nadrzędnej, aby zmniejszyć ilość pracy wymaganej przez ludzi tłumaczących moją wtyczkę.


title: Utwórz niestandardowy post podczas rejestracji użytkownika i dołącz niestandardowe pola

text: Próbuję stworzyć niestandardowy post, gdy użytkownik się zarejestruje. Poniższe rozwiązanie jest dla mnie bardzo pomocne i w zasadzie działa. Problem, jaki mam, polega na tym, że podczas tworzenia wpisu muszę również ustawić kilka niestandardowych wartości pól, a także ustawić niestandardowe taksonomie (w zasadzie niestandardową kategorię i tag) podczas tworzenia wpisu. Próbowałem różnych metod, ale bez radości. Mój formularz rejestracyjny korzysta z S2Member i jestem w stanie odpytywać pola w nim zawarte - m.in. Tworzony wpis niestandardowy ma tytuł ustawiony zgodnie z jednym z pól rejestracji S2. Odpowiedź, której używam, jest pod adresem: Utwórz posty podczas rejestracji użytkownika Dziękujemy za pomoc, Pozdrawiam Bob Oto kod z powyższej odpowiedzi, której używam: function create_new_user_posts($user_id){ $field1 = get_user_field("ws_plugin__s2member_custom_reg_field_reg_field1" , $identyfikator_użytkownika); if (!$user_id>0) powrót; // Utwórz obiekt posta $my_bio_post = array( 'post_type' => 'mycustomposttype', 'post_title' => $field1, //'post_content' => 'To jest mój post.', 'post_status' => 'oczekujący' , 'post_author' => $user_id ); // Wstaw post do bazy danych $bio = wp_insert_post( $my_bio_post ); //i jeśli chcesz przechowywać identyfikatory postów w // meta użytkownika, użyj po prostu update_user_meta update_user_meta($user_id,'_reg_listing',$bio); } add_action('user_register','create_new_user_posts');


title: Budowanie prostej wtyczki „ustawienia” do zmiany ciągów tekstowych na stronie głównej

text: Próbuję zbudować mały obszar ustawień, aby zmienić ciągi niektórych tekstów (adresy URL obrazów i linki) na stronie głównej za pośrednictwem pulpitu nawigacyjnego. Znalazłem przydatny samouczek, który zawiera strukturę wtyczki (http://wakeusup.com/2011/11/how-to-create-plugin-options-page-in-wordpress/), ale kiedy próbuję zmienić „ klucz” (nie jestem pewien, czy jest to poprawny termin, ale znajduje się w linku) nie wyświetli tekstu, ale używając „kkpo_quote” jako klucza, który działa, przeszukałem oba pliki i zastąpiłem wszystkie wystąpienia kkpo_quote dla „ przykładowy tekst” bezskutecznie. Co ja robię źle? i czy łatwo jest dodać kolejny klucz?