title: Jak pobrać listę wszystkich postów kiedykolwiek opublikowanych za pośrednictwem kanału?

text: Chciałbym dostosować adres URL kanału pewnego bloga opartego na Wordpress, którego nie jestem właścicielem, aby wyświetlić wszystkie opublikowane posty. To dlatego, że lubię ten blog i chcę przeczytać wszystko, co napisał autor, nie tracąc ani jednego posta. czy to możliwe? A może powinienem surfować po tym blogu ręcznie? Dziękuję Ci.


title: Jak mogę dodać widżet/pole rozwijane do strony postów administratora?

text: Próbuję dowiedzieć się, jak dodać widżet rozwijany do strony posta. Powodem, dla którego pytam, jest to, że chciałbym mieć kilka różnych klas postów, które użytkownik może wybrać podczas tworzenia posta, który może wybrać. Myślę, że mogę użyć post_class i zdefiniować kilka różnych klas i pozwolić użytkownikowi na użycie tego jako szablonu posta. Czy ktoś już to zrobił i może poprowadzić mnie we właściwym kierunku?


title: Zmień etykiety niestandardowego typu postu za pomocą motywu podrzędnego

text: Mam motyw nadrzędny WordPress, który używa niestandardowego typu posta o nazwie „portfolio”, który chciałbym zmienić na „właściwość”. Chciałbym zmienić wszystkie elementy kontekstowe, aby pokazać „właściwość”, takie jak „pokaż właściwości”, „dodaj nową właściwość”, „usuń właściwość”` itp. Wiem, że mogę to zrobić przez aktualizowanie motywu nadrzędnego, ale wolałbym tego nie robić, jeśli mogę tego uniknąć. Znalazłem tę odpowiedź, ale niestety nie jestem wystarczająco obeznany z PHP, aby napisać własną funkcję i to zmienić. Czy ktoś może mi w tym pomóc? Trochę utknąłem. Mam wrażenie, że jest to coś prostego dla PHP Dev. Po prostu nie wiem, jak to zrobić.


title: Dlaczego mój widżet Twittera nie działa w moim motywie?

text: Mam własny widget Twittera ustawiony do załadowania na mojej stronie internetowej, który działa dobrze. Jednak na moim blogu opartym na WP skrypt jest dołączony, ale nie jest renderowany. Wywołuję go wewnątrz pustego `div` w ten sposób: > > <?php include $_SERVER['DOCUMENT_ROOT'].'/twtr-widget.html' ?> > Ale pojawia się w źródle strony jako HTML (jestem umieszczając '...', aby zaoszczędzić pokój): > > <script src="http://widgets.twimg.com/j/2/widget.js"></script> > <script> > nowy TWTR.Widget ({... > ...</script> > Innymi słowy, skrypt nie jest wykonywany. Dlaczego? EDYCJA: Tu znajduje się blog.


title: ogromny dziennik błędów z błędami bazy danych

text: Witryna zaczęła zachowywać się chaotycznie - więc w trakcie próby przywrócenia kopii zapasowej odkryłem, że zawiera plik error_log z 1,2 miliona wierszy błędów. Większość z tych błędów - większość błędów odczytu jak .... [27-lut-2012 10:57:04] Błąd bazy danych WordPress Tabela 'kidspart_kpbshop.wp_wpsc_product_categories' nie istnieje dla zapytania SELECT * FROM wp_wpsc_product_categories WHERE active = 1 ORDER BY nazwa nadana przez require, require_once, require_once, require_once, do_action, call_user_func_array, storefront_options Usunąłem ten plik, przywróciłem stronę ze starej kopii zapasowej i dostałem nowy plik error_log, który ma już 496 000+ linii kodów błędów, w większości takie same "nie" t istnieje”. Jak mogę rozwiązać problem? Czy to wina wp-ecommerce? Albo co?


title: Zmień adres URL Wordpress z „abc.com” na „abc.com/de”

text: Mam domenę. Obecnie strona ładuje się w katalogu głównym tej domeny -- `abc.com`\--, ale chcę, aby ładowała się pod `abc.com/de`, ponieważ zamierzam później stać się witryną międzynarodową. Zajrzałem już do tych zasobów, ale nie działają dla mnie: http://wordpress.org/support/topic/easy-fix-changed-my-website-url http://yoast.com/move-wordpress- blog-domena-10-kroków/ (przekierowanie 301 marnuje czas) Jak mogę to zrobić?


title: Spis treści z krótkim kodem

text:
Mam tę klasę Spisu treści poniżej, która znajdzie wszystkie znaczniki `<h2>` `<h3>` i `<h4>` w poście wordpress i utworzy z nich spis treści, doda identyfikator do każdy nagłówek, więc po kliknięciu linku zostaniesz przeniesiony do tej części strony. Oto migawka tego, jak może wyglądać wygenerowany spis treści... ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/q8hAL.png) Teraz problem, który mam z tą klasą, jest po prostu znajduje wszystkie nagłówki i buduje spis treści podczas ładowania strony, a następnie dołącza wygenerowany spis treści na początku postu `$content`. Chciałbym wymyślić sposób, w jaki mogę określić, gdzie w poście pojawi się spis treści. Na przykład, jeśli post ma wyróżniony obraz, chciałbym wyświetlić spis treści pod obrazem, a nie na samym początku postu. Coś w rodzaju `shortcode` byłoby do tego idealne, ale nie jestem pewien, jak sprawić, aby działał z krótkim kodem, próbowałem stworzyć krótki kod, który uruchomiłby tę klasę, ale nie działa tak, jak chcę, to nie tworzy spisu treści, gdy uruchamiam go z krótkim kodem. Czy ktoś ma jakieś pomysły, jak to ulepszyć i sprawić, by działało tak, jak opisuję? Klasa jest uruchamiana z tym filtrem add_filter('the_content', array('TableOfContents', 'writeTOC')); Klasa /** * cd-table-of-contents.php */ class TableOfContents { /** * Zlicza występowanie elementów nagłówka w treści Wordpress * * @param type $content * @return null|boolean|array */ static function hasToc($tiers, $content) { $pattern = '/<h[2-' . $poziomy . ']*[^>]*>(.*?)<\/h([2-' . $tiers . '])>/'; $return = tablica(); if (pusty($zawartość)) zwraca null; if (!preg_match_all($wzór, $zawartość, $zwrot)) { return false; } return $return; } /** * Generuje spis treści tylko podczas przeglądania pojedynczych stron * * @param type $tiers * @param type $text */ funkcja static generateTableOfContents($tiers, $content, $draw = TRUE, $return = array()) { if (!is_singular()) return $content; // liczby włączone czy wyłączone? $liczba = prawda; $treść = $toc . $treść; $wyszukiwania = tablica(); $zastępuje = tablica(); $return = (is_array($return) && !empty($return) ) ? $return : TableOfContents::hasToc($poziomy, $treść); if ($draw && !empty($return)): if($num_on){ $toc = '
'; }else{ $toc = '
'; } $toc .= "
Spis treści
"; $toc .= "
"; $tags = reset($return); $tytuły = $zwrot[1]; $poziomy = koniec($zwrot); $_poziom = 2; $chapters = array('0','0','0','0','0','0'); $liczba = 0; foreach ($tags as $i => $htag) { $count++; $atrybuty = tablica(); $href = $liczba; $nowyId = 'id="' . $href . '"'; $newhtag = '>; $htagr = str_replace('>' . $titles[$i], "\t" . $newhtag . $titles[$i], $htag); $wyszukiwania[] = $htag; $zastępuje[] = $htagr; if ((int)$levels[$i] === (int)$_level): if($num_on){ $rozdziały[$_poziom-1] = ((int)$rozdziały[$_poziom-1]+1 ); $rozdział = implode('.', array_slice($rozdziały, 1, ($levels[$i]-1) ) ); $toc .= '
' . strval($rozdział) . ' ' . $tytuły[$i] . '
'; }else{ $toc .= '
' . $tytuły[$i] . '
'; } endif; if ($levels[$i] > $_level) { $_steps = ((int) $levels[$i] - (int) $_level); for ($j = 0; $j < $_kroki; $j++): $toc .= '
'; $rozdziały[$poziomy[$i]-1+$j] = (int)$rozdziały[$poziomy[$i]-1+$j]+1; $_poziom++; koniec za; $rozdział = implode('.', array_slice($rozdziały, 1, ($levels[$i]-1) ) ); if($num_on){ $toc .= '
' . strval($rozdział) . ' ' . $tytuły[$i] . '
'; }else{ $toc .= '
' . $tytuły[$i] . '
'; } } if ($levels[$i] < $_level) { $_steps = ((int) $_level - (int) $levels[$i]); $rozdziały[$poziomy[$i]-1] = (int)$rozdziały[$poziomy[$i]-1]+1; $_opoziom = $_poziom; for ($j = 0; $j < $_kroki; $j++): $rozdziały[$poziomy[$i]+$j] = 0; $toc .= '
'; $_poziom--; koniec za; $rozdziały[$_opoziom-1] = 0; $rozdział = implode('.', array_slice($rozdziały, 1, ($levels[$i]-1) ) ); if($num_on){ $toc .= '
' . strval($rozdział) . ' ' . $tytuły[$i] . '
'; }else{ $toc .= '
' . $tytuły[$i] . '
'; } } } $toc .= '
'; $toc .= '

'; $treść = str_replace($wyszukiwania, $zastępuje, $treść); $treść = $toc . $treść; endif; zwróć $treść; } /** * Dołącza spis treści do $content * AKA. Wykonuje nasz filtr * * @param type $content * @return type */ static function writeToc($content) { $content = TableOfContents::generateTableOfContents(4, $content, TRUE); zwróć $treść; } } add_filter('the_content', array('TableOfContents', 'writeTOC'));


title: Klasa nieparzysta/parzysta na etykiecie artykułu

text: Używam tagu artykułu z następującym kodem: <article id="post-<?php the_ID(); ?>" <?php post_class('clearfix span4'); ?> role="article"> </article> i chciałbym dodać "nieparzyste" i "parzyste" do bieżącego `post_class`. Znalazłem następujący kod na innej stronie: <?php echo (++$j % 2 == 0) ? 'parzysty post' : 'nieparzysty post'; ?> Dlaczego nie działa z moim kodem? <artykuł id="post-<?php the_ID(); ?>" <?php post_class('clearfix span4 <?php echo (++$j % 2 == 0) ? 'evenpost' : 'oddpost'; ? >'); ?> role="artykuł">


title: Usuń określoną stronę/post z kanału

text: Pracuję nad stroną internetową z dużą ilością tutoriali/stron. Zrobiłem osobny kanał rss dla stron - działa dobrze. Ale potem musiałem stworzyć mapę witryny (stronę), która pojawia się w moim kanale rss "strony"! **Moje pytanie:** Jak mogę usunąć określony post/stronę z kanału?


title: $query->query_var['post_type'] nie ustawiono dla stron

text: Pomijając tę odpowiedź od @kaiser na temat możliwości filtrowania według typów postów na stronie wyszukiwania, chciałem mieć możliwość automatycznego dodawania wszystkich dostępnych publicznych typów postów. Tak więc, po pewnej pomocy z @kaiser, wymyśliłem: function sw_custom_post_type_includes($query) { $args = array( 'public' => true ); $wyjście = 'nazwy'; // nazwy lub obiekty, nazwy nut są domyślnie $operator = 'and'; // 'i' lub 'lub' $post_types = get_post_types( $args, $output, $operator ); if ( !is_search() && !in_array( get_post_type(), $post_types ) ) return; $query->set( 'post_type', $post_types ); zwróć $zapytanie; } add_filter('pre_get_posts', 'sw_custom_post_type_includes'); Co początkowo wydawało się działać świetnie, ale natknąłem się na problem -> wszystko poprawnie filtrowane według typu posta, Z WYJĄTKIEM, gdy próbowałem użyć `&post_type=page`. W rzeczywistości otrzymywałem niezdefiniowany błąd indeksu dla `post_type`. Nie mogłem zrozumieć, dlaczego to nie działało. Zdecydowałem się więc użyć `print_r($query->query_vars)`, aby sprawdzić, czy wszystko zostało wciągnięte poprawnie. Low and behold - dla wszystkich typów postów Z WYJĄTKIEM stron, ta zmienna została ustawiona. Porozmawiałem w tej sprawie z innym twórcą i zweryfikowali problem. Oto czego użyłem jako obejście: function sw_custom_post_type_includes($query) { if(isset($_GET['post_type']) && ((!isset($query->query_vars['post_type'])) || (isset($query->query_vars['post_type']) && $query->query_vars['post_type'] != 'nav_menu_item'))) { $query->set('post_type', urldecode($_GET[' post_type'])); } } add_action('pre_get_posts', 'sw_custom_post_type_includes'); To szczerze wydaje się dziwnym obejściem czegoś, co wprawiało mnie w zakłopotanie od kilku godzin. Każdy, kto ma w tym swój wkład, zostanie nagrodzony wirtualnymi piątkami.


title: Musisz uzyskać identyfikator transakcji zalogowanego użytkownika

text: Muszę uzyskać identyfikator transakcji zalogowanego użytkownika. Używam wtyczki Członkostwo listy życzeń z Clickbank Mają API. Ale nie jestem w stanie uzyskać txnid zalogowanego użytkownika za pomocą Udało mi się uzyskać dane członkowskie za pomocą tego $member = wlmapi_get_member(1); print_r($członek); Oto wynik TxnID można zobaczyć na opublikowanej stronie wyników, ale w jaki sposób mogę uzyskać konkretny identyfikator zalogowanego bieżącego użytkownika? ### W inny sposób próbowałem uzyskać wartości identyfikatora transakcji z bazy danych, ale tutaj problemem, z którym mam do czynienia, jest to, że identyfikator transakcji nie jest bezpośrednio powiązany z identyfikatorem użytkownika, jest połączony z identyfikatorem poziomu użytkownika, który różni się od identyfikatora użytkownika . Jak więc uzyskać identyfikator transakcji zalogowanego użytkownika, który chciałbym przekazać do adresu URL? Moje obrazy tabel bazy danych są pokazane w tym łączu


title: Dlaczego otrzymuję powiadomienia e-mail o komentarzach, które Wordpress już uznał za spam?

text: Mam bloga wordpress.org, który prowadzę na mojej własnej stronie. Mam zainstalowaną wtyczkę Akismet i ogólnie dbam o to, aby obie były aktualne (np. w tej chwili Akismet jest w wersji 2.5.7, a Wordpress w wersji 3.5.1). Od czasu do czasu (może co tydzień) otrzymuję wiadomość e-mail z Wordpressa, że komentarz (zazwyczaj spam) wymaga moderowania. Kiedy loguję się, aby go moderować, Wordpress informuje mnie, że został już oznaczony jako spam (chociaż nie oznaczyłem go tak, ale zakładam, że Wordpress oznacza, że Akismet to określił). W takim przypadku, po co w ogóle otrzymuję wiadomość e-mail z powiadomieniem? Czy Akismet nie łączy się z usługą Akismet, powiadamia mnie o tym i próbuje ponownie później? Jeśli tak, czy w takim przypadku można wyłączyć pocztę e-mail z powiadomieniem? Irytujące jest logowanie się do moderowania czegoś tylko po to, aby odkryć, że Wordpress już zna odpowiedź!


title: Nie można uzyskać dostępu do MySQL w Powweb

text:
Chciałem pobrać moje dane w mysql powweb, ale otrzymuję błąd: Ostrzeżenie: mysql_connect() [function.mysql-connect]: Odmowa dostępu dla użytkownika 'snursing'@'walcustweb1601.int.bizland.net' (przy użyciu hasła: TAK ) w /hermes/waloraweb049/b2838/pow.snursing/htdocs/southjerseyrn/wp-content/plugins/wp-retrieve-database/powweb-connect.php on line 8 wtyczka z powodu TEGO błędu (zauważ, że nie ma literówki w szczegółach). Mój powweb-connect.php <?php $myServer = "nazwa_użytkownika.powwebmysql.com"; $myUser = "nazwa użytkownika"; $mojeHasło = "hasło"; $mojaBaza = "nazwa_bazy_danych"; $s = mysql_connect($myServer, $myUser, $myPass) or die("Nie można połączyć się z MySQL"); $d = mysql_select_db($myDB, $s) or die("Nie można otworzyć bazy danych $myDB"); ?> który jest wywoływany przez główną wtyczkę: <?php /** * Nazwa wtyczki: wp-retrieve-database * Opis: pobiera dane z bazy danych. * Wersja: 0.5 * Autor: Chan */ include_once('powweb-connect.php'); add_filter( 'the_content', 'get_scrapy_scraped' ); funkcja get_scrapy_scraped ($zawartość) { global $wpdb; if ( ! is_page( 'jobs' ) ) return $content; $table_name = $wpdb->prefiks . „Kariera”; $retrieve_data = $wpdb->get_results( "WYBIERZ * Z $nazwa_tabeli" ); if (! $retrieve_data) return $content; $table = '

 Nazwa stanowiska	 Lokalizacja/Dział	 Pełne informacje	 Link do aplikacji
 '; foreach ( $retrieve_data as $row ) { $table .= "
 {$row->Job_Name}	 {$row->Job_Department}	 {$ row->Job_Link_Info}	 {$row->Job_Link_Apply}
"; } $table .= "
"; return $tabela . $treść; } ?>


title: Czy można aktywować szablon strony bez ręcznego wybierania go w wp-admin?

text: Uruchamiam nowy motyw WordPress i zastanawiałem się, czy można wybrać i aktywować szablon tej konkretnej strony w kodzie, zamiast wchodzić do CMS i ręcznie wybierać go z listy rozwijanej. Pytam, ponieważ po uruchomieniu motywu cała masa stron nie będzie miała przypisanego szablonu, dopóki ręcznie go nie wybierzę, a ruch odwiedza już moją witrynę.


title: Jak dodać jeden tag do wielu postów?

text: Mam prawie 1500 postów na moim blogu wordpress. Przed przejściem do nowego projektu muszę oznaczyć wszystkie te posty jednym tagiem „stary”. W jaki sposób mogę to zrobić? Próbowałem zbiorczo edytować posty i zawsze będzie to tylko 78 postów za każdym razem, gdy spróbuję. Próbowałem zwiększyć limity serwerów i nadal to nie działa! W jaki sposób mogę to zrobić?


title: Jak przechowujemy komunikaty o błędach/powodzenie na następnej stronie

text: Pracuję na miejscu. Używam niektórych niestandardowych komunikatów o błędach/sukcesach dla formularza front-end, ale obecnie wyświetla komunikaty na tej samej stronie, ale gdy tylko odświeżę stronę lub przekieruję użytkownika do następnej strony, wiadomości nie zostaną zapisane. Aby zapisać `wiadomości sukcesu` używam `kodu` $success = __('Logowanie się powiodło.', 'frontendprofile'); A do komunikatów o błędach używam domyślnej zmiennej, którą jest `$error`. Jak mogę je zapisać na następną stronę lub na kiedy odświeżę stronę?


title: Czy taksonomie niestandardowe nie mogą zawierać takich samych terminów (slug) jak kategorie?

text: Wiedziałem, że nie jest możliwe umieszczenie tych samych terminów (kolików terminów) pod kategoriami i tagami, ale zaskakująco, jak sobie dzisiaj uświadomiłem, tak samo jest w przypadku niestandardowych taksonomii. Na przykład, jeśli moja witryna ma kategorię o nazwie „Linux (linux)” i chcę również utworzyć niestandardowy termin taksonomiczny o nazwie „Linux”, będzie to wyglądać podobnie do „Linux (linux-2)”, tj. ślimaki muszą być inne. A jeśli spróbuję zmienić nazwę ślimaka z powrotem na `linux`, otrzymuję błąd _"Ślad 'linux' jest już używany przez inny termin"_. Czy możliwe jest posiadanie tych samych terminów w kategoriach/tagach i niestandardowych taksonomiach (bez siania spustoszenia)? * * * **Jak powielić problem?** 1. Utwórz 3-5 nowych postów. Utwórz nową kategorię i tag i przypisz je do tych postów (tylko w celach testowych). 2. Zapisz ustawienia permalinka. 3. utwórz dwa nowe terminy w ramach taksonomii niestandardowej o tej samej nazwie i slugu, co kategoria i tag, które utworzyłeś wcześniej, i przypisz je do nowego wpisu w ramach niestandardowego typu wpisu. 4. Usuń niestandardowe taksonomie. 5. Spróbuj je odtworzyć, a zobaczysz teraz błąd: _"Ślad 'XXX' jest już używany pod innym terminem."_ Czasami to powielałoby problem, czasami nie. **Ale...** Jeśli jesteś w stanie utworzyć kategorię (lub tag) i niestandardową taksonomię o tej samej nazwie i ślimaku, zrób to. Następnie zmień nazwę jednego z nich, a zauważysz, że zmieniono nazwę zarówno kategorii (lub tagu), jak i niestandardowej taksonomii!


title: Czy Wordpress ma wbudowaną funkcję wiadomości do prezentowania powiadomień użytkownikom?

text: Czy Wordpress ma coś podobnego do funkcji drupal_set_message w Drupalu? Chcę powiadomić użytkownika o czymś i mam nadzieję, że istnieje wbudowane wywołanie API, aby to zrobić.


title: Powstrzymaj autorów przed przesyłaniem postów ze spamem

text: Projektuję frontend dla użytkowników, z którego mogą przesłać artykuł/post. Ale martwię się, jeśli ktoś umieści kod javascript, wstrzyknięcie SQL lub inny złośliwy kod. Czy istnieje wtyczka lub jakieś skrypty, które pomogą mi filtrować zawartość posta z punktu widzenia bezpieczeństwa. Będę wdzięczny, jeśli ktoś zasugeruje mi jakiś kod/skrypt/wtyczkę, która może pomóc w zdefiniowaniu reguł nad przesłanymi treściami, takimi jak 1. Liczba zewnętrznych hiperłączy 2. Liczba obrazów 3. Długość treści itp. Chociaż mogę to zrobić ręcznie. Tak więc dolna część pytania jest mniej ważna.


title: Nie znaleziono, gdy używasz strumienia aktywności jako strony głównej w BuddyPress

text: Próbuję utworzyć tematyczny motyw podrzędny, który używa BuddyPress. Najpierw spróbowałem użyć BuddyMatic -- który obecnie nie działa z WP3. Następnie wypróbowałem pakiet kompatybilności BuddyPress - który całkowicie działa! Z wyjątkiem jednej rzeczy: kiedy wybieram „Aktywność” jako opcję na stronie głównej, pojawia się błąd Nie znaleziono. Jednak przechodzenie do /activity/, /groups/, /members/ i wszystkich innych stron BuddyPress działa dobrze. Masz pomysł, na czym może polegać problem? Dziękuję!


title: Kalendarz wydarzeń na hostowanym wordpressie?

text: Widzę wiele postów na temat różnych wtyczek do robienia kalendarza wydarzeń, które działają z Wordpressem, ale darmowa wersja hostowana nie pozwala mi z nich korzystać. Czy są jakieś rozwiązania, które sprawdziłyby się w prowadzeniu kalendarza wydarzeń dla organizacji, w której jestem wolontariuszem? Nawet osadzenie kalendarza na żywo/Google zadziałałoby, chociaż rozumiem, że iframes również nie są dozwolone. Dziękuję!


title: Dlaczego kiedy przesyłam formularz w wordpressie, ładuje się strona 404, chociaż adres URL jest poprawny?

text:
Po prostu tworzę prosty formularz kontaktowy, ale zauważyłem, że wydaje się publikować na nieprawidłowej stronie. Adres URL w przeglądarce jest poprawny, ale tytuł strony to „Nie znaleziono strony” na górze strony $emailed = false; if (isset($_POST['submit'])) { wp_mail('przyklad@example.com', $_POST['temat'], $_POST['treść']); $wysłano = prawda; } poniżej ... HTML: <form action="<?php the_permalink(); ?>" method="post" id="contactform">
  Nazwa <input type="text" name="name" class="required" />

 E-mail < input type="text" name="email" class="wymagany adres e-mail" />

 Temat <input type="text " name="temat" class="wymagane" />

 Treść <textarea name="content" cols="30" rows="10" class="required"></textarea>
 <input type="prześlij" value="Prześlij wiadomość" name="prześlij" value="prześlij" /> </form>


title: „Błąd: nie znaleziono strony opcji” na stronie ustawień przesyłania wtyczki OOP

text:
Opracowuję wtyczkę używając repozytorium Boilerplate Toma McFarlina jako szablonu, który wykorzystuje praktyki OOP. Próbuję dokładnie ustalić, dlaczego nie mogę poprawnie przesłać moich ustawień. Próbowałem ustawić atrybut akcji na pusty ciąg, jak zasugerowano w innym pytaniu, ale to nie pomogło... Poniżej znajduje się ogólna konfiguracja kodu, której używam... ** Formularz (/views/admin .php):**

<?php echo esc_html( get_admin_page_title() ); ?>
 <form action="options.php" method="post"> <?php settings_fields( $this->plugin_slug ); do_settings_sections( $this->plugin_slug ); submit_button( 'Zapisz ustawienia' ); ?> </form>
 Dla poniższego kodu załóżmy, że istnieją wszystkie wywołania zwrotne dla add_settings_field() i add_settings_section(), z wyjątkiem 'option_list_selection'. **Klasa administratora wtyczki(/{plugin_name}-class-admin.php):** przestrzeń nazw wp_plugin_name; class Nazwa_wtyczki_Admin { /** * Uwaga: Dla zwięzłości brakuje niektórych fragmentów kodu klasy i funkcji metod * Daj mi znać, jeśli potrzebujesz więcej informacji... */ private function __construct() { $plugin = Nazwa_wtyczki::get_instance( ); $this->plugin_slug = $plugin->get_plugin_slug(); $this->friendly_name = $plugin->get_name(); // Pobierz "przyjazną dla człowieka" nazwę // Dodaje wszystkie opcje dla ustawień administracyjnych add_action( 'admin_init', array( $this, 'plugin_options_init' ) ); // Dodaj stronę opcji i pozycję menu add_action( 'admin_menu', array( $this, 'add_plugin_admin_menu' ) ); } public function add_plugin_admin_menu() { // Dodaj stronę opcji $this->plugin_screen_hook_suffix = add_options_page( __( $this->friendly_name . " Options", $this->plugin_slug ), __( $this->friendly_name, $this ->plugin_slug ), "manage_options", $this->plugin_slug, array( $this, "display_plugin_admin_page" ) ); } public function display_plugin_admin_page() { include_once( 'views/admin.php' ); } public function plugin_options_init() { // Ustawienia aktualizacji add_settings_section( 'konserwacja', 'Konserwacja', array( $this, 'maintenance_section' ), $this->plugin_slug ); // Sprawdź opcje aktualizacji register_setting( 'maintenance', 'plugin-name_check_updates', 'wp_plugin_name\validate_bool' ); add_settings_field( 'check_updates', 'Czy ' . $this->friendly_name . 'Sprawdź aktualizacje?', array( $this, 'check_updates_field' ), $this->plugin_slug, 'maintenance' ); // Aktualizacja opcji okresu register_setting( 'maintenance', 'plugin-name_update_period', 'wp_plugin_name\validate_int' ); add_settings_field( 'update_frequency', 'Jak często powinno' . $this->friendly_name . 'Sprawdzić aktualizacje?', array( $this, 'update_frequency_field' ), $this->plugin_slug, 'maintenance' ); // Konfiguracje opcji wtyczek add_settings_section( 'category-option-list', 'Lista opcji widżetów', array( $this, 'option_list_section' ), $this->plugin_slug ); } } **Niektóre wymagane aktualizacje:** Zmiana atrybutu akcji na: <form action="../../options.php" method="post"> ...po prostu skutkuje błędem 404. Poniżej znajduje się fragment dzienników Apache. Zauważ, że domyślne skrypty WordPress i en-kolejki CSS zostały usunięte: # Zmieniono na ../../options.php 127.0.0.1 - - [01/Apr/2014:15:59:43 -0400] "GET /wp -admin/options-general.php?page=pluginname-widget HTTP/1.1" 200 18525 127.0.0.1 - - [01/Apr/2014:15:59:43 -0400] "GET /wp-content/plugins/PluginName /admin/assets/css/admin.css?ver=0.1.1 HTTP/1.1" 304 - 127.0.0.1 - - [01/Apr/2014:15:59:43 -0400] "GET /wp-content/plugins /PluginName/admin/assets/js/admin.js?ver=0.1.1 HTTP/1.1" 304 - 127.0.0.1 - - [01/Apr/2014:15:59:52 -0400] "POST /options.php HTTP/1.1" 404 1305 127.0.0.1 - - [01/Apr/2014:16:00:32 -0400] "POST /options.php HTTP/1.1" 404 1305 #Zmieniono na options.php 127.0.0.1 - - [ 01.04.2014:16:00:35 -0400] "GET /wp-admin/options-general.php?page=pluginname-widget HTTP/1.1" 200 18519 127.0.0.1 - - [01/kwi/2014: 16:00:35 -0400] „GET /wp-content/plugins/PluginName/admin/assets/css/admin.css?ver=0.1.1 HTTP/1.1” 304 - 127.0.0.1 - - [01/Apr /2014:16:00:35 -0400] „GET /wp-content/plugins/PluginName/admin/assets/js/admin.js?ver=0.1.1 HTTP/1.1” 304 - 127.0.0.1 - - [01 /Apr/2014:16:00:38 -0400] „POST /wp-admin/options.php HTTP/1.1” 500 2958 Zarówno plik php-errors.log, jak i plik debug.log, gdy WP_DEBUG ma wartość true, są puste. **Klasa wtyczki (/{nazwa-wtyczki}-class.php)** przestrzeń nazw wp_nazwa_wtyczki; class Nazwa_wtyczki { const WERSJA = '1.1.2'; const TABLE_VERSION = 1; const CHECK_UPDATE_DEFAULT = 1; const UPDATE_PERIOD_DEFAULT = 604800; protected $plugin_slug = 'widget-nazwa-wtyczki'; protected $friendly_name ='Widżet Nazwa Wtyczki'; chronione statyczne $instancja = null; private function __construct() { // Załaduj domenę tekstową wtyczki add_action( 'init', array( $this, 'load_plugin_textdomain' ) ); // Aktywuj wtyczkę po dodaniu nowego bloga add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) ); // Załaduj publicznie dostępny arkusz stylów i JavaScript. add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_styles' ) ); add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); /* Zdefiniuj funkcjonalność niestandardową. * Patrz http://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters */ } public function get_plugin_slug() { return $this->plugin_slug; } funkcja publiczna get_name() { return $this->friendly_name; } public static function get_instance() { // Jeśli pojedyncza instancja nie została ustawiona, ustaw ją teraz. if ( null == self::$instance ) { self::$instance = nowe self; } return self::$instance; } /** * Funkcje składowe Activate(), deactivate() i update() są bardzo podobne. * Więcej szczegółów znajdziesz we wtyczce Boilerplate... * */ private static function single_activate() { if ( !current_user_can( 'activate_plugins' ) ) return; $plugin_request = isset( $_REQUEST['plugin']) ? $_REQUEST['wtyczka'] : ''; check_admin_referer( "activate-plugin_$plugin_request" ); /** * Sprawdź, czy jest to nowa instalacja */ if ( get_option( 'plugin-name_version' ) === false ) { // Pobierz czas jako uniksowy znacznik czasu i dodaj jeden tydzień $unix_time_utc = time( ) + Nazwa_wtyczki::UPDATE_PERIOD_DEFAULT; add_option( 'nazwa_wtyczki_wersja', Nazwa_wtyczki::WERSJA ); add_option( 'nazwa-wtyczki_sprawdzanie_aktualizacji', Nazwa_wtyczki::CHECK_UPDATE_DEFAULT ); add_option( 'nazwa_wtyczki_częstotliwość_aktualizacji', Nazwa_wtyczki::UPDATE_PERIOD_DEFAULT ); add_option( 'nazwa-wtyczki_następny_sprawdzenie', $unix_time_utc ); // Utwórz tabelę opcji table_update(); // Poinformuj użytkownika, że nazwa wtyczki została pomyślnie zainstalowana is_admin() && add_filter( 'gettext', 'finalization_message', 99, 3 ); } else { // Powiadom użytkownika PluginName został pomyślnie aktywowany is_admin() && add_filter( 'gettext', 'activate_message', 99, 3 ); } } private static function single_update() { if ( !current_user_can( 'activate_plugins' ) ) return; $wtyczka = isset( $_REQUEST['wtyczka']) ? $_REQUEST['wtyczka'] : ''; check_admin_referer( "activate-plugin_{$plugin}" ); $cache_plugin_version = get_option( 'nazwa_wtyczki_wersja' ); $cache_table_version = get_option( 'nazwa-wtyczki_wersja_tabeli' ); $cache_deferred_admin_notices = get_option( 'nazwa-wtyczki_admin_messages', array() ); /** * Sprawdź, jakiej wersji wtyczki używamy i porównaj ją z naszą * wersją zdefiniowaną tutaj */ if ( $cache_plugin_version > self::VERSION ) { $cache_deferred_admin_notices[] = array( 'error', "Ty wygląda na to, że próbujesz przywrócić starszą wersję ". $this->get_name(). ". Przywracanie przez funkcję aktualizacji nie jest obsługiwane." ); } else if ( $cache_plugin_version === self::VERSION ) { $cache_deferred_admin_notices[] = array( 'updated', "Używasz już najnowszej wersji " . $this->get_name() . "!" ) ; zwrócić; } /** * Jeśli nie możemy określić wersji tabeli, zaktualizuj ją... */ if ( !is_int( $cache_table_version )) { update_option( 'nazwa_wtyczki_wersja_tabeli', TABLE_VERSION ); aktualizacja_tabeli(); } /** * W przeciwnym razie po prostu sprawdzimy, czy jest potrzebna aktualizacja */ else if ( $cache_table_version < TABLE_VERSION ) { table_update(); } /** * Tabela nie wymagała aktualizacji. * Pamiętaj, że nie możemy zaktualizować żadnych innych opcji, ponieważ nie możemy założyć, że nadal są * ustawieniami domyślnymi dla naszej wtyczki... (chyba że zapisaliśmy je w bazie danych ) */ } private static function single_deactivate() { // Określ, czy bieżący użytkownik ma odpowiednie uprawnienia if ( !current_user_can( 'activate_plugins' ) ) return; // Czy są jakieś dane żądania? $wtyczka = isset( $_REQUEST['wtyczka']) ? $_REQUEST['wtyczka'] : ''; // Sprawdź, czy numer jednorazowy był prawidłowy check_admin_referer( "deactivate-plugin_{$plugin}" ); // Z technicznego punktu widzenia wtyczka nie jest dołączona, gdy zostanie dezaktywowana, więc... // Nic nie rób } public function load_plugin_textdomain() { $domain = $this->plugin_slug; $locale = zastosuj_filtry('plugin_locale', get_locale(), $domain ); load_textdomain($domena, trailingslashit(WP_LANG_DIR).$domena.'/'.$domena.'-'.$locale.'.mo'); load_plugin_textdomain( $domena, FALSE, nazwa podstawowa( ścieżka_katalogu_wtyczki( nazwa_katalogu( __PLIK__ ) ) ) . '/języki/' ); } public functionactivate_message( $translated_text, $untranslated_text, $domain ) { $old = "Wtyczka aktywowana."; $nowy = FRIENDLY_NAME . " został pomyślnie aktywowany "; if ( $untranslated_text === $stary ) $translated_text = $nowy; zwróć $translated_text; } public function finalization_message( $translated_text, $untranslated_text, $domain ) { $old = "Wtyczka aktywowana."; $new = "Kapitanie, rdzeń jest stabilny, a nazwa wtyczki została pomyślnie zainstalowana i gotowa na szybkość Warp"; if ( $untranslated_text === $stary ) $translated_text = $nowy; zwróć $translated_text; } } **Referencje:** * Ustawienia API * add_settings_section() * add_settings_field() * register_setting() * Tworzenie stron opcji


title: Strony się nie pojawiają?

text: Stworzyłem 6 różnych niestandardowych typów postów, każdy z własnym archiwum. Stworzyłem również stronę o tej samej nazwie, co niestandardowy typ posta, oraz podstronę o nazwie „O nas” dla każdej z nich. Z jakiegoś powodu jestem w stanie uzyskać dostęp do strony Informacje tylko w ramach jednego niestandardowego typu posta, mimo że sprawdziłem, czy kod w `functions.php` jest dokładnie taki sam dla nich wszystkich. Witryna na żywo znajduje się pod adresem test.isthispavilion.com; kod dla każdego to: add_action("init", "zac_init"); function zac_init() { $labels = array( 'name' => _x('Shrike', 'Ogólna nazwa typu posta'), 'singular_name' => _x('Shrike', 'Pojedyncza nazwa typu posta'), 'add_new ' => _x('Dodaj nowy', 'shrike'), 'add_new_item' => __('Dodaj nowy element'), 'edit_item' => __('Edytuj element'), 'new_item' => __(' Nowy element'), 'view_item' => __('Wyświetl element'), 'search_items' => __('Wyszukaj elementy'), 'not_found' => __('Nie znaleziono elementów'), 'not_found_in_trash' => __('Nie znaleziono elementów w Koszu'), ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'query_var' => true, 'rewrite' => array('slug' => 'shrike') , 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title', 'editor', 'author', 'custom-fields', ' thumbnail', 'revisions', 'page-attributes', 'post-formats', 'excerpt'), 'taxonomies' => array('category', 'post_tag', 'portfolio'), 'with_front' => false , 'has_archive' => 'dzierzba', ); register_post_type('dzierzba', $args, $taksonomie); } Jak widać, http://test.isthispavilion.com/shrike/about/ działa dobrze, ale http://test.isthispavilion.com/darya/about/ 'nie znaleziono'. Czy ktoś doświadczył podobnego problemu? Co może być tego przyczyną?


title: Pozwól użytkownikowi zmieniać posty na stronie

text: Jak mogę umożliwić użytkownikowi wybór liczby postów wyświetlanych na stronie? Chciałbym, żeby było to podobne do tego, jak to się robi na tej stronie: 15, 30, 50 na stronę (patrz dół strony po prawej stronie paginacji).


title: Wyliczanie postów w Wordpress

text:
Używam wordpressa jako szybkiej naprawy bloga na mojej stronie. Używam krótkiej pętli na stronie zewnętrznej (mam linki, aby poprawnie użyć konfiguracji wordpress): query_posts('p='.$thisPost); //$thisPost wylicza 1,2..etc do maksymalnej liczby postów <?php while (have_posts()): the_post(); ?>
<?php the_title(); ?>
 <?php the_content(); ?> <?php koniec; ? W jaki sposób od początku otrzymam wpis numer 2 (lub 3 lub n )?


title: Jak zamówić moje zapytanie w pętli?

text: W mojej bazie danych mam tabelę zawierającą liczbę głosów, według której próbuję uporządkować posty. zrzut ekranu: tabela, w której próbowałem czegoś takiego, wyświetla wszystkie głosowane posty i paginację w porządku, ale nie porządkuje ich według DESC. Wszelkie porady, jeśli zbliżam się do tego prawa, są mile widziane. <?php globalny $wpdb; $ my_posts = $ wpdb-> get_col("WYBIERZ like_pid Z wp_likes_count ORDER BY like_count"); $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $args = array( 'post__in' => $my_posts['like_pid'], 'paged' => $paged, 'posts_per_page' => 6, 'order' => 'DESC' ); zapytanie_posty($args); ?> <?php while (have_posts()) : the_post(); ?> <!-- rób rzeczy --> <?php endwhile; ?>


title: Jak ustawić indywidualną stronę główną dla każdego użytkownika?

text: Chciałbym dać moim użytkownikom możliwość dostosowania strony głównej witryny. Na przykład, jeśli ktoś nie jest zalogowany, pojawiają się tylko domyślne kategorie. Gdy ktoś utworzy konto i zaloguje się, ma możliwość „ **dodawania/obserwowania**” większej liczby kategorii i tematów ( _tagów_ ) oraz wyników wyszukiwania. Te nowe posty zostaną następnie dodane do strumienia na stronie głównej, którą zobaczą. Dużo szukałem i szukałem samouczków i wtyczek, ale nie znalazłem zbyt wiele. Jest jeden motyw premium, który ma tę funkcję. > Obserwacja kategorii Pressboard umożliwia ustawienie indywidualnej strony głównej dla każdego użytkownika: > po prostu włącz oglądanie kategorii, aby użytkownicy mogli sami wybrać, które tematy > wczytać. > ( http://freetotry.me/pressboard/ -> przycisk ustawień w prawym górnym rogu ) Chcę powtórzyć coś podobnego do powyższego. Ale myśląc o tym, nie jestem pewien, jakie byłoby najlepsze podejście. * dodanie zmiennych do url (http://codex.wordpress.org/Function_Reference/add_query_arg) i zapisanie gdzieś wyniku. I być może użyj jQuery, aby później "znormalizować" lokalizację adresu URL. * Włącz rssfeeds dla każdego tagu, wyników wyszukiwania i kategorii, do których użytkownicy mogą się subskrybować. Przechowuj te wartości kanałów i buduj ich stronę główną z tych kanałów. * Dodaj kategorie/tagi itp. do swojego profilu użytkownika, aby śledzić/przestać obserwować, zapisz te dane i dostosuj post w zapytaniu. * W jakiś inny sposób? Czy ktoś wie, jak stworzyć niestandardową stronę główną dla każdego użytkownika?


title: Co powinienem zrobić, gdy wtyczka nie jest już aktualizowana?

text: Autor wtyczki zrezygnował z niej. Społeczność stworzyła łatki, a ja stworzyłem aktualizacje. W tej chwili znajduje się w innym publicznym repozytorium, ale utrzymanie obu staje się nieustępliwe. Czy da się to rozwidlić? **AKTUALIZACJA** Link w podobnym poście dostarczył odpowiedzi. Ale nie odpowiedział, czy mogę stworzyć własną wersję?


title: Próba wykluczenia niestandardowych postów na podstawie daty, podczas sortowania według niestandardowych pól

text: Mam niestandardowy typ posta o nazwie „wydajność”. Mam niestandardowe zapytanie o posty, które porządkuje posty według niestandardowej wartości pola (data-zamówienia). Teraz chcę wykluczyć posty z datami zamówienia, które są w przeszłości. Myślę, że mógłbym użyć tej samej wartości „data-zamówienia” do porównania z dzisiejszą datą, aby określić, czy post powinien być wyświetlany, ale nie mogę znaleźć przykładu, który działa z zamawianiem. Wszystko, czego próbowałem, łamie kolejność. Wydaje się, że to działa! <?php $stronicowany = ( get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $dzisiaj = data('R-m-d'); query_posts(array( 'post_type' => 'performance', 'posts_per_page' => 5, 'caller_get_posts' => 5, 'paged' => $paged, 'meta_key' => 'data-zamówienia', 'orderby' = > 'meta_value', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'data-zamówienia', 'meta-value' => $value, 'value' => $ dzisiaj 'porównaj' => '>=', 'typ' => 'ZNAK' ) ) )); if (have_posts()) : while (have_posts()) : the_post(); ?> Zauważ, że zdefiniowałem "$dzisiaj" i dodałem go do meta_array w celu porównania z meta-wartością. Przeszłe pozycje wydajności zniknęły z listy i wszystko wygląda tak, jak powinno. Dziękuję Brady'emu za wprowadzenie mnie na właściwe tory.


title: Niestandardowy panel przesyłania na pasku menu

text: Chciałbym dodać drugi niestandardowy program do przesyłania obrazów Wordpress do paska bocznego panelu administracyjnego WP, który prześle obrazy do określonego katalogu. Aby być bardziej szczegółowym, projektuję niestandardowy motyw dla klienta i skonfigurowałem niestandardowy Nivo Slider z niestandardową funkcją PHP w div #slider, który pobiera wszystkie obrazy z określonego katalogu, tj. /wp-content/themes/my- motyw/obrazy/suwak i wyświetla je w suwaku Nivo. Jak utworzyć panel na pasku menu panelu administracyjnego, który umożliwiłby mojemu klientowi przesyłanie nowych obrazów do /wp-content/themes/my-theme/images/slider? Dzięki wam wszystkim! JWinton


title: Dlaczego wartości nie są wyświetlane w niestandardowej kolumnie posta?

text:
Mam kłopoty. /* Katalog */ function my_post_type_catalog() { register_post_type( 'catalog', array( 'label' => __('Katalog'), 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => true , 'rewrite' => true, 'hierarchical' => true, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt') ) ); register_taxonomy('catalog_cat', 'catalog', array('hierarchical' => true, 'label' => 'Kategoria katalogu', 'singular_name' => 'catalog_category')); } add_action('init', 'my_post_type_catalog'); add_action("admin_init", "admin_init"); function admin_init(){ add_meta_box("catalogdetails_meta", "Cena:", "catalog_meta", "katalog", "normalny", "niski"); } function catalog_meta() { global $post; $custom = get_post_custom($post->ID); $cena = $niestandardowa["cena"][0]; ?>

<input name="cena" size="35" value="<?php echo $cena; ?>">

 <?php } add_action('save_post', 'save_details'); funkcja save_details(){ global $post; update_post_meta($post->ID, "cena", $_POST["cena"]); } // Zarejestruj funkcję kolumny price_column_register( $columns ) { $columns['price'] = __( 'Price' ); return $kolumny; } add_filter( 'manage_edit-catalog_columns', 'price_column_register' ); // Wyświetl funkcję zawartości kolumny price_column_display( $column_name, $post_id ) { if ( 'price' != $column_name ) return; $cena = get_post_meta($post_id, 'cena', prawda); if ( !$cena ) $cena = '' . __( 'nieokreślony' ) . ''; echo $cena; } add_action( 'manage_catalog_post_custom_column', 'price_column_display', 10, 2 ); // Zarejestruj kolumnę jako funkcję sortowalną price_column_register_sortable( $columns ) { $columns['price'] = 'price'; return $kolumny; } add_filter( 'manage_edit-catalog_sortable_columns', 'price_column_register_sortable' ); function price_column_orderby( $vars ) { if ( isset( $vars['orderby'] ) && 'price' == $vars['orderby'] ) { $vars = array_merge( $vars, array( 'meta_key' => ' cena', 'orderby' => 'meta_value_num' ) ); } return $vars; } add_filter( 'żądanie', 'price_column_orderby' ); Wartości cenowe nie pokazują. Co robię źle? ... Dzięki za **@Brady** trzeba wymienić ten kod: // Wyświetl funkcję zawartości kolumny price_column_display( $column_name, $post_id ) { if ( 'price' != $column_name ) return; $cena = get_post_meta($post_id, 'cena', prawda); if ( !$cena ) $cena = '' . __( 'nieokreślony' ) . ''; echo $cena; } add_action( 'manage_catalog_post_custom_column', 'price_column_display', 10, 2 ); do: // Wyświetl zawartość kolumny add_action('manage_catalog_posts_custom_column', 'sc_stores_manage_columns', 10, 2); funkcja sc_stores_manage_columns($column_name, $id) { $custom = get_post_custom($id); switch ($column_name) { case 'cena': if ($custom["cena"][0]==""){echo "brak";} echo $custom["cena"][0]; przerwanie; } }


title: Pisanie pliku manifestu pamięci podręcznej dla bloga WordPress (pamięć podręczna aplikacji, aplikacje internetowe offline)

text: Zastanawiam się, czy ktoś zaimplementował aplikacje internetowe offline z HTML5 na blogu WordPress? Kiedy piszesz plik manifestu, wszystkie pliki muszą być uwzględnione, ale możesz podać symbol wieloznaczny * w sekcji SIEĆ. Biorąc więc pod uwagę, ile plików i katalogów tworzy typowa instalacja WordPressa, czy ktoś ma wskazówki, które pliki/katalogi powinny być buforowane, a które można pobrać z sieci? Oto, czego potrzebuję w sekcji CACHE (jawne): * motyw, którego używam (więc wp-content/theme/theme-name i skojarzone pliki) * wp-content/uploads/ + wszystko w środku m myśląc o opuszczeniu pamięci podręcznej (tzn. złapaniu przez * w sekcji SIEĆ): * folder wp-admin/ i cała jego zawartość * wp-content/upgrade/ * wp-content/plugins/ Nie jestem pewien czy buforować cokolwiek w folderze wp-includes/, czy nie. Innym problemem, który przewiduję, jest to, że ponieważ przesyłane/pliki będą się zmieniać w miarę dodawania obrazów, będę musiał aktualizować mój plik cache.manifest dla każdego nowego fragmentu treści - chyba że jestem w porządku z tymi obrazami/wideo/cokolwiek nie buforowanie. Jakieś przemyślenia na ten temat od kogoś, kto to zrobił lub myślał o zrobieniu tego?


title: Czy mogę aktualizować wtyczki przez FTP?

text: Mam problemy z aktualizacją moich wtyczek za pośrednictwem pulpitu nawigacyjnego. Jeśli uaktualnię wtyczki ręcznie przez FTP, czy stracę jakiekolwiek informacje z wtyczek takich jak statpress i wszystko w jednym seo?


title: Jak dołączyć ten plik jQuery do wordpress?

text:
Ok mam tego jQuery, które przetestowałem na statycznej stronie html i działa dobrze. Jak dołączyć jQuery do pracy nad wordpressem we wtyczce? Więc to jest strona html.  <title> Witaj na mojej stronie</title> <link rel="stylesheet" type="text/css" href="css/style.css"> <link rel="stylesheet" type="text/ css" href="css/ui-lightness/jquery-ui-1.8.17.custom.css">   Google  potężna wyszukiwarka
     Więc to jest plik jQuery która działa dla tej strony html $('a').mousemove(function(){ $('#hoovertext').show(); }); $('#hoovertext').mouseleave(function(){ $(this).fadeOut(); }); Zasadniczo chcę, aby ten jQuery działał na określonych słowach na mojej stronie wordpress.. w tym sensie, że gdy ktoś najedzie kursorem myszy na tekst, daje opis. dokładnie to, co robi mój kod powyżej. Czy ktoś może mi pokazać jak, skoro włączanie jQuery do wordpressa jest jedyną rzeczą, której wciąż nie do końca rozumiem. Dziękuję.


title: Dostosuj strumień aktywności – Buddypress

text: Od czego zacząłbym, gdybym chciał zmienić nazwę ciągu w strumieniu aktywności buddypress? Zamiast „taki a taki napisał nowy post”, chciałbym, aby było napisane „taki a taki napisał nowy **artykuł**” (lub dowolne słowo, które wybiorę) Dzięki.


title: Zamień atrybuty obrazu dla wtyczki lazyload (data-src)

text: Chcę zastosować wtyczkę jquery lazyload. Aby to zadziałało, muszę utworzyć nowy atrybut, którym jest data-src, umieścić tam wartość src, a następnie zastąpić wartość src określoną wartością `'...nothing.gif'`. Znalazłem rozwiązanie na wsparciu wordpress.org ### To jest mój dostosowany kod - function add_lazyload($content) { global $post; $search = '/src\=\"([^\s]+(?=\.(bmp|gif|jpeg|jpg|png))\.\2)\"/'; $treść = replacer($treść, $wyszukiwanie, '/src/', 'data-original'); $search = '/img\ class\=\"/'; $content = replacer($content, $search, '/class\=\"/', 'class="lazy '); $search = '/alt /'; $content = replacer($content, $search, '/alt/', 'src="'.get_template_directory_uri().'/library/images/nothing.gif"'); return $content; } function replacer ($src, $search, $find, $replace) { preg_match_all($search, $src, $result, PREG_OFFSET_CAPTURE); foreach($result[0] as $entry) { $org = $entry[0]; $ rep = preg_replace($find, $replace, $entry[0]); $org = "/" .str_replace(array("=",":","/",".","-","_ ",""',"'"," "), array("\=","\:","\/","\.","\-","\_",'\"' ,"\'","\ "), $org). "/"; $src = preg_replace($org, $rep, $src); } return $src; } add_filter('the_content', 'add_lazyload') ; Problem z tym kodem polega na tym, że zastępuje on każdy ciąg `alt` (na przykład w akapicie) `.../library/images/nothing.gif`, nie tylko t alt atrybut obrazu. Czy ktoś wie, jak to rozwiązać?


title: Jak sprawić, by obrazy taksonomii działały z argumentem „orderby”?

text:
Używam wtyczki Obrazy taksonomii i próbuję posortować taksonomię, ale obrazy taksonomii nie grają dobrze. To działa: $terms = get_terms( 'work_cat', $args ); ale to nie: $terms = apply_filters( 'taksonomii-obrazów-get-terms', '', $args ); Jakieś pomysły? Oto pełne zapytanie: <?php $args = array( 'taksonomia' => 'work_cat', 'orderby' => 'id', 'order' => 'ASC', 'hierarchical' => 1, ); $terms = apply_filters( 'taksonomii-obrazów-get-terms', '', $args ); $i = 0; $len = liczba($kategorie); foreach ($terms as $term) { ?> <div class="fourcol <?php if ($i == 0): ?> pierwszy<?php elseif ($i == $len - 1): ?> ostatni <?php endif; ?>"> <a href="<?php echo get_term_link($term->slug, 'work_cat'); ?>"><?php echo wp_get_attachment_image( $term->image_id, 'full' ); ?>
<?php echo $term->nazwa; ?>

<?php echo $term->opis; ?>
 <a href="<?php echo get_term_link($term->slug, 'work_cat'); ?>">Zobacz Więcej »
 <?php $i++; } ?> Oryginalny post: http://wordpress.org/support/topic/plugin-taxonomy-images-onnt-adhere-to-orderby-argument


title: Inny adres URL strony głównej niż wszystkie inne strony

text: Używam motywu (w tym przypadku woocommerce), ale nie ma znaczenia pytanie dotyczące konkretnego motywu. I chcę mieć stronę główną w domenie głównej, takiej jak domena.nl, a wszystkie inne strony w domenie produkt.domena.nl. Tak więc wszystkie linki/linki menu powinny wskazywać na subdomenę. Ale strona główna powinna znajdować się w głównej domenie. Czy jest na to prosty sposób? A jeśli nie, jaki byłby najtrudniejszy sposób to zrobić?


title: tworzenie WP_Query dla postów wszystkich typów, ale z określonych kategorii

text: Chcę pobrać post z bloga, niestandardowy typ wpisu 1, niestandardowy typ wpisu 2. niestandardowy wpis typu 3 i albo z kategorii 1 lub kategorii 2 lub kategorii 3 lub kategorii 4 lub kategorii 5 lub kategorii 6 lub kategorii 7 lub kategorii 8. I mieć to, ale nie działa. Nie otrzymuję żadnych wyników, żadnych błędów też. <?php function filter_where_categs() { $where .= " AND (category_name => array('czarna-gwiazda-półksiężyc', 'audio', 'blackward', 'ghost', 'protect', 'remember', 'powrót', 'wideo'))"; zwróć $gdzie; } $args=array( 'post_type'=> array( 'test-bscm', 'post', 'test-btum', 'test-inny' ), 'posts_per_page' => 19 ); $temp = $wp_query; $wp_query = null; $wp_query = nowe WP_Query(); add_filter('posts_where', 'filter_where_categs'); $wp_query->zapytanie($args); ?>


title: Domyślne style motywów zastępują moje wtyczki niestandardowe CSS

text: Stworzyłem małą wtyczkę, która tworzy widżet, który zrobiłem, po prostu ładny element `<ul>`. Niestety, wszystkie domyślne style widgetów zastępują mój niestandardowy CSS, a dodanie `!important` do niektórych stylów psuje kilka rzeczy ze względu na różne rozmiary i warianty kolorystyczne. Czy można to obejść? Chcę tylko, aby arkusz stylów działał dla jednego widżetu, który stworzyłem i nie ładował się z domyślnych ustawień. Wszelkie wskazówki/sugestie byłyby bardzo mile widziane.


title: wp_mail bcc admin

text: Mam ten kod i robi dokładnie to, co chcę, ale chcę dodać nazwę użytkownika autora posta. // Administrator BCC if (get_option('jr_bcc_apply_emails')=='yes') : wp_mail( get_option('admin_email'), __('[copy] going for "', APP_TD).$post->post_title.'" ', $wiadomość, '', $załączniki ); endif; próbowałem tego id_author prawie wszędzie, ale nie działa. .., APP_TD).$post->post_title.'".$post->id_author', $message, '', $attachments );Ktoś mógłby mi pomóc?


title: Planowanie nie działa z powodu buforowania?

text: Używam W3 Total Cache i Nginx z lakierem i jestem bardzo zadowolony z szybkości. Zauważyłem jednak, że kiedy planuję post, post nie jest automatycznie publikowany, gdy jestem _odwiedzającym_. Kiedy jestem zalogowany jako _admin_ i ponownie ładuję stronę, poprawnie publikuje nową treść. Konfiguracja lakieru (default.vcl) # # Konfiguracja lakieru 3 dla Wordpressa # # W systemie Debian: /etc/varnish/default.vcl # # Nicolas Hennion (aka) Nicolargo # # Ustaw domyślny backend (dla mnie serwer Nginx) { # Mój serwer Nginx nasłuchuje na adresie IP 127.0.0.1 i porcie TCP 8080 .host = "127.0.0.1"; .port = "8080"; # Zwiększ limit czasu guru # http://vincentfretin.ecreall.com/articles/varnish-guru-meditation-on-timeout .first_byte_timeout = 300s; } # ACL zabronionego adresu IP zabronione { "41.194.61.2"/32; "192.54.144.229"/32; } # Purge ACL acl purge { # Tylko localhost może wyczyścić pamięć podręczną "127.0.0.1"; "Lokalny Gospodarz"; } # Ta funkcja jest używana, gdy żądanie jest wysyłane przez klienta HTTP (przeglądarkę) sub vcl_recv { # Blokuj zabroniony adres IP if (client.ip ~ zabronione) { błąd 403 "Zabroniony"; } # Buforuj tylko następujące witryny #if ((req.http.host ~ "(blog.nicolargo.com)") || (req.http.host ~ "(blogtest.nicolargo.com)")) { if ( (req.http.host ~ "(blog.nicolargo.com)")) { set req.backend = default; } else { return (pass); } # Zgodność z dziennikiem formatu Apache if (req.restarts == 0) { if (req.http.x-forwarded-for) { set req.http.X-Forwarded-For = req.http.X-Forwarded-For + ", " + klient.ip; } else { set req.http.X-Forwarded-For = client.ip; } } # Znormalizuj nagłówek, usuń port (w przypadku, gdy testujesz to na różnych portach TCP) set req.http.Host = regsub(req.http.Host, ":[0-9]+", "" ); # Zezwól na usuwanie z ACL if (req.request == "PURGE") { # Jeśli nie jest dozwolone, zwracany jest błąd 405 if (!client.ip ~ purge) { error 405 "Ten adres IP nie może wysyłać żądań PURGE. "; } # Jeśli dozwolone, wykonaj cache_lookup -> vlc_hit() lub vlc_miss() return (wyszukaj); } # Żądania wiadomości nie będą buforowane if (req.request == "POST") { return (pass); } # --- Konfiguracja specyficzna dla Wordpressa # Nie buforowano kanału RSS if (req.url ~ "/feed") { return (pass); } # Blitz hack if (req.url ~ "/mu-.*") { return (pass); } # Nie buforowano stron administratora i logowania if (req.url ~ "/wp-(login|admin)") { return (pass); } # Usuń zestaw plików cookie "has_js" zad.http.Cookie = regsubball(req.http.Cookie, "has_js=[^;]+(; )?", ""); # Usuń wszystkie pliki cookie oparte na Google Analytics req.http.Cookie = regsuball(req.http.Cookie, "__utm.=[^;]+(; )?", ""); # Usuń ciasteczka Quant Capital (dodane przez niektóre wtyczki, wszystkie __qca) set req.http.Cookie = regsuball(req.http.Cookie, "__qc.=[^;]+(; )?", ""); # Usuń zestaw plików cookie wp-settings-1 req.http.Cookie = regsubball(req.http.Cookie, "wp-settings-1=[^;]+(; )?", ""); # Usuń zestaw plików cookie wp-settings-time-1 zad.http.Cookie = regsubball(req.http.Cookie, "wp-settings-time-1=[^;]+(; )?", ""); # Usuń zestaw ciasteczek testowych wp req.http.Cookie = regsubball(req.http.Cookie, "wordpress_test_cookie=[^;]+(; )?", ""); # Czy pozostały pliki cookie zawierające tylko spacje lub puste? if (req.http.cookie ~ "^ *$") { unset req.http.cookie; } # Buforuj następujące rozszerzenia plików if (req.url ~ "\.(css|js|png|gif|jp(e)?g|swf|ico)") { unset req.http.cookie; } # Normalizuj nagłówek i kompresję Accept-Encoding # https://www.varnish-cache.org/docs/3.0/tutorial/vary.html if (req.http.Accept-Encoding) { # Nie kompresuj skompresowanych plików.. if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") { usuń req.http.Accept-Encoding; } elsif (req.http.Accept-Encoding ~ "gzip") { set req.http.Accept-Encoding = "gzip"; } elsif (req.http.Accept-Encoding ~ "deflate") { set req.http.Accept-Encoding = "deflate"; } else { usuń zad.http.Accept-Encoding; } } # Sprawdź ciasteczka pod kątem elementów związanych z wordpress if (req.http.Cookie ~ "wordpress_" || req.http.Cookie ~ "comment_") { return (pass); } if (!req.http.cookie) { unset req.http.cookie; } # --- Koniec konfiguracji specyficznej dla Wordpressa # Nie buforowano uwierzytelniania HTTP i HTTP Cookie if (req.http.Authorization || req.http.Cookie) { # Nie buforowane domyślnie return (pass); } # Buforuj wszystkie inne żądania return (wyszukaj); } sub vcl_pipe { return (potok); } sub vcl_pass { return (pass); } # Dane, na których nastąpi haszowanie sub vcl_hash { hash_data(req.url); if (req.http.host) { hash_data(req.http.host); } else { hash_data(server.ip); } # Jeśli klient obsługuje kompresję, przechowuj ją w innej pamięci podręcznej if (req.http.Accept-Encoding) { hash_data(req.http.Accept-Encoding); } powrót (skrót); } sub vcl_hit { # Zezwól na przeczyszczanie if (req.request == "PURGE") { purge; błąd 200 „Wyczyszczony.”; } zwrot (dostarcz); } sub vcl_miss { # Zezwól na przeczyszczanie if (req.request == "PURGE") { purge; błąd 200 „Wyczyszczony.”; } return (pobierz); } # Ta funkcja jest używana, gdy żądanie jest wysyłane przez nasz backend (serwer Nginx) sub vcl_fetch { # Dla statycznej zawartości usuń wszystkie backendowe ciasteczka if (req.url ~ "\.(css|js|png|gif|jp(e ?)g)|swf|ico") { unset beresp.http.cookie; } # TTL 30 minut ustawiony beresp.ttl = 1800s; zwrot (dostawa); } # Procedura, gdy dostarczamy żądanie HTTP do użytkownika # Ostatnia szansa na modyfikację nagłówków wysyłanych do klienta sub vcl_deliver { if (obj.hits > 0) { set resp.http.X-Cache = "cached"; } else { set resp.http.x-Cache = "unached"; } # Usuń niektóre nagłówki: wersja PHP unset resp.http.X-Powered-By; # Usuń niektóre nagłówki: wersja Apache i system operacyjny unset resp.http.Server; zwrot (dostawa); } sub vcl_init { return (ok); } sub vcl_fini { return (ok); } nginx (examplesite.conf) server { ## Tutaj znajduje się nazwa Twojej witryny. nazwa_serwera przykladowawitryna.com www.przykladowawitryna.com; ## Twoje jedyne odniesienie do ścieżki. root /var/www/examplesite.com; słuchaj 8080; ## To powinno znajdować się w twoim bloku http, a jeśli tak, nie jest tutaj potrzebne. index index.html index.htm index.php; ##ustaw rozmiar ciała client_max_body_size 20M; dołącz conf.d/drop; location / { # To jest fajne, ponieważ żaden php nie jest dotykany dla statycznej zawartości try_files $uri $uri/ /index.php?q=$uri&$args; } lokalizacja ~ \.php$ { fastcgi_intercept_errors on; dołącz fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/dev/shm/php-fpm-www.sock; } # POCZĄTEK Lokalizacja pamięci podręcznej stron W3TC ~ /wp-content/w3tc/pgcache.*html$ { add_header Vary "Accept-Encoding, Cookie"; } lokalizacja ~ /wp-content/w3tc/pgcache.*gzip$ { gzip off; typy {} default_type text/html; add_header Vary "Kodowanie akceptacji, plik cookie"; add_header Kodowanie treści gzip; } # KONIEC W3TC Page Cache # POCZĄTEK W3TC Browser Cache gzip on; gzip_types text/css application/x-javascript text/x-component text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon; lokalizacja ~ \.(css|js|htc)$ { } lokalizacja ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { wygasa 1 rok; log_not_found wyłączone; } lokalizacja ~ \.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$ { } lokalizacja ~ \.(asf|asx|wax|wmv|wmx|avi|bmp|class| divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp| otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc| wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$ { } # END Pamięć podręczna przeglądarki W3TC # BEGIN Pamięć podręczna stron W3TC przepisanie rdzenia ^(.*\/)?w3tc_rewrite_test$ $1?w3tc_rewrite_test=1 ostatni; ustaw $w3tc_rewrite 1; if ($request_method = POST) { set $w3tc_rewrite 0; } if ($query_string != "") { set $w3tc_rewrite 0; } if ($http_host !~ "examplesite.com") { set $w3tc_rewrite 0; } ustaw $w3tc_rewrite3 1; if ($request_uri ~* "(\/wp-admin\/|\/xmlrpc.php|\/wp-(app|cron|login|register|mail)\.php|\/feed\/|wp-. *\.php|indeks\.php)") { set $w3tc_rewrite3 0; } if ($request_uri ~* "(wp\-comments\-popup\.php|wp\-links\-opml\.php|wp\-locations\.php)") { set $w3tc_rewrite3 1; } if ($w3tc_rewrite3 != 1) { ustaw $w3tc_rewrite 0; } if ($http_cookie ~* "(comment_author|wp\-postpass|wordpress_\[a\-f0\-9\]\+|wordpress_logged_in)") { set $w3tc_rewrite 0; } if ($http_user_agent ~* "(W3\ Total\ Cache/0\.9\.2\.4)") { set $w3tc_rewrite 0; } ustaw $w3tc_ua ""; ustaw $w3tc_ref ""; ustaw $w3tc_ssl ""; ustaw $w3tc_enc ""; if ($http_accept_encoding ~ gzip) { set $w3tc_enc _gzip; } ustaw $w3tc_ext ""; if (-f "$document_root/wp-content/w3tc/pgcache/$request_uri/_index$w3tc_ua$w3tc_ref$w3tc_ssl.html$w3tc_enc") { ustaw $w3tc_ext .html; } if ($w3tc_ext = "") { ustaw $w3tc_rewrite 0; } if ($w3tc_rewrite = 1) { przepisać .* "/wp-content/w3tc/pgcache/$request_uri/_index$w3tc_ua$w3tc_ref$w3tc_ssl$w3tc_ext$w3tc_enc" ostatni; } # ZAKOŃCZ Rdzeń pamięci podręcznej strony W3TC } Jak mogę to naprawić? Dziękuję!


title: Jak wesprzeć umożliwienie użytkownikom dodawania WŁASNEGO logo do niestandardowego motywu?

text: Jestem początkującym twórcą motywów (od 3 miesięcy) i próbuję wymyślić, jak zaimplementować następującą funkcjonalność: 1. Tworzony przeze mnie motyw ma logo, które chciałbym, aby użytkownicy mogli **mógł zmienić** . 2. Chciałbym, aby NIE musieli tego robić w kodzie. 3. Raczej chciałbym stworzyć coś w rodzaju „panelu sterowania motywami” o niskiej technologii lub coś takiego, w którym mogą dodać logo do nagłówka. **Oto zrzut ekranu, dzięki czemu możesz wyraźniej zobaczyć, co próbuję zrobić.** Używam Theme-Check, który obecnie mówi mi: > ZALECANE: W motywie nie znaleziono odniesienia do add_custom_image_header. > Zaleca się, aby motyw implementował tę funkcjonalność, jeśli używa obrazu > w nagłówku. Ale nie **myślę**, że dotyczy to mojego motywu, ponieważ NIE używam CAŁEGO nagłówka dla obrazu. Raczej tylko część jest używana na logo (plus jest absolutnie pozycjonowana). Czy istnieje jakiś **tag szablonu**, który może to osiągnąć? Bo na pewno nie mogę tego znaleźć w Kodeksie. Z góry dziękuję, śpiący


title: Nie działają hierarchiczne niestandardowe typy postów

text: Od wielu godzin szukałem kogoś z tym samym problemem, więc postanowiłem opublikować własny wątek. Mam hierarchiczny, niestandardowy typ wpisu o nazwie dane kontaktowe. Używając tego mam strony nadrzędne, które nie zawierają żadnych informacji, i strony podrzędne, które zawierają! W single-contact-information.php ustawiłem regułę przekierowania, która przekierowuje rodzica do jego pierwszego dziecka. To działa jak urok! Jednakże! Zaledwie kilka dni temu strony podrzędne nagle zaczęły działać na mnie w 404! Wygląda na to, że strony istnieją i rzeczywiście są ustawione jako dzieci rodziców, ale permalinki nie działają. Oto moja struktura linków bezpośrednich, podstawowa: > /%year%/%monthnum%/%day%/%postname%/ A więc w skrócie: > mojawitryna.com/contact-information/parentpage/childpage NIE działa, ale mojawitryna.com /contact-information/childpage DZIAŁA, jak również > mysite.com/contact-information/parentpage Oto kod do tworzenia niestandardowego typu posta, pochodzi z wtyczki UI Niestandardowe typy postów: register_post_type('contact-information', array( 'label' => 'Informacje kontaktowe','description' => '','public' => true,'show_ui' => true,'show_in_menu' => true,'capability_type' => 'post','hierarchical ' => true,'rewrite' => array('slug' => ''),'query_var' => true,'supports' => array('title','revisions','page-attributes',) ,'labels' => array ( 'name' => 'Informacje kontaktowe', 'singular_name' => 'Informacje kontaktowe', 'menu_name' => 'Informacje kontaktowe', 'add_new' => 'Dodaj informacje kontaktowe', ' add_new_item' => 'Dodaj nowe informacje kontaktowe', 'edit' => 'Edytuj', 'edit_item' => 'Edytuj kontakt information', 'new_item' => 'Nowe informacje kontaktowe', 'view' => 'Wyświetl informacje kontaktowe', 'view_item' => 'Wyświetl informacje kontaktowe', 'search_items' => 'Wyszukaj informacje kontaktowe', 'not_found' => 'Nie znaleziono informacji kontaktowych', 'not_found_in_trash' => 'Nie znaleziono informacji kontaktowych w koszu', 'parent' => 'Informacje kontaktowe rodzica', ),) ); **EDYTUJ:** Właśnie próbowałem samodzielnie utworzyć CPT w funkcjach za pomocą http://themergency.com/generators/wordpress-custom-post-types/ i problem pozostaje, więc jestem prawie pewien, że musi to zrobić z permalinkami, po prostu nie mam pojęcia co!


title: Dynamiczne menu WooCommerce

text: Mam podstawową witrynę WordPress skonfigurowaną z motywem Sufffusion i wtyczką WooCommerce. W większości działa to dobrze, jednak gdy ludzie klikają/najeżdżają kursorem na ikonę menu „Sklep”, chciałbym, aby rozwijała się ona dynamicznie ze zdefiniowanymi przeze mnie kategoriami produktów. Jak to zrobić? Jestem pewien, że istnieje dokumentacja na ten temat, ale nie jestem pewien, czego szukać. Jestem przede wszystkim administratorem systemów.


title: Przejdź przez kod wordpress

text: Zastanawiałem się, czy ktoś wiedział, jak skonfigurować krok po kroku kod dla Wordpressa. Próbowałem xdebug, ale nie udało mi się go skonfigurować na moim VPS. Udało mi się uruchomić go na moim lokalnym hoście na pewnym etapie, ale nie śledził zbyt dobrze WP w połączeniu z NetBeans. Albo próbował załadować moją stronę bez podstawowych plików WP, albo stracił śledzenie tego, co się dzieje, zanim mogłem przejść do strony, którą chciałem debugować. Aby skonfigurować moją instalację xdebug, postępowałem zgodnie ze wszystkimi instrukcjami na http://xdebug.org/find-binary.php, ale NetBeans nie mógł połączyć się z moim zdalnym serwerem testowym. Dla zainteresowanych tutaj jest wynik `phpinfo()` po instalacji xdebug: pastebin _próbował stworzyć tę społeczność wiki, ponieważ uważam, że jest to właściwe, ale pole wyboru okazało się nieobecne_


title: Przepisywanie niestandardowego linku bezpośredniego typu post z terminem taksonomicznym?

text: Próbuję przepisać mój adres URL dla custom_post_type o nazwie `wr_events` z jednym z jego terminów custom_taxonomy z `event_type` add_action('init', 'wr_events'); function wr_events() { register_taxonomy( 'event_type', 'wr_event', array( 'label' => 'Typy', 'singular_label' => 'Typ', 'hierarchical' => true, 'query_var' => true, ' przepisać' => array('slug' => 'zdarzenia'), ) ); $labels = array( 'name' => _x('Zdarzenia', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Zdarzenie', 'Pojedyncza nazwa typu postu') ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor','thumbnail', 'excerpt'), 'rewrite' => array( //'slug' => 'event', 'slug' => 'events/%event%', 'with_front' => false ), 'has_archive' => 'events' ); register_post_type( 'wr_event' , $args ); flush_rewrite_rules(); } add_action('save_post', 'save_details'); add_filter('post_type_link', 'events_permalink_structure', 10, 4); function events_permalink_structure($post_link, $post, $leavename, $sample) { if ( false !== strpos( $post_link, '%event%' ) ) { $event_type_term = get_the_terms( $post->ID, 'event_type' ) ; $post_link = str_replace( '%event%', array_pop( $event_type_term )->slug, $post_link ); } return $post_link; } Tak więc w moim przypadku terminy z taksonomii to „warsztaty” lub „wykłady” itp. `url/events/lectures` lub `url/events/workshops` zawiera listę wszystkich moich postów związanych z tą „kategorią”, `url/events` pokazuje niestandardowe archiwum dla wszystkich moich wydarzeń. -> to jest właśnie to, czego chcę, ale jedyną rzeczą, która nie działa, jest pełny adres URL do samego posta niestandardowego … `url/events/lectures/post-name` \- wyrzuca 404! Jakiś pomysł dlaczego tak się dzieje? Moja funkcja `events_permalink_structure()` wydaje się działać poprawnie, ponieważ zastępuje moje permalinki dokładnie tak, jak chcę. Zainstalowałem wtyczkę "Rewrite Analyzer" i pokazuje mi "Wyrażenie regularne jest puste" dla `wr_event`. Próbowałem też opróżnić Reguły Przepisywania, odwiedzając ustawienia permalinka. Jednak bez efektu.


title: Jak wywołać funkcję tylko raz (zakres zmiennej globalnej)

text: Staram się wypracować najefektywniejszy sposób wykorzystania funkcji w WordPressie. Mam dużą powolną funkcję big_slow_function(), która idealnie jest uruchamiana tylko raz. Ale muszę użyć wartości logicznej zwracanej przez tę funkcję w moich plikach motywów (w header.php, page.php, sidebar.php, footer.php, loop-page.php, functions.php itp.). Zastanawiam się, jak to zrobić. Próbowałem umieścić to w moim functions.php, aby uniknąć wywoływania big_slow_function() więcej niż raz: global $my_important_boolean; funkcja $get_my_important_boolean() { globalna $my_important_boolean; if ($my_important_boolean == NULL) // if big_slow_function() nie został jeszcze uruchomiony $my_important_boolean = big_slow_function(); zwróć $my_important_boolean; } A potem umieszczam taki kod w moich plikach motywów: if ($get_my_important_boolean()) { // dostosuj zawartość do użytkownika } Ale funkcja big_slow_function() jest nadal uruchamiana za każdym razem. Nie jestem pewien, co robię źle i trudno mi znaleźć dobrą dokumentację dotyczącą zakresu zmiennych w WordPressie. Być może muszę przekazać odwołanie/wskaźnik do zmiennej? Jakakolwiek pomoc w rozwiązaniu tego problemu jest bardzo ceniona, ponieważ od jakiegoś czasu zmagam się z tym.


title: Jak obsługiwać formularze z widżetów paska bocznego — przetwarzanie zmiennych $_POST za pomocą get_field_name()

text: Dzięki temu, że Wordpress nazywa ich treść „postami”, trudno jest znaleźć informacje dotyczące postępowania z formularzami przesłanymi za pomocą protokołu POST. Moje pytanie jest proste, odpowiedź powinna być prosta dla doświadczonego programisty Wordpress. Używając wtyczki Wordpress, która ma formularz w metodzie widgetu klasy, nazwałem zmienne za pomocą funkcji Wordpress get_field_name. Nie mogę znaleźć odpowiedniej funkcji, która określa, jaka zmienna $_POST ma zostać przetworzona. Mógłbym podać rozwiązanie, ale chcę używać tylko do tego frameworka Wordpress. Muszę zachować strukturę zmiennej klasy, aby wiele wystąpień tego widżetu nie miało nakładania się zmiennych. Mógłbym po prostu ustawić nazwę i użyć widget_id z args, ale nie wydaje się to być _poprawnym_ sposobem na pozostanie w ramach. **Dla wyjaśnienia, widżet dostarcza formularz po stronie użytkownika, a nie po stronie administratora.** Przykład: class someWidget extends WP_Widget { public function someWidget() { $this->WP_Widget('somewidget', __('Some Widżet”)); } public function form($instance) { } public function update( $nowa_instancja, $stara_instancja ) { $instance = $stara_instancja; zwróć $instancję; } widżet funkcji publicznej ($args, $instance) { $before_title = $before_widget = $after_widget = $after_title = ''; ekstrakt($args, EXTR_IF_EXISTS); echo $before_widget.$before_title.$instance['WidgetTitle'].$after_title; $somewidget_variable = $_POST['????']; // < -- Jaka funkcja pobiera zmienną? if ($somewidget_variable) { // niesamowite rzeczy } ?> <form method="POST"> <input id="<?php echo $this->get_field_id('somewidget_variable');?>" name="<?php echo $this->get_field_name('somewidget_variable');?>" type="tekst" value="<?php echo $somewidget_variable;?>" /> <input type="submit" /> </form> <? php echo $after_widget; } }


title: Taksonomie, ograniczenia edycji i tworzenia terminów?

text: Czy mogę uniemożliwić mojemu klientowi dodawanie terminów do określonej taksonomii? Abym ustalił określoną liczbę warunków i to jest to, z czego mają do wyboru. Czy mogę usunąć element menu dla niektórych taksonomii w backendzie? Załóżmy, że stworzyłem dwie taksonomie i chcę, aby użytkownik miał dostęp do jednej z nich, a druga powinna być ukryta i pokazywana tylko jako opcje podczas edycji postów/stron.


title: wstaw element wewnątrz elementu listy menu wp

text:
Nie jestem pewien, czy z tytułu jasno wynika, co chcę tutaj osiągnąć, więc spróbuję to wyjaśnić. Chcę skorzystać z systemu menu Wordpress i dostosować go do swoich potrzeb, co oznacza, że muszę go **stąd** :

item1

item2
 itd.
 **do tutaj** :

1(treść dynamiczna)
pozycja1

2(treść dynamiczna)
item2
 itd.
 Jaki byłby najlepszy sposób na osiągnięcie tego? Wystarczy kilka szybkich wskazówek, aby się tam dostać i zrobić to sam, nie tracąc zbyt wiele czasu na znalezienie odpowiedniego rozwiązania. Czy to `wp_nav_menu()` lub `wp_get_nav_menu_items()`, które powinienem badać? Krótka próbka byłaby również mile widziana, jeśli nie ma o co prosić. I jeszcze jedna rzecz.. Będę wdzięczny za wskazówkę, jak wygenerować numer wewnątrz wstawionego `div`, który reprezentuje kolejność pozycji menu: 1,2,3 itd. Czy istnieje sposób, aby pobrać to z rdzenia Wordpressa? Bardzo dziękuję. Każda pomoc jest doceniana.


title: Czy możesz skonfigurować sieć Wordpress (wiele witryn), aby działała na wielu kontach hostingowych?

text: Chciałbym zarządzać wieloma witrynami działającymi w ramach jednej sieci Wordpress, ale nie chcę osobiście hostować poszczególnych witryn. Nie mam nic przeciwko temu, że moja baza danych zawiera wszystkie tabele dla każdej witryny, ale nie chcę być jedynym hostem dla wszystkich plików itp. dla każdej witryny. Czy jest na to sposób?


title: .podmenu czy .dzieci?

text: Opracowuję motyw za pomocą instalacji testowej (używając InstantWP), ale kiedy przesyłam go do witryny tymczasowej, z jakiegoś powodu menu nawigacyjne wygląda na zawyżone. Po obejrzeniu źródła okazało się, że z jakiegoś powodu moja instalacja testowa używa klasy `.sub-menu`, podczas gdy instalacja pomostowa używa `.children`. Obie instalacje to świeże instalacje 3.3.1 z zainstalowanymi dokładnie tymi samymi wtyczkami. Dlaczego miałaby istnieć taka rozbieżność między dwiema instalacjami?


title: Jak ustalić, czy jest następna strona?

text:
Jestem nowy w programowaniu wordpress, po prostu próbując przekonwertować mój kod HTML na motyw WordPress, zacząłem od pustego motywu Chrisa Coyera.

<?php next_posts_link('«Starsze wpisy') ?>

<?php previous_posts_link( 'Nowsze wpisy »') ?>

 Jak mogę wypisać div tylko jeśli istnieje `next_posts_link()`. Potrzebuję tego, ponieważ będę używał `<ul>` do paginacji. Jeśli tego nie zrobię, dostanę pustą kulę


title: Nie można zmienić wp_title za pomocą add_filter

text: Mam niestandardową stronę, na której próbuję zmienić tytuł strony. Funkcja jest wykonywana, ale tytuł nie ulega zmianie. To jest kod, którego używam: add_filter('wp_title', set_page_title($brand)); function set_page_title($marka) { $title = 'Projektant '.$brand['name'].' - '.get_bloginfo('nazwa'); //Tutaj mogę powtórzyć wynik i zobaczyć, że został wywołany return $title; } Więc dlaczego to nie działa? Czy źle używam add_filter?


title: utwórz nową rolę użytkownika dla czytelnika

text: czy istnieje sposób na dodanie nowej roli użytkownika? Potrzebuję dwóch rodzajów czytelników: 1. potrafią czytać wszystkie prywatne posty 2. potrafią czytać tylko prywatne posty z określonej kategorii. Subskrybent opisany tutaj może być wystarczająco uczciwy, aby zadowolić pierwszego rodzaju czytelnika. Następnie potrzebuję zdefiniować coś mniej niż subskrybent, kiedy będę mógł przetestować, czy użytkownik ma dla mnie tę nową rolę, jest w porządku.


title: Pobierz wszystkie przyklejone posty od jednego użytkownika za pomocą identyfikatora użytkownika

text: Więc muszę uzyskać liczbę przyklejonych postów, które każdy użytkownik ma i porównać z jedną zmienną. Udało mi się to zrobić, ale zastanawiam się, czy to właściwa droga. //Pobierz wszystkie przyklejone posty ID $sticks = $wpdb->get_results("SELECT * FROM $wpdb->options WHERE option_name = 'sticky_posts'"); $stickies = unserialize( $sticks[0]->option_value ); //tablica z identyfikatorami przyklejonych postów // print_r($stickies); // Pobierz identyfikator użytkownika z przyklejonego identyfikatora postu $i = 0; foreach ($stickies as $sticki) { $post_meta = get_post($sticki); if($post_meta->post_author == $current_user->ID && $post_meta->post_status != 'kosz' && strtotime($post_meta->post_date) > strtotime('-30 dni') ) { $i++; } } A $i to liczba przyklejonych postów dla tego użytkownika. Więc to, co robię, to przeglądanie wszystkich przyklejonych postów, uzyskiwanie meta postu dla każdego przyklejonego posta i uzyskiwanie meta postu przez autora posta w celu porównania go z bieżącym identyfikatorem użytkownika.


title: Pobierz aktualną niestandardową taksonomię użytkownika

text: Używam wtyczki User Groups, która pozwala mi grupować użytkowników według kategorii. Wtyczka działa zasadniczo tak samo, jak przy użyciu metody ręcznej (niestandardowe taksonomie użytkownika) opisanej tutaj przez Justina Tadlocka. Na author.php chcę wyświetlić listę taksonomii, do których należy aktualnie przeglądany użytkownik, a każdy element listy powinien odnosić się do strony terminów taksonomii. Używam następującego kodu, aby uzyskać identyfikator bieżącego użytkownika i pobrać niestandardowe wartości pól ze strony profilu: <?php // Pobierz bieżącego autora $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); ?> A ja używam następującego kodu, aby wyświetlić niestandardowe taksonomie użytkowników: <?php // Wyświetl niestandardowe taksonomie użytkowników wp_list_categories('taxonomy=user-group'); ?> "taxonomy=user-group" pobiera wszystkie terminy utworzone we wtyczce. Oto sposób na uzyskanie aktualnych taksonomii post, ale zamierzam zmienić je na niestandardowe taksonomie użytkowników. Czy istnieje sposób na zmianę wp_list_categories() tak, aby wyświetlała tylko żądane taksonomie? Czy powinienem szukać innego podejścia?


title: Zapytaj użytkowników według możliwości - odinstaluj/dezaktywuj oddzwonienie

text: ## Sytuacja Działając na MU, piszę wtyczkę open source/publicznie i bezpłatnie dostępną. Ponieważ użyłem `add_screen_option()`, aby umożliwić użytkownikom łatwe ustawienie strony administratora zgodnie z ich upodobaniami, zostałem z mnóstwem metadanych użytkownika. Teraz sama strona jest ograniczona do użytkowników z opcją `manage_options`, więc tylko ci mają ten wpis meta podczas dostosowywania wartości `per page` dla tabeli list. > ![Opcja ekranu "na stronę"](http://i.stack.imgur.com/Bxdzx.png) ## Zadanie Aby pozwolić wtyczce na pozostawienie czystego stanu w przypadku, gdy ktoś zdecyduje się usunąć wtyczkę, Dodałem wywołanie zwrotne dezaktywacji i odinstalowania, które powinno przechodzić przez dane użytkownika i usuwać wpisy meta. Teraz mógłbym po prostu przejść przez wszystkich użytkowników, sprawdzić ich wartość meta i tak dalej, ale to raczej nie zawiedzie w witrynach z dużą liczbą użytkowników i skończy się przekroczeniem limitu czasu (pamiętaj, że tabele Meta są 'DOŁĄCZONE'). ## Pomysł (jak dotąd) Krótko mówiąc, oto co pomyślałem: Instalacja MU ma tabelę `user` i `usermeta`. I z tego, co widzę, tak naprawdę nie są zapisane możliwości, ale nazwy ról - WordPress nie rozróżnia tutaj ról i możliwości. Zabawne, ale wydaje się, że muszę wziąć pod uwagę różne rzeczy: **Użytkownik może być …** * superadmin * zarejestrowany w wielu witrynach * zarejestrowany w wielu witrynach o różnych rolach * zarejestrowany w wielu witrynach z tą samą rolą , ale rola ma różne możliwości na różnych stronach *...? Problem zaczyna się od tych różnych możliwości i idzie dalej, gdy spojrzysz, jak możliwości są zapisane w konfiguracji Network/MU: {$wpdb->prefix}capabilities Lub {$wpdb->prefix}{get_current_blog_id()}_capabilities Tak więc za co jedno zapytanie? $argumenty_zapytania = tablica( ); $zapytanie = nowe WP_User_Query( $query_args ); $użytkownicy = $zapytanie->wyniki; if ( pusty ( $użytkownicy ) ) return; var_dump( $użytkownicy ); ### EDYCJA Tylko pierwsza próba zapytania o nazwy ról z określoną możliwością: $roles = new WP_Roles(); $roles = wp_list_pluck( $roles->role_objects, 'zdolności'); $wyniki = tablica(); foreach ( $roles as $role => $caps ) { array_key_exists( 'manage_options', $caps ) AND $results[] = $role; } var_dump( $wyniki ); # Nawet jeśli jest mądrzejszy niż pętla powyżej, nie będzie działać i # wygeneruje błąd w plikach podstawowych. $roles = array_filter( wp_list_pluck( $roles, 'manage_options') );


title: Pokazuje przycisk home w określonym menu

text: Próbuję dodać przycisk home w określonym menu WordPressa (mam 2) i w ogóle nie działa. To jest mój kod: <?php wp_nav_menu(array('theme_location' => 'primary', 'show_home' => $args['show_home'] = true)); ?> Wywołanie 'globalnych $args;' nie działało. Co robię źle? Z góry dziękuję.


title: Zidentyfikuj stronę wyświetlaną w The Loop

text: W mojej pętli staram się ustawić tak, aby określony tekst był wyświetlany na określonych stronach, jeśli nie ma postów do wyświetlenia. Myślałem, że to będzie proste, używając `is_post()`, ale wygląda na to, że ta funkcja nie działa, gdy jesteś w pętli. Czy ktokolwiek wie, jak mogę zidentyfikować stronę, która jest aktualnie wyświetlana w The Loop? Poniższy kod pochodzi z `loop.php` \- tak mam strukturę kodu, ponieważ zawartość nie jest w tym przypadku istotna. Jednak dla zainteresowanych, oto mój pełny kod `page.php` i `loop.php` - http://pastebin.com/hDjR6C7A. <?php if(have_posts()) : while(have_posts()) : the_post(); ?> <!-- Zrób coś tutaj --> <?php endwhile; ?> <?php else : ?> <?php if(is_page(162)) : // Kariera ?> <!-- Zrób to tutaj --> <?php if(is_page(716)) : // Partnerstwa ? > <!-- Zrób coś tutaj --> <?php elseif(is_search()) : ?> <!-- Zrób coś tutaj --> <?php endif; ?> <?php endif; ?>


title: Jak mogę uzyskać atrybut title z get_the_post_thumbnail()?

text: W moim motywie chcę wyświetlić wyróżniony obraz, ale chcę również wyświetlić atrybut tytułu (obrazu, a nie postu / strony) obok samego obrazu. Czy jest na to prosty sposób? Gdzie powinienem szukać? Dzięki, John.


title: Permalink przepisać konflikt 404- WordPress taksonomie/ CPT

text: Zastanawiam się, czy ktoś mógłby mi powiedzieć, dlaczego podstrony (strony podrzędne) już nie działają (np.: www.mysite.com/type/childpage). Mam stronę o nazwie „Typ” (działa dobrze) i chcę mieć strony podrzędne typu „Typ” (błędy 404) – jak widać, lubię też, aby przed moim niestandardowym postem pojawił się napis „Type” rodzaje/taksonomie. Próbowałem metody z tego linku bezskutecznie: http://wordpress.stackexchange.com/questions/4127/custom-taxonomy-and-pages-rewrite-slug-conflict-gives-404 add_action( 'init', 'create_zombie_type ' ); function create_zombie_type() { register_post_type('zombies', array( 'description' => 'Niestandardowy typ posta zombie', 'show_ui' => true, 'menu_position' => 5, 'menu_icon' => get_stylesheet_directory_uri() . '/ images/zombies.png', 'exclude_from_search' => false, 'labels' => array( 'name' => 'Zombie', 'singular_name' => 'Zombie', 'add_new' => 'Dodaj nowego zombie', 'add_new_item' => 'Dodaj nowego zombie', 'edit' => 'Edytuj zombie', 'edit_item' => 'Edytuj zombie', 'new_item' => 'Nowy zombie', 'view' => 'Wyświetl zombie' , 'view_item' => 'Wyświetl zombie', 'search_items' => 'Przeszukaj zombie', 'not_found' => 'Nie znaleziono zombie', 'not_found_in_trash' => 'Nie znaleziono zombie w Koszu', 'parent' => 'Rodzic Zombie', ), 'hierarchical' => false, 'supports' => array('title','editor','excerpt', 'trackbacks','custom-fields', 'comments','revisions' ,'miniaturka','autor','atrybut strony ibutes'), 'public' => true, 'rewrite' => array('slug' => 'type/%freshness%', 'with_front' => false), 'taxonomies' => array('freshness') ) ); } add_action( 'init', 'create_zombie_taxonomies' ); function create_zombie_taxonomies() { register_taxonomy( 'świeżość', 'zombies', array( 'labels' => array( 'name' => 'Świeżość', 'singular_name' => 'Świeżość', 'search_items' => 'Świeżość Wyszukiwania ', 'popular_items' => 'Popularna świeżość', 'all_items' => 'Cała świeżość', 'parent_item' => 'Rodzic świeżość', 'parent_item_colon' => 'Rodzic świeżość:', 'edit_item' => 'Edytuj Świeżość', 'update_item' => 'Aktualizuj Świeżość', 'add_new_item' => 'Dodaj Nową Świeżość', 'new_item_name' => 'Nazwa Nowej Świeżości' ), 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'query_var' => 'świeżość', 'show_tagcloud' => true, 'rewrite' => array( 'slug' => 'typ', 'with_front' => false )) ); } function filter_post_type_link($link, $post) { if ($post->post_type != 'zombie') return $link; if ($cats = get_the_terms($post->ID, 'freshness')) $link = str_replace('%freshness%', array_pop($cats)->slug, $link); zwróć $link; } add_filter('post_type_link', 'filter_post_type_link', 10, 2);


title: Co powoduje uruchomienie wp_schedule_single_event?

text: To nie jest tak proste pytanie, jak mogłoby się wydawać. Zasadniczo mam program C#, który trafia na witrynę worpdress i wp_schedule nie wydaje się odpalać. Jeśli wejdę na stronę za pomocą przeglądarki Firefox, wygląda na to, że się uruchamia. Więc jaka jest tutaj różnica? Co dokładnie powoduje odpalenie crona? Czy to HTTP GET? A może na stronie jest jakiś skrypt lub funkcja ładowana przez przeglądarki?


title: Niestandardowe zapytanie Wordpress: Łączenie dwóch funkcji

text: Jestem trochę nowy w php i mam problemy z połączeniem funkcjonalności dwóch niestandardowych zapytań w Wordpress, aby (1) uzyskać prawidłowe działanie stronicowania i (2) posortować moje posty zgodnie z wtyczką do głosowania. **(1) Poniżej znajduje się niestandardowe zapytanie, które działa z podziałem na strony, ale nie sortuje moich postów według głosów (ustawione we wtyczce do głosowania).** $total = " SELECT wposts.* FROM $wpdb-> posty wposts, $wpdb->postmeta wpostmeta GDZIE wposts.ID = wpostmeta.post_id AND wposts.post_status = 'publish' AND wposts.post_type IN ('youtube', 'vimeo') GROUP BY wposts.ID "; $totalposts = $wpdb->get_results($całkowita, OBIEKT); $ppp = intval(get_query_var('posts_per_page')); $wp_query->found_posts = liczba($totalposts); $wp_query->max_num_pages = ceil($wp_query->found_posts / $ppp); $on_page = intval(get_query_var('stronicowany')); if($on_page == 0){ $on_page = 1; } $przesunięcie = ($na_stronie-1) * $ppp; $wp_query->request = " SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wposts.post_status = 'publish' AND wposts.post_type IN ('youtube' , 'vimeo') GRUPUJ WG wposts.ID LIMIT $ppp PRZESUNIĘCIE $offset "; $pageposts = $wpdb->get_results($wp_query->żądanie, OBIEKT); **(2) Poniżej znajduje się kolejne zapytanie niestandardowe. Kiedy to zapytanie jest połączone z funkcją w #3, sortuje moje posty według głosów. Jednak nie działa z paginacją.** $enddate = date('Y-m-d'); $increment_date = strtotime("+1 dzień", strtotime($enddate)); $data końcowa = data("R-m-d", $data_przyrostu); $increment_date = strtotime("-1 miesiąc", strtotime($data końcowa)); $data_początkowa = data("R-m-d", $data_przyrostu); $query = " SELECT wposts.* FROM $wpdb->posty wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wposts.post_status = 'publish' AND wposts.post_type IN ('youtube', 'vimeo ') AND post_date >= '$startdate' AND post_date <= '$enddate' GROUP BY wposts.ID "; **(3) A funkcją sortowania według głosów jest...** function ShowPostByVotes($query) { global $wpdb, $voteiu_databasetable; $górny limit = get_option('voteiu_limit'); if ($górny limit == '') { $górny limit = 100; } $dolny limit = 0; $tablica głosów = tablica(); $pageposts = $wpdb->get_results($zapytanie, OBIEKT); $query_limited = $zapytanie." LIMIT ".$dolnylimit.", ".$upperlimit; $posttablecontents = mysql_query( $query_limited ); while ($wiersz = mysql_fetch_array($posttablecontents)) { $post_id = $wiersz['ID']; $vote_array = GetVotes($post_id, "tablica"); array_push($votesarray, array(GetVotes($post_id))); } array_multisort($Votesarray, SORT_DESC, $pageposts); $wyjście = $pageposts; zwróć $wyjście; } Moja trudność polega na tym, że nie mogę utworzyć zapytania/funkcji, która zarówno sortuje moje posty według głosów, jak i działa z podziałem na strony ... przepraszam, wiem, że to trochę duże pytanie, ale mam problemy z tym przez kilka dni bez powodzenia i wydaje się, że nie mogę nigdzie dojść.


title: upewnić się, że użytkownik może być jednocześnie zalogowany tylko na jednym komputerze?

text: jak mogę się upewnić, że użytkownik może być jednocześnie zalogowany tylko na jednym komputerze? Chcę stworzyć witrynę wordpress, która potencjalnie mogłaby mieć płatne konta za treści w przyszłości. Czy w wordpressie jest coś wbudowanego, co uniemożliwia użytkownikowi zalogowanie się więcej niż raz?


title: Niestandardowy typ posta Wordpress nie zapisuje się poprawnie

text: Uwaga: Najpierw zadałem to pytanie na stackoverflow, ale nie otrzymałem odpowiedzi. Stworzyłem wtyczkę z nowym niestandardowym typem postu, działa lokalnie tak, jak powinna, ale na jednej z moich witryn, która akurat jest wielostronna, nie zostanie poprawnie zapisana po dodaniu nowego niestandardowego elementu posta. Kiedy po raz pierwszy próbuję go opublikować, nadal zapisuje się jako szkic, a wartości meta pola nie są zapisywane, gdy używam hooka save_post. Poza tym zawsze jestem przekierowywany do /wp-admin/post.php, gdy zapisuję, zamiast pozostawać na stronie edycji, jak zwykle. To jest niestandardowy kod typu posta: public function download_post_type() { $labels = array( 'name' => _x('Downloads', 'General name type post'), 'singular_name' => _x('Downloads', ' post type pojedyncza nazwa'), 'add_new' => _x('Dodaj nowy', 'pobierz'), 'add_new_item' => __('Dodaj nowy plik'), 'edit_item' => __('Edytuj pobranie') , 'new_item' => __('Nowe pobieranie'), 'all_items' => __('Wszystkie pobrane'), 'view_item' => __('Wyświetl pobrane'), 'search_items' => __('Wyszukaj pobrane '), 'not_found' => __('Nie znaleziono plików do pobrania'), 'not_found_in_trash' => __('W Koszu nie znaleziono plików do pobrania'), 'parent_item_colon' => '', 'menu_name' => __('Pobrane ') ); $args = array( 'labels' => $labels, 'hierarchical' => false, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var ' => prawda, 'rewrite' => prawda, 'menu_icon' => 'http://cdn1.iconfinder.com/data/icons/CrystalClear/16x16/apps/ark2.png', 'taxonomies' => array( 'category' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => true, 'menu_position' => 5, 'supports' => array( 'title', 'editor', „wyciąg”, „autor”, „miniaturka”, „pola niestandardowe”, „poprawki” ) ); register_post_type('pobrane', $args); }


title: Operator zapytań taksonomii „NIE TYLKO W”?

text: Mam wielu użytkowników, którzy dodają treści do zastrzeżonych kategorii (za pomocą RoleScoper) w mojej konfiguracji WordPressa, które nie pojawiają się na stronie głównej (szablon niestandardowy z `query_posts()`). Szukam sposobu na „promocję” przesłanej treści na stronie głównej poprzez dodanie jej do innej kategorii. Mój kod pętli wygląda tak: <?php query_posts($query_string . '&cat=-37'); if (have_posts()): while (have_posts()): the_post(); ?> Spowoduje to wykluczenie wszystkich postów w kategorii 37. Jednak nawet jeśli dodam post do innej kategorii, nadal zostanie on wykluczony. Czy istnieje sposób na wykluczenie wpisu, jeśli należy on tylko do tej jednej kategorii?


title: Utwórz frontpage.php i statyczny szablon strony

text: Jestem trochę zmieszany. **Ustawienia czytania :** 1) Strona główna -> Strona główna -> `Frontpage.php` 2) Strona postów -> Wiadomości -> `pages_news.php` [to jest niestandardowy szablon strony :Pages Własne wiadomości ] Od Strony: 3 ) Strony -> Wiadomości -> Edycja -> Szablon -> Strony Własne wiadomości Mój `frontpage.php` działa, ale mój niestandardowy szablon strony `pages_news.php` z wiadomości nie działał. w szczególności dostosowuję szablon z innymi ustawieniami lub usuwam wszystkie i nie działa. Wyświetla całą zawartość. Ponadto chcę opublikować pierwsze 6 postów (bez przyklejonego posta) w `frontpage.php`, a pozostałe posty lub artykuły w `pages_news.php`


title: Wtyczka jQuery akordeon nie będzie działać po użyciu w WP

text: Próbuję użyć tego skryptu akordeonowego w moim WP: http://www.armagost.com/zaccordion/ Problem polega na tym, że na samodzielnym pliku html/php działa dobrze, ale po wklejeniu do mojego pliku header.php nie ma mowy aby to działało. Próbowałem również dołączyć go za pomocą `<?php require_once("example.php") ?>`, ale bez powodzenia. Możesz zobaczyć mój plik header.php tutaj: http://pastebin.com/SrkmWxp1 Dziękuję za pomoc.


title: Edytor postów nie działa na WordPress 3.5.1

text: Ostatnio zaktualizowałem moją stronę wp do najnowszej wersji i od tego czasu edytor postów nie działa, **Co próbowałem:** * Wyłączyłem wszystkie wtyczki. * Zainstalowano opcję „Użyj bibliotek Google”. * Wyłącz wszystkie wtyczki z wyjątkiem „Użyj bibliotek Google”. * Ponownie zainstaluj WordPress z panelu aktualizacji. **Istnieje kilka rozwiązań dotyczących obsługi WordPressa:** Dodanie tej linii w wp-config.php Rozwiązanie #1: define('SCRIPT_DEBUG', true); Rozwiązanie #2: define('CONCATENATE_SCRIPTS', false ); Wypróbowałem wszystkie powyższe metody i żadna z nich nie zadziałała dla mnie. proszę o pomoc w rozwiązaniu tego problemu, ponieważ nie mogę zaktualizować mojej witryny :(


title: Zapytanie o posty bez określonego identyfikatora

text: Jak mielibyśmy wyszukiwać posty, jeśli post nie ma identyfikatora 2047? Oto aktualne zapytanie. <?php $args1 = array( 'post_type' => 'options', 'tag_slug__and' => array( $triplevel, $divingtrip, 'accommodation' ), 'posts_per_page' => -1, 'offset' => 1, ); zapytanie_posty( $args1 ); while (have_posts()) : the_post(); ?> Próbowałem tego... query_posts( $args1 . 'p!=2047' ); ...bez efektu. Jakieś pomysły? Cudowny


title: Jak wykluczyć niestandardową taksonomię z pętli postu?

text: Czy istnieje prosty lub łatwy sposób na wykluczenie wszystkich postów z niestandardowej taksonomii w pętli? Patrzyłem wysoko i nisko, i ani SE, SO ani Google nie wydają się mieć prostej odpowiedzi. Wiem, że można to zrobić za pomocą zapytania WPDB, ale wydaje się, że jest to po prostu ogromna lina do skakania po coś, co powinno być dość proste.


title: Szukaj na stronie

text: Chcę mieć pole wyszukiwania na stronach wordpress, aby wyszukiwać i wyświetlać wyniki tylko z treści na bieżącej stronie. Czy ktoś ma jakieś sugestie jak to osiągnąć?


title: Potrzebujesz pomocy z moim szablonem

text: Mam tę stronę tutaj http://spillersmart.dk, gdzie obecnie wyświetla 3 filmy z rzędu. Chcę, aby zamiast tego wyświetlało się 5 filmów, ale nie mogę dowiedzieć się, gdzie w kodzie to zmienić. Zajrzałem do pliku css, ale bez powodzenia :-( Z góry dziękuję


title: Zmień instalację wielostanowiskową z subdomen na podkatalogi

text: Szukałem wszędzie, ale wydaje mi się, że nie znajduję na to rozwiązania. Mam instalację WP, która używa subdomen i nie ma jeszcze żadnych innych witryn poza główną witryną. To, co chcę zrobić, bez ponownej instalacji od nowa, to włączenie podkatalogów. Próbowałem zmienić w wp-config `define('SUBDOMAIN_INSTALL', true);` na `define('SUBDOMAIN_INSTALL', false );` i pozwoliło to na utworzenie witryny w podkatalogu, ale podczas przeglądania witryny mogę widzę tylko kod HTML (bez CSS) i nie mam dostępu do obszaru administracyjnego witryny. Domyślam się, że jest jeszcze coś, co trzeba zrobić, żeby ścieżki działały. Jakieś pomysły?


title: Zachowaj indeks wyszukiwarki podczas przechodzenia do nowej domeny

text: Jesteśmy w trakcie migracji starej starej domeny do nowej domeny za pomocą wordpress. ta migracja odbywa się na tym samym serwerze i adresie IP (trzeba potwierdzić, ale nadal na 99%). Już kilka razy zadałem to samo pytanie na temat pro-webmasterów zachowujących-indeks-wyszukiwarki-podczas-przechodzenia-do-nowej-domeny. Ponieważ baza danych jest taka sama, wszystko, co zrobiliśmy, to eksport danych ze starej bazy do nowej bazy danych, zmieniliśmy link i teraz wszystko jest idealne. wiem, że możemy ustawić przekierowanie 301 w pliku .htacces, ale nie wiem, jak to zrobić, a ponieważ w starej domenie jest tak wiele linków. nie jestem pewien, jak najlepiej poradzimy sobie z tym przekierowaniem. Czy musimy utworzyć mapowanie każdego starego adresu URL na nowy adres URL? i gdzie powinniśmy umieścić te mapowania w Starej domenie? każda pomoc w tym zakresie będzie bardzo pomocna. Jeśli będę potrzebował więcej informacji, daj mi znać, że wszelkie inne wymagane informacje zamieszczę pocztą. Z góry dziękuję


title: Jak wstawić mapę obrazu do posta na blogu Wordpress?

text: Próbuję wstawić niestandardową mapę obrazu do posta na blogu, tak aby kliknięcie różnych części obrazu u góry posta doprowadziło do zakotwiczenia w innych częściach postu. Poprawnie wygenerowałem kod mapy obrazu i przetestowałem go na osobnej stronie HTML, która nie była zgodna z Wordpress, gdzie działała dobrze. Za każdym razem, gdy wstawiam kod HTML (używając widoku kodu, a nie widoku edytora WYSIWYG), zostaje on usunięty, gdy tylko zapiszę post. Sprawdziłem jednak i wygląda na to, że `<map>` i `<area>` są dozwolonymi znacznikami na Wordpres.com. Ten blog nie jest hostowany przez Wordpress.com (w rzeczywistości jest to witryna na instane WPMU hostowana tutaj na Stack Exchange), ale zakładam, że domyślnie pobrana wersja Wordpress pozwalałaby na _co najmniej_ te same tagi, co Wordpress. com hostowane blogi. Czy istnieje ustawienie, które superadministrator sieci musi zmienić, aby zezwolić na te tagi, czy też wstawiam je nieprawidłowo? Jeśli tagi są dozwolone, co może spowodować ich całkowite usunięcie?


title: Zdalne przechowywanie plików Wordpress

text: Jestem w takiej samej sytuacji, jak autor tego posta. Rozumiem, że mój post jest czymś w rodzaju duplikatu, ale link ma kilka lat i zastanawiam się, czy sytuacja się zmieniła? Mam klienta, który prowadzi (i uwielbia) witrynę WordPress i używa Dropbox do udostępniania plików swoim klientom (zazwyczaj cyfrowe kopie umów i instrukcji obsługi maszyn). Nie lubią korzystać z Dropbox, ponieważ nie jest on zintegrowany z witryną i nie jest oznaczony marką. Miałem nadzieję, że istnieje interfejs API Dropbox, który umożliwia dostęp do folderów na podstawie użytkowników/grup, ale wydaje się, że tak nie jest. Czy są jakieś wtyczki/usługi, które pasują do rachunku, czy jest to jedyna opcja, aby nadal korzystać z Amazon S3?


title: Ulepsz Menedżera multimediów w Galerii

text: Chciałbym ulepszyć Media Editor, po WordPressie 3.5, w widoku galerii. Chcę dodać nowe pole wyboru po prawej stronie i wysłać wybrane wartości do shortcode galerii. ![tutaj podaj opis obrazu](http://i.stack.imgur.com/brx7x.png) Myślę, że funkcja `wp.media.gallery` w `wp-includes/js/media-editor.js` jest domyślną funkcją do wstawiania skróconego kodu galerii. Chcę dodać nowy parametr, a wartości parametru pochodzą z pola wyboru w Menedżerze mediów. Grałem z różnych źródeł, szczególnie z tego pytania, ale Backbone jest dla mnie bardzo nowy i nie rozumiem, jak to działa. Bawiłem się również haczykiem `print_media_templates`, ale bez rezultatu w widoku Media. Jakich haczyków powinienem użyć?