title: Nie możesz użyć określonego niestandardowego adresu URL (slug)?

text: Mam problemy ze zrozumieniem pojawiającego się błędu. Mam stronę, która nazywa się „rozstaw” i jako taka adres URL i ślimak powinny również być „rozstawem”, więc: www.moja-domena.com/rozstaw/ Ale kiedy wpisuję „rozstaw” nie tylko daje mi błąd 404, mój host (Bluehost) sam przekierowuje do swojego „ekranu powitalnego”. Naprawdę nie potrafię zrozumieć, dlaczego jest konkretny problem z tym słowem „wysokość” lub czy istnieje wyjaśnienie tego, co się dzieje. Jeśli zmienię nazwę na na przykład pitch1 lub this_pitch, nie będzie problemu z przepisaniem. Problem polega jednak na tym, że stworzyłem już kilka drukowanych plakatów z adresem www.my-domain.com/pitch/, nie podając, że to słowo kluczowe nie może być użyte w Wordpress i/lub Bluehost. Przyjrzałem się regułom przepisywania w bazie danych i o ile widzę, nie ma błędów ani nieprawidłowości ani tam, ani w żadnych innych tabelach opartych na opcjach. Czy ktoś ma jakieś wyjaśnienie, rozwiązanie lub sugestie na czym polega problem i jak mogę mu pomóc? Każda pomoc jest mile widziana. Szczery - Mestika


title: Jak działa automatyczne przekierowanie wtyczki przekierowania?

text: Eksperymentuję z wtyczką Redirection i do tej pory bardzo mi się podoba, ale nie mogę rozgryźć, jak działają automatyczne przekierowania. Po przejściu do sekcji opcji znajduje się następująca sekcja: Monitorowanie adresów URL - Możesz ustawić przekierowanie na wykrywanie zmian w adresach URL i utworzenie automatycznego przekierowania w określonej grupie. Jednak wydaje się, że nie mogę tego wywołać. Czego bym się spodziewał, to to, że ręczna modyfikacja sluga lub zmiana struktury permalinka wywołałaby tworzenie automatycznych przekierowań. Jednak tak się nie dzieje. Czy ktoś ma doświadczenie z tą wtyczką?


title: Problem ze ścieżką — uzyskanie adresu „localhost” zamiast adresu IP

text: Okej, obecnie próbuję rozwijać mój motyw/wtyczkę WP w sieci LAN, aby można było uzyskać do niego dostęp z wielu urządzeń. Ostatnio zauważyłem, że sposób, w jaki dołączam pliki CSS, powoduje, że nie wyświetlają się one na innych urządzeniach, ale na hoście, ponieważ otrzymuje bezwzględną ścieżkę do "localhost", nieznaną klientom, zamiast 192.168.1.X, a ja myślę, że stanie się to samo, gdy przejdziesz do trybu online, ponieważ ścieżka jest po stronie serwera. Teraz dołączam go w ten sposób: <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo('stylesheet_url'); ?>" title="<?php _e( 'Default'); ?>"/> Czy jest jakaś poprawka wykorzystująca szablon wp? (Wiem, że użycie względnej ścieżki naprawiłoby to, ale myślę, że to nie jest droga do zrobienia) Dzięki :P


title: Dodawanie widgetu WordPress do strony ustawień

text: Chcę umieścić widżety na mojej stronie ustawień wtyczek, takie jak te w panelu WordPress. Akcja rejestracji widżetu to add_action('wp_dashboard_setup', 'register_widgets' ); Zastanawiam się, czy można zrobić to samo dla własnych stron ustawień.


title: Całkowicie wyłącz komentarze

text: Czy jest sposób (hacki, wtyczki…) na całkowite wyłączenie komentarzy w WP? Mam tu na myśli całkowite ukrycie tej funkcji automatycznie, zarówno dla obecnych, jak i nowych użytkowników. W szczególności: * pasek administracyjny WP i menu * lista postów, stron i multimediów, ich opcje ekranu i ich filtry * edytor postów, stron i multimediów oraz ich opcje ekranu * ekran widżetów * odpowiednie ekrany ustawień I oczywiście , wyłączając tę funkcję. Natknąłem się na różne starzejące się hacki, aby wykonać część tego, a mianowicie głównie kod do wyłączania metaboxów i kilka hacków do automatycznego wyłączania komentarzy. Zwracam się do SO w nadziei, że jakiś projektant stron internetowych lub programista może mieć cały zestaw funkcji pod ręką. Jeśli nie, czy mogą istnieć nowe API z ostatnich 3-4 lat, które uprościłyby proces (moje umiejętności WP stają się zardzewiałe), czy też przejrzenie tego będzie niezręcznym hackiem związanym z manipulacją buforem wyjściowym?


title: Wtyczka lub mod do wordpress, aby publikowanie treści było SUPER łatwe

text: No cóż, robię stronę wordpress dla mojego taty, psychiatry, który ledwo wie, jak sprawdzić pocztę. Chce regularnie umieszczać treści, ale rzeczywisty interfejs administracyjny wordpressa jest dla niego zbyt skomplikowany (to znaczy, że nie dba o komentarze, statystyki, wtyczki, aktualizacje i całą masę rzeczy, które oferuje wordpress). Jestem starszym programistą PHP i potrafię stworzyć super prosty interfejs, ale zastanawiam się, czy coś nie zostało już zrobione?... Idealnie będzie coś takiego: Strona logowania -> Tytuł -> Treść -> przycisk wyślij -> gotowe. Jeśli rozwiązanie jest zbyt techniczne, nie martw się, poradzę sobie, po prostu nie chcę robić wszystkiego od 0. Dzięki!


Jak określić porządek sortowania dla niestandardowego typu postu, tak jak w przypadku typu postu stron? Jedyne, co udało mi się znaleźć w Internecie, to różne wtyczki, które robią to za mnie, ale wolałbym nie używać wtyczki i po prostu sam wstawić kod. Jakieś sugestie? Dziękuję


title: Dodaj wartości $ do post_class()

text: To musi być całkiem proste, ale mnie to wymyka. Muszę dodać kilka klas do `post_class()` http://codex.wordpress.org/Function_Reference/post_class Mogę dodać jedną klasę w szablonie strony, jak poniżej: `post_class($even_odd);` ale muszę dodaj kilka innych, tj. `$current_post` i `$current_in_total` Nie będą `echo` i nie wypiszą w ten sposób: `post_class($current_post; $even_odd; $current_in_total;)` Muszę je wyprowadzić w szablonie strony za pomocą `post_class()`, nie dodawaj ich przez hook w functions.php Pomysły?


title: Wgrać gravatar w profilu WP?

text: Interesuje mnie teoria, w której użytkownik może zarejestrować/przesłać gravatara bezpośrednio na swoje konto użytkownika w hostowanym systemie WP. Czy to możliwe?


title: Jak zrobić niestandardowy tytuł kanału typu post = taksonomie?

text: Mam niestandardowy typ posta, który nie używa domyślnego paska tytułu do zdefiniowania tytułu posta. Zamiast tego jest to seria taksonomii: artysta, album i rok. W tej chwili mój kanał xml wyświetla „<title>Automatyczny szkic</title>” dla każdego typu posta. Jakiego filtra mogę użyć, aby te trzy taksonomie były tagiem tytułu typu posta w kanale?


title: Problem z migracją — strona główna bloga jest pusta

text: Chcę przenieść mój blog Wordpress na inny serwer. Zrzuciłem bazę danych ze starego serwera i zaimportowałem ją na nowy serwer i ustawiłem szczegóły nowej bazy danych w `wp-config.php`. Mogę zalogować się do konsoli administratora online i widzę wszystkie posty, ale jeśli wejdę na pierwszą stronę bloga, strona jest po prostu pusta. W dziennikach Apache nie ma błędów. Czy ktoś ma jakiś pomysł, co się dzieje?


title: Czy jest jakiś sposób na dodanie niestandardowych opcji do ustawień galerii?

text: Teraz, gdy Wordpress został zaktualizowany do wersji 3.5, galeria multimediów została przebudowana i to niestandardowe rozwiązanie opcji wydaje się już nie działać. Chciałbym dodać kilka pól do galerii, aby klient nie musiał ręcznie dodawać tych pól do shortcode galerii. Czy ktoś wie, jak dodać niestandardowe pola w nowej galerii 3.5?


title: Edytuj tekst strony aktywności grup Buddypress

text: Konfiguruję stronę Wordpress z funkcjonalnością Buddypress dla klienta. Klient chce zmienić tekst „Co nowego” na karcie „Aktywność” na inny. Wydaje mi się, że powinno być to edytowalne w plikach motywu Buddypress, ale nie mogę go znaleźć. Oto zrzut ekranu z tekstem, o którym mówię: http://screencast.com/t/WsUdoycKro Czy ktoś wie, który plik generuje ten tekst?


title: Dwie witryny WordPress udostępniające tę samą treść

text: Moje pytanie brzmi: Czy możliwe jest posiadanie dwóch oddzielnych instalacji WP z dwiema oddzielnymi domenami współdzielącymi tę samą zawartość? **Scenariusz:** użytkownik http://A.mysite.com publikuje post. http://B.mysite.com używa dokładnie tej samej bazy danych i może wyświetlać ten post tak, jakby był jego własnym. Od dłuższego czasu szukam tego rozwiązania i nie mogę znaleźć prawidłowej procedury, aby to osiągnąć. **Moje pomysły to:** 1. Czy istnieje sposób na udostępnienie bazy danych bez problemów z adresem strony i motywem przechowywanym w bazie danych. 2. Może użyj tylko kanału RSS i jakoś przeanalizuj XML i wyświetl go w szablonie. To nie jest najlepszy pomysł, ponieważ nie miałby żadnej funkcjonalności zapewnianej przez WordPress. 3. Znaleźć sposób, aby w jakiś sposób zsynchronizować bazy danych, ale wykluczyć tabelę wp_options ?


title: Przepisz regułę dla przychodzących adresów URL

text: **Część 1:** Jak sprawić, by ludzie odwiedzający mojego bloga za pomocą `http://example.com/archives/14073` przekierowali do `http://example.com/?p=14073`. **Część 2:** Co się stanie, gdy link przychodzący wygląda tak: `http://example.com/archives/14073?utm_campaign=Foo&utm_source=foo.com&utm_medium=email`


title: Wiele wpisów w wynikach get_option? lub dlaczego _multiwidget jest ustawiony na 1?

text: Zajmuję się tworzeniem widgetu wordpress i muszę przechowywać niektóre wartości konfiguracyjne użytkownika, dlatego używam wordpress update_option i get_option. Jestem nowy w rozwoju widgetów. Mam kilka opcji konfiguracyjnych dla widżetu, do których muszę uzyskać dostęp z funkcji php, która jest wywoływana przez ajax, dlatego używam API Options (czy jest inny sposób?) Kod, który mam, jest następujący (najpierw funkcje widżetu , a następnie moja funkcja obsługi ajax): public function update ($new_instance, $old_instance) { $instance = $old_instance; $instancja = tablica(); $instance['title'] = ( ! empty( $nowa_instance['title'] ) ) ? strip_tags( $nowa_instancja['tytuł'] ): ''; $instance['api_key'] = ( ! pusty ($new_instance['api_key']) ) ? strip_tags ($new_instance['api_key']) : ''; $instance['forum_key'] = ( ! pusty ($new_instance['forum_key']) ) ? strip_tags ($new_instance['forum_key']) : ''; $instance['limit'] = ( ! pusty ($new_instance['limit']) ) ? strip_tags ($new_instance['limit']) : ''; zwróć $instancję; } // zakończ formularz funkcji publicznej widgetu( $instance ) { $instance = wp_parse_args( (tablica) $instance ); $title = ( isset ($instance['title'] ) ) ? esc_attr($instance['title']) : __( 'Nowy tytuł', 'eedee-dq-widget' ); $api_key = ( isset ($instance['api_key'] ) ) ? esc_attr($instance['api_key']) : ''; $forum_key = ( isset ( $instance ['forum_key'] ) ) ? esc_attr($instance['klucz_forum']) : '' ; $limit = ( isset ( $instance ['limit'] ) ) ? esc_attr($instance['limit']) : 5 ; // Wyświetl formularz administratora include( plugin_dir_path(__FILE__) . '/views/admin.php' ); } // zakończ funkcję publiczną handle_ajax_post() { check_ajax_referer( 'my_nonce', 'security' ); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $error = false; if ($error == false) { $options = get_option('widget_my_comment_widget'); ...wszystko działa (zapisywanie wartości formularza, wywołanie funkcji php przez ajax), jedynym problemem jest to, że linia $options = get_option('widget_my_comment_widget'); zwraca tablicę w ten sposób $options = array[3] $options[3] = array[4] $options[3]['title'] = (string) dyskusja $options[3]['api_key'] = (string ) xxx $options[3]['forum_key'] = (string) zzz $options[3]['limit'] = (string) 5 $options[4] = array[4] $options[4]['title '] = (string) Nowy tytuł $options[4]['api_key'] = (string) xxx $options[4]['forum_key'] = (string) yyy $options[4]['limit'] = ( string) 5 $options['_multiwidget'] = (int) 1, więc zwraca wiele konfiguracji widżetów (dlaczego? mam tylko jedną instancję widżetu na jednym pasku bocznym? ponieważ mam go w wielu motywach?). Jak mogę się upewnić, że otrzymam poprawny identyfikator żądanych opcji lub że istnieje tylko jeden zestaw opcji bez klucza identyfikatora? **Edycja** Po wyłączeniu wtyczki, usunięciu wpisu db, ponownym włączeniu, ponownym dodaniu widżetu $options wygląda następująco: $options = array[2] $options[2] = array[4] $options[2][ 'title'] = (string) dyskurs $options[2]['api_key'] = (string) xxx $options[2]['forum_key'] = (string) highcut $options[2]['limit'] = (string) 5 $options['_multiwidget'] = (int) 1 więc nadal jest ten indeks, wygooglowałem i stwierdziłem, że jest powiązany z ustawieniem _multiwidget, ale dlaczego tam jest? **Edytuj 2** Mój konstruktor jest rodzicem::__construct( 'my_comment_widget', __( 'mój widżet komentarzy', 'eedee-my-widget' ), array( 'description' => __( 'Wyświetla najnowsze i popularne komentarze ', 'eedee-moj-widget' ), ) ); więc nie używam przestrzeni nazw (a może niechętnie?) Jak zaznaczono w tej części oficjalnej dokumentacji, znalazłem google multi-widget.


title: Wyłącz wszystkie inne strony z wyjątkiem indeksu, rejestru, logowania aż do zalogowania użytkownika

text: Muszę zablokować dostęp do wszystkich innych treści oprócz Index,wp-login.php, register.php do czasu zalogowania użytkownika. jak to zrobić. stworzyłem wszystko, ale kiedy próbuję **mysite.com/members**, pokazuje się strona, jak to wyłączyć..


title: dlaczego ten skrypt nie działa na mojej stronie

text: Znalazłem skrypt, dzięki któremu mogę zadbać o to, aby w niektóre miesiące zmienić liczbę postów na stronie. Więc zaimplementuję ten skrypt w ten sposób: http://pastebin.com/Nbqy0KBU Ale nadal wszystkie artykuły są wyświetlane, jak widać tutaj: http://test.tamarawobben.nl/2005/04 Ktoś ma pomysł dlaczego i jak rozwiązać to ? Roelof Edit 1 : To, co chcę osiągnąć, to w pseudokodzie. Gdy jest rok 2005 i miesiąc kwiecień(04) i jesteśmy na pierwszej stronie tego miesiąca, musi zostać wyświetlony 1 artykuł. jeśli nie, należy wyświetlić standardową liczbę artykułów.


title: Tabele bazy danych Wordpress często ulegają awarii

text: W przypadku mojej witryny www.placementmantra.in dwa razy dziennie doświadczam awarii tabeli, głównie `wp_posts`. Próbowałem wyłączyć wszystkie wtyczki, ale problem nadal występuje. Jakieś sugestie?


Używam następujących kodów, aby mieć przycisk udostępniania przez e-mail. W polu zawartości poczty, gdy próbowałem udostępnić kilka postów do przetestowania za pomocą przycisku, fragment pokazujący &#8217 zamiast apostrofu i Â zamiast spacji. Czy ktoś mógłby mi pomóc rozwiązać ten problem. <a title="Wyślij pocztą" href="mailto:type%20email%20address%20here?subject=I%20wanted%20to%20share%20this%20post%20with%20you%20from%20<?php echo rawurlencode(get_bloginfo ('imię')); ?>&body=<?php echo rawurlencode(pobierz_tytuł()); ?>%20%20%3A%20%20<?php echo rawurlencode(pobierz_wyciąg()); ?>%20% 20%2D%20%20%28%20<?php echo rawurlencode(get_permalink()); ?>%20%29" target="_blank">


title: Problem z linkiem bezpośrednim / szablonem podrzędnym

text:
Mam stronę WP z wieloma podstronami z własnym szablonem. Zawiera je główny szablon. Każdy element z własnym szablonem można otrzymać z identyfikatorem i kotwicą, która jest powiązana z tym pomysłem, na przykład: **SZABLON DZIECKA** <li class="customer" id="<?= ( basename(get_permalink() ) );?>"> <a href="#<?= ( basename(get_permalink()) );?>">
 <img src="<?= field('logo' ) ?>" />
   Każdy szablon podrzędny ma oczywiście swój własny adres URL. Teraz mój problem polega na tym, że kiedy używam wbudowanego wyszukiwania WP, otrzymuję permalink do tego szablonu podrzędnego, gdy dopasowane słowo kluczowe znajduje się na jednej ze stron szablonu podrzędnego. Powoduje to błąd wyświetlania, ponieważ ładowany jest tylko szablon podrzędny, a nie cała witryna, na której jest umieszczony. Czy możesz mi pomóc uzyskać właściwy link, który prowadzi mnie do kotwicy szablonu podrzędnego w mojej witrynie, w której jest umieszczony? To jest moje **SZUKAJ**

 Suchresultate für <? /* Liczba wyszukiwań */ $allsearch = &new WP_Query("s=$s&showposts=-1"); $ klucz = wp_specialchars ($s, 1); $liczba = $allsearch->liczba_postów; _mi(''); _e(''); echo $klucz; _e(''); _e(' — '); echo $liczba . ' '; _e('Artykuł'); wp_reset_query(); ?>
 <? if (have_posts()) : ?> <? while (have_posts()) : the_post(); ?>
 <a href="<? the_permalink() ?>"> <? the_title() ?>  <? the_excerpt() ?>
 <? koniec; ?>
<? next_posts_link('« Ęltere Einträge') ?> | <? previous_posts_link('Neuere Einträge »') ?>
 <? else : ?>
Leider nichts gefunden

 <? get_search_form() ?>
 ** Z góry bardzo dziękuję. Twoja pomoc jest bardzo ceniona! :)**


title: Szukaj na stronach archiwum według podkategorii, tagu, pola niestandardowego i roku

text: Mam problemy ze znalezieniem najlepszego rozwiązania dla lepszego (niestandardowego) wyszukiwania. Używam WordPressa do obszernego katalogu mediów, więc moim zamiarem jest zapewnienie lepszych opcji wyszukiwania. Do tej pory udało mi się umieścić różne formularze wyszukiwania w archive.php, które wykonują wyszukiwanie według: podkategorii, tagu, pola niestandardowego (autor) i roku, wszystkie w tej samej kategorii archiwum. Zamieszczam to tutaj, aby zobaczyć, czy jest jakieś ciało, które chciałoby poprawić lub wykorzystać to, co zrobiłem do tej pory. Nienawidzę w nim różnych form dla każdego typu wyszukiwania, uważam, że nie jest to wcale przyjazne dla użytkownika. Może ktoś mógłby mi pomóc w zbudowaniu lepszego rozwiązania. W końcu zintegruję to z jQuery, aby zobaczyć, czy może być lepiej, ale najpierw chcę oczyścić swój kod, myślę, że mogą być łatwiejsze i lepsze sposoby na zrobienie znaczników tego, co zrobiłem. Zapomnij o wielu formularzach.... AKTUALIZACJA FORMULARZA: <?php // Aktualny adres URL do ustawienia akcji formularza wyszukiwania global $wp; $current_url = get_home_url(null, $wp->request, null); ?> <formularz rola="szukaj" metoda="pobierz" akcja="<?php echo $bieżący_url; ?>/"> <typ wejściowy="ukryty" nazwa="s" wartość="prawda" /> <! -- Wyszukiwanie ogólne --> Ogólne <input type="text" name="s" />  Tag <input type="text" name="tag" />  Autor <input type="text" nazwa ="autor" /> <input value="Buscar" type="submit"> </form> FUNKCJA // Rozszerzenie funkcji wyszukiwania search_filter($query) { if ( !is_admin() && $query->is_main_query() ) { if ($query->is_search) { $query->set( 'tag', $query->query_vars['s'] ); $query->set( 'meta_key' , 'autor' ); $query->set( 'meta_value' , $query->query_vars['s'] ); } } } add_action('pre_get_posts','search_filter');


title: Pole listy zwraca nieprawidłową wartość w WordPress 3,9

text: Stworzyłem już listbox dla WordPress 3.8, ale nie działa w nowej wersji WordPress 3.9. Więc piszę kod JavaScript: (function() { var IKONY; var icon = function(id) { return '<i class="fa fa-' + id + '"></i>'; } IKONY = [ „rub”, „rubel”, „rubel”, „strony”, „wymiana stosów”, „strzałka-koło-o-prawo”, „strzałka-koło-o-lewo”, „karetka-o-lewo” „, „toggle-left”, „dot-circle-o”, „wózek inwalidzki”, „vimeo-square”, „spróbuj”, „dostosuj”, „kotwica”, „archiwum”, „strzałki”, „strzałki-h ", "strzałki-v", "gwiazdka", "zakaz", "wykres kreskowy-o", "kod kreskowy", "bary", "piwo", "dzwonek", "dzwonek", "śruba", "książka", "zakładka", "zakładka-o", "teczka", "błąd"] var menuval=[]; for (var i = 0; i < IKONY.length; i++) { var _id = IKONY[i ]; menuval.push({text: icon( _id )+' '+_id, onclick: function(){setcontentfun(_id)} }); } tinymce.PluginManager.add("font_awesome_glyphs", function(editor, url) { var menucreate=editor.addButton('fontAwesomeGlyphSelect', { type: 'listbox', text: 'Icons', ikona: fałsz, wartości: menuval }); }); funkcja setcontentfun(id) { alert(id); zwróć fałsz; } })(); Tak więc tworzy pole listy i wyświetla się dobrze, ale kiedy klikam element menu, ostrzega ostatni element tablicy "ICON", gdzie dobrze wyświetla wszystkie elementy w polu listy. Jak więc mogę ostrzec element listy, który kliknąłem?


title: Rozwiązywanie błędów Javascript prawdopodobnie związanych z frameworkiem Gantry

text: Próbuję rozwiązać niektóre błędy Javascript na stronie, nad którą pracuję (zbudowaną przy użyciu frameworka Gantry), ponieważ mam podejrzenie, że niektóre wtyczki nie działają poprawnie. Na przykład menu nie rozwija się prawidłowo na małych ekranach po kliknięciu przycisku „menu”, a dokumentacja obsługi wtyczki sugeruje, że jest to spowodowane błędami JavaScript. Co więcej, chciałbym po prostu posprzątać, aby ogólnie uniknąć błędów. Przeglądając dziennik konsoli, widzę następujące komunikaty: > Uncaught ReferenceError: Klasa nie jest zdefiniowana rokmediaqueries.js:80 > > Uncaught TypeError: Object [object global] nie ma metody „addEvent” > www.associatedkyotoprogram.dreamhosters.com/: 95 Jestem prawie pewien, że ReferenceError ma coś wspólnego z Gantrym, ponieważ przedrostek „rok” jest używany przez RocketTheme, zespół odpowiedzialny za Gantry. Mniej jestem pewien co do błędu TypeError. Tak czy inaczej, nie mam wiedzy, aby rozwiązać te problemy. Czy ktoś mógłby wskazać mi właściwy kierunek (lub wyjaśnić, jak je naprawić)? Dziękuję bardzo.


title: Jak korzystać z wielu pętli z WP_Query?

text: Cześć Próbuję dodać post z określonego terminu taksonomii do pętli cpt. Poniższy kod to kod, którego używam. <?php // Utwórz pustą tablicę do przechowywania identyfikatorów postów w $excludes = array(); $args=array( 'post_type' => array ('gallery','videos'), 'taxonomy'=>'series', 'term' => 'pretty-little-liars', 'post_status' => 'opublikuj ', ); $my_query = nowe WP_Query( $args ); if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post(); ?> Ale problem z kodem polega na tym, że brakuje wszystkich moich postów. Dowiedziałem się wtedy, że muszę dodać drugą pętlę. Ok, więc po przeczytaniu WP_Query próbowałem dodać drugą pętlę, ale dało mi to błąd, a oto kod, którego użyłem do tego <?php // Utwórz pustą tablicę do przechowywania identyfikatorów postów w $excludes = array(); $args=array( 'post_type' => array ('gallery','videos'), 'taxonomy'=>'series', 'term' => 'pretty-little-liars', 'post_status' => 'opublikuj ', ); $my_query = nowe WP_Query( $args ); if ($my_query->have_posts()) : while($my_query->have_posts()) : $my_query->the_post(); // Przywróć oryginalne dane zapytań i postów wp_reset_query(); wp_reset_postdata(); /* Drugie zapytanie (bez zmiennej globalnej) */ $query2 = new WP_Query( $args2 ); // Druga pętla if ($query2->have_posts()) : while($query2->have_posts()) : $query2->the_post(); // Przywróć oryginalne dane zapytań i postów wp_reset_query(); wp_reset_postdata(); ?> Dało mi to ten błąd > Błąd analizy: błąd składni, nieoczekiwany $end in > /hermes/bosweb/web188/b1885/ipg.celebloidcom1/tvcafe/wp- > content/themes/tvcafe/archive-pretty-liars .php on line 258 Co tu robię źle, czy ktoś może mi pomóc to naprawić. Nie wybieram oddzielnej struktury w mojej pętli, ale bardziej wspólnej struktury. Na przykład nie chcę, aby pierwsza pętla znajdowała się na górze, a druga na dole. Chcę je połączyć w jedną pętlę. Jeśli potrzebujesz więcej informacji lub chcesz zobaczyć cały mój php, daj mi znać.


title: Jak zapewnić lokalną rezerwę dla Font Awesome, jeśli CDN ulegnie awarii?

text: Próbuję opracować motyw Wordpress i dowiedzieć się, jak zapewnić lokalną awarię dla Font Awesome, jeśli CDN zawiedzie lub rozwijam motyw na lokalnym serwerze bez połączenia z Internetem. Rozwiązanie, które mam na myśli, to coś takiego (pseudo kod): if ( $ CDN_IS_AVAILABLE ) { wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font- awesome.min.css', false ); } else { wp_enqueue_style('font-awesome', get_template_directory_uri() . '/css/font-awesome/css/font-awesome.min.css', false, '4.0.3' ); }      Dziękuję Ci!


title: WordPress: sortowalne pola metaboksu nie zapisują pozycji

text: Natknąłem się na problem, który mnie zaskoczył: po uaktualnieniu do wersji WP 3.6 moje sortowalne pola metaboksu nie zapisują swojej pozycji, gdy zmieniasz ich kolejność. Poniżej mój kod: PHP: function save_box( $post_id ) { $post_type = get_post_type(); // zweryfikuj wartość jednorazową if ( ! isset( $_POST['custom_meta_box_nonce_field'] ) ) return $post_id; if ( ! ( in_array( $post_type, $this->page ) || wp_verify_nonce( $_POST['custom_meta_box_nonce_field'], 'custom_meta_box_nonce_action' )) ) return $post_id; // sprawdź autozapis if ( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return $post_id; // sprawdź uprawnienia if ( ! current_user_can( 'edit_page', $post_id )) return $post_id; // przejdź przez pola i zapisz dane foreach ( $this->fields jako $field ) { if( $field['type'] == 'section' ) { $sanitizer = null; kontynuować; } if( in_array( $field['type'], array( 'tax_select', 'tax_checkboxes' ) ) ) { // zapisz taksonomie if ( isset( $_POST[$field['id']] ) ) { $term = $_POST[$pole['id']]; wp_set_object_terms ($post_id, $term, $pole['id'] ); } } else { // zapisz resztę $old = get_post_meta( $post_id, $field['id'], $field['type'], true ); if ( isset( $_POST[$pole['id']] ) ) $new = $_POST[$pole['id']]; if ( isset( $nowy ) && $nowy != $stary ) { $sanitizer = isset( $field['sanitizer'] ) ? $field['sanitizer'] : 'sanitize_text_field'; if ( is_array( $new ) ) $new = meta_box_array_map_r( 'meta_box_sanitize', $new, $sanitizer ); else $new = meta_box_sanitize( $new, $sanitizer ); update_post_meta( $post_id, $pole['id'], $new ); } elseif ( isset( $nowy ) && '' == $nowy && $stary ) { delete_post_meta( $post_id, $field['id'], $old ); } } } // koniec foreach } jQuery: $('.meta_box_repeatable tbody').sortable({ opacity: 0.6, revert: true, cursor: 'move', handle: '.hndle' }); // post_drop_sort $('.sort_list').sortable({ connectWith: '.sort_list', opacity: 0.6, revert: true, cursor: 'move', cancel: '.post_drop_sort_area_name', items: 'li:not(. post_drop_sort_area_name)', update: function(event, ui) { var wynik = $(this).sortable('toArray'); var thisID = $(this).attr('id'); $('.store-' + tenID).val(wynik) } }); $('.sort_list').disableSelection(); To, co mam, to metabox, który zawiera powtarzalne pole, wewnątrz powtarzalnego pola znajduje się przycisk przesyłania obrazu i wprowadzanie tekstu podpisu. Wszystko działa dobrze, jestem w stanie dodać więcej powtarzalnych i posortować je, ale po zapisaniu posta powtarzalne wracają do swojej pierwotnej pozycji. Jeśli ktoś chce, mogę podać dane logowania, aby zobaczyć wersję na żywo. Każda pomoc byłaby bardzo mile widziana.


title: Po kliknięciu prześlij z mojego formularza wyszukiwania przenosi mnie do home.php

text: Próbuję skonfigurować funkcję wyszukiwania dla mojej witryny, ale kiedy próbuję coś wyszukać, ciągle przenoszę się na moją stronę główną. Stworzyłem searchpage.php i dodałem go do mojego motywu, wziąłem adres URL i dodałem go do searchform.php. Oto kod mojego formularza wyszukiwania: <form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <label for="s" class=" tekst pomocniczy"><?php _e( 'Szukaj', 'lart' ); ?></label> <input type="text" class="field" name="s" id="s" placeholder="<?php esc_attr_e( 'Szukaj', 'lart' ); ?>" /> <input type="prześlij" class="prześlij" name="prześlij" id="searchsubmit" value="<?php esc_attr_e('Szukaj', 'lart'); ?>" /> </form> I' myślisz, że to może mieć coś wspólnego z moją strukturą szablonu? Jeśli potrzebujesz więcej informacji, po prostu zapytaj. Dziękuję.


title: Utwórz stronę docelową za pomocą formularza logowania lub subskrypcji, który przekierowuje

text: Jestem nowy w odpowiedziach na wordpress i nie mogę komunikować się z osobami, które wcześniej próbowały mi pomóc z tym pytaniem... Próbuję utworzyć stronę docelową z formularzem subskrypcji lub rejestracji/logowania, który wykonuje następujące czynności: • Przekierowuje nowe użytkowników na inną stronę po zarejestrowaniu (lub zasubskrybowaniu), • Przekierowuje powracających użytkowników na stronę po zalogowaniu (lub po ponownym wpisaniu adresu e-mail), • Automatycznie zapisuje użytkowników do mojej listy rss mailchimp. Używam teraz wtyczki MailChimp dla WP i przekierowuje ona nowych subskrybentów na nową stronę, ale nie powraca. Czy mogę to zrobić za pomocą tej wtyczki? Jeśli nie, jakich wtyczek mogę użyć, aby to wszystko się wydarzyło? Muszę jak najszybciej ukończyć ten landing page.


title: Jak uzyskać adres pliku w folderze Wordpress?

text: W folderze mojego wordpressa mam plik, który chcę udostępnić niektórym użytkownikom z linkiem do pobrania, czy ktoś ma na to pomysł? Folder zawiera te pliki: wp_admin wp_content wp_includes User.xslx Potrzebuję linku do pobrania "User.xslx". Dziękuję.


title: Gdzie zadzwonić wp_enqueue_script we wtyczce z niestandardowym szablonem?

text:
Piszę swoją pierwszą wtyczkę i mam ten kod w głównym php wtyczki, aby zastąpić stronę główną niestandardowym szablonem add_filter( 'template_include', 'replace_home_page' ); function replace_home_page( $template ) { if (is_home()){ return plugin_dir_path( __FILE__ ). 'mhomepagetemplate.php'; } return $szablon; } przed powyższym kodem wywołuję kod, aby zarejestrować jakiś javascript $main_js_name='mhp_main.js'; funkcja load_js(){ wp_enqueue_script($main_js_name,plugins_url($plugin_name.'/js/'.$main_js_name),array('jquery')); echo '

'. plugins_url($nazwa_wtyczki.'/js/'.$main_nazwa_js); } add_action('wp_print_script','load_js'); plik javascript zawiera teraz tylko jedną linię console.log('test z js'); Spodziewałem się zobaczyć tekst "tekst z js" w konsoli javascript, ale go tam nie ma. Nie mogę znaleźć kodu nigdzie na stronie głównej. Szablon niestandardowy wywołuje `<?php wp_head(); ?>` Czy ktoś mógłby mi pomóc w stworzeniu skryptu java?


title: ograniczyć subskrybentów do obszaru administracyjnego. Mają własny profil na froncie

text: Chcę stworzyć prostą stronę internetową, na której użytkownicy będą mogli zarejestrować się w mojej witrynie. mogą mieć swoją stronę profilową. po zalogowaniu powinni zostać przekierowani na stronę swojego profilu. Subskrybenci nie powinni mieć możliwości przeglądania swojego profilu po stronie administratora. zasugeruj mi wtyczki lub sposób na zrobienie tego. Dziękując za odpowiedź.


title: Dodaj paginację do tego szablonu

text:
 <?php query_posts($query_string . '&pagename=&page_id='); ?> <?php query_posts('posts_per_page=3'); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<a class="blog-header" href="<?php the_permalink() ? >" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>"><?php the_title(); ?>
 Opublikowane przez . --> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('portrait', array('class' => 'omc-staff-photo omc-quick-frame')); ?>
 <?php the_excerpt('Przeczytaj resztę tego wpisu »'); ?>
 <a class="omc-search-result-link" href="<?php the_permalink(); ?>">Więcej informacji »

 <?php endwhile; ?> <?php else : ?>
Nie znaleziono

Przepraszam, ale szukasz czegoś, czego tu nie ma.
 <?php endif; ?>
 <?php posts_nav_link(); ?>

 * * * kod funkcji paginacji paginacji ($pages = '', $ zakres = 2) $showitems = ($zakres * 2)+1; globalny $paged; if(pusty($stronicowany)) $stronicowany = 1; if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if(!$strony) { $strony = 1; } } if(1 != $strony) { echo "
"; if($paged > 2 && $paged > $zakres+1 && $showitems < $pages) echo "«"; if($paged > 1 && $showitems < $pages) echo "‹"; for ($i=1; $i <= $strony; $i++) { if (1 != $strony &&( !($i >= $stron.+$zakres+1 || $i <= $stron.-$zakres) -1) || $strony <= $showitems )) { echo ($paged == $i)? "".$i."":"".$i.""; } } if ($paged < $pages && $showitems < $pages) echo "›"; if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "»" ; echo "
\n";


title: Różne suwaki warstw według identyfikatora strony?

text: Jestem w moim `header.php` próbując wyświetlić suwak warstw w zależności od identyfikatora strony. Działa dla suwaka 1 i 2. Ale po suwaku 2 każda strona otrzymuje suwak 2. Suwaki 3 i 4 nie są wyświetlane. Czemu? <?php if(is_front_page()){layerslider(1);} else if(is_page('32'or'36'or'38'or'40')){layerslider(2);} else if(is_page( '46'lub'48'lub'52'lub'58'lub'60'lub'62'lub'64'lub'66'lub'69'lub'71')){layerslider(3);} w przeciwnym razie, jeśli (is_page('161'or'163'or'169'or'173'or'176'or'179'or'182'or'185'or'188'or'191'or'196'or'199' lub'202')){layerslider(3);} else if(is_page('219'or'221'or'230'or'232'or'234'or'236'or'239'or'244'lub '247'lub'251'lub'264')){layerslider(4);} else if(is_page('277')){layerslider(5);} ?


title: Wordpress może wysyłać zapytania tylko do 766

text:
Zasadniczo jestem trochę nieświadomy tego, że mój WP może uruchomić zapytanie tylko do 766 niestandardowych postów jednego typu (rzeczywiste posty). Mam 26 000 postów, które znajdują się w jednym niestandardowym typie postów, ale nie mogę wysłać zapytania do wszystkich, ponieważ pozwala mi to tylko na sprawdzenie pierwszego 766, a następnie zatrzymanie się na numerze 767. Czy ktoś spotkał się wcześniej z tym problemem? Jeśli masz jakiś pomysł, jak można to naprawić? EDYCJA: Z niektórych komentarzy debugowałem witrynę i nie znalazłem żadnych błędów w moim problemie z zapytaniem. Użyłem define('WP_DEBUG_DISPLAY', true); i nie mam gdzie. Publiczność można znaleźć tutaj: http://universitycompare.com/test/ Jak widać tutaj pokazuje tylko 766 niestandardowych postów, ale gdy dojdzie do 767, zapytanie zatrzymuje się i nie działa tam. Potrzebuję sposobu, aby ustawić ustawienia czytania opcji „Strony bloga pokazują najwyżej” na nieograniczoną. (lub 30k+) Również tylko FYI, kod, którego używam do zapytania, można znaleźć tutaj: <?php //wp_reset_query(); // Odtwórz globalne dane postu, które zostały nadpisane przez the_post(). ?> <?php // args $args = array( 'post_type' => 'uc_course', 'order' => 'DESC' ); // uzyskaj wyniki $the_query = new WP_Query( $args ); // Pętla ?> <?php if( $the_query->have_posts() ): ?>
 <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php $object = get_field('uniwersytet') ?> <?php if( $object->post_title == "Uniwersytet w Aberdeen") { ?>
 <a href="<?php the_permalink( ?>"><?php the_title(); ?>
 <?php } ?> <?php endwhile; ?>
 <?php endif; ?> <?php wp_reset_query(); // Odtwórz globalne dane postu, które zostały nadpisane przez the_post(). ?>


title: Zapisywanie taksonomii do publikowania poprawek

text: W niestandardowym typie postu najpierw otrzymałem wszystkie wersje za pomocą `wp_get_post_revisions()`. Zapętliłem się i porównałem metadane i postdane, aby zobaczyć różnice między nimi. Wydaje się jednak, że kiedy stosuję tę samą strategię w `get_the_terms()`, otrzymuję odpowiednie taksonomie dla faktycznie opublikowanego posta, ale wersje nie zawierają żadnych danych taksonomicznych. Jak mogę zapisać informacje o taksonomii na potrzeby poprawek?


title: dlaczego wp_new_user_notification nie działa?

text:
nie lubię używać wtyczki, więc skorzystałem z niestandardowej strony rejestracji użytkownika i nie wysyłam żadnych e-maili: (na początku wszystko działa, potem dodałem kilka funkcji, aby zmienić adres i dodać adres e-mail za pomocą wp_mail_from, który wtedy działał postanowił spersonalizować wiadomość e-mail, dodając pewne warunki w wp_new_user_notification, to nie wysyła już żadnych wiadomości e-mail ... dlaczego to nie działa? oto cały kod szablonu: `<?php require_once(ABSPATH.WPINC.' /registration.php'); /* Sprawdź, czy użytkownicy mogą się zarejestrować. */ $registration = get_option( 'users_can_register' ); /* Jeśli użytkownik jest zarejestrowany, wprowadź informacje. */ if ( 'POST' == $_SERVER['REQUEST_METHOD '] && !empty( $_POST['action'] ) && $_POST['action'] == 'adduser' ) { $user_pass = wp_generate_password(); $userdata = array( 'user_pass' => $user_pass, ' user_login' => esc_attr( $_POST['nazwa_użytkownika'] ), 'first_name' => esc_attr( $_POST['first_name'] ), 'last_name' => esc_attr( $_POST['last_name'] ), 'user_email' => esc_attr( $_POST['email'] ), ); function make_blog_name_from_name($name) { return 'Administrator RNA'; } add_filter('wp_mail_from_name', 'make_blog_name_from_name'); function from_mail($content_type){ return 'admin@rnaforum.com'; } add_filter('wp_mail_from','from_mail'); if ( !$userdata['user_login'] ) $error = __('Do rejestracji wymagana jest nazwa użytkownika.', 'frontendprofile'); elseif ( username_exists($userdata['user_login']) ) $error = __('Przepraszamy, ta nazwa użytkownika już istnieje!', 'frontendprofile'); elseif ( !is_email($userdata['user_email'], true) ) $error = __('Musisz podać poprawny adres e-mail.', 'frontendprofile'); elseif ( email_exists($userdata['user_email']) ) $error = __('Przepraszamy, ten adres e-mail jest już używany!', 'frontendprofile'); else{ $nowy_użytkownik = wp_insert_user($dane_użytkownika); if (!function_exists('wp_new_user_notification')) { function wp_new_user_notification($user_id, $plaintext_pass){ $new_user = nowy WP_User($user_id); $user_login = stripslashes($user->user_login); $user_email = stripslashes($user->user_email); // Opcja blogname zostaje zastąpiona esc_html w drodze do bazy danych w sanitize_option // chcemy to odwrócić dla zwykłego tekstu e-maili. $nazwa bloga = wp_specialchars_decode(get_option('nazwa bloga'), ENT_QUOTES); $message = sprintf(__('Rejestracja nowego użytkownika w Twojej witrynie %s:'), $blogname) . "\r\n\r\n"; $message .= sprintf(__('Nazwa użytkownika: %s'), $user_login) . "\r\n\r\n"; $wiadomość .= sprintf(__('E-mail: %s'), $user_email) . "\r\n"; @wp_mail(get_option('admin_email'), sprintf(__('[%s] Rejestracja nowego użytkownika'), $blogname), $message); if ( empty($plaintext_pass) ) return; $message = sprintf(__('Nazwa użytkownika: %s'), $user_login) . "\r\n"; $message .= sprintf(__('Hasło: %s'), $plaintext_pass) . "\r\n"; $wiadomość .= "Dziękuję"; wp_mail($user_email, sprintf(__('[%s] Twoja nazwa użytkownika i hasło'), $blogname), $message); } } } } // wywołanie header.php get_header();?>

 <!- - FORMULARZ REJESTRACJI ZACZYNA SIĘ TUTAJ --> <?php if ( is_user_logged_in() && !current_user_can( 'create_users' ) ) : ?>
 <?php printf( __('Ty są zalogowani jako %2$s. Nie potrzebujesz kolejnego konta.', 'frontendprofile'), get_author_posts_url( $curauth->ID ), $identyfikacja_użytkownika ); ?> <a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="<?php _e('Wyloguj się z tego konta', 'frontendprofile'); ?>"><?php _e („Wyloguj »”, „profil frontendu”); ?>
 <?php elseif ( $new_user ) : ?>
 <?php if ( current_user_can ( 'create_users' ) ) printf( __('Utworzono konto użytkownika dla %1$s.', 'frontendprofile'), $_POST['nazwa-użytkownika'] ); else printf( __('Dziękujemy za rejestrację, %1$s.', 'frontendprofile'), $_POST['nazwa-użytkownika'] ); printf( __('
Sprawdź swój adres e-mail. Tam otrzymasz hasło logowania.
 (Może trafić do folderu ze spamem)', 'frontendprofile') ); ?>
 <?php else : ?> <?php if ( $error ) : ?>
 <?php echo $error; ?>
 <?php endif; ?> <?php if ( current_user_can( 'create_users' ) && $registration ) : ?>
 <?php _e('Użytkownicy mogą się zarejestrować lub ręcznie utworzyć użytkowników tutaj.', 'frontendprofile '); ?>
 <?php elseif ( current_user_can( 'create_users' ) ) : ?>
 <?php _e('Użytkownicy nie mogą obecnie się zarejestrować, ale możesz ręcznie tworzyć użytkowników tutaj.', 'frontendprofile'); ?>
 <?php endif; ?> <?php if ( $registration || current_user_can( 'create_users' ) ) : ?> <form method="post" id="adduser" class="user-forms" action="http://<?php echo $_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI']; ?>"> Nazwa
 <?php _e('Nazwa użytkownika (wymagana)', 'frontendprofile'); ?> <input class="text-input" name="user_name" type="text" id="user_name" value="<?php if ( $error ) echo wp_specialchars( $_POST['user_name' ], 1 ); ?>" />

 <?php _e('Imię' , 'profil frontonu'); ?> <input class="text-input" name="first_name" type="text" id="first_name" value="<?php if ( $error ) echo wp_specialchars( $_POST['first_name' ], 1 ); ?>" />

 <?php _e('Nazwisko', ' profil frontendowy'); ?> <input class="text-input" name="last_name" type="text" id="last_name" value="<?php if ( $error ) echo wp_specialchars( $_POST['last_name' ], 1 ); ?>" />
 Informacje kontaktowe
  <?php _e('E-mail (wymagany)', 'profil frontendu'); ?> <input class="text-input" name="email" type="text" id="email" value="<?php if ( $error ) echo wp_specialchars( $_POST['email' ], 1 ); ?>" />

 <?php echo $referer; ?> <nazwa wejściowa="adduser" type="submit" id="addusersub" class="przycisk wyślij" value="<?php if ( current_user_can( 'create_users' ) ) _e('Dodaj użytkownika', 'profil frontendu' ); else _e('Register', 'frontendprofile'); ?>" /> <?php wp_nonce_field( 'add-user' ) ?> <input name="action" type="hidden" id="action" value ="adduser" />
 </form> <?php endif; ?> <?php endif; ?> `


title: Niestandardowy typ postu lub niestandardowe tabele

text: Jestem w trakcie pisania wtyczki, która umożliwia użytkownikom końcowym przesłanie formularza zawierającego informacje o kliencie. Po przesłaniu otrzymuję powiadomienie, że nowy klient przesłał formularz wniosku. Jeśli zatwierdzę konto, zamierzam utworzyć konto użytkownika WordPress. Jestem na początkowych etapach tej wtyczki i chcę wiedzieć, czy powinienem używać niestandardowych tabel bazy danych do przechowywania informacji o użytkownikach, czy też powinienem pójść drogą po prostu używając niestandardowego typu postu i dodając metadane do typu postu ? **AKTUALIZACJA:** Wow, już zagłosuj! W każdym razie aktualizacja mojego pytania, pozwól, że wyrażę to w ten sposób ... Próbowałem teraz utworzyć niestandardowy typ posta **klient**, a dla **klienta** chciałem mieć tylko meta- pudełko zawierające **Imię** i **Nazwisko**. Kiedy to zrobiłem i wyłączyłem wszystkie opcje wsparcia dla niestandardowego typu postu, lista postów była koszmarem z powodu brakującej wartości **Title**. Zawsze ustawiłoby **Tytuł** na „Automatycznie wygenerowany”, a to nie działa dla mnie. Natknąłem się na WSPANIAŁĄ wtyczkę (supercpt), która sprawia, że tworzenie niestandardowych typów postów i meta-boksy jest dziecinnie proste. Nie jestem więc pewien, czy niestandardowe typy postów będą dla mnie działać, ponieważ trzeba wykonać wiele niestandardowych prac związanych z interfejsem użytkownika, aby przekonać interfejs użytkownika i pulpit administracyjny do pracy dla mnie. Coraz bardziej opieram się na niestandardowych tabelach danych, ale chciałbym uzyskać więcej informacji na temat dostosowywania formularza edycji do niestandardowego typu postu. Czy ktoś ma link, który mógłby udostępnić?


title: Wyszukiwanie niestandardowe WordPress według post_type

text: Wypróbowałem kilka metod, ale nie mogę odfiltrować niestandardowych post_types z moich wyników wyszukiwania i miałem nadzieję, że ktoś może pomóc. Zainstalowałem "Job Manager" i utworzyłem 4 zadania, które mają niestandardowy `post_type = 'jobman_job'` Próbowałem utworzyć formularz ręcznego wyszukiwania i ustawić ukrytą wartość `post_type = jobman_job`, ale nadal zwracał wszystkie posty. <form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>"> <input type="text" name="s" id=" s" value=""/> <input type="hidden" name="post_type" value="jobman_job" /> <input type="submit" id="searchsubmit" value="Szukaj" /> </form> Następnie spróbowałem utworzyć niestandardową stronę wyszukiwania i przekierować wyszukiwanie na tę stronę w następujący sposób (tj. Dodano ukryte pole page_id): <form role="search" method="get" id="searchform" action="<?php echo home_url ( '/' ); ?>"> <input type="text" name="s" id="s" value=""/> <input type="hidden" name="page_id" value="123" /> <input type="hidden" name="post_type" value="jobman_job" /> <input type="submit" id="searchsubmit" value="Search" /> </form> A następnie w wyszukiwaniu niestandardowym strony, dodałem następujący kod (zgodnie z przewodnikiem wordpress - http://codex.wordpress.org/Creating_a_Search_Page) i dodałem post_type of jobman_job do tablicy zapytań: global $query_string; $query_args = rozbij("&", $query_string); $search_query = array('post_type' => 'jobman_job'); foreach($query_args as $key => $string) { $query_split = explode("=", $string); $search_query[$query_split[0]] = urldecode($query_split[1]); } // foreach $search = new WP_Query($search_query); I nadal wyświetla wszystkie posty... Co robię źle? Sprawdziłem kolumnę post_type w tabeli wp_posts i mam 4 unikalne wpisy... więc są tam... Jakiś Insight?


title: Ustawienia API w klasie Singleton

text:
Próbowałem postępować zgodnie z tym samouczkiem, ale zamiast po prostu odradzać kod do pliku functions.php, próbuję zbudować osobisty framework, aby móc go użyć w innych projektach. W każdym razie nie udało mi się umówić na datę, aby pola ustawień pojawiły się na stronie Ustawienia motywu. Co ja robię źle? <?php if(!class_exists('tee_configs')){ class tee_configs{ private static $ins = null; public static function instance() { // utwórz nowy obiekt, jeśli nie istnieje. is_null(self::$ins) && self::$ins = nowe ja; return self::$ins; } public function init(){ add_action( 'admin_init', array(self::instance(), ' init_settings_api_fields')); self::sandbox_theme_display(); } function sandbox_theme_display() { ?>

Opcje motywu piaskownicy
 <?php settings_errors(); ?> <form metoda="post" action="options.php"> <?php settings_fields( 'sandbox_theme_display_options' ); ?> <?php do_settings_sections( 'sandbox_theme_display_options' ); ?> <?php submit_button(); ?> </form>
 <?php } // end funkcja sandbox_theme_display sandbox_initialize_theme_options() { // Jeśli opcje motywu nie istnieją, utwórz je. if( false == get_option( 'opcje_wyświetlania_motywu_piaskownicy' ) ) { dodaj_opcje( 'opcje_wyświetlania_motywu_piaskownicy' ); } // end if // Najpierw rejestrujemy sekcję. Jest to konieczne, ponieważ wszystkie przyszłe opcje muszą należeć do sekcji add_settings_section( 'general_settings_section', // ID używanego do identyfikacji tej sekcji i za pomocą którego mają być rejestrowane opcje 'Opcje wyświetlania', // Tytuł wyświetlany na stronie administracyjnej 'sandbox_general_options_callback', // Wywołanie zwrotne używane do renderowania opisu sekcji 'sandbox_theme_display_options' // Strona, na której należy dodać tę sekcję opcji ); // Następnie wprowadzimy pola do przełączania widoczności elementów treści. add_settings_field( 'show_header', // identyfikator używany do identyfikacji pola w motywie 'Header', // etykieta po lewej stronie elementu interfejsu opcji 'sandbox_toggle_header_callback', // nazwa funkcji odpowiedzialnej za renderowanie interfejsu opcji 'sandbox_theme_display_options', // Strona, na której zostanie wyświetlona ta opcja 'general_settings_section', // Nazwa sekcji, do której należy to pole array( // Tablica argumentów przekazywanych do wywołania zwrotnego. W tym przypadku wystarczy opis 'Włącz to ustawienie, aby wyświetlić nagłówek.' ) ); add_settings_field( 'show_content', 'Treść', 'sandbox_toggle_content_callback', 'sandbox_theme_display_options', 'general_settings_section', array( 'Aktywuj to ustawienie, aby wyświetlić zawartość.' ) ); add_settings_field( 'show_footer', 'Stopka', 'sandbox_toggle_footer_callback', 'sandbox_theme_display_options', 'general_settings_section', array( 'Włącz to ustawienie, aby wyświetlić stopkę.' ) ); // Na koniec rejestrujemy pola w WordPress register_setting( 'sandbox_theme_display_options', 'sandbox_theme_display_options' ); } // end sandbox_initialize_theme_options function sandbox_general_options_callback() { echo '
Wybierz, które obszary treści chcesz wyświetlić.
'; } // end sandbox_general_options_callback function sandbox_toggle_header_callback($args) { // Najpierw czytamy kolekcję opcji $options = get_option('sandbox_theme_display_options'); // Następnie aktualizujemy atrybut name, aby uzyskać dostęp do identyfikatora tego elementu w kontekście tablicy opcji wyświetlania // Uzyskujemy również dostęp do elementu show_header kolekcji options w wywołaniu funkcji pomocniczej check() $html = '<input type="pole wyboru" id="show_header" name="sandbox_theme_display_options[show_header]" value="1" ' . zaznaczone(1, $options['show_header'], false) . '/>'; // Tutaj weźmiemy pierwszy argument tablicy i dodamy go do etykiety obok pola wyboru $html .= ' ' . $args[0] . ''; echo $html; } // zakończenie funkcji sandbox_toggle_header_callback sandbox_toggle_content_callback($args) { $options = get_option('sandbox_theme_display_options'); $html = '<input type="pole wyboru" id="show_content" name="sandbox_theme_display_options[show_content]" value="1" ' . zaznaczone(1, $options['show_content'], false) . '/>'; $html .= ' ' . $args[0] . ''; echo $html; } // zakończenie funkcji sandbox_toggle_content_callback sandbox_toggle_footer_callback($args) { $options = get_option('sandbox_theme_display_options'); $html = '<input type="pole wyboru" id="show_footer" name="sandbox_theme_display_options[show_footer]" value="1" ' . zaznaczone(1, $options['show_footer'], false) . '/>'; $html .= ' ' . $args[0] . ''; echo $html; } } }


title: Jak mogę ręcznie ustawić przyciski ShareThis podczas korzystania z wtyczki?

text: Tworząc niestandardowe motywy mam klientów, którzy chcą używać ShareThis w swoich mediach społecznościowych. ShareThis oferuje wtyczkę z panelem kontrolnym, która pozwala klientowi zarządzać przyciskami, stylem itp. Problem polega na tym, że wtyczka ShareThis renderuje przyciski przy użyciu filtru `the_content`. Oznacza to, że przycisk musi zawsze pojawiać się zaraz za głównym blokiem treści. Czy jest jakiś sposób, w jaki mogę ręcznie kontrolować rozmieszczenie przycisków ShareThis w moich szablonach podczas korzystania z wtyczki? Wiem, że mógłbym ręcznie umieścić kod ShareThis w moich szablonach, ale wtedy klient nie miałby kontroli w panelu sterowania Wordpress.


title: Nie znaleziono treści na stronie 2 paginacji z 1 postem na stronę

text:
Ta pętla (używana na stronie archiwum taksonomii-terminów) nie jest prawidłowo stronicowana. Znajdują się tam starsze/nowsze linki do strony 2, ale kiedy klikam starszą, zwraca ona „nie znaleziono treści” (kiedy spodziewałem się zobaczyć drugi post z tego archiwum). Czy coś przegapiłem? <?php /** * Szablon dla różnych stron archiwum (kategoria, tag, termin, data itp. */ get_header(); ?>
 <?php if ( have_posts() ) { ?> <?php // zakolejkuj pierwszy post, abyśmy wiedzieli z jakim typem strony archiwum mamy do czynienia the_post(); w zależności od tego, na jaki typ strony archiwum patrzymy */ // jeśli jest to strona autora, pokaż pole autora z jego biografią, linkami społecznościowymi itp. if ( is_author() ) { get_template_part( 'largo-author-box '); // dla kategorii, tagów i niestandardowych taksonomii pokazujemy nazwę i opis terminu } elseif ( is_category() || is_tag() || is_tax() ) { if ( is_category() ) { $title = single_cat_title( '', false ); $opis = opis_kategorii(); } elseif ( is_tag() ) { $title = single_tag_title( '', false ); $opis = tag_opis(); } elseif ( is_tax() ) { $title = single_term_title( '', false ); $opis = opis_terminu(); } ?>  <?php if ( $title) echo '

'; // strony kategorii wyświetlają listę powiązanych terminów if ( is_category() && largo_get_related_topics_for_category( get_queried_object() ) != '

' ) { ?>

 <?php _e('Powiązane tematy:', 'largo'); ?>
 <?php echo largo_get_related_topics_for_category( get_queried_object() ); ?>
  <?php } ?> <?php // jeśli jest to archiwum dat pokażemy listę rozwijaną daty zamiast opisu } elseif ( is_date () ) { ?>  <select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'><option value =""><?php _e('Wybierz miesiąc', 'largo'); ?></option> <?php wp_get_archives( array('type' => 'co miesiąc', 'format' => 'opcja') ); ?> </select>  <?php } ?>
 <?php /* * Ponownie pokaż etykietę listy ostatnich postów *, dostosowana do typu strony, na którą patrzymy */ $posts_term = of_get_option( 'posts_term_plural', 'Stories' ); if ( is_author() ) { if ( function_exists( 'get_coauthors' ) && $author = get_coauthors( $post->ID ) ) { printf(__('Ostatnie %1$s', 'largo'), $posts_term, $author[0]->user_login ) ; } else { printf(__('Ostatnie %1$s' , 'largo'), $posts_term, get_author_feed_link( get_the_author_meta('ID') ) ); } } elseif ( is_category() ) { printf(__('Ostatnie %1$s', 'largo'), $posts_term, get_category_feed_link( get_queried_object_id() ) ); } elseif ( is_tag() ) { printf(__('Ostatnie %1$s ', 'largo'), $posts_term, get_tag_feed_link( get_queried_object_id() ) ); } elseif ( is_tax() ) { $queried_object = get_queried_object(); $term_id = intval( $queried_object->term_id ); $tax = $queried_object->taksonomia; printf(__('Ostatnie %1$s', 'largo '), $posts_term, get_term_feed_link( $term_id, $tax ) ); } elseif ( is_month() ) { printf(__('Miesięczne archiwa: %s', 'largo'), get_the_date('F Y') ); } elseif ( is_year() ) { printf(__('Archiwa roczne: %s', 'largo'), get_the_date('Y') ); } else { _e('Archiwa', 'largo'); } ?>
 <?php // i na koniec zwinąć posty, abyśmy mogli jak zwykle przejść przez pętlę rewind_posts(); query_posts('posts_per_page=1'); while ( have_posts() ): the_post(); get_template_part( 'treść', 'seria pojedyncza' ); koniec; largo_content_nav( 'nawigacja-poniżej' ); } else { get_template_part( 'zawartość', 'nie znaleziono' ); } ?>
 <?php get_sidebar(); ?> <?php get_footer(); ?>


title: Porównaj 3 pola niestandardowe i posortuj według najstarszych

text: Buduję archiwum filmowe. Dla każdego filmu, który wypełniam daty wydania dla 3 krajów, są one przechowywane jako pola niestandardowe (dodane przez Pody) Teraz, gdy wymieniam filmy, chciałbym utworzyć tablicę i przejść przez każdy post, aby sprawdzić, czy pola mają wartości, a następnie porównaj wartości i posortuj według pierwszej daty (najstarszej lub najdawniejszej daty). Jeżeli żadne z pól nie ma wartości, do sortowania należy użyć daty zaksięgowania. Już sortuję posty niektórych kategorii i ich kategorii podrzędnych według jednego niestandardowego pola, takiego jak: function orderby_additionaldate($query) { if (! is_admin() && $query->is_main_query() && is_category( array( 2,57,530 )) ) || cat_is_ancestor_of(2, get_query_var('cat')) && $query->is_main_query() && ! is_admin() || cat_is_ancestor_of(57, get_query_var('cat')) && $query->is_main_query() && ! is_admin () || cat_is_ancestor_of(530, get_query_var('cat')) && $query->is_main_query() && ! is_admin() ) { if ( $query->query_vars ) { $query->set( 'order', ' DESC”); $query->set( 'meta_key', 'data_dodatkowa' ); $query->set( 'orderby', 'meta_value' ); } } } add_action( 'pre_get_posts', 'orderby_additionaldate' ); Brakuje w tym 2 rzeczy: * Nie porównuje 3 metakluczowych wartości (`release_f`, `release_uk` i `release_us`) oraz * Nie sprawdza, czy jedna z nich jest pusta i zamiast tego używa daty opublikowania (jest po prostu ustawia wartość pustych na 1 stycznia 1970) Chciałbym stworzyć podobną funkcję do powyższej dla if (is_post_type_archive('project') ) then powinien sprawdzić 3 meta_keys `release_f`, `release_uk` i `release_us` dla wartości, jeśli są jakieś, wybierz najstarszą datę, jeśli w ogóle nie ma wartości, wybierz datę postu, a następnie `orderby` wynik tej tablicy. czy to możliwe?


title: update_post_meta nie działa we wtyczce

text:
Próbuję zaktualizować post meta dla wtyczki do głosowania. W szczególności wywołuje `update_post_meta()` na żądanie ajax. Oto kod: function add_settings_menu() { add_options_page('Ustawienia sporne', 'Ustawienia sporne', 1, 'manage_options', 'Kontestowane_ustawienia'); } function contested_settings() { include("contested_admin_settings.php"); } function get_posts_votes($post) { $votes = get_post_meta($post, 'votes', true ); zwróć $głosy; } function add_contested_voting($category, $post) { if (in_category($category, $post)) { wp_enqueue_script('jquery'); $post = get_post($post); $post_id = (int)$post->ID; add_post_meta($post_id, 'głosy', '0', prawda); /*if($votes == '') { update_post_meta($post, 'głosy', '0'); $votes = get_post_meta( $post, 'votes', true ); }*/ ?> <form id='voting-form'> Głosuj teraz!
 <?php echo get_posts_votes($post); ?> <input type='button' id='vote_up' value='+1' /> </form>  <? } } function ajax_posted() { $votes_plus = $_POST['głosy']+1; $id = $_POST['post']; if (update_post_meta($id, 'votes', $votes_plus)) { $votes_ret = get_post_meta($id, 'votes', true); echo "Dziękujemy za głosowanie! ".$votes_ret." głosowanie."; } else { echo "Głosowanie nie powiodło się!"; } umiera(); } add_action('admin_menu', 'add_settings_menu'); add_action ('wp_ajax_contested', 'ajax_posted'); Nie jestem do końca pewien, co w tym złego. jakieś pomysły?


title: Czy Wordpress jest wystarczająco bezpieczny dla katalogu artykułów dla wielu użytkowników?

text: Jeden z moich znajomych zamierza uruchomić mały katalog artykułów (np.: http://ezinearticles.com/) za pomocą WP. Strona będzie początkowo hostowana na współdzielonym hostingu, aw przyszłości zostanie przeniesiona na serwer dedykowany. Witryna będzie otwarta do publicznej rejestracji, jak każdy inny katalog artykułów, a każdy zarejestrowany użytkownik może zarządzać swoimi postami za pomocą administratora WP. Rola użytkownika zostanie ustawiona na **Autor** dla wszystkich zarejestrowanych użytkowników. Pytanie brzmi, czy **WP jest wystarczająco bezpieczny** dla takiej konfiguracji katalogu artykułów i czy zarejestrowani użytkownicy mogą włamać się / zdestabilizować witrynę, nawet jeśli wszystkie zabezpieczenia WP zostaną wykonane. Krótko mówiąc, **główny problem dotyczy otwartej rejestracji.** Proszę o poradę.


title: Profil użytkownika / Dodaj pola niestandardowe

text: Witam: Próbuję dodać 7 niestandardowych pól do standardowej strony Wordpress wp-admin/profile.php. Istnieje kilka witryn, które sugerują prosty fragment kodu, aby to zrobić, na przykład: http://wpengineer.com/2173/custom-fields-wordpress-user-profile/ Ale chcę mieć możliwość dodania własnego niestandardowego pola tak, aby pojawiały się dokładnie pod polem „Informacje biograficzne” i nad polem „zmień hasło”. Wszystko, co przeczytałem i wypróbowałem, umieszcza niestandardowe pola na dole strony, ale chcę, aby pojawiły się między polem „Informacje biograficzne” a polem „zmień hasło”. W jaki sposób mogę to zrobić? Czy to możliwe? Czy wiąże się to również z używaniem javascriptu? Proszę doradź. Dziękuję Ci.


title: W jaki sposób motyw powinien obsługiwać interfejsy użytkownika wtyczek?

text: Na przykład, jeśli moja wtyczka tworzy formularz na stronie, co mogę zrobić, aby ułatwić programistom motywów skórowanie formularza?


title: Jak mogę otrzymywać posty od 13.09.11 do dzisiaj za pomocą SQL?

text: Pracowałem z klientem nad przeprojektowaniem jego strony i jesteśmy na etapie, w którym zaczynamy działać, z wyjątkiem tego, że mam mały problem. Czas jest najważniejszy, ponieważ termin upływa jutro w południe. Odkąd zacząłem pracować nad stroną, wysłał mi bazę postów od początku czasu do 13 września 2011. Teraz, gdy zaczynamy działać z nowym wyglądem, muszę zaktualizować posty w nowej bazie danych od tego dnia do dziś, aby nie zgubić się w tym procesie. Próbowałem użyć funkcji eksportu WordPressa, niestety jest zbyt wiele postów, abym mógł nawet pobrać plik. Więc to, co chcę zrobić, to użyć zapytania SQL, aby uzyskać te posty i wyeksportować plik `.sql` w phpMyAdmin. Czy ktoś może mi podać przykład, jak mam to zrobić? Każda pomoc jest mile widziana, dzięki.


title: Różnica między „LIKE” i „IN” w metazapytaniach

text: W metazapytaniach można używać wielu różnych operatorów porównania, między innymi „LIKE”, „NOT LIKE”, „IN” i „NOT IN”. Jaka jest różnica w użyciu między „LIKE” i „IN”? Oto odpowiednia sekcja strony WP Query Codex: > ### meta_query ( _array_ ) - Niestandardowe parametry pola (3.1) > > * **key** ( _string_ ) - Niestandardowy klucz pola. > * **value** ( _string_ | _array_ ) — Niestandardowa wartość pola ( _Note_ : Tablica > obsługa jest ograniczona do porównania wartości 'IN', 'NOT IN', 'BETWEEN' lub 'NOT > BETWEEN') > * **porównaj** ( _string_ ) - Operator do przetestowania. Możliwe wartości to '=', > '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', ' POMIĘDZY”, > „NIE POMIĘDZY”. Wartość domyślna to „=”. > * **type** ( _string_ ) — Niestandardowy typ pola. Możliwe wartości to > 'NUMERIC', 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', > 'TIME', 'UNSIGNED'. Wartość domyślna to 'CHAR'. >


title: Użytkownik nie zalogował się przy pierwszym otwarciu strony głównej

text: Mam dziwny problem i nie udało mi się znaleźć szczęścia w Google. Za każdym razem, gdy otwieram stronę główną, wygląda na to, że nie jestem zalogowany (jest formularz do logowania). Ale jeśli kliknę na jakikolwiek link wewnętrzny lub opcję menu ze strony głównej, okaże się, że jestem zalogowany (i od tego momentu jestem poprawnie rozpoznawany jako zalogowany). Jeśli otworzę przeglądarkę i wskażę bezpośrednio stronę wewnętrzną, jestem rozpoznawany jako zalogowany. Tylko jeśli pierwsza otwierana przeze mnie strona jest stroną domową, moja sesja nie zostanie rozpoznana. Czasami wystarczy odświeżenie, abym był zalogowany na stronie głównej, ale czasami mogę wcisnąć F5 ad libitum bez logowania. Aktywowałem debugowanie i na stronie głównej nie pojawia się żaden błąd. Czy mogę jeszcze coś sprawdzić? Autor szablonu nie może mnie wesprzeć, ponieważ ten problem nie występuje na stronie demonstracyjnej szablonu. Z góry dziękujemy za cenne wsparcie! Pozdrawiam **UPDATE** : Zrobiłem szybki test i okazało się, że `is_user_logged_in()` na stronie głównej jest zawsze fałszem... jaki może być tego powód? :-o


title: Jak ukryć niestandardowy pasek boczny na telefonie komórkowym

text:
Wprowadziłem więc pewne dostosowania do mojego motywu premium wordpress, ale chcę je ukryć w wersjach mobilnych. Próbowałem dodać `id` widżetu wewnątrz `@media` z `display:none;`, ale nic, nadal aktywne. To jest kod drugiego paska bocznego, który stworzyłem w `functions.php` motywu: if (function_exists('register_sidebar')) { register_sidebar(array( 'name'=>'Sidebar Left', 'id' =>' sidebar-left', 'description' => 'Pozostały obszar widżetów', 'before_widget' => '
', 'after_widget' => '
', ' before_title' => '
', 'after_title' => '
' )); } Wewnątrz `index.php`:
 <? php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar Left')): endif;?>
 Jak to ukryć? Druga rzecz, którą zrobiłem z dostosowaniami, to pionowe słupki (najnowsze). Zrobiłem 4 bloki w linii. Tutaj zmieniłem „wysokość” i „szerokość”. W domyślnej wersji motywu kciuki są małe i nie są widoczne na urządzeniach mobilnych, wyświetlany jest tylko tytuł. Wewnątrz `@media` jest to: `ul.headlines li img`, który ukrywa te obrazy, ale problem polega na tym, że zmiany, które wprowadziłem, pozostawiają teraz pewne luki, więc jest to tytuł, a pod tytułem znajduje się obszar, w którym obraz powinien się pojawić i ponieważ linia kodu `ul.headlines li img` (`display:none;`) nie jest używana, a jedynie miejsce, w którym obraz powinien być pokazywany.Chcę usunąć tę lukę na telefonach komórkowych, jak w domyślnym motywie, ale po 2 dniach bez powodzenia . Dowolny pomysł?


title: Wordpress Kategoria podrzędna Wyświetl wszystkie posty

text:
Tworzę stronę Wordpress, na której wszystkie moje posty w podrzędnych kategoriach zespołu są wyświetlane w siatce. Mam to działające z poniższym kodem. Formatowanie i ogólny układ są świetne, ale pokazuje tylko 5 najnowszych postów w kategorii podrzędnej zamiast wszystkich. Na moim koncie Wordpress mam 7 postów, które powinny się wyświetlać. Jak powinienem pobrać posty, aby wyświetlał je wszystkie.
 <?php $categories = get_categories( 'child_of=2' ); foreach ( $categories as $category ) { echo '

'.$category->nazwa.'

'; $cat_posts = get_posts( 'kot='.$category->term_id ); $koniec = liczba( $kot_posty ) - 1; $i = 0; foreach ( $cat_posts jako $post ) { setup_postdata( $post ); $twarz = get_field( 'twarz' ); $nazwa = get_field( 'pełna nazwa' ); if ( $i % 6 === 0 ) { echo '
'; } echo '
'; echo wp_get_attachment_image($twarz) . '
'.$nazwa.'
'; echo '
'; if ( $i % 6 === 5 ) { echo '
'; } $i++; } }?>
 //css div.grid-row { szerokość: 100%; wzrost: 100%; pozycja: względna; przelew: ukryty; } div.obj{ float: lewo; pozycja: względna; dopełnienie-prawo: 10px; } .faces{ szerokość: 1000px; } ![tu wpisz opis obrazu](http://i.stack.imgur.com/3y6si.png) ![tu wpisz opis obrazu](http://i.stack.imgur.com/AbzyI.png) ! [tu wpisz opis obrazu](http://i.stack.imgur.com/BYDpB.png) ZMIENIONE DO WPISANIA PONIŻEJ: ![tu wpisz opis obrazu](http://i.stack.imgur.com/TISUl. png) REV FOR POST PONIŻEJ: <?php $categories = get_categories( 'child_of=2' ); foreach ( $categories as $category ) { echo '

'.$category->nazwa.'

'; $args1 = array( 'posts_per_page' => -1, 'cat='.$category->term_id ); $cat_posts = get_posts( $args1 ); $koniec = liczba( $kot_posty ) - 1; $i = 0; foreach ( $cat_posts as $post ) { $post_category = get_the_category($post->ID); if($post_category->cat_name == $category->name){ setup_postdata( $post ); $twarz = get_field( 'twarz' ); $nazwa = get_field( 'pełna nazwa' ); if ( $i % 6 === 0 ) { echo '
'; } echo '
'; echo '
'; echo wp_get_attachment_image($twarz); echo '
'; echo '
'; echo $nazwa; echo '
'; echo '
'; if ( $i % 6 === 5 ) { echo '
'; } } $i++; } }?>


title: WP_Query pobiera niestandardowe posty, ale nie pokazuje postu

text: Opracowuję niestandardowy typ postu, który pokazuje powiązane posty, które znajdują się w kategorii, która działa idealnie, ale wydaje mi się, że nie mogę uzyskać odpowiedniego zapytania, aby nie wyświetlał bieżącego posta, który jest wyświetlany. Kod, który mam obecnie to: $args = array( 'post_type' => 'custompostname', 'tax_query' => array( array( 'taxonomy' => 'custompostname-categories', 'field' => 'id' , 'terms' => $categoryIDs ) ), 'post__not_in' => $post->ID, 'posts_per_page' => 20 ); $q = nowe WP_Query($args); Czy ktoś mógłby rzucić nieco światła na to, dlaczego to nie działa. Jeśli usunę: 'post__not_in' => $post->ID, działa poza tym pokazuje post, który jest już na stronie Dzięki


title: Jak wyświetlić wyróżniony obraz w poście tylko w 1 pojedynczej kategorii

text: Od wielu dni chodziłem z moim problemem i postanowiłem po prostu zapytać. Mój motyw jest ustawiony tak, że wyróżniony obraz nie jest wyświetlany w poście, a tego właśnie chcę. Problem polega na tym, że w jednej kategorii nie chcę tego. Co więc muszę zrobić, aby jeśli ustawię polecany obraz, wyświetli się on w poście. Ale TYLKO dla 1 określonej kategorii? Pozdrowienia


title: Zmiana „posts_per_page” dla pętli domyślnej

text: Próbuję zmienić wartość `posts_per_page` w domyślnej pętli wordpress w locie, a nie dla niestandardowej pętli. globalne $wp_query ; // $wp_query->query_vars['posts_per_page'] = 1000 ; $wp_query->set('posts_per_page',1000) ; while ($wp_query->have_posts()) { $wp_query->the_post(); // inne operacje } Jak to zrobić?


title: Niestandardowa wtyczka łamie css.php na Multisite

text:
Mam dziwny problem z instalacją wielostanowiskową, którą uruchamiam. Wszystko działa idealnie (mapowanie domen, buforowanie, dowolne funkcje i wtyczki, których używam, zarówno wymuszone, jak i wybieralne). Aby poprawić wrażenia dla moich klientów, zainstalowałem prostą wtyczkę do automatycznego wygasania, którą napisałem jakiś czas temu. Nie jest to najlepsze rozwiązanie na wpisanie daty, ale oprócz UI po prostu działa. W mojej wtyczce dołączam dwa pliki: * cronjobs.php (zawierający funkcję jednorazowego zdarzenia, aby ustawić post na wersję roboczą) * metaboxes.php (zawierający niestandardowy metabox dla posta, a także funkcję zapisywania, i haczyki do ich użycia). Teraz dziwna część: w WordPress-Admin wszystko działa zgodnie z oczekiwaniami. Harmonogram wydarzeń, aby ustawić post do wersji roboczej i metabox. Theme for My Multisite zawiera plik `css.php`, renderujący niestandardowy CSS z opcji Theme. Jeśli wtyczka jest aktywna, **tylko ten plik** otrzymuje wartość `404`. Zbudowałem już obejście, w tym plik dla metaboksów tylko w admin. Teraz działa `css.php`. Mój główny plik wtyczki wygląda teraz tak: include('inc/cronjobs.php'); if ( is_admin() ) { // Po prostu dołączyłem metaboxes.php w sekcji admina teraz include('inc/metaboxes.php'); } Bez warunku `include` pliku metaboxes, debugowanie wyrzuca następujący błąd: PHP Fatal error: Wywołanie niezdefiniowanej funkcji wp_get_current_user() w /www/htdocs/w009bb74/landingpages/wp-includes/capabilities.php on-line 1342 Czy ktoś miał podobny problem? Nie wiem, w czym jest problem. W przypadku instalacji na jednej stronie nie ma żadnego problemu. `css.php` w motywie nawet nie działa, jeśli `metaboxes.php` jest **całkowicie pusty** Oto dwa pliki: `cronjobs.php` function f711_autoexpery_set_draft( $post_id ) { $post = array( 'ID' => $post_id, 'post_status' => 'szkic' ); wp_update_post ($post ); } add_action( 'f711_autoexpiry_event', 'f711_autoexpiry_set_draft', 10, 1 ); `metaboxes.php` add_action( 'add_meta_boxes', 'f711_autoexpiry_expiry_add_custom_box' ); add_action( 'save_post', 'f711_autoexpiry_expiry_save_expirydata' ); function f711_autoexpiry_expiry_add_custom_box() { add_meta_box( 'f711_autoexpiry_expiry_sectionid', __( 'Ablaufdatum', 'f711'), 'f711_autoexpiry_expiry_inner_custom_box', 'higheb' } function f711_autoexpiry_expiry_inner_custom_box( $post ) { // Użyj liczby jednorazowej do weryfikacji wp_nonce_field( plugin_basename( __FILE__ ), 'f711_autoexpiry_expiry_nonce' ); $expirydate = get_post_meta( $post->ID, '_f711_autoexpiry_expirydate', true ); if ( get_post_meta( $post->ID, '_f711_autoexpiry_expirydate', true ) != "" ) { $expirydate = strtotime( get_post_meta( $post->ID, '_f711_autoexpiry_expirydate', true ) ); $expiryday = data( 'd', $expirydate ); $expirymonth = data( 'm', $expirydate ); $expiryyear = data( 'Y', $expirydate ); $expiryhour = data( 'H', $expirydate ); $expiryminute = data( 'i', $expirydate ); } $style = 'style="szerokość: 40px;margin-prawy:8px;"'; $styleslabel = 'style="width: 40px;margin-right:10px;float:left;"'; // Rzeczywiste pola do wprowadzania danych echo ''; _e("Znacznik", 'f711_du' ); echo ' '; echo ''; _e("Pon.", 'f711_du' ); echo ' '; echo ''; _e("Jahr", 'f711_du' ); echo ' '; echo ''; _e("Stu.", 'f711_du' ); echo ' '; echo ''; _e("Min.", 'f711_du' ); echo '
'; echo '<input type="text" id="f711_autoexpiry_expiry_tag" name="f711_autoexpiry_expiry_tag" value="' . $dzień wygaśnięcia . '" size="2" ' . $style . ' />'; echo '<input type="text" id="f711_autoexpiry_expiry_monat" name="f711_autoexpiry_expiry_monat" value="' . $expirymonth . '" size="2" ' . $style . ' />'; echo '<input type="text" id="f711_autoexpiry_expiry_jahr" name="f711_autoexpiry_expiry_jahr" value="' . $rok wygaśnięcia . '" size="2" ' . $style . ' />'; echo '<input type="text" id="f711_autoexpiry_expiry_stunde" name="f711_autoexpiry_expiry_stunde" value="' . $expiryhour . '" size="2" ' . $style . ' />'; echo '<input type="text" id="f711_autoexpiry_expiry_minute" name="f711_autoexpiry_expiry_minute" value="' . $expiryminute . '" size="2" ' . $style . ' />'; echo '

'; echo '<input type="pole wyboru" id="f711_autoexpiry_clear_expiry" name="f711_autoexpiry_clear_expiry" value="clear"> Ablaufdatum löschen'; echo '

'; echo '
Format: z.B. 31.03.2014 r. 07 00
”; } /* Gdy post jest zapisywany, zapisuje nasze niestandardowe dane */ function f711_autoexpiry_expiry_save_expirydata( $post_id ) { if ( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if ( !wp_verify_nonce( $_POST['f711_autoexpiry_expiry_nonce'], nazwa_bazy_wtyczki( __FILE__) ) ) return; if ( $_POST['f711_autoexpiry_clear_expiry'] == 'clear' || $_POST['f711_autoexpiry_expiry_tag'] == "" ) { delete_post_meta( $post_id, '_f711_autoexpiry_expirydate' ); wp_clear_scheduled_hook( 'f711_autoexpiry_event', array( $post_id ) ); zwrócić; } $tag = $_POST['f711_autoexpiry_expiry_tag']; $monat = $_POST['f711_autoexpiry_expiry_monat']; $jahr = $_POST['f711_autoexpiry_expiry_jahr']; $stunde = $_POST['f711_autoexpiry_expiry_stunde']; $minuta = $_POST['f711_autoexpiry_expiry_minute']; if( substr( $tag, 0, 1 ) != "0" && $tag < 10) $tag = "0" . $tag; if( substr( $monat, 0, 1 ) != "0" && $monat < 10) $monat = "0" . $monat; if( substr( $stunde, 0, 1 ) != "0" && $stunde < 10) $stunde = "0" . $stunde; if( substr( $minuta, 0, 1 ) != "0" && $minuta < 10) $minuta = "0" . $minuta; $używany = $jahr . '-' . $monat . '-' . $tag . ' ' . $oszołomienie . ':' . $minuta . ':00'; if ( $jahr > 2000 && $tag > "00" && $monat > "00" && $usedate != "1970-01-01" ) { update_post_meta( $post_id, '_f711_autoexpiry_expirydate', $usedate ); } $przesunięcie = '-' . get_option('gmt_offset') . ' godzina'; $thisdate = strtotime( $offset , strtotime( $usedate ) ); wp_clear_scheduled_hook( 'f711_autoexpiry_event', array( $post_id ) ); wp_schedule_single_event( $thisdate, 'f711_autoexpiry_event', array( $post_id ) ); }


title: Włącz domyślnie „Klasy CSS” dla menu

text: Zastanawiam się, czy można domyślnie włączyć "Klasy CSS" dla Wygląd> Menu, gdy aktywowany jest motyw (lub wtyczka)? Na przykład: function my_theme_activate_css_classes_for_menu(){ // Co by tu poszło? } add_action( 'after_setup_theme', 'my_theme_activate_css_classes_for_menu' ); Powinno to nastąpić tylko raz podczas aktywacji motywu.


title: Adresy URL WordPress bez postów

text: Pracujemy nad większym systemem, który bazuje na WordPressie, ale WordPress jest używany tylko do treści „statycznych”, główną częścią systemu powinno być konsumowanie zewnętrznego API i wyświetlanie danych. Chodzi mi o to: czy jestem w stanie w jakiś sposób powiedzieć przepisywanie adresów URL, aby nie używało wewnętrznego systemu WordPress dla niektórych adresów URL i używało czegoś innego? Np. `mysite.com/news/news-title` wyświetli post, ale `mysite.com/customcontent/anotherlink` wywoła jakiś mechanizm ładowania danych z API i ich wyświetlenia. Nie wiem, czy w WordPressie jest to w ogóle możliwe. Dziękuję za punkty.


title: Forma Prześlij post Front-end z polami meta zawartymi w niestandardowym typie posta zwanym Testimonial

text:
Zanim opublikuję to pytanie, widziałem tutaj wiele pytań, ale myślę, że nadal mnie to myli i nie mam pojęcia, jak to zaimplementować. Przypadek: Właśnie zrobiłem Testimonial Custom Post Type przez WPtuts Tutorial. Zrobiłem i ustawiłem go dobrze na moim szablonie. Ale teraz potrzebuję do tego formularza front-end. Ale nie wiem, jak zrobić i od czego zacząć. W przypadku, w przypadku niestandardowego typu postu z referencjami, mam 3 niestandardowe meta pola, które musiały się wyświetlać i można je dobrze przesłać. Uprzejmie proszę o pomoc, przepraszam za mój zły angielski. To jest kod, który stworzyłem, ale nie zadziałał if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] = = "post_action") { if (isset($_POST['wyślij'])) { $error = ""; if ($_POST['lokalizacja'] != null) { $lokalizacja = przycinanie(strip_tags($_POST['lokalizacja'])); } else { $error .= 'Wstaw lokalizację.
'; } } $testimonial_data= $_POST['_testimonial']; $nazwa_klienta= $_POST['nazwa_klienta']; $źródło= $_POST['źródło']; $link= $_POST['link']; if (empty($error)) { $new_post = array( //wstaw dane wejściowe formularza, ustaw zmienną i zdefiniuj tablicę 'post_content' => $description, 'post_status' => 'draft', 'post_author' => '2' , '_testimonial' => $testimonial_data, 'client_name' => $client_name, 'source' => $source, 'link' => $link, 'post_type' => 'post' 'post_category' => array($_POST ['testimonials']), // Można używać również w przypadku niestandardowych taksonomii // przypisywanie tagów i kategorii nie stanowi problemu ); $pid = wp_insert_post($nowy_post); //DODAJ NASZE NIESTANDARDOWE POLA add_post_meta($pid, '_testimonial', $testimonial_data, false); add_post_meta($pid, 'nazwa_klienta', $nazwa_klienta, fałsz); add_post_meta($pid, 'źródło', $źródło, fałsz); add_post_meta($pid, 'link', $link, false); } } i to jest kod formularza
Nama Anda
 <input type="text" id="client_name[]" value="" tabindex ="1" size="20" name="client_name" />

Tytuł witryny Anda
 <input type="text" id ="źródło[]" value="" tabindex="1" size="20" name="źródło" />

Link do strony internetowej
 <input type="text" id="link[]" value=""tabindex="1"size="20"name="link" />

Referencje
 <textarea id="description" tabindex="3" name="description" cols="50" rows="6"></textarea>
 <input type="ukryty" name="akcja" value="post_action" /> <typ wejścia ="prześlij" nazwa="prześlij" id="prześlij" wartość="PRZEJDŹ"/> <?php wp_nonce_field( 'nowy-post' ); ?>


title: Z wyłączeniem CPT generowanego przez wtyczkę z pętli

text: Pracuję nad wtyczką, która tworzy niestandardowy typ posta. Niestandardowy typ postu generuje mapę google i umieszcza lokalizację określoną w poście CPT na mapie google. Chciałbym usunąć ten CPT z wyświetlania `the_content();` i `the_title();` itp. w regularnej pętli. Ponieważ utworzony przeze mnie typ posta umożliwia użytkownikowi kliknięcie pinezki na mapie, aby wyświetlić `the_content();`, nie ma potrzeby wyświetlania tych informacji w zwykłym formacie tekstowym na stronie, tak jak w zwykłym postu typ będzie wyglądał. Czy istnieje rozwiązanie, które wyeliminuje ten typ posta z pętli w szablonach stron dowolnego motywu, którego mogę użyć w kodzie wtyczki? Edycja: Skonstruowałem krótki kod, który może wyświetlać mapę CPT na dowolnej stronie. Wewnątrz skróconego kodu zapętla się przez każdy post CPT, aby uzyskać jego lokalizację i nanieść go na mapę. Dzieje się tak, że jeśli wstawię krótki kod na dowolnej stronie, mapa działa świetnie, ale strona wyświetla również tytuł i treść CPT również pod mapą. Wygląda na to, że dzieje się tak dlatego, że strona, na której zamieściłem krótki kod, przechwytuje pętlę z krótkiego kodu i stosuje ją do szablonu strony. Jest to zdublowana treść, wyświetlana raz na mapie, a raz w pętli szablonu strony.


title: Jak uzyskać nazwę i wartość metabox?

text: Mam kilka meta pól, takich jak Nazwa właściwości----->bla bla, Identyfikator właściwości-------->1234, Adres właściwości--->bla bla bla i tak dalej. Chcę wydrukować wszystkie nazwy pola meta i ich wartość. Jak mogę to zrobić ?


title: Jak umożliwić użytkownikom otrzymywanie wiadomości e-mail z powiadomieniami na podstawie niestandardowych wartości?

text: Pracuję nad stroną, która pozwala użytkownikom zamieszczać i wyszukiwać mieszkania do wynajęcia. Wszystko jest obsługiwane z poziomu frontendu - użytkownik nigdy nie widzi obszaru admin/backend. Chcę zaimplementować funkcję, która powiadamia użytkowników o opublikowaniu nowego posta. Chcę, aby użytkownicy mieli możliwość zaznaczania pól (np. pól wyboru), które zawierają klucze meta z mojego niestandardowego typu postu. Niestandardowy typ postu zawiera kilka metakluczy, które działają jako filtr podczas wysyłania wiadomości e-mail. Na przykład: użytkownik chce otrzymać wiadomość e-mail, gdy zostanie opublikowane nowe mieszkanie z 4 pokojami i 300 metrami kwadratowymi. Użytkownik wypełnia formularz w interfejsie użytkownika i klika Prześlij. Mam nadzieję, że wyraziłem się jasno. Jakieś sugestie - pod kątem wtyczki lub kodu, jak to osiągnąć? Z pozdrowieniami Karsten Tietje


title: filtruj problem z tytułem w nav

text: Cześć Mam problem z filtrem the_title: mam ten kod w moim konstruktorze: add_filter( 'the_title', array($this, 'change_title') ); i to jako callback (dla celów testowych) public function change_title($title) { return 'title'; } Ale filtruje moje elementy nawigacji! zamiast pokazać stronę główną, strony itp. wszystko zmieniło się na „tytuł” ![screenshoot](http://i.stack.imgur.com/mLcfw.png) Jakieś pomysły, jak to naprawić?


title: Jak dodać reguły przepisywania, aby wskazać folder przesyłania do subdomeny

text: ## Cel Skieruj folder przesyłania do statycznej subdomeny, aby obsługiwać obrazy adaptacyjne, które mogą być buforowane. ### Zasady przepisywania WordPressa Więcej szczegółów na temat API przepisywania reguł znajdziesz na stronie Christophera Davisa. ### Instrukcje dotyczące adaptive-images.php Oto kroki potrzebne ( _tylko po to, aby Q było kompletne_ ): > 1. HTML zaczyna ładować się w przeglądarce, a fragment JS w > zapisuje plik cookie sesji , przechowując rozmiar ekranu odwiedzającego w pikselach. > 2. Następnie przeglądarka napotyka tag i wysyła do serwera żądanie > dla tego obrazu. Wysyła również plik cookie, ponieważ tak działają przeglądarki. > 3. Apache otrzymuje żądanie obrazu i natychmiast zagląda do > pliku .htaccess na stronie, aby sprawdzić, czy są jakieś specjalne instrukcje > dotyczące udostępniania plików. > 4. Są! Plik .htaccess mówi: „Drogi serwerze, wszelkie prośby o plik > JPG, GIF lub PNG należy wysłać do pliku adaptive-images.php”. > Plik PHP wykonuje wtedy inteligentne myślenie, które może objąć wiele scenariuszy, ale zilustruję jedną ścieżkę, która może się zdarzyć: > 1. Plik PHP szuka pliku cookie i stwierdza, że użytkownik ma maksymalny rozmiar ekranu > 480px . > 2. Porównuje wartość pliku cookie ze wszystkimi skonfigurowanymi > rozmiarami rozdzielczości i decyduje, który pasuje najlepiej. W tym przypadku obraz o maksymalnej szerokości > 480 pikseli. > 3. Następnie zagląda do folderu /ai-cache/480/, aby sprawdzić, czy przeskalowany obraz > już istnieje. > 4. Udamy, że tak nie jest - PHP przechodzi następnie do żądanego > URI, aby znaleźć oryginalny plik. > 5. Sprawdza szerokość obrazu. Jeśli jest mniejszy niż ekran użytkownika > szerokość, wysyła obraz. > 6. Jeśli jest większy, PHP tworzy zmniejszoną kopię i zapisuje ją > w folderze /ai-cache/480/, gdzie będzie gotowa na następny raz, gdy będzie potrzebna. To, a także > wysyła go do użytkownika. > ### Pytanie Jak skonfigurować reguły przepisywania, aby wskazywały subdomenę na folder przesyłania i odwrotnie? Dziękuję.


title: Jak połączyć obraz we wtyczce, aby wyświetlał się w WordPressie?

text: Tworzę wtyczkę do projektu uczelni. Wtyczka jest bardzo prosta: wyszukuje nazwę adresu strony i po znalezieniu jej w poście wyświetla adres strony z obrazkiem. Jednak nie mogę uruchomić kodu. Próbowałem tego: <?php /* Nazwa wtyczki: URI wtyczki Murtaghs Trademark Plugin: http://www.MurtaghsPub&Undertakers.ie Opis: Dodaje logo Murtaghs wszędzie tam, gdzie nazwa firmy jest wyświetlana na stronie. Autor: Connell Gray Wersja: 1.0 URI autora: http://www.MurtaghsPub&Undertakers.ie */ function Murtaghs_Trademark_Plugin($text) { $site_name = get_bloginfo(); //Plik logo.jpg jest przechowywany w folderze o nazwie images, który utworzyłem w folderze wtyczek// $nowa_nazwa_strony = $nazwa_strony . 'echo ' ''; $text = str_replace($site_name,$new_site_name,$text); zwróć $tekst; } add_filter('the_content','Murtaghs_Trademark_Plugin'); ?>


title: Wtyczka renderuje się w podglądzie, ale shortcode pokazuje się po opublikowaniu

text:
Próbowałem dodać wtyczkę Flash Count Down. Krótki kod działa dobrze w podglądzie: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/eOgwo.jpg) Ale po opublikowaniu krótki kod jest renderowany jako tekst: ![tu wpisz opis obrazu](http ://i.stack.imgur.com/7JbEg.jpg) Czy istnieje ogólne rozwiązanie tego problemu, czy też muszę poprosić kogoś z wydawcy o odpowiedź na to pytanie? Najwyraźniej zrezygnowali z ich obsługi, ponieważ ich link to 404: http://premiumcoding.com/premiumcode-forum/wordpress-plugins-group1/wordpress-plugins-support-forum2/ Oto plik indeksu szablonu: <?php / * Nazwa szablonu: Strona indeksu */ ?> <?php get_header(); ?>

 <?php get_template_part('pętla','index '); ?>

 <?php get_sidebar(); ?> <?php get_footer(); ?> Oto główny plik indeksu: <?php /** * Front do aplikacji WordPress. Ten plik nic nie robi, ale ładuje * wp-blog-header.php, który to robi i mówi WordPressowi, aby załadować motyw. * * @package WordPress */ /** * Nakazuje WordPressowi załadować motyw WordPressa i wyprowadzić go. * * @var bool */ define('WP_USE_THEMES', true); /** Wczytuje środowisko i szablon WordPress */ require('./wp-blog-header.php'); ?> loop.php: <?php while (have_posts()) : ?> <?php the_post(); ?> <div id="post-<?php the_ID(); ?>" <?php post_class('append-clear'); ?>>

<a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>"> <?php tytuł_(); ?>

 <?php // padd_theme_share_button(); ?> <?php //wyciąg();?>
 <?php endwhile; ?>


title: Panel administracyjny widgetu Wordpress

text:
Próbuję to osiągnąć w panelu admina widżetu wordpress: http://jsfiddle.net/George02/mkuxcwf5/1/ Problem polega na tym, że jQuery wydaje się nie działać. public function form( $instance ) { ?> <?php wp_register_script('customscript', get_template_directory_uri() . '/widgets/custom_widget/widget.js', array('jquery'), null, true); wp_enqueue_script('skrypt niestandardowy'); ?>

 <select id="categories"> <option>Opcja 1</option > <option>Opcja 2</option> </select>
Dodaj kategorię

 <?php } widget.js zawiera kod z skrzypce. Jeśli `View Source` strony Wygląda na to, że skrypt jest tam, w sekcji nagłówka, a jeśli otworzę konsolę, mogę zobaczyć log z funkcji gotowości dokumentu. Myślę, że problem polega na tym, że wordpress nie pozwala mi dodawać elementów do DOM, ponieważ kiedy sprawdzam element $list, widzę, że ma on w sobie `<li>`. Mam rację, czy to coś innego?


title: Wyświetl przyciętą miniaturę, która nie zawiera obrazu

text: Obecnie mam te wiersze odpowiednio w functions.php i mojej stronie domowej: add_theme_support( 'post-thumbnails' ); add_image_size( 'kwadrat', 252, 252, prawda ); // if ( has_post_thumbnail()): the_post_thumbnail( 'kwadrat' ); endif; Następnie zregeneruj miniatury, wtyczka zmienia rozmiar obrazów do 252 x 252. Jak wyświetlić przycięte miniatury, a nie polecane? Wystarczy dodać, że używam wtyczki pól niestandardowych ACF i część tego majstruje przy polecanych obrazach, więc być może przepisuję natywną logikę dotyczącą obsługi obrazów. Jeśli ktoś był w podobnej sytuacji, daj mi znać, czy znalazłeś rozwiązanie. Dziękuję!


title: Jak obliczyć wartość pola niestandardowego (średnia)

text: Chcę obliczyć średnią wartość (lub inne obliczenia, jeśli to możliwe) kilku wartości pól niestandardowych w poście. Na przykład mam 4 niestandardowe pola w poście, od custom1 do custom4, wartość od 1 do 4 i chcę wyświetlić średnią wartość. Czy istnieje jakiś sposób, aby to zrobić?


title: Strony podrzędne na urządzeniu mobilnym/ekran dotykowy nie można kliknąć

text: Mam strony podrzędne pod stronami nadrzędnymi w menu/nagłówku strony, działają dobrze na komputerze, ale nie mogę zmusić ich do działania podczas korzystania z telefonu komórkowego lub urządzenia z ekranem dotykowym, takiego jak iPad. Używam motywu GamePress Pro. Zadałem to pytanie również na Stack Overflow.


title: wp_nav_menu użyj #<slug> zamiast permalinków

text:
Potrzebuję pomocy w modyfikowaniu argumentów wp_nav_menu, aby mogło wygenerować menu, które ma # zamiast permalinków. Wiem, że mogę dodać niestandardowe elementy menu linków, ale chcę, aby menu było bardziej dynamiczne ..

O nas

Usługi

Często zadawane pytania

Skontaktuj się z nami


title: Pobieranie danych z bazy danych i wykorzystanie ich do wypełnienia formularza

text: Mam następujące pliki: Główny plik wtyczki: <?php /* Nazwa wtyczki: FixFormData Opis: Jeśli chcesz automatycznie uzupełnić formularz istniejącymi danymi, ta wtyczka jest dla Ciebie. Wersja: 1.1 Autor: Stijn Aerts URI autora: http://stijnaerts.be Licencja: GPL2 */ required( plugin_dir_path( __FILE__) . 'menu.php'); require_once( plugin_dir_path( __FILE__ ). 'getuser.php'); add_action( 'wp_enqueue_scripts', 'ffd_load_scripts' ); function ffd_load_scripts() { wp_register_script('ffd_js_script', WP_PLUGIN_URL.'/FixFormData/js/ffd_js_script.js', array('jquery')); wp_localize_script('ffd_js_script', 'myAjax', array( 'ajaxurl' => admin_url('admin-ajax.php') ) ); wp_enqueue_script('jquery'); wp_enqueue_script('ffd_js_script', plugin_dir_url(__FILE__). 'js/ffd_js_script.js'); } getuser.php: <?php funkcja getuser($str) { global $wpdb; $mojaopcja = get_option( 'fixformdata_options' ); $myoptionValue = może_unserialize( $mojaopcja ); $result2 = $wpdb->get_row ( $wpdb->przygotuj ( "SELECT * FROM {$myoptionValue[nazwa_tabeli]} WHERE personeelsNummer = %d", $str ) ); if($wynik2) { echo json_encode($wynik2 ); } } ?> ffd_js_script.js: jQuery(document).ready(function($){ jQuery('#input_1_2').change(function() { jQuery.ajax({ type : 'post', dataType : 'json' , url : myAjax.ajaxurl, data : {action: 'getuser', this.value}, succes: function(response){ var parsed = JSON.parse(response); var arr = []; for(var x in parsed ){ arr.push(parsed[x]);} jQuery('#input_1_3').val(arr[1]); jQuery('#input_1_4').val(arr[2]); } }) }) ; }); Jak właściwie to zaimplementować? Po raz pierwszy tworzę wtyczkę i dużo o niej czytałem i widziałem wiele przykładów, ale nie udaje mi się to poprawnie zaimplementować.


title: Czy WordPress tworzy nowego użytkownika Linuksa podczas tworzenia nowego bloga WordPress?

text: Zastanawiam się, czy WordPress tworzy nowego użytkownika Linuksa podczas tworzenia nowego bloga WordPress? Jestem programistą NodeJS, ale z tego co wiem skrypty PHP mogą mieć również dostęp do całego systemu plików. Dlatego uważam, że WordPress tworzy nowego użytkownika systemu dla każdego bloga. Czy to prawda? Jeśli nie, jak zarządzają dostępem między dwoma blogami WordPress?


title: Możliwości i niestandardowe typy postów

text: Mam niestandardowy typ postu, który chciałbym ograniczyć do niektórych ról, jednak dodałem już zawartość za pomocą niestandardowego typu postu i teraz muszę je ograniczyć. Zdolność_type to 'post' 'capability_type' => 'post' Co jest w porządku, ponieważ zawartość pojawia się w zapleczu, jednak teraz, gdy tylko dodam jakieś możliwości, zawartość znika z zaplecza? Próbowałem dostosować typ zdolności, aby zawierał liczbę mnogą definicji, aby skonstruować własne, ale jak tylko usunę lub zmienię typy zdolności, znika! pełny kod: add_action( 'init', 'register_cpt_gallery' ); function register_cpt_gallery() { $labels = array( 'name' => _x( 'Galerie', 'gallery' ), 'singular_name' => _x( 'Galeria', 'galeria' ), 'add_new' => _x( ' Dodaj nową', 'galerię' ), 'add_new_item' => _x( 'Dodaj nową galerię', 'gallery' ), 'edit_item' => _x( 'Edytuj galerię', 'gallery' ), 'new_item' => _x ( 'Nowa galeria', 'gallery' ), 'view_item' => _x( 'Wyświetl galerię', 'gallery' ), 'search_items' => _x( 'Przeszukaj galerie', 'gallery' ), 'not_found' => _x( 'Nie znaleziono galerii', 'gallery' ), 'not_found_in_trash' => _x( 'Nie znaleziono galerii w Koszu', 'gallery' ), 'parent_item_colon' => _x( 'Galeria nadrzędna:', 'galeria' ) , 'menu_name' => _x( 'Galerie', 'galeria' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'description' => 'Galerie obrazów dla klas nauczycieli', 'supports' => array( 'title', 'editor', 'autor '), 'public' => prawda, 'show_ui' => prawda, 'show_in_menu' => prawda, 'menu_icon' => get_bloginfo('template_url') . '/images/imagegallery.png', 'show_in_nav_menus' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'has_archive' => true, 'query_var' => true, 'can_export' => true, 'rewrite' => true, 'capability_type' => ' post', 'capabilities' => array( 'edit_post' => 'edit_gallery', 'edit_posts' => 'edit_galleries', 'edit_others_posts' => 'edit_other_galleries', 'publish_posts' => 'publish_galleries', 'read_posts', 'read_posts' > 'read_gallery', 'read_private_posts' => 'read_private_galleries', 'de lete_post' => 'delete_gallery' ) ); register_post_type( 'galeria', $args ); } Testowałem to również z zupełnie nowym niestandardowym typem posta i niezależnie od typu możliwości mam ten sam problem, np. nawet jeśli go usunę i dodam mój niestandardowy: 'capability_type' => array('movie','movies ');


title: htaccess 301 Przekierowanie nie działa z aspx na nowy permalink WP

text: Mam dość doświadczenia z plikami htaccess i regułami przepisywania/przekierowywania, jednak ten zaskoczył mnie, dlaczego nie działa. **ŻADEN** z poniższych wierszy (używanych osobno, nie razem) nie ma żadnego efektu. Po prostu otrzymuję normalną stronę 404 podczas próby starego adresu URL. RewriteEngine On RewriteRule ^carpetcare/default.aspx$ /carpet-care/ [R=301,L] Przekierowanie 301 /carpetcare/default.aspx http://www.domain.com/carpet-care/ Przekierowanie 301 /carpetcare/default .aspx /carpet-care/ Wszystkie powyższe wiersze poprzedzają typowe reguły WP htaccess tutaj: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !- f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # KONIEC WordPress Mam inne reguły Rewrite, które działają doskonale, więc zastanawia mnie, dlaczego te proste przekierowania _nic_ nie robią. Oto cały htaccess: Opcje +FollowSymLinks RewriteEngine On #RewriteRule ^carpetcare/default.aspx$ /carpet-care/ [R=301,L] #RedirectMatch 301 ^/carpetcare/default.aspx$ /carpet-care/ Przekieruj 301 ^/carpetcare/default.aspx$ /carpet-care/ # Inne przepisywania RewriteRule ^carpet-care/([-A-zA-Z]+)-cleaning(.*)/$ /loc.php?city=$1&cat ;=1 [L] # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # KONIEC WordPress # BEGIN wtwp_cache # Tekst AddType text/css .css AddType application/x-javascript .js AddType text/html .html .htm AddType text/richtext .rtf .rtx AddType text/plain . txt AddType text/xml .xml # Obraz AddType image/gif .gif AddType image/x-icon .ico AddType image/jpeg .jpg .jpeg .jpe AddType image/png .png AddType image/svg+xml .svg .svgz # Wideo AddType video/asf .asf .asx .wax .wmv .wmx AddType video/avi .avi AddType video/quicktime .mov .qt AddType video/mp4 .mp4 .m4v AddType video/mpeg .mpeg .mpg .mpe # PDF AddType application/pdf .pdf # Flash AddType application/x-shockwave-flash .swf # Czcionka AddType application/x-font-ttf .ttf .ttc AddType application/vnd.ms-fontobject .eot AddType appli cation/x-font-otf .otf # Audio AddType audio/mpeg .mp3 .m4a AddType audio/ogg .ogg AddType audio/wav .wav AddType audio/wma .wma # Zip/Tar AddType application/x-tar .tar AddType application/x-gzip .gz .gzip AddType application/zip .zip ExpiresActive On # Tekst ExpiresByType text/css A31536000 ExpiresByType application/x-javascript A31536000 ExpiresByType text/html A3600 ExpiresByType text/richtext A3600 ExpiresByType text/splain A3600 ExpiresByType text/splain A3600 # Obraz ExpiresByType image/gif A31536000 ExpiresByType image/x-icon A31536000 ExpiresByType image/jpeg A31536000 ExpiresByType image/png A31536000 ExpiresByType image/svg+xml A31536000 # Film wygasaByType video/aspire 6000 ExpiresB31536000 deo/quicktime A31536000 ExpiresByType video/mp4 A31536000 ExpiresByType video/mpeg A31536000 # PDF ExpiresByType application/pdf A31536000 # Flash ExpiresByType application/x-shockwave-flash A31536000 # Czcionka ExpiresByType application/x-font/ttf.B31536000 Aplikacja Expires- fontobject A31536000 ExpiresByType application/x-font-otf A31536000 # Audio ExpiresByType audio/mpeg A31536000 ExpiresByType audio/ogg A31536000 ExpiresByType audio/wav A31536000 ExpiresByType audio/wma A31536000 # Zip/Tar Expires-Aplikacja ExpiresByType A3153x A31536000 ExpiresByType application/zip A31536000 Zestaw nagłówków Pragma „public” Dołączanie nagłówka Cache-Control „public, must-revalidate, proxy-revalidate” Usunięcie nagłówka ETag Header unset Set-Cookie # END wtwp_cache # BEGIN wtwp_security RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^/[^includes /]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F, L] Zamów zezwolenie, odmów Odmów ze wszystkich opcji -Indeksy # END wtwp_security


title: Mapowanie domen WordPress MU po prostu przekierowuje do strony głównej

text: Zrobiłem co następuje: -- Instalator WordPress i włączyłem MU na stronie głównej (main.com). -- Zmieniono wp-config.php MU na następujący: RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # dodaj końcowy ukośnik do /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [LUB] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) [L] RewriteRule ^ (.*\.php)$ [L] Reguła przepisywania . index.php [L] — Zmieniono serwery nazw drugiej domeny (second.com) na takie same jak w domenie głównej. Następnie dodałem drugą domenę jako domenę addon w cPanel. Jako web root drugiej domeny wybrałem htdocs/main.com (katalog, w którym zainstalowano WP MU). Nie po prostu go zaparkowałem, ponieważ WordPress MU nie jest zainstalowany w katalogu głównym konta cPanel i korzystam z hostingu współdzielonego. -- Zainstalowałem wtyczkę mapowania domeny WP: http://wordpress.org/plugins/wordpress-mu-domain-mapping/ -- Poszedłem do administratora sieci na stronie głównej i pod Ustawienia-> Mapowanie domeny, wszedłem main.com w polach „Domena CNAME serwera:”. -- W Ustawienia-> Domeny dodałem domenę second.com jako domenę główną dla instalacji WP o identyfikatorze 2. -- W obszarze Witryny-> Wszystkie witryny Edytowałem witrynę o identyfikatorze 2 i zmieniłem jej domenę na http://second.com, zachowując pole wyboru „Zaktualizuj także adres URL witryny i stronę główną”. w kratę. Teraz, gdy odwiedzam second.com w mojej przeglądarce, po prostu zostaje mi przekierowany do głównej witryny WP - main.com, podczas gdy zamiast tego powinna mi pokazać witrynę podrzędną WordPressa.


title: Wyświetlanie niestandardowej taksonomii na liście administratorów niestandardowego typu postu

text: Próbuję wymienić warunki niestandardowej taksonomii („gatunek”) w tabeli przeglądu w obszarze administracyjnym dla niestandardowego typu postu („stacja”). Aby to uzyskać, wypróbowałem następujący kod w pliku functions.php mojego motywu: register_taxonomy('genre', 'station', array( 'labels' => array( 'name' => _x('Genres', 'taksonomy general name', 'loudfm_theme'), 'singular_name' => _x('Gatunek', 'taksonomiczna nazwa pojedyncza', 'loudfm_theme'), 'search_items' => __('Wyszukaj gatunki', 'loudfm_theme'), 'popular_items' => __('Popularne gatunki', 'loudfm_theme'), 'all_items' => __('Wszystkie gatunki', 'loudfm_theme'), 'parent_item' => __('Gatunek nadrzędny', 'loudfm_theme'), 'parent_item_colon ' => __('Gatunek nadrzędny:', 'loudfm_theme'), 'edit_item' => __('Edytuj gatunek', 'loudfm_theme'), 'update_item' => __('Aktualizuj gatunek', 'loudfm_theme'), 'add_new_item' => __('Dodaj nowy gatunek', 'loudfm_theme'), 'new_item_name' => __('Nowa nazwa gatunku', 'loudfm_theme') ), 'hierarchical' => true )); add_filter('manage_station_posts_columns', 'station_edit_columns'); add_action('manage_posts_custom_column', 'station_custom_columns'); function station_edit_columns($columns){ $columns = array( 'cb' => '<input type="checkbox"/>', 'title' => __('Tytuł stacji', 'loudfm_theme'), 'description' = > __('Opis', 'loudfm_theme'), 'genre' => __('Gatunek', 'loudfm_theme') ); return $kolumny; } function station_custom_columns($column){ global $post; switch ($kolumna) { case 'opis': the_excerpt(); przerwanie; case 'gatunek': $genre = get_terms(array( 'taxonomy' => 'gatunek', 'include' => get_post_meta($post->ID, 'maingenre', true) )); echo 'nazwa) '">' . $genre[0]->nazwa . ''; } } W moim przypadku nie chcę po prostu wypisać wszystkich wybranych gatunków stacji, ale tylko główny gatunek, którego identyfikator jest przechowywany w polu 'maingenre' typu niestandardowego postu. Dlatego używam funkcji `get_terms` z parametrem 'include'. Ale niestety otrzymuję błąd „Nieprawidłowa taksonomia” z powrotem (jako obiekt WP_Error). Użycie `get_the_term_list` działa bezbłędnie, ale dzięki tej funkcji nie jestem w stanie wyświetlić tylko głównego gatunku. Czy ktoś może mi powiedzieć, dlaczego `get_terms` tutaj nie działa i jak mogę go uruchomić? Dziękuję Ci!


title: sortuj niestandardowy typ posta według wyświetlanej nazwy

text: Próbuję posortować mój niestandardowy typ posta na kilka różnych sposobów za pomocą listy rozwijanej. Kiedy próbuję posortować to jako display_name, nie działa. $wp_query = nowe WP_Query(array('orderby' => 'display_name') ); Działa dobrze na kilku innych sposobach sortowania, takich jak „tytuł” „liczba_komentarzy”, ale kiedy chcę sortować od prawdziwego nazwiska autora, a nie nazwy użytkownika, to już nie działa. Jakaś wskazówka, jak można to naprawić?