title: Metabox nonce nie pozwala na aktualizację

text:
Mam problem z poprawianiem zapisywania danych metabox w niestandardowym typie wpisu. Pomyślałem, że naprawiłem to, stosując się do porady w tym poście: Metabox nonce PHP, który usuwa ostrzeżenie, ale nie pozwala mi zaktualizować metaboksa. Oto kod, o którym mowa : function save_goal_info_meta( $post_id ) { global $goal_info_meta_fields; // zweryfikuj wartość jednorazową, jeśli ( ! isset( $_POST['product_noncename'] ) || ! wp_verify_nonce( $_POST['goal_info_meta_box_nonce'], basename( __file__ ) ) ) { return $post_id; } // sprawdź autozapis if ( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return $post_id; } // sprawdź uprawnienia if ( 'page' == $_POST['post_type'] ) { if ( ! current_user_can( 'edit_page', $post_id )) return $post_id; } elseif ( ! current_user_can( 'edit_post', $post_id )) { return $post_id; } // przejdź przez pola i zapisz dane foreach ( $goal_info_meta_fields jako $field ) { if ( $field['type'] == 'tax_select' ) continue; $stary = get_post_meta( $post_id, $pole['id'], true ); $nowy = $_POST[$pole['id']]; if ( isset( $nowy ) && ! pusty( $nowy ) && ( $nowy != $stary ) ) { update_post_meta( $post_id, $field['id'], $new ); } elseif ( '' == $nowy && $stary ) { delete_post_meta( $post_id, $field['id'], $old ); } } } add_action( 'save_post', 'save_goal_info_meta' ); Rozumiem mniej więcej, dlaczego się nie aktualizuje, ale nie mogę tego naprawić bez „niezdefiniowanego indeksu”. $goal_info_meta_fields = array( array( 'label' => 'Gole u siebie według:', 'desc' => 'Dodaj i wybierz strzelców u siebie', 'id' => $prefix.'home-scorers', 'type' = > 'home_player_list' ), array( 'label' => 'Gole na wyjeździe według:', 'desc' => 'Dodaj i wybierz strzelców na wyjeździe', 'id' => $prefix.'away-scorers', 'type' => 'away_player_list' ) ); Oto wynik: function show_goal_info_meta_box($pole, $meta, $items = null) { global $goal_info_meta_fields, $post; // Użyj wartości nonce do weryfikacji echo '<input type="hidden" name="goal_info_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; // Rozpocznij tabelę pól i wykonaj pętlę echo '
'; foreach ($goal_info_meta_fields as $field) { // pobierz wartość tego pola, jeśli istnieje dla tego postu $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 '; switch($field['type']) { // home_player_list case 'home_player_list': echo '+  '.$field['desc'].'
'; $post_id = get_the_ID(); $team_id = get_post_meta( $post_id, 'report_home-select'); $items = get_users( array ( 'meta_key' => 'meta zespołu', 'meta_value' => $team_id )); $i = 0; if ($meta) { foreach($meta jako $wiersz) { echo '
|||'; echo '<select name="'.$field['id'].'['.$i.']" style="szerokość:200px;" id="report_home-scorers"> <option value="">Wybierz jeden</option>'; // Wybierz jeden foreach($items as $item) { echo '<option value="'.$item->ID.'"',$row == $item->ID ? ' selected="selected"' : '','>'.$item->display_name.'</option>'; } echo '</select>-
'; $i++; } } else { echo '
|||'; echo '<select name="report_home-scorers[0]" style="szerokość:200px;" id="'.$field['id'].'"> <option value="NULL">Wybierz jeden</option>'; // Wybierz jeden foreach ($items as $item) { echo '<option value="" selected="selected">'.$item->display_name.'</option>'; } echo '</select>-
'; } echo '
'; przerwanie; // away_player_list przypadek 'away_player_list': echo '+ '.$field['desc'].'
'; $postid = get_the_ID(); $team_id = get_post_meta( $postid, 'report_away-select'); $items = get_users( array ( 'meta_key' => 'meta zespołu', 'meta_value' => $team_id )); $i = 0; if ($meta) { foreach($meta jako $wiersz) { echo '
|||'; echo '<select name="'.$field['id'].'['.$i.']" class="chzn-select" style="szerokość:200px;" id="'.$pole['id'].'" value="'.$row.'"> <option value="">Wybierz jeden</option>'; // Wybierz jeden foreach($items as $item) { echo '<option value="'.$item->ID.'"',$row == $item->ID ? ' selected="selected"' : '','>'.$item->display_name.'</option>'; } echo '</select>-
'; $i++; } } else { echo '
|||'; echo '<select name="'.$field['id'].'['.$i.']" class="chzn-select" style="szerokość:200px;" id="'.$field['id'].'"> <option value="">Wybierz jeden</option>'; // Wybierz jeden foreach ($items as $item) { echo '<option value="" selected="selected">'.$item->display_name.'</option>'; } echo '</select>-
'; } echo '
'; przerwanie; } //zakończ echo przełącznika '
'; } // koniec foreach echo '
'; // koniec tabeli }


title: inny rozmiar obrazu w domu

text: Mam stronę główną w dwóch kolumnach i zdjęcia 312×100. Problem polega na tym, że kiedy wchodzisz na stronę kategorii, widzisz listę postów, ale obrazy pojawiają się w rozmiarach jak w domu, z 312×100. Potrzebuję zdjęć w domu z 312×100 iw kategorii 980×200. Oto jak skonfigurowałem każdą kolumnę w domu: <div class="left"> <?php if ( have_posts() ): ?> <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'treść', get_post_format() );?> <?php endwhile; ?> <?php endif; ?> </div> Nie znajduję nic do rozwiązania mojego problemu, umieszczam twój kod, ale obraz jest podwojony.


title: Korzystanie z zaawansowanych pól niestandardowych z tablicami asocjacyjnymi

text: Mam więc ten wykres konwersji, z którym pracuję, i przechowuję jego wartości w prostej tablicy, w której wymienia się zarówno rozmiary w Wielkiej Brytanii, jak i USA: $conversion = array( "2.5" => "1", "2.75 " => "2", "3,25" => "3", "3,5" => "4", "3,75" => "5", "4" => "6" ); Używam zaawansowanych pól niestandardowych w mojej witrynie WordPress i pomyślnie pobieram rozmiar w Wielkiej Brytanii za pomocą pola wyboru. Teraz to jest dokładnie to, czego chcę, z wyjątkiem tego, że chcę również pobrać jego wartość US z tablicy `$conversion`, więc wyświetlane są obie wartości. Używam pola Repeater z dwoma podrzędnymi polami Select (`min` i `max`) oraz True/False Field (`to`). Mój kod obecnie wygląda mniej więcej tak: <?php if( have_rows('repeater') ): ?> <?php while( have_rows('repeater') ): the_row(); $min = get_sub_field('min'); $max = get_sub_field('max'); foreach($conversion as $uk => $us) { if( get_sub_field('to') == true ) { // if zaznaczone if( $min == $uk ) { echo $uk . ' ' . $nas; } } else { if( $min == $uk ) { echo $uk . ' ' . $nas; } } } ?> <?php endwhile; ?> <?php endif; ?> Teraz potrzebuję sposobu, aby podczas sprawdzania mojego pola prawda/fałsz, aby strona wyświetlała zarówno wartości brytyjskie (`$min` i `$max`), jak i amerykańskie (`$min` i `$max`). W tej chwili odzwierciedla tylko wartość „$min” dla Wielkiej Brytanii i Stanów Zjednoczonych. Byłbym wdzięczny za każdą pomoc, jak to osiągnąć. Z góry dziękuję!


title: Jak zmienić edytowany post lub stronę na plik na serwerze?

text: Próbuję zmienić wpis, który edytuję, na plik file_get_contents() w momencie wywołania edit_form_after_title. Próbowałem użyć funkcji edit($post_id) { $post_id = get_the_ID(); $file = file.txt if (file_exists($file)) { $saved_edited_content = file_get_contents($file); ?> <skrypt> window.onload = function() { var content = document.getElementById("treść"); content.innerHTML = "<?php echo $saved_edited_content; ?>"; var doc = document.getElementById('content_ifr').contentWindow.document; var body = doc.getElementsByTagName("ciało"); body[0].innerHTML = "<?php echo $saved_edited_content; ?>"; } </script> <?php } } add_action( 'edit_form_after_title', 'edit' ); ale to nie działa, jeśli plik jest długi. Więc próbuję również funkcji edit($post_id) { $this->convert(); } function convert() { $post_id = get_the_ID(); $treść = get_the_content($post_id); if ($_SERVER['REQUEST_URI'] == '/wp-admin/post.php?post='.$post_id.'&action=edit') { $file = file.txt; if (file_exists($file)) { $saved_unedited_content = file_get_contents($file); $my_post = array( 'ID' => $post_id, 'post_content' => $saved_unedited_content ); wp_update_post ( $ mój_post ); } } else { $plik = editedfile.txt; if (file_exists($file)) { $saved_edited_content = file_get_contents($file); $my_post = array( 'ID' => $post_id, 'post_content' => $saved_edited_content ); wp_update_post ( $ mój_post ); } } } add_action( 'edit_form_after_title', 'edit') ); add_action( 'post', 'konwertuj') ); w ten sposób nie aktualizuje postu, gdy strona edycji jest używana z nieedytowaną treścią. Chciałbym móc edytować post bez zmiany tego, co jest pokazywane użytkownikom serwisu, aż do zakończenia edycji, a następnie zbudować edytowaną stronę i zaktualizować post. Użyłbym shortcode, ale używam wolnego interfejsu API, a czas ładowania z shortcodes wynosi 60+ sekund. Jak mogę zaktualizować post z nieedytowaną treścią z pliku, gdy korzystam z edytora z wordpress. Jak zaktualizować posta, gdy przechodzę do edycji posta?


title: Jak uzyskać parametry na stronie i uniknąć 404?

text: Mam stronę taką jak http://mydomain.com/mypage i chcę ustawić jakiś parametr $_GET w ten sposób: http://mydomain.com/mypage/firstparameter/firstvalue Potrzebuję wartości „firstparameter”, ale zawsze kończę na strona 404. Spędziłem kilka godzin z get_query_var(), add_query_vars_filter() i add_rewrite_rule(), ale nie ma mowy... Dziękuję


title: Jak zrobić to menu rozwijane lub jak akordeon?

text: Używam motywu aukcji sitemile. Oto moja strona robocza. Na stronie głównej znajduje się pasek boczny "Przeglądaj według kategorii". Chcę, aby to menu było rozwijane lub jak akordeon. Za każdym razem, gdy użytkownik najedzie na kategorię nadrzędną, pojawi się podkategoria. Ponieważ jest to kategoria niestandardowego typu postu, nie mogę tego rozgryźć. Oto przykład, jak chcę mieć: ![Obraz menu](http://i.stack.imgur.com/TWli9.jpg)


title: Różne wtyczki aktywowane online i offline

text: Tworzę / dodaję do / itp. moją witrynę w trybie offline, a następnie przenoszę zaktualizowaną bazę danych (w całości) do działającej witryny. Niektóre wtyczki, których potrzebuję / używam offline, nie potrzebuję online i na odwrót. Czy istnieje sposób, aby jeden zestaw wtyczek był aktywny, jeśli baza danych jest „online”, a inny zestaw „offline”? Czy po prostu muszę zaakceptować, że za każdym razem, gdy przesyłam nową wersję bazy danych, muszę odpowiednio aktywować / dezaktywować?


title: Moje menu WordPress oparte na bootstrapie Twittera tworzy pozycję menu, a nie pozycję strony

text: Mam wygenerowane dynamiczne menu, ale zamiast generować ** element strony ** generuje ** element menu **. To, co chciałbym zrobić, to wygenerować elementy strony i całą resztę, abym mógł pokazać lub wyróżnić bieżącą stronę, którą odwiedza użytkownik. mój kod to : // header.php <?php // Ładowanie niestandardowego menu WordPress wp_nav_menu( array( 'container_class' => 'collapse navbar-collapse navbar-ex1-collapse', 'menu_class' => 'nav navbar-nav' , 'menu_id' => 'menu główne', 'walker' => nowe Cwd_wp_bootstrapwp_Walker_Nav_Menu() ) ); ?> A potem w functions.php mam add_action( 'after_setup_theme', 'cwd_wp_bootstrapwp_theme_setup' ); if ( ! function_exists( 'cwd_wp_bootstrapwp_theme_setup' ) ): function cwd_wp_bootstrapwp_theme_setup() { // Dodaje menu główne register_nav_menus( array( 'main-menu' => __( 'Menu główne', 'p_bootstrap_w), 'cwd_w) } endif;


title: Włączenie bazy danych biologii z tysiącami rekordów

text: Jestem nowicjuszem WordPress pracującym na Macu z MAMP. Mam szereg stron internetowych opartych na bazach danych, które chciałbym włączyć do WordPressa. Moja największa strona internetowa skupia się na biologii, zwłaszcza na zwierzętach. Główna tabela bazy danych zawiera ponad 50 000 rekordów dla samych kręgowców. Ustawiłem go tak, aby strony, które nie mają pasującej treści w bazie danych, nadal wyświetlały jakiś tekst za pośrednictwem PHP (np. „Canis lupus (nazwa zwyczajowa wilka) jest gatunkiem w rodzinie psowatych.”) Jeśli przekonwertuję do WordPressa, oczywiście nie będę miał czasu na tworzenie 50 000 stron bloga, po jednej na raz. Czy istnieje sposób na zaimportowanie moich tabel bazy danych lub włączenie ich do tabel bazy danych WordPress, aby natychmiast wyświetlić wszystkie 50 000 stron? I czy wtedy będę mógł użyć kombinacji dołączeń PHP i tabel bazy danych, aby wstawić tekst tam, gdzie nie ma artykułów? Jeśli odpowiedź brzmi tak, wyobrażam sobie, że wyjaśnienie jest długie i złożone, ale nie musisz wchodzić w krwawe szczegóły. Na razie chciałbym tylko wiedzieć, czy można to zrobić, i byłoby pomocne, gdyby można było podać krótkie wyjaśnienie lub podać kilka słów kluczowych, których mogę użyć do Google, aby uzyskać więcej informacji.


title: Brak opcji dodania „polecanego obrazu” w mojej instalacji wordpress

text: Hay, zainstalowałem WordPress 3 na moim serwerze i powieliłem standardowy motyw i wprowadziłem do niego pewne poprawki. Jednak gdy dodaję post, nie widzę opcji dodania „polecanego obrazu”. Czy ta polecana została usunięta? Jak go reaktywować? Dziękuję


title: Meta pole na stronie opcji Zapisz problem z formularzem

text: Śledzę kod z tego linku, https://gist.github.com/757903 i udało mi się utworzyć kilka metaboksów na mojej stronie opcji niestandardowych w sekcji Ustawienia. Rzeczy, które nie działają dla mnie to: 1. Nie mogę zmusić tego do pracy, więc zapisz pracę z formularzem, myślę, że ten hak nie istnieje "add_action('admin_post_save_howto_metaboxes_general', array(&$this, 'on_save_changes' ));" 2. Kiedy przenoszę pola, następnym razem, gdy wracam na tę stronę, kolejność meta pól nie jest zapisywana, to samo dotyczy układu kolumn. Czy ktoś może mi w tym pomóc, proszę. Z góry dziękuję.


title: Jak mogę dostosować administratora „Strony” (edit.php) i administratora „Edytuj stronę” (post.php) do zbiorczej edycji niestandardowych typów treści?

text: Myślę, że jest to prawdopodobnie łatwiejsze niż myślę, ale obecnie jest to poza mną. Jeśli są jakieś wtyczki, wolę zacząć od tego, niż tworzyć od zera, ale zrobię to, co muszę. Utworzyłem już niestandardowy typ zawartości o nazwie „biblio”, którego będę używać do przechowywania i wyświetlania informacji bibliograficznych. Każdy wpis będzie zawierał: **Tytuł**: Ponownie użyje pola tytułu strony **Streszczenie**: Ponownie użyje pola treści **Tagi**: Ponownie użyje pola tagów **Autorzy**: Pole niestandardowe (z możliwością dodania wielu) **Data** : pole niestandardowe **Publikacja** : pole niestandardowe **Identyfikator dokumentu** : pole niestandardowe **Link do zewnętrznego artykułu** : pole niestandardowe **Słowa kluczowe** : niestandardowe pole (z możliwością dodania wielu) **Czego potrzebuję** 1. Sposób na dostosowanie strony edycji posta dla mojego niestandardowego typu treści, aby wyświetlała tylko określone pola domyślne i niestandardowe (może nie być potrzebne, jeśli mogę uzyskać #2 poniżej ) 2. Sposób, aby móc zbiorczo edytować je w sposób przyjazny dla użytkownika (nie używając mojego PHPMyAdmin). Próbowałem wielu wtyczek. Jednym z naprawdę przydatnych jest Custom Content Type Manager (dzięki skarpetom ognioodpornym, kimkolwiek jesteś). Ale nadal muszę być w stanie zrobić 2 rzeczy, o których wspomniałem powyżej. Na przykład jest świetny zestaw wtyczek dla galerii nowej generacji plus niestandardowe pola dla galerii następnej generacji, które działają tak, jak chciałbym, aby strona administracyjna mojego niestandardowego typu treści. Wszelkie informacje prowadzące do sposobu na zrobienie #1 #2 powyżej byłyby bardzo mile widziane.


title: Pobierz przycisk <hr> w Edytorze

text: W jakiś sposób edytor WordPress nie ma przycisku do wstawiania linii poziomej (`<hr />` w html). Czy istnieje wtyczka, która dodaje ten przycisk? A może w prosty sposób samodzielnie dodać taki przycisk?


title: Akcje wierszy są usuwane

text: Chcę pokazać tylko operacje edycji, kosza, przeglądania i klonowania jako akcje wiersza. Dodaję ten kod: /** usuń akcje wierszy szybka edycja i nowy szkic**/ function remove_quick_edit( $actions ) { unset($actions['inline hide-if-no-js']); unset($actions['edit_as_new_draft']); return $akcje; } add_filter('page_row_actions','remove_quick_edit',99,1); add_filter('post_row_actions','remove_quick_edit',99,1); /** zmień nazwę wiersza akcja edit**/ function rename_edit_action($actions) { if (isset($actions['edit'])) $actions['edit'] = preg_replace('@>(.*)<@ ', '><b>bewerk</b><', $actions['edit']); return $akcje; } if ('edit.php' === $GLOBALS['pagenow']) { add_filter('post_row_actions', 'rename_edit_action'); add_filter('page_row_actions', 'rename_edit_action'); } /** zmień nazwę wiersz akcja kosz**/ function rename_row_action($actions) { if (isset($actions['trash'])) $actions['trash'] = preg_replace('@>(.*)< @', '>verwijder<', $actions['trash']); return $akcje; } if ('edit.php' === $GLOBALS['pagenow']) { add_filter('post_row_actions', 'rename_row_action'); add_filter('page_row_actions', 'rename_row_action'); } /** zmień nazwę wiersza widok akcji**/ function rename_bekijken_action($actions) { if (isset($actions['widok'])) $actions['widok'] = preg_replace('@>(.*)< @', '>bekijk<', $actions['view']); return $akcje; } if ('edit.php' === $GLOBALS['pagenow']) { add_filter('post_row_actions', 'rename_bekijken_action'); add_filter('page_row_actions', 'rename_bekijken_action'); } /** zmień nazwę wiersza akcji klon**/ function rename_kopieer_action($actions) { if (isset($actions['clone'])) $actions['clone'] = preg_replace('@>(.*)< @', '>duplikator<', $actions['clone']); return $akcje; } if ('edit.php' === $GLOBALS['pagenow']) { add_filter('post_row_actions', 'rename_kopieer_action'); add_filter('page_row_actions', 'rename_kopieer_action'); } Najpierw działa, ale teraz nie pokazuje akcji wiersza 'clone' jak mogę ponownie dodać klon jako akcję wiersza Rozwiązane! wtyczka zduplikowanych postów musi być aktywowana.


title: Używanie WordPressa do publikowania z kontami głównymi i kontami użytkowników edytora

text: Prowadzę blog y.wordpress.com i współtworzę inny x.wordpress.com pod redakcją roli, dodając posty. Konto właściciela jest ustawione tak, aby publikować na Twitterze wszelkie aktualizacje, które wprowadza. Nie mam poświadczeń właściciela x.wordpress.com. Jak mogę opublikować post, aby był widoczny na ich koncie na Twitterze, a nie na moim?


title: Kod aktualizacji widżetu nie działa

text: Z tego, co mogę powiedzieć, interfejs API widżetów jest dość prosty i prosty, ale z jakiegoś powodu mój kod aktualizacji nie działa prawidłowo. Kiedy naciskam [zapisz] z zaplecza, wszystkie pola są wygaszone i nic nie jest zapisywane. Kiedy przeciągam widżet na obszar paska bocznego, w bazie danych tworzony jest wpis dla widżetu. 1846, 0, 'widget_email-signup', 'a:2:{i:2;a:0:{}s:12:"_multiwidget";i:1;}', 'tak' Kiedy wprowadzam wartości i zapisuję , żaden nie jest zbawiony. Przechwyciłem zarówno `$new_instance` jak i `$old_instance` podczas wywołania mojej metody aktualizacji i zapisałem ich dane wyjściowe do pliku, ale nic w nich nie znalazłem. Pełny kod: http://pastebin.com/gtrfuciZ Aktualizacja funkcji **Metoda aktualizacji** ( $nowa_instancja, $stara_instancja ) { $instance = $stara_instancja; $instance['title'] = $new_instance['title']; $instancja['skrypt'] = $nowa_instancja['skrypt']; file_put_contents( '/wp_results.txt', print_r( $stara_instancja, prawda) ); file_put_contents( '/wp_results.txt', print_r( $nowa_instancja, prawda ), FILE_APPEND ); zwróć $instancję; } **wp_results.txt** (dane znalezione w metodzie aktualizacji) Tablica ( [tytuł] => [skrypt] => ) Tablica ( )


title: Jak mogę dodać/dołączyć treść do the_content na stronie głównej za pomocą wtyczki?

text: Jako dowód koncepcji chciałbym stworzyć prostą wtyczkę, która ładuje pewną zawartość, powiedz "hello world" tuż po the_content tylko na stronie głównej. Jak mogę to zrobić z wtyczki?


title: Czy Dreamweaver CS5 to poważny wybór do tworzenia motywów/wtyczek?

text: Słyszałem, że Dreamweaver został znacznie ulepszony w najnowszych wersjach. Czy ktoś ma doświadczenie w tworzeniu motywów lub wtyczek za pomocą programu Dreamweaver? Jakie są plusy/minusy? Z góry dziękuję


title: szukam wtyczki nawigacyjnej (akordeon)

text: czy ktoś wie, czy istnieje wtyczka jQuery-navigation z animacją akordeonu, którą można automatycznie zastosować do domyślnej nawigacji wordpress? powinien również wspierać oznaczenie aktualnego elementu (+ także jego rodzica) - jakieś pomysły? Dziękuję


title: Jakie są najlepsze praktyki dotyczące pisania/używania niestandardowych klas PHP w motywie?

text: Chcę użyć niestandardowej klasy PHP w moim motywie, jednak nie jestem pewien, gdzie ją dodać. Czy istnieją najlepsze praktyki stosowane przez społeczność w zakresie dołączania klas PHP do motywu, czy jest to indywidualna decyzja programisty? Pierwszą klasą, którą chcę dodać, jest niestandardowe menu Walker, jednak będzie ich więcej i będą one powiązane z moim motywem. Jestem podzielony między tworzeniem ich w oddzielnych plikach PHP a dodawaniem ich do functions.php - a może są jakieś inne sposoby, proszę? Z góry wielkie dzięki za Twój wkład. Katrina


title: Wyklucz posty przyklejone z przerwania głównego zapytania

text: Mam mały problem z tą funkcją ! Chciałbym wykluczyć wszystkie przyklejone posty z mojego zapytania, ale kiedy to robię, przerywa to moją paginację. W poniższym kodzie, kiedy usunę " **'post__not_in' => $sticky** ", moja paginacja działa jak urok... Każda rada byłaby mile widziana! Twoje zdrowie. /* Wyklucz STICKY z głównego QUERY */ function exclude_cat(){ if (is_home()) { $paged = (get_query_var('page')) ? get_query_var('strona') : 1; $sticky = get_option( 'sticky_posts' ); $args = array( 'category__not_in' => array( 71 ), 'ignore_sticky_posts' => 1, 'post__not_in' => $sticky, 'paged' => $paged ); zapytanie_posty($args); } }


title: warunkowo ładuj JavaScript i CSS dla wywołań do_action() z wtyczki

text: Opracowuję wtyczkę i używam `do_action()` zamiast shortcode do wyświetlania zawartości wtyczki na stronie. Wtyczka będzie używana tylko przeze mnie, ale tworzę wtyczkę, aby oddzielić komponenty strony od samego motywu. Jak mam przejść do warunkowego wyświetlania javascript i css na stronie, JEŚLI określone do_action jest wywoływane w motywie z wtyczki? Znalazłem mnóstwo krótkich kodów, ale chciałem uniknąć używania krótkich kodów, ponieważ będę wywoływał akcje bezpośrednio w motywie. Próbowałem czegoś takiego add_action('wp_footer', 'print_my_script'); function print_my_script() { if(did_action('moja_niestandardowa_akcja')) { wp_enqueue_scripts('listy'); wp_enqueue_scripts('izotop'); } } **edytuj: jego wp_enqueue_script() nie skrypty i zmiana tego rozwiązała mój problem**, ale to nie zadziałało. Spojrzałem również na artykuł Scribu na ten temat dotyczący skrótów i używania globalnych, ale to nadal nie działało. Podejrzewam, że być może uda mi się zmienić priorytety i sprawić, by to zadziałało, ale nie jestem pewien.


title: Wykrywanie typu posta w ramach akcji init

text: Mam w swojej witrynie login ajax front-end. Chcę ustawić adres URL przekierowania na `'/services/clientarea';` dla każdej strony, która nie jest częścią bloga. W przypadku stron blogów chcę, aby przekierowanie logowania to `$_SERVER['REQUEST_URI'];` Oto kod, którego używam, który nie działa dla mnie: function ajax_login_init(){ wp_register_script('ajax-login-script ', get_template_directory_uri() . '/library/js/ajax-login-script.js', array('jquery') ); wp_enqueue_script('ajax-login-script'); globalny $post; $posttype = get_post_type($post); if ($posttype == 'post') { $loginredirect = $_SERVER['REQUEST_URI']; } else { $loginredirect = '/usługi/obszar klienta'; } wp_localize_script( 'ajax-login-script', 'ajax_login_object', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), 'redirecturl' => $loginredirect, 'loadingmessage' => __('Podpisywanie w, proszę czekać...') )); // Włącz użytkownika bez uprawnień do uruchamiania ajax_login() w AJAX add_action( 'wp_ajax_nopriv_ajaxlogin', 'ajax_login' ); } // Wykonaj akcję tylko jeśli użytkownik nie jest zalogowany if (!is_user_logged_in()) { add_action('init', 'ajax_login_init'); } Wygląda na to, że typ posta nie jest załadowany w haku init. Czy jest jakiś sposób, aby to zidentyfikować?


title: Niestandardowy termin taksonomii w niestandardowym linku bezpośrednim daje 404

text: Opracowałem małą wtyczkę, aby móc dodać niestandardową taksonomię jako ciąg znaków do posta. Umieściłem zmienną w niestandardowym ciągu linku bezpośredniego. Ten ciąg jest używany przez Apache do określenia, czy wymagane jest logowanie zewnętrzne. Ta część działa poprawnie — permalink jest zmieniany poprawnie, przekierowując do Apache, a następnie powodując monit o zalogowanie się (to styl PubCookie naszej instytucji). Zajrzałem do bazy danych i niestandardowa struktura linków permalink jest poprawnie zapisana w tabeli wp_options. Testowałem inne niestandardowe struktury permalinków, bez zmiennych, tylko po to, aby zobaczyć, że mam poprawnie skonfigurowane permalinki (mod_rewrite itp.). Ogólnie rzecz biorąc, niestandardowe permalinki działają bez błędów 404. Jednak po umieszczeniu tego konkretnego ciągu zmiennej (termin taksonomii), bez względu na jego wartość, w permalinku, otrzymuję 404. Oto przykład łącza, które prowadzi do 404 z odpowiednim terminem taksonomii w ciągu (zmienna „unrestricted” wskazuje, że jest publiczna, więc nie pyta o logowanie): http://news.med.virginia.edu/deansoffice/latest/unrestricted/deans-welcome/ Zrobiłem to, co zwykle: przeszedł do motywu Twenty-Thirteen, wyłączone wtyczki (z wyjątkiem testowanego przeze mnie) i nadal nic nie działa. Teraz nie wiem, co robić. Debugowanie nic nie pokazuje. Czy KTOŚ ma jakąś wskazówkę? Oto kod: //ZAREJESTRUJ TAKSONOMIĘ add_action('init','uvasom_restriction_init'); function uvasom_restriction_init() { if (!taxonomy_exists('uvasomrestriction')) { register_taxonomy( 'uvasomrestriction', 'post', array( 'hierarchical' => TRUE, 'label' => __('Ograniczenie UVA SOM'), ' public' => TRUE, 'show_ui' => TRUE, 'query_var' => 'uvasomrestriction', 'rewrite' => true, 'capabilities'=>array( 'manage_terms' => 'manage_options',//lub inne możliwości, których nie mają Twoi klienci 'edit_terms' => 'manage_options', 'delete_terms' => 'manage_options', 'assign_terms' =>'edit_posts') ) ); } //DODAJ DOMYŚLNE WARUNKI, JEŚLI ICH NIE MA $parent_term = term_exists( 'uvasomrestriction', 'uvasomrestriction' ); // tablica jest zwracana jeśli podana jest taksonomia $parent_term_id = $parent_term['term_id']; // pobierz numeryczny identyfikator terminu wp_insert_term( 'Tylko UVA', // termin 'uvasomrestriction', // tablicę taksonomii( 'description'=> 'Wymagaj odczytu danych uwierzytelniających UVA Netbadge.', 'slug' => 'privatenbauth- tylko uva', 'rodzic'=> $parent_term_id ) ); } //WSTAW WŁAŚCIWY TERMIN W NIESTANDARDOWY LINK add_filter('post_link', 'uvasom_restriction_permalink', 10, 3); add_filter('post_type_link', 'uvasom_restriction_permalink', 10, 3); function uvasom_restriction_permalink($permalink, $post_id, $leavename) { if (strpos($permalink, '%uvasomrestriction%') === FALSE) return $permalink; // Pobierz post $post = get_post($post_id); if (!$post) return $permalink; // Pobierz terminy taksonomii $terms = wp_get_object_terms($post->ID, 'uvasomrestriction'); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug; else $taxonomy_slug = 'nieograniczony'; return str_replace('%uvasomrestriction%', $taxonomy_slug, $permalink); } Dziękuję za wszelkie wskazówki, które możesz mieć.


title: Jak dodać elementy menu nawigacyjnego do określonej pozycji w menu?

text:
Dodaję linki logowania/wylogowania do menu nawigacyjnego za pomocą następującego kodu: function rp_add_login_logout_links( $items, $args ) { $link = wp_loginout( get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ), false ); if ( 'Menu sklepu' == $args->menu ) { $items .= '
' . $link . '
'; } return $items; } add_filter( 'wp_nav_menu_items', 'rp_add_login_logout_links', 10, 2 ); Ponieważ `$items` jest łańcuchem, tak naprawdę mogę tylko łatwo dodać lub dodać linki do listy. Potrzebuję, aby ten link pojawił się przed określoną pozycją menu na liście, byłby to trzeci element od końca. Czy istnieje inny filtr lub metoda, której mógłbym użyć, aby to osiągnąć? Próbowałem użyć `strpos`, aby znaleźć element nawigacji, którego szukałem i manipulować ciągiem `$items`, ale nie mogłem go dopasować do pozycji menu HTML.


title: Jak dodać „ostatnią” klasę do ostatniego posta w loop.php?

text: Muszę dodać "ostatnią" klasę do ostatniego posta, który pojawia się w loop.php. Czy ktoś może mi powiedzieć, jak to zrobić?


title: dodaj oświadczenie if do polecanego obrazu

text: Mam wyróżniony obraz. Chcę dodać stwierdzenie if do rozmiaru. Na przykład, jeśli wysokość polecanego obrazu przekracza 500px, chcę coś dodać. Czy to jest możliwe ?


title: Wordpress zlicza posty podrzędne każdego nadrzędnego niestandardowego typu postu i używaj w tablicy json dla wtyczki jquery map Google

text: Więc szukam już od kilku dni i nie mogę znaleźć rozwiązania tego nigdzie. Jest to dość zindywidualizowana prośba od klienta ... Używam wtyczki jQuery Google Maps, aby dodać znaczniki dla każdego postu (obszaru), który administrator tworzy przy użyciu niestandardowego pola meta ze współrzędnymi szerokości i długości. Każdy z tych znaczników ma skojarzoną z nim podpowiedź. W podpowiedzi mam trochę tekstu, tytuł każdego postu użyty do stworzenia samego znacznika i bezpośredni link do posta (obszar). Ale chciałbym wyświetlić liczbę wszystkich postów dzieci (ofert) każdego z postów (obszarów). Pracuję nad samymi postami (obszarowymi), ale nie mogę ich wyświetlić w podpowiedziach mapy. To jest kod, który mam do tej pory. Nie sądzę, że jestem daleko od rozwiązania, ale moje umiejętności php są nadal na poziomie początkującym, więc każda pomoc byłaby bardzo doceniana.


title: Jak odzyskać „przyklejony” post poza „pętlą”?

text: Muszę wyświetlić „przyklejony” post w sekcji, która znajduje się poza „pętlą”. Czy ktoś może mi powiedzieć, jak to zrobić?


title: Kiedy używać _e i __ do tłumaczenia?

text: Jaka jest różnica między funkcjami `_e()` i `__()` dla tłumaczenia? W jakich przypadkach należy użyć `e()` i `__()`?


title: Jak stworzyć własny pasek boczny w motywie potomnym Twenty Eleven?

text: Kiedy przechodzę do konfiguracji widżetów w motywie Twenty Eleven, dostępnych jest 5 "pasków bocznych": * Główny pasek boczny * Pasek boczny Showcase * 1. kolor stopki * 2. kolor stopki * 3. kolor stopki W motywie potomnym chciałbym obsługuje pasek boczny na postach, co jest dość łatwe, korzystając z tych instrukcji, ale jednocześnie główny pasek boczny na stronie głównej powinien różnić się od paska bocznego na pojedynczych stronach. Czy mogę utworzyć nowy „obszar paska bocznego”, aby można było przeciągać i upuszczać widżety w sekcji administratora? A może powinienem użyć czegoś takiego jak trzecia kolumna obszaru stopki (którego nie używam na moim blogu), aby to wesprzeć? Czy zamieniłbym `get_sidebar()` na coś innego w zmodyfikowanym pliku `single.php`?


title: Narzędzie do przesyłania obrazów z łączem „Ustaw wyróżniony obraz” w interfejsie

text: Ładuję plik `upload-media.php` używając `thickbox` na interfejsie użytkownika, gdzie użytkownik może przesyłać obrazy do posta. **Pytanie:** Jak uruchomić plik `upload-media.php`, aby łącze „ustaw wyróżniony obraz” pojawiło się w menedżerze zdjęć, tak jak widzimy, gdy klikamy łącze „ustaw wyróżniony obraz” na zapleczu. ![Polecany obraz](http://i.stack.imgur.com/0pAq6.jpg) **Oto kod grubego pudełka:** jQuery('.upload_media_button').live('klik', function( ) { current_item = jQuery(this); container = "."+current_item.attr('rel'); var request = url.media_upload+'?type=image&TB_iframe=true'; //alert(request); tb_show('Image Manager', żądanie); zwróć false; }); window.send_to_editor = function(html) { var img_tag = jQuery('img',html); //var id_załącznika = jQuery('img',html).attr('klasa').replace(/[^0-9]/g, ''); current_item.siblings(container).prepend(img_tag).css("wysokość: auto"); tb_usuń(); } Wiem, że mogę wziąć identyfikator załącznika i ustawić wyróżniony obraz po przesłaniu formularza, ale to jest **Plan B** ;)


title: oświadczenie warunkowe dla stron profilu

text: Używam różnych nagłówków w mojej konfiguracji wordpress/buddypress i potrzebuję instrukcji warunkowej dla stron członkowskich. Czyli wszystko, co pojawia się po mysite.com/members/. Jak to zrobić z czymś takim jak is_page()?


title: Bezpieczeństwo formularza kontaktowego

text: Budowanie własnego formularza kontaktowego w Wordpress. Wszelkie kroki bezpieczeństwa, które muszę wziąć pod uwagę, inne niż typowa walidacja poczty e-mail itp., A może captcha. Nie wysyłam żadnych danych do bazy.


title: Engadget Like Featured Breaking Plugin

text: Szukam wtyczki Engadget jak **polecane łamanie**. Przeszukałem siebie, ale nie znalazłem żadnych odpowiednich wyników. Byłbym bardzo wdzięczny za pomoc. ## EDIT: Oto wizualny obraz tego, jak powinien wyglądać. ![tutaj wprowadź opis obrazka](http://i.stack.imgur.com/sbmu6.png) Z góry dziękuję.


title: Jak mogę utworzyć stronę przesyłania dla (i widoczną tylko dla) określonych użytkowników?

text: Pracuję nad witryną WordPress, którą mamy dla oprogramowania, które rozwija moje laboratorium. To, co chciałbym zrobić, to dodać stronę, która umożliwiłaby współpracującym grupom przesyłanie do nas swoich danych w celu przetestowania, ale byłaby ukryta przed wszystkimi innymi osobami odwiedzającymi witrynę (tj. współpracownicy musieliby być zalogowani, aby zobaczyć stronę ). Idealnie byłoby, gdyby nie widzieli pulpitu nawigacyjnego po zalogowaniu, ale w tej chwili nie jest to zbyt duży problem. Czy są jakieś wtyczki, które to ułatwią?


title: Czy save_post zapisuje meta obraz bazy danych

text: Programowanie nowicjusza z powrotem. Studiowałem `add_action('save_post','')`, ale mam trudności z dostosowaniem go do moich potrzeb. Koncepcja jest prosta — zaktualizuj informacje z bazy danych o metainformacje załącznika. Oto gdzie jestem. Mój `add_meta_box` działa świetnie z polem wejściowym, które jest wstępnie wypełnione informacjami o aparacie z meta obrazu. Jeśli dokonam edycji w tym polu aparatu i zaktualizuję post, bez względu na odmianę `update_post_meta` próbuję, to się nie udaje. Na przykład: $kamera = $imgmeta['image_meta']['kamera']; $aktualizacja = $_POST['exif_field_camera']; update_post_meta($post_id, $kamera, $aktualizacja); Obawiam się strasznego błędu nowicjusza, ponieważ to nie działa. Kod, którego używam do pobierania informacji i używania ich jako części mojego `add_meta_box` to: $args = get_posts( array( 'post_type' => 'attachment', 'numberposts' => null, 'post_status' => null , 'post_parent' => $post->ID ) ); foreach ($args as $attachment) { $imgID = $attachment->ID; $imgmeta = wp_get_attachment_metadata($imgID); $kamera = $imgmeta['image_meta']['kamera']; } Jaki byłby kod do zapisania informacji o nowym polu wprowadzania kamery?


title: Użycie nowego WP_Query w krótkim kodzie w polu niestandardowym powoduje, że główna treść posta nie jest wyświetlana

text:
Mam niestandardowy typ plików, które próbuję wyświetlić przy użyciu nowego WP_Query. Działa dobrze, gdy dodaję krótki kod w głównej treści posta. Jednak gdy dodam krótki kod do niestandardowego pola (które ustawiłem do wyświetlania na stronie wraz z główną treścią jako dodatkową „kolumną”), główna treść znika! Jeśli skomentuję wiersze "while...have_posts()" i "endwhile", wyświetla się główna treść; jednak nawet po skomentowaniu co innego wiersza, główna treść znika, chyba że usunę również „while”. Jestem prawie pewien, że ma to związek z użyciem WP_Query (jakoś przechwytuje pętlę), chociaż nie powinno. Czy czegoś mi brakuje? Oto krótki kod: function ia_news_display_test($atts){ // [ia_news cat='category' num='numbertodisplay'] extract(shortcode_atts(array( 'cat' => 'any', 'num' => '2', ), $atts)); $dirloop = new wp_query( array( 'post_type' => 'ia_news', 'category_name' => $cat, 'posts_per_page' => $num, 'orderby' => 'menu_order', 'order' => 'ASC' )); if ($dirloop->have_posts()){ $content = "
\n"; while ( $dirloop->have_posts() ): $dirloop->the_post(); $custom = get_post_custom($post->ID); $file_id = $custom["upload_file"][0]; $plik_początkowy = $niestandardowy["data_początkowa"][0]; $plik_koniec = $niestandardowy["data_końcowa"][0]; if ('' != $file_end){$file_end = " do ".$file_end;} $file_url = wp_get_attachment_url($file_id); if ('' != $file_url) { //SPRAWDŹ, ŻE URL PLIKU ISTNIEJE $treść .= "
".$cat." ".$file_begin.$file_end."
\n"; } koniec; $treść .= "
\n"; } else { $content = "nic"; } return $treść; }


title: Mój post powtarza się na drugiej stronie

text:
Hej, mój indeks jest zakodowany w taki sposób, że pokazuje jeden pełny post, a reszta postu to fragmenty, ale kiedy kliknę poprzedni, druga strona pokazuje ten sam post z pierwszej strony, co mogę zrobić, aby to zmienić. Oto mój plik index.php <?php get_header() ?>
 <?php if (have_posts()) : ?> <?php $count = 0; ?> <?php query_posts('cat=0'); while(have_posts()) : the_post(); ?> <?php $liczba++; ?> <?php if ($liczba <= 1) : ?>

<a href= "<?php the_permalink() ?>" title="<?php printf( __('Permalink do %s', 'wpbx'), the_title_attribute('echo=0') ) ?>" rel="zakładka"> <?php the_title() ?>

  <?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' temu'; ?> | Opublikowane w <?php the_category(', '); ?>

 <span class='st_facebook_hcount' st_title='<?php the_title(); ?>' st_url='<?php the_permalink(); ?>' displayText='share'><span class='st_twitter_hcount' st_title='<?php the_title(); ?>' st_url='<?php the_permalink(); ?>' displayText='share'><span class='st_plusone_hcount' st_title='<?php the_title(); ?>' st_url='<?php the_permalink(); ?>' displayText='share'>

 <?php the_content('
Czytaj Więcej »
') ?> <?php wp_link_pages('before=
' . __( 'Strony:', 'wpbx') . '&after=
') ?>

 <?php the_tags( __( 'Więcej na: ', 'wpbx' ), ", ", "\n" ) ?>
<span class='st_facebook_hcount' st_title='<?php the_title(); ?>' st_url='<?php the_permalink(); ?>' displayText='share'><span class='st_twitter_hcount' st_title='<?php the_title(); ?>' st_url='<?php the_permalink(); ?>' displayText='share'><span class='st_plusone_hcount' st_title='<?php the_title(); ?>' st_url='<?php the_permalink(); ?>' displayText='share'>

<?php comments_popup_link( __( 'Zostaw komentarz', 'wpbx ' ), __( '1 reakcja', 'wpbx' ), __( '% reakcji', 'wpbx') ) ?>

 <?php else : ?>

 <a href="<? php the_permalink(); ?>" title=" <?php printf(__( 'Odczytaj %s', 'wpbx' ), wp_specialchars(get_the_title(), 1)) ?>"> <?php the_post_thumbnail(); ?>

<a href="<?php the_permalink() ?>" title="<?php printf( __('Permalink do %s', 'wpbx'), the_title_attribute('echo=0') ) ?>" rel="zakładka"><?php the_title() ?>

  <?php echo human_time_diff( get_the_time('U'), current_time(' znak czasu') ) . ' temu'; ?> | Opublikowane w <?php the_category(', '); ?>
 <?php the_excerpt(); ?>

<a href="http://twitter.com/home?status=<? php the_title(); ?> http://celebloid.com/?p=<?php the_ID(); ?>" title="Udostępnij ten artykuł na Twitterze!" target="_blank"><img src="http://www.celebloid.com/wp-content/uploads/2012/02/twittershare.png" <a href="http://www .facebook.com/sharer.php?u=<?php the_permalink() ?>" title="Udostępnij to na Facebooku" target="_blank">

<?php the_tags( __( 'Więcej na: ', 'wpbx' ), ", ", "\n" ) ?>

<a href="<?php the_permalink() ?>" title="<?php printf(__('Kontynuuj czytanie %s'), wp_specialchars(get_the_title(), 1)) ?>"><?php _e( '', 'wpbx' ) ?>

 <?php endif; ?>
 <?php endwhile; ?> <?php jeszcze : ?> <?php endif; ?>

<?php next_posts_link(__( 'Poprzednie Artykuły', 'wpbx' )) ?>

<?php previous_posts_link(__( 'Następny Artykuły', 'wpbx' )) ? >

 <?php get_sidebar() ?>
 <?php get_footer() ?> Powodem, dla którego wysyłam zapytanie do posta, jest to, że stworzyłem niestandardowy slajd z polecanymi treściami, który zawiera posty tylko z określonej kategorii. Bez zapytania o wpis pobiera tylko wpis z kategorii na slajdzie z treścią.


title: Jak mogę zmusić edytor wizualny Wordpress, aby zachował podziały wierszy po akapitach?

text: Jeśli napiszę i wstawię podział wiersza, to spowoduje to odpowiednie umieszczenie znaczników akapitu, ale na tej jednej stronie nie ma podziałów wiersza: http://jacksongariety.com/gundoglabs/jobs


title: Wyświetl wartość niestandardowego widżetu w header.php

text:
Używam poniższego kodu dla niestandardowego widżetu. Dodałem kilka pól w widżecie, takich jak: „Tytuł”, „Nazwa” oraz pole wyboru. Teraz wszystko jest w porządku, ale chcę pokazać te wartości w header.php. Jakiś pomysł lub sugestie? add_action( 'widgets_init', 'mój_widget' ); funkcja mój_widget() { register_widget( 'MÓJ_Widget' ); } class MY_Widget extends WP_Widget { function MY_Widget() { $widget_ops = array( 'classname' => 'example', 'description' => __('Widżet wyświetlający nazwisko autora ', 'example') ); $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'przykładowy-widget' ); $this->WP_Widget( 'przykład-widget', __('Przykładowy widżet', 'przykład'), $widget_ops, $control_ops ); } widget funkcji( $args, $instance ) { extract( $args ); //Nasze zmienne z ustawień widżetu. $title = apply_filters('widget_title', $instance['title'] ); $nazwa = $instancja['nazwa']; $show_info = isset( $instance['show_info']) ? $instance['show_info'] : fałsz; echo $before_widget; // Wyświetl tytuł widżetu if ($title) echo $before_title. $tytuł . $po_tytule; //Wyświetl nazwę if ( $name ) printf( '
' . __('Hej ich Żeglarz! Nazywam się %1$s.', 'example') . '
', $name ) ; if ($show_info) printf($nazwa); echo $after_widget; } //Aktualizuj aktualizację funkcji widgetu( $nowa_instancja, $stara_instancja ) { $instance = $stara_instancja; //Usuń tagi z tytułu i nazwy, aby usunąć kod HTML $instance['title'] = strip_tags( $new_instance['title'] ); $instance['name'] = strip_tags( $nowa_instance['name'] ); $instance['show_info'] = $nowa_instance['show_info']; zwróć $instancję; } function form( $instance ) { //Skonfiguruj kilka domyślnych ustawień widżetu. $defaults = array( 'title' => __('Przykład', 'przykład'), 'nazwa' => __('Bilal Shaheen', 'przykład'), 'show_info' => true ); $instancja = wp_parse_args( (tablica) $instancja, $defaults ); ?> //Tytuł widżetu: Wprowadzanie tekstu.
 <label for="<?php echo $this->get_field_id( 'tytuł' ); ?>"><?php _e('Tytuł:', 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'tytuł' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="szerokość:100%;" />
 //Wprowadzanie tekstu.
 <label for="<?php echo $this->get_field_id( 'nazwa' ); ?>"><?php _e('Twoje imię:', 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'name' ); ?>" name="<?php echo $this->get_field_name( 'name' ); ?>" value="<?php echo $instance['name']; ?>" style="szerokość:100%;" />
 //Pole wyboru.
 <input class="pole wyboru" type="pole wyboru" <?php sprawdzone( $instance['show_info'], true ); ?> id="<?php echo $this->get_field_id( 'show_info' ); ?>" name="<?php echo $this->get_field_name( 'show_info' ); ?>" /> <label for= "<?php echo $this->get_field_id( 'show_info' ); ?>"><?php _e('Wyświetlać informacje publicznie?', 'przykład'); ?>
 <?php } } ?>


title: Nierekurencyjne get_term_children()

text: Mam niestandardową taksonomię o nazwie `product_category`. Są terminy potomne 3 poziomy w dół. Wyglądają tak: Term1 Term2 Term3 Kiedy jestem na stronie taksonomii dla Term1, chcę użyć `get_term_children()` do pobrania Term2 bez pobierania Term3. Jeśli to ma sens... Czy można to osiągnąć za pomocą metody get_term_children(), czy jest jeszcze inna funkcja, której mogę użyć?


title: Archiwum kategorii

text: Jaki jest najlepszy sposób, aby strona archiwum zawierała tekst do edycji, w przeciwieństwie do zakodowania tekstu na stałe w pliku szablonu? Oto, co próbuję zgodnie z sugestią poniżej. <?php if(is_category( '1' )) echo opis_kategorii( ); ?> Próbuję tego, ale z jakiegoś powodu nie mogę go uruchomić. To jest na stronie ARCHIWUM i Codex sugeruje użycie tej kategorii dla stron archiwum.


title: Niestandardowe typy postów. Czy są jakieś wady/zalety korzystania z wtyczki do ich tworzenia?

text: Istnieje kilka wtyczek, które mogą pomóc w budowaniu CPT, a te zazwyczaj obsługują Twoje taksonomie, a czasem także postmeta. Niektórzy idą nawet dalej. Wiem, że tak jak w przypadku każdej wtyczki, możliwe jest, że rozwój zostanie przerwany; ale poza tym są jakieś powody, dla których lepiej jest zakodować własne taksonomie CPT itp. **Oto niektóre wtyczki, do których się odnoszę** * Niestandardowy interfejs typu postów * Typy * WCK * Niestandardowy kreator typów postów ** Oto moja lista zalet/wad** _Zalety_ * Szybciej i łatwiej * Mamy nadzieję, że programiści rozważyli bezpieczeństwo, więc nie trzeba się martwić o błędy lub ochronę bazy danych itp. _Wady_ * Może być problem z wydajnością niektórych aplikacji * W zależności od rozwoju, aby kontynuować. * Prawdopodobnie mniej elastyczny Czy ktoś chce coś dodać do tej listy lub usunąć z niej?


title: Uzyskaj wybraną niestandardową wartość taksonomii dla konkretnego posta w panelu administracyjnym WordPress

text: Chciałbym uzyskać termin wartość niestandardowej taksonomii dołączony do posta w obszarze wp-admin, szczególnie na stronie edycji posta. Tylko jedna wartość terminu może być wybrana (jest) dla tej konkretnej taksonomii. Próbowałem następujących funkcji bez powodzenia: http://codex.wordpress.org/Function_Reference/wp_get_post_terms http://codex.wordpress.org/Function_Reference/get_the_terms Otrzymuję tylko błędy lub puste tablice. Wiem, że należy się tym zająć poza pętlą, ale teraz utknąłem.


title: Ukryj polecany post na drugiej stronie

text: Mam index.php z polecanym postem i kilkoma innymi postami oraz standardowym wp_pagenavi na dole. Używam 2 pętli z kodeksu wordpress w następujący sposób: <?php $my_query = new WP_Query('category_name=featured&posts_per_page=1'); while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID;?> <!-- Zrób coś... --> <?php endwhile; ?> <!-- Zrób inne rzeczy... --> <?php if (have_posts()) : while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) kontynuuj; ?> <!-- Czy coś... --> <?php endwhile; endif; ? strona z takim samym układem jak mój index.php, a więc z tym samym polecanym postem. (chociaż działa podział na strony w innych postach) Bawiłem się z `is_paged`, ale nie udało mi się go uruchomić... Dzięki za pomoc!


title: Jak wyświetlić niestandardowy typ posta w hierarchii?

text:
Chcę pokazać mój niestandardowy typ postu we wzorcu listy, np. ## S.No Title * 6 samplePost1 - replypost - replypost * 5 samplepost2 - replypost * 4 samplepost3 Tutaj ustawiam liczbę post_per_page od administratora, więc jeśli admin ustawi liczbę postów na 4, to na stronie z listą powinien pokazywać 4 posty, w tym post zwrotny. Zamieszczam mój kod poniżej, proszę daj mi znać, jak mogę rozwiązać ten problem. <?php $args = array( 'post_type' => 'customposttype', 'posts_per_page' => $posts_per_page, 'paged' => $paged, 'orderby' => 'post_date', 'order' => 'DESC' , 'post_status' => 'publish', //'post_parent'=>0, 'tax_query' => array( array( 'taxonomy' => 'custompostcategory', 'field' => 'slug', 'terms' = > $kot )) ); $my_query = nowe WP_Query($args); $max_num_pages = $my_query->max_num_pages; $post_count = $moje_zapytanie->znalezione_posty; $i = $post_count - (($paged - 1 ) * $posts_per_page) ; ?>
 <?php if ( $my_query->have_posts() ) : ?>

Sno.

Tytuł

 <?php while ( $my_query->have_posts() ) : $my_query->the_post();?>
 <?php //if($my_query->post- >post_parent < 1) :?>
<?php echo $i; ?>

 <?php echo mb_substr(get_the_title(),0,30)?>
 <?php $i--;/ / else: ?> <?php //if($my_query->post->post_parent > 1) :?> <?php $r_args = array( 'post_type' => 'customposttype', 'orderby' => 'post_date ', 'order' => 'DESC', 'post_status' => 'publish', 'post_parent' => $my_query->post->ID ); $Rzapytanie = nowe WP_Query($r_args); ?> <?php if ( $Rquery->have_posts() ): ?>
 <?php while ( $Rquery->have_posts() ) : $Rquery->the_post(); ?>

<?php echo mb_substr(get_the_title(),0,30)?>

 <?php koniec; ?>
 <?php endif;//endif;?>
 <?php endwhile; // Zakończ podczas?>


title: Wyświetlaj tylko elementy podrzędne pierwszego poziomu moich niestandardowych kategorii taksonomii

text:
Chciałbym wyświetlać tylko dzieci pierwszego poziomu moich niestandardowych kategorii taksonomii, których używam wp 3.8 Mam coś takiego dla mojej taksonomii "listing_category": Kategoria 1 SubCattegoy1 Subsub category1 Chcę wyświetlić tylko link do "sub kategoria1”, gdy jestem w „kategorii 1” (nie w „podkategorii1”). Za pomocą poniższego kodu wyświetla wszystkie sub cat i subsub cat : $nazwa_taksonomii = 'kategoria_listy'; $queried_object = get_queried_object(); $term_id = $queried_object->term_id; $termchildren = get_term_children( $term_id, $taxonomy_name ); echo '
'; foreach ( $termchildren as $child ) { $term = get_term_by( 'id', $child, $taxonomy_name ); echo '
' . $term->nazwa . '
'; } echo '
'; Jakieś pomysły, aby mi pomóc? Dziękuję


title: Organizacja treści niewrażliwych na czas

text: Planuję użyć WordPressa do utrzymania i opublikowania systemu do odgrywania ról. Czy istnieje najlepsza praktyka zarządzania treścią w WordPressie, która nie jest wrażliwa na czas? Czy powinienem używać stron i publikować krótkie powiadomienia, gdy zostaną zaktualizowane? Wiem, że posty i strony są przechowywane tak samo, to obsługa tworzenia i prezentacji sprawia mi kłopot. Chcę, aby aktualizacje były oczywiste, ale bez ponownego publikowania całych sekcji treści.


title: Nie chcę pokazywać shortcode w tagu <pre>

text: Mam motyw i chcę pokazać odwiedzającym, jak wygląda format shortcode w tagu `<pre>`. Ale kiedy dodaję shortcode w `<pre>`, pokazuje to, co robi shortcode. Chcę tylko pokazać format shortcode w postaci zwykłego tekstu. Jak to zrobić?


title: Niestandardowy typ postu i konflikt bułki tartej

text:
![Przykład dodatkowej spacji](http://i.stack.imgur.com/mRcFl.png) Mam niestandardowy typ posta. Wygląda na to, że w bułce tartej znajduje się dodatkowe miejsce na wstawioną stronę nadrzędną (która nie istnieje). Widać to na załączonym obrazku. Co się dzieje z tym niestandardowym typem wpisu, który powoduje tego dodatkowego, nieistniejącego rodzica? Oto mój niestandardowy typ strony: add_action( 'init', 'register_cpt_result' ); function register_cpt_result() { $labels = array( 'name' => _x( 'Wyniki sprawy', 'wynik' ), 'singular_name' => _x( 'Wynik', 'wynik' ), 'add_new' => _x( 'Dodaj nowy', 'result' ), 'add_new_item' => _x( 'Dodaj nowy wynik', 'result' ), 'edit_item' => _x( 'Edytuj wynik', 'result' ), 'new_item' => _x( 'Nowy wynik', 'result' ), 'view_item' => _x( 'Wyświetl wynik', 'result' ), 'search_items' => _x( 'Wyniki wyszukiwania', 'result' ), 'not_found' => _x( 'Nie znaleziono wyników sprawy', 'result' ), 'not_found_in_trash' => _x( 'Nie znaleziono wyników sprawy w Koszu', 'result' ), 'parent_item_colon' => _x( 'Wynik nadrzędny:', 'wynik' ), 'menu_name' => _x( 'Wyniki sprawy', 'wynik' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'description' => 'Wyniki sprawy mojej firmy', 'supports' => array( 'title', 'editor', 'excerpt' ), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'publicly_queryable' => true, 'exclude_from_search' => true, 'has_archive' => prawda, 'query_var' => prawda, 'can_export' => prawda, 'rewrite' => prawda, 'capability_type' => 'post' ); register_post_type( 'wynik', $args ); } Oto moja funkcja bułki tartej: function crumbs() { if ((is_page() && ! is_category()) || is_archive() || is_single() || is_single()) { $crumbs = ''; $crumbs .= '
'; $crumbs .= 'Strona główna'; $post_ancestors = get_post_ancestors($post); if ($post_ancestors) { $post_ancestors = array_reverse($post_ancestors); foreach ($post_ancestors jako $crumb) $crumbs .= ''.get_the_title($okruchy).''; } if (is_category() || is_single()) { $category = get_the_category(); $crumbs .= 'cat_ID).'" >'.$category[0]->nazwa_kota.''; } if (!is_category()) $crumbs .= ''.get_the_title().''; $okruchy .= '
'; $close_crumb = ''; $open_crumb = ''; $separator = '→'; echo str_replace($close_crumb.$open_crumb, $close_crumb.$separator.$open_crumb, $crumbs); } }


title: Użyj innego szablonu archiwum dla wtyczki

text: Na moim blogu używam wtyczki do encyklopedii. Niestety wtyczka korzysta z szablonu archiwum z mojego bloga. Jak mogę użyć innej strony/szablonu do encyklopedii? Oto funkcja wtyczki: (Od autora wtyczki nie otrzymałem żadnego wsparcia). function Define_Rewrite_Rules(){ $post_type = Get_Post_Type_Object($this->post_type); $archive_url_path = $post_type->przepisz['slug']; $this->rewrite_rules[SPrintF('%s/filter:([^/]+)/?$', $archive_url_path)] = SPrintF('index.php?post_type=%s&filter=$matches[1]', $this->post_type); $this->rewrite_rules[SPrintF('%s/filter:([^/]+)/strona/([0-9]{1,})/?$', $archive_url_path)] = SPrintF('indeks. php?post_type=%s&filter=$matches[1]&paged=$matches[2]', $this->post_type); }


title: wordpress prosta pętla, ogromne problemy

text:
Mam problem, w którym z jakiegoś powodu podstawowa pętla, którą próbuję dodać do paska bocznego, utrzymuje .... pętlę na stronach wewnętrznych (pojedynczej i stronie .php ), ale nie na index.php. na index.php (strona domowa) jest w porządku. na przykład chciałem, aby pętla wypełniła nieuporządkowane pozycje listy, więc zrobiłem to tak:

title4sidebar

 <?php query_posts( array ( ' category_name' => 'left_sidebar', 'posts_per_page' => 4, 'orderby=menu_order' ) ); if ( have_posts() ): while ( have_posts() ): the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?>
 <?php endwhile; endif; ?>

 Dzieje się kilka rzeczy. 1. NAJBARDZIEJ problematyczne jest to, że kiedy ta pętla jest na swoim miejscu, przerywa nawigację i wszystko. klikam stronę, a strona ładuje się z jednym z elementów na liście w nagłówku...więc jeśli kliknę "o nas" w głównym panelu nawigacyjnym, strona ładuje się z "tytułem elementu zamówienia".... . dzieje się również na każdym klikniętym elemencie. 2 - czy na stronie (page/single.php), na pasku bocznym, opublikuje pierwsze 4 posty z kategorią "left_sidebar" jak powinien być wyświetlany, css w miejscu i wszystko poza czwartym elementem wiersza, powtórzy pętle jeszcze raz. 3 — Obszar zawartości moich witryn składa się z 2 kolumn, paska bocznego po lewej stronie i głównego obszaru zawartości pośrodku. W części, która jest niesłusznie powtarzana (po powtórzeniu pętli), kiedy sprawdzałem za pomocą FireBug, w powtarzających się elementach zamówienia, pobiera on również właściwości tagu H z, jak zakładam, tagu h, który jest obok niego w innej kolumnie. Tak więc pierwsze 4 elementy zamówienia wychodzą dobrze ze stylami nadanymi im przez CSS, kolory linków, najazdy itp., a kolejne 4 z błędami są pozbawione stylu, permalink również nie jest do nich stosowany, jak pierwsze 4 itd. 3 - usunąłem cały html z tej pętli php, taki jak divs i ul / lis itp., więc nie jest stosowany żaden css, w ten sposób tylko tekst wychodzi z pętli, ale dzieje się to samo, ponieważ usunąłem część html pętli , pierwsze 4 li wyświetlają standardowy domyślny niebieski tekst linku itp., a kolejny błąd 4 wyświetla się tak samo jak poprzednio, wszystkie duże z dołączonymi htagami.... Rozwiązywanie tego wszystkiego, - jest tylko jedna pętla na stronie, która się kończy z paska bocznego. - poprawnie wyczyściłem wszystkie pływaki - podczas sprawdzania w W3C pod kątem błędów itp., nie ma żadnych. zielone światła na wskroś. - brak błędów po stronie php. (sprawdziłem każdą stronę i mam włączone błędy) na lokalnym serwerze. zgubiłem się. Jakieś pomysły co może się dziać? UWAGA: myślenie naprzód, chociaż istnieje TYLKO jedna pętla na stronie sidebar.php, po zaimportowaniu technicznie istnieją 2 pętle, które, jak sądzę, to pętla paska bocznego wp i pętle page.php / single.php, które pobierają zawartość. czy jest coś innego od może najnowszego wp? Zawsze tak robiłem, a teraz mam problemy… jakieś pomysły? zgubiłem się. Z góry dziękuję.


title: Czy metoda wp_enqueue jest wydajna?

text: Miałem szybkie pytanie dotyczące sposobu ładowania skryptów za pomocą Wordpressa. Opracowuję motyw i wiem, że najlepszym sposobem na to jest użycie metod „wp_register_script/wp_register_style”, a następnie umieszczenie ich w kolejce za pomocą „wp_enqueue_script/wp_enqueue_style”. Na koniec dodajesz je do akcji „wp_enqueue_scripts”. Moje pytanie brzmi, ponieważ rozwijam motyw, mam kilka plików javascript, które umieszczam w kolejce. Czy to dobra praktyka oddzielania plików javascript i umieszczania każdego z nich w kolejce pojedynczo, czy też powinienem połączyć wszystkie moje pliki javascript w jeden plik i umieścić w kolejce tylko ten jeden plik? W idealnym przypadku chciałbym mieć możliwość oddzielenia plików w celu łatwej aktualizacji w przyszłości, ale czy to spowalnia Wordpress podczas obsługi witryny, jeśli musi za każdym razem umieszczać wszystkie te pliki w kolejce? Czy za każdym razem, gdy Wordpress wyświetla stronę/post, czy musi przechodzić przez te pliki, czy po jednokrotnym uruchomieniu buforuje pliki w jakiś sposób? Myślę, że chciałbym trochę więcej informacji o tym, jak działa ta akcja. Po prostu staram się usprawnić sprawy najlepiej, jak potrafię. Z góry dziękuję za wkład!


title: Jaki adres URL przekazujesz do wp_remote_get, aby załadować treść podglądu bieżącego posta?

text:
W poniższym kodzie próbuję uzyskać odwołanie do treści treści w pełni wyrenderowanego podglądu bieżącego posta... $response = wp_remote_retrieve_body(wp_remote_get('http://localhost/mysite/test-post/?preview= true&preview_id=28&preview_nonce=640bc54ca4')); $post->post_content = $odpowiedź; Po prostu wysyłam go do $post->post_content, abym mógł go łatwo zobaczyć. Oto część tego, co zwraca...
Nie masz uprawnień do podglądu wersji roboczych.
  Jestem zalogowany jako administrator, więc oczywiście źle nazywam podgląd. Jak mogę przekazać adres URL w wp_remote_get, aby uzyskać sekcję treści strumienia podglądu? Kiedy używam... $post->post_content = "
".$response['body']."
"; dostaję
<


title: Jak sprawić, by wp_get_archives pokazały mi miesiące, w których zostały utworzone tylko strony?

text: Tworzę wtyczkę i mam problem, ten kod podaje wszystkie miesiące, w których post został dodany: <select name="sdate" id="sdate"> <?php wp_get_archives('format=option'); ?> </select> problem polega na tym, że nie otrzymuję dat, w których dodano tylko strony. zasadniczo chcę, aby lista rozwijała co rok + miesiąc (na przykład „wrzesień 2010”), że coś zostało dodane z wartością, taką jak „rok-miesiąc” (na przykład „2010-05”) Coś, co można zobaczyć podczas pracy na Wordpress Export strony, ale skopiowany kod nie działa dla mnie.


title: get_term i get_term_by zwracając null lub false, mimo że termin istnieje

text: Próbuję użyć hooka akcji delete_term, delete_$taksonomii, pośród innych hooków, które usuwają termin, ale prezentują ten sam problem. Na przykład: „1234” to istniejący termin w „ulubionej” taksonomii niestandardowej. add_action( 'delete_favorite', function($term, $tt_id ) { $get_term1 = get_term( $term, 'favorite' ); $get_term2 = get_term( 1234, 'favorite' ); $get_term_by1 = get_term_by( 'id', $ termin, 'favorite' ); $get_term_by2 = get_term_by( 'id', 1234, 'favorite' ); $get_term_by3 = get_term_by( 'name', 'term-name', 'favorite' ); $output = 'get_term1: ' .$get_term1 . 'get_term2: ' .$get_term2 . 'get_term_by1: '.$get_term_by1 .'get_term_by2: '.$get_term_by2 .'get_term_by3:'. ();ob_end_clean();error_log($zawartość);}, 10, 2); Wszyscy nic nie zwracają. Jak więc mogę uzyskać termin w tego typu funkcjach? Proszę, pomóż mi, to doprowadza mnie do szału. Funkcje get_term i get_term_by działają wszędzie poza tymi hakami. Co jest nie tak?


title: WP_Query: Mieszanie category__in i tag__in razem

text: Tworzę sekcję „Powiązane posty” dla mojego motywu, opartą na samouczku z wpbeginner.com. Oferował dwie opcje wyboru postów: te z tej samej kategorii(ów), używając `category__in`, lub te z tymi samymi tagami(ami), używając `tag__in`. Czy można włożyć je do jednego dużego garnka i wybrać posty ze wszystkich? Nie mam na myśli tych, które mają te same kategorie I te same tagi, ale te, które mają albo.


title: Bułka tarta za pomocą struktury menu.

text: Wiem, że jest kilka pytań dotyczących tego, jak używać hierarchii menu dla bułki tartej i postępowałem zgodnie z instrukcjami, wykonując następujące czynności... Dodałem ten kod do pliku funkcji mojego motywu: /** Okruszki tarte ze struktury menu ------- -------------------------------------------------- --*/ function menu_breadcrumbs($theme_location = 'main', $separator = ' » ') { $items = wp_get_nav_menu_items($theme_location); _wp_menu_item_classes_by_context($items ); // Ustaw zmienne klasy, w tym obecne klasy $crumbs = array(); foreach($items as $item) { if ($item->current_item_ancestor || $item->current) { $crumbs[] = "url}\" title=\" {$item->title}\">{$item->title}"; } } echo implode($separator, $okruchy); } Następnie dodałem to do szablonu strony: <?php menu_breadcrumbs('primary-menu'); ?> Wszystko to działa, ALE... Naprawdę potrzebuję bułki tartej, aby pokazać wszystkie opcje dla każdej głównej kategorii, jeśli ma to sens... Przykłady na mojej stronie wydarzeń (http://www.sciotomile.com/events/ ), powyższy kod tworzy ścieżkę nawigacyjną składającą się z głównej kategorii, a następnie bieżącej strony (na przykład: Wydarzenia >> Kalendarz wydarzeń). Dla wielu witryn byłoby to idealne rozwiązanie, ale moja witryna nie posiada żadnych podstron podstron (innymi słowy są tylko 2 poziomy struktury mojej strony). Chciałbym więc, aby menu nawigacyjne pokazywało wszystkie opcje w ramach bieżącej kategorii lub warstwy, a następnie podkreślało lub pogrubiło lub cokolwiek na bieżącej stronie... Więc zamiast tego: Wydarzenia >> Kalendarz wydarzeń Zobaczyłbym to: Wydarzenia >> **Wydarzenia Kalendarz** >> Rytm na rzece >> FountainSide >> Jazz & Rib Fest >> Grand Illumination >> Zaplanuj wydarzenie Chciałbym również zobaczyć opcję "Dom" pod warunkiem... W każdym razie, jeśli ktoś może mi pomóc , naprawdę bym to doceniła :)


title: Alternatywa dla wp_get_nav_menu_items?

text:
Wypróbowałem technikę implementacji `wp_get_nav_menu_items`, jednak dziecko na poziomie 1 jest niewłaściwie zagnieżdżone w menu. Uprzejmie zasugeruj alternatywne rozwiązanie tego problemu. <?php $args = array ( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item', 'post_status' => 'publish', 'output' => ARRAY_A , 'output_key' => 'menu_order', 'nopaging' => prawda, 'update_post_term_cache' => fałsz ); $nazwa_menu = 'menu_nagłówka'; $lokalizacje = get_nav_menu_locations(); $ menu = wp_get_nav_menu_object ( $ lokalizacje [ $ nazwa_menu ] ); $ menuitems = wp_get_nav_menu_items( $menu->term_id, $args );?>
 <?php foreach ( $ menuitems as $item ) : // pobierz id strony z pozycji menu object id $id = get_post_meta( $item->ID, '_menu_item_object_id', true ); $strona = get_page( $id ); $title = $page->post_title; $link = get_page_link( $id ); // element nie ma rodzica, więc menu_item_parent jest równe 0 (false)?> <?php if ( $item->menu_item_parent == "0" ): // zachowaj ten identyfikator do późniejszego porównania z elementami podmenu $parent_id = $pozycja->ID; switch (strtolower($title)){ case 'home': $icon='home.png'; przerwanie; case 'o nas': $icon='about_us.png'; przerwanie; case 'usługi': $icon='usługi.png'; przerwanie; case 'products': $icon='products.png'; przerwanie; case 'rozwiązania energetyczne': $icon='energy_solns.png'; przerwanie; case 'skontaktuj się z nami': $icon='contact_us.png'; przerwanie; domyślnie: $ikon=''; } ?>
 <a href="<?php echo $link; ?>" class="title"> <img src="<?php echo bloginfo( 'template_url' ).'/ images/icons/'.$icon; ?>" /> <?php echo $title; ?>  <?php endif;?> <?php if ( $parent_id == $item->menu_item_parent ):?> <?php if ( !$submenu ): $submenu = true; ?> <ul class="sub-menu" par_id="<?php echo $parent_id; ?>" count="<?php echo $count; ?>"> <?php endif; ?> <?php // Pobierz menu drugiego poziomu poprzez odpowiednie zapytanie $args = array ( 'sort_order' => 'ASC', 'sort_column' => 'menu_order', 'child_of' => $parent_id, 'parent' => -1, 'post_type' => 'strona', 'post_status' => 'opublikuj' ); $pages_under = get_pages($args); ?>
 <a href="<?php echo $link; ?>" class="title"><?php echo $title; ?> <?php if ( count($pages_under)>0 ): ?>
 <?php foreach($pages_under jako $page): $id = $page- >ID; $title = $page->post_title; $link = get_page_link($id); ?>
 <a href="< ?php echo $link; ?>" class="title">< ?php echo $title; ?>
 <?php endforeach; ?>
 <?php endif; ?>
 <?php if ( $menuitems[ $count + 1 ]->menu_item_parent != $parent_id && $submenu ): ?>
 <?php $submenu = false; // endif; ?> <?php // if ( !$menuitems[ $count + 1 ]->menu_item_parent || !$menuitems[ $count + 1 ]->menu_item_parent==0 ): ?>
 <?php endif ; ?> <?php endif; ?> <?php $liczba++; na każdym kroku; ?>


title: Załączniki z możliwością sortowania za pomocą programu Media Uploader 3.5 z niestandardowym widokiem

text:
Korzystam z samouczka autorstwa Mike'a Jolley'a, aby zintegrować narzędzie do przesyłania multimediów wprowadzone w 3.5 z niestandardową stroną edycji typu postu. Odpowiedni kod HTML na stronie jest następujący:

 <button class="button manage-images">Zarządzaj obrazami</button> Kliknij przycisk powyżej, aby dodać lub edytuj obrazy.

 Na stronie zostanie wywołany następujący JS: jQuery(document).ready(function() { if(jQuery('.post-type-collection') .length > 0) { iaa_collection_manager.setup(); } }); var iaa_collection_manager = { konfiguracja: function() { var ramka_pliku; jQuery('.manage-images').click(function(e) { e.preventDefault(); if (file_frame) { file_frame.open(); return; } file_frame = wp.media.frames.file_frame = wp.media ({ title: 'Manage Images', button: { text: 'Finish', }, multiple: true, library: { type : 'image', uploadedTo : wp.media.view.settings.post.id } }); file_frame.on('open', function(){ console.log(file_frame); }); file_frame.on('zamknij', function(){ lokalizacja.przeładuj(); }); }); } } Działa całkiem dobrze, z wyjątkiem tego, że obrazków nie można sortować. Jaki byłby najlepszy sposób na zarządzanie tym?


title: Limit czasu podczas uaktualniania sieci w wielu lokalizacjach

text: Zaktualizowałem z 3.8 do 3.8.1 w konfiguracji wielostanowiskowej. Początkowa aktualizacja była w porządku. Kiedy kliknąłem "Upgrade Network"... Po pewnym czasie nie działa i wyświetla monit: > Twój serwer może nie być w stanie połączyć się z uruchomionymi na nim witrynami. Komunikat o błędzie >: Przekroczono limit czasu operacji po 120000 milisekundach z 0 bajtów > odebranych. lub > Twój serwer może nie być w stanie połączyć się z uruchomionymi na nim witrynami. Błąd > komunikat: Przekroczono limit czasu connect()! Aktualizacja do 3.8 poszła dobrze. Jednak aktualizacja z wersji 3.8 do 3.8.1 nie pozwala mi na „uaktualnienie sieci”. Masz pomysł, dlaczego tak się stało? Próbowałem dezaktywować wszystkie wtyczki na wypadek, gdyby zakłócały aktualizację sieci. Problem nadal istnieje.


title: // Nonce wygenerowane 0-12 godzin temu

text: [x-post: SO] W wordpressie jest mechanizm weryfikacji generujący jednorazy i mam problem ze zrozumieniem, dlaczego nie działa on poprawnie... W pewnym momencie sprawdza, czy jednorazówka została wygenerowana 0-12 godzin temu. // \wp-includes\pluggable.php:1260 funkcja wp_verify_nonce($nonce, $action = -1) { $user = wp_get_current_user(); $uid = (int) $użytkownik->ID; if ( ! $uid ) $uid = apply_filters( 'nonce_user_logged_out', $uid, $action ); $i = wp_nonce_tick(); >>> // Nonce wygenerowane 0-12 godzin temu if ( substr(wp_hash($i . $action . $uid, 'nonce'), -12, 10) == $nonce ) return 1; // Nonce wygenerowane 12-24 godziny temu if ( substr(wp_hash(($i - 1) . $action . $uid, 'nonce'), -12, 10) == $nonce ) return 2; // Nieprawidłowy nonce return false; } Jak to działa `if`? Widzę, że `wp_hash($i.$akcja.$uid,'nonce')`=`8ae70558afac4a6951e3bc0f9ef1f59a` i `$nonce`=`3551`. Jak porównać `$nonce` do `-12,10` części `8ae70558afac4a6951e3bc0f9ef1f59a` ma być czekiem na „0-12 godzin temu”?


title: Jak wykluczyć nieskategoryzowane ze struktury permalinków /%category%/%postname%/

text: Używam niestandardowej struktury permalinków: /%category%/%postname%/ Aby moje posty były wyświetlane w następujący sposób: mysite.com/widgets/blue-widget Działa to dobrze, o ile „niebieski-widget” istnieje w jednym i tylko jedna kategoria. Jednak, gdy pojawia się w więcej niż jednej kategorii, na przykład jako dziecko bez kategorii, wynikowy adres URL to: mojawitryna.com/uncategorized/child-of-uncategorized/blue-widget Nawet jeśli post jest nadal w „widgetach”, to wydaje się, że jest coś, co sprawia, że nieskategoryzowane przebijają go. Wierzę w to, ponieważ ma niższy identyfikator. Muszę wiedzieć, czy możliwe jest wykluczenie nieskategoryzowanego i wszelkich dzieci nieskategoryzowanych z pojawiania się w strukturze permalinków. **AKTUALIZOWANY PRZYKŁAD:** Jeśli więc post jest w 3 kategoriach, na przykład: Widżety (parent_id=0), Bez kategorii (parent_id=0), Dziecko bez kategorii (parent_id=1), chcę, aby filtr używał „Widgetów” jako slug permalink i wyklucz "bez kategorii" i wszystkie jego dzieci. Jeśli post jest w 2 lub więcej kategoriach, które nie są nieskategoryzowane lub jest dzieckiem bez kategorii, użyj po prostu najnowszej kategorii jako wiadomości permalink. Jeśli post jest przypisany wyłącznie do nieskategoryzowanego lub jednego z jego elementów podrzędnych, nie wyświetlaj bezpośredniego linku do wiadomości z kategorii


title: Adresy URL do obrazów ulegają bałaganowi po migracji

text: Przeniosłem witrynę z jednego hosta na drugi i mam dziwny problem, którego nigdy wcześniej nie spotkałem. Adresy URL do obrazów w html są w porządku, ale pełna ścieżka do obrazu ma uszkodzony adres URL, domena wyświetla się dwukrotnie. Oto kod wygenerowany dla obrazu: `<img src="subdomain.domain.com/wp-content/uploads/2013/12/aleksandra.jpg" class="attachment-full wp-post-image" alt= "aleksandra">` A oto pełna ścieżka do obrazu w inspektorze: `http://subdomain.domain.com/subdomain.domain.com/wp-content/uploads/2013/12/aleksandra.jpg` Jeśli potrzebujesz więcej informacji, nie wahaj się zapytać. Każda pomoc jest mile widziana. Dziękuję


title: Adresy URL Wordpress zmienione na względne na serwerze transferującym

text: Stworzyłem witrynę Wordpress na serwerze pomostowym. Działa absolutnie dobrze. Kiedy przeniosłem witrynę na serwer na żywo, adresy URL przesyłania multimediów zmieniły się na względne. Adres URL mediów pomostowych jako źródło obrazu:  Adres URL mediów na żywo jako źródło obrazu:  Czy musiałem zająć się czymś podczas przenoszenia witryny? Lub ten problem może być zależny od serwera. Kolejna przyczyna tego, co myślę, może pochodzić z zainstalowanej wtyczki SEO, nie jestem tego pewien. **Uwaga:** oba serwery znajdują się w różnych domenach. Z góry dziękuję.


title: Podświetlanie kodu w BlockQuote

text: Wiele z moich wpisów na blogu Wordpress (http://subinsb.com/) zawiera fragmenty kodu, które są zawarte w elementach **blockquote**. Muszę wyróżnić te fragmenty kodu. Próbowałem użyć **GeSHi** , **Prettify Code Syntax** , **CodeColorer**, ale żaden z nich nie działa dla elementów **blockquote**. Czy jest jakaś wtyczka obsługująca podświetlanie kodu dla **blockquotes** ? LUB Jak mogę dostosować bieżące wtyczki do podświetlania, aby podświetlać również elementy cytatów blokowych?


title: Dlaczego previous_post_link/next_post_link pomija niektóre posty?

text: Mam szablon jednej strony dla jednego z moich niestandardowych typów postów. Czy mam górę tej strony... <?php previous_post_link('%link', 'Poprzedni projekt'); ?> <?php next_post_link('%link', 'Następny projekt'); ?> Te linki wydają się pomijać niektóre posty, ale nie wszystkie. Dowolny pomysł?


title: Dodawanie liczników niestandardowych typów postów do pulpitu nawigacyjnego

text: Pulpit nawigacyjny wygodnie informuje mnie, ile mam postów, stron i komentarzy. Chciałbym, aby powiedział mi, ile mam artykułów, filmów i kreskówek (trzy niestandardowe typy wpisów są zarejestrowane w moim motywie). W jaki sposób mogę dodać je do panelu „W tej chwili”_ na desce rozdzielczej? ![tekst alternatywny](http://i.stack.imgur.com/f8LWg.jpg)


title: Zapytanie do wyświetlenia postów na podstawie pola niestandardowego (data wydarzenia) nie działa

text: Przeszukałem tutaj wszystkie posty związane z używaniem niestandardowych dat wydarzeń w zapytaniach i nie znalazłem odpowiedzi na mój konkretny problem, mając nadzieję, że ktoś może pomóc. Mam niestandardowy typ wpisu dla wydarzeń, z niestandardowymi polami do przechowywania daty rozpoczęcia i zakończenia wydarzenia. Mam zapytanie, które znajduje wszystkie pasujące posty i wyświetla je w kolejności ich daty rozpoczęcia, o ile data rozpoczęcia jest datą przyszłą (stare wydarzenia się nie wyświetlają), jednak mam dwa problemy: 1. Wydarzenia odpadają na data rozpoczęcia, mimo że używam <= w moim zapytaniu, a nie tylko < (powinny być wyświetlane do tej daty i odejść w następnym dniu); oraz 2. W przypadku wydarzeń wielodniowych powinni pozostać na liście do momentu zakończenia wydarzenia (dzień po dacie zakończenia wydarzenia), ale nadal wypadają z listy w dniu, w którym się rozpoczęli; Oto mój kod: global $post; $eventdate = get_post_meta($post->ID,'event_date_start',true); $eventdate2 = get_post_meta($post->ID,'event_date_end',true); $eventlocation = get_post_meta($post->ID,'event_location',true); $eventaddress = get_post_meta($post->ID,'event_location_address',true); $eventdirections = get_post_meta($post->ID,'event_location_directions',true); $eventcontact = get_post_meta($post->ID,'event_contact',true); $eventcontactph = get_post_meta($post->ID,'event_contact_phone',true); $eventcontactem = get_post_meta($post->ID,'event_contact_email',true); $eventnumdays = get_post_meta($post->ID,'event_number_of_days',true); $myposts = get_posts('post_type=event&meta_key=event_date_start&orderby=meta_value_num&order=ASC&posts_per_page=-1'); foreach ( $myposts jako $post ): setup_postdata( $post ); $dzisiaj = czas(); if ( $eventnumdays == "Wiele dni" ) { $exp_date = strtotime(get_post_meta($post->ID,'event_date_end',true)); } else { $exp_date = strtotime(get_post_meta($post->ID,'event_date_start',true)); } if ($today <= $exp_date) { Jeśli niestandardowe pole dla event_number_of_days jest ustawione na Pojedynczy dzień, to nie jest przechowywane żadne niestandardowe pole dla daty końcowej, więc moje próby użycia event_date_end nie powiodły się i zbombardowały zapytanie, co dlatego zamiast tego używam pola niestandardowego dla liczby dni. To wyświetla wydarzenia poprawnie, ale nie do dnia, w którym muszą być nadal na liście…. Na przykład, mam wydarzenie w ten weekend - powinno być widoczne na liście do północy w niedzielę, ponieważ wydarzenie trwa do niedzieli, ale ponieważ zaczyna się dzisiaj, zostało już usunięte z listy. Co ja robię źle?


title: get_posts() i zmienne globalne

text: Czytałem ten post: Kiedy powinieneś używać WP_Query vs query_posts() vs get_posts()?, który wydaje się, że stał się postem do przejścia, aby zrozumieć różnicę między różnymi funkcjami do tworzenia niestandardowych pętli. W artykule jest napisane, że > [get_posts] nie modyfikuje zmiennych globalnych i można go bezpiecznie używać w dowolnym miejscu. jeden z najnowszymi wpisami na blogu), musiałem zachować oryginalny $post, taki jak: <?php global $post; // wymagane $tmp_post = $post; // zapisz oryginalne argumenty postu = array('numberposts' => 2); // Pobierz tylko 2 posty $custom_posts = get_posts($args); foreach($custom_posts as $post) : setup_postdata($post); ?> //Mój kod postów tutaj (usunięty w celu uproszczenia) <?php endforeach; $post = $tmp_post; //powrót do oryginalnego posta ?> Zanim zapisałem oryginalny post, moja trzecia kolumna z niestandardowym polem była pusta, ale po zresetowaniu, jak wyżej, działa dobrze. Czy źle zrozumiałem, co oznaczał ten wiersz w poście? Czy zrobiłem coś, czego nie powinienem?


title: Wyszukiwanie wielu słów kluczowych

text: Mam niestandardowe wyszukiwanie, w którym chcę wpisać słowo kluczowe lub frazę w polu wyszukiwania, a następnie naciskając enter dodaje je do „pamięci wyszukiwania” (już zakodowanej, patrz poniżej). Załóżmy, że mam 3 posty, jeden o samochodach, drugi o rowerach i ostatni o samolotach. Po przeprowadzeniu tego wyszukiwania chcę, aby wszystkie trzy zostały wyświetlone w wynikach. Obecnie nie znalazłby niczego, ponieważ nie ma postów zawierających słowa kluczowe samochodów, motocykli i samolotów pojedynczo. Czy możliwe jest wyświetlanie postów pasujących do każdego z tych słów kluczowych? Czy musiałbym wykonać `wp_query()` dla każdego słowa kluczowego, może wewnątrz `foreach`? Czy istnieje czystszy sposób? ![zrzut ekranu](http://i.stack.imgur.com/ykCqf.png)


title: Niestandardowy obiekt zapytania z niestandardowym polem daty Simple-Fields

text: Obecnie używam wtyczki simple-fields, aby dodać pole daty rozpoczęcia wydarzenia, które jest polem typu „data” do niestandardowego typu posta zwanego „zdarzeniem”. Na mojej stronie głównej chcę wyświetlić trzy wydarzenia najbliższe dzisiejszej dacie, które jeszcze nie minęły. Obecnie mam: `$recent_events = new WP_Query(array('post_type' => 'phelps_event', 'posts_per_page' => 3, 'order' => 'DESC'));` ale to daje mi tylko pierwsze 3 zdarzenia w kolejności, w jakiej zostały utworzone. Nie jestem pewien, jak filtrować według pola daty utworzonego za pomocą wtyczki simple-fields. Dzięki za uwagę!


title: Zapytanie o posty w 2 taksonomii

text:
Obecnie używam następującego kodu do wyświetlania listy z linkami do postów w określonym CPT i taksonomii: <?php $custom_terms = get_terms('videoscategory'); foreach(array($custom_terms as $custom_term) { wp_reset_query(); $args = array('post_type' => 'product', 'tax_query' => array( 'relation' => 'AND', array( 'taksonomia' => 'videoscategory', 'field' => 'slug', 'terms' => $custom_term->slug ), array( 'taxonomy' => 'product_category', 'field' => 'slug', 'terms' => $other_custom_term->slug ), ) ); $loop = new WP_Query($args);if($loop->have_posts()) { echo '
'. $custom_term->name.'
'; while($loop->have_posts()) : $loop->the_post(); echo '
'.get_the_title().'
'; endwhile; } } ?> Działa dobrze tak, jak powinien, jednak chcę wyświetlać tylko posty, które znajdują się w obu moich taksonomiach. dodać do tego? pomoc jest doceniana, dzięki.


title: Niestandardowy szablon strony chronionej hasłem

text:
Mam stronę zabezpieczoną hasłem, dla której chciałbym użyć niestandardowego szablonu do zapytania o posty z określonej kategorii. Jak mogę osiągnąć, że query_posts powinno działać tylko po przesłaniu przez użytkowników hasła do strony? Próbuję z tym, ale nie działa (strona wyświetla tylko nagłówek i stopkę) <?php /* Nazwa szablonu: xxxx */ ?> <?php get_header(); ?> <?php if ( post_password_required() ): ?> <?php query_posts('cat=9'); ?> <?php while ( have_posts() ): the_post(); ?> <a href="<?php the_permalink(); ?>">
<?php the_title() ; ?>

><?php the_content(); ?>

 <?php edit_post_link( __( 'Edytuj', 'dwadzieścia' ), '', ' ' ); ?>
 <?php endwhile; ?> <?php endif; ?> <?php get_footer(); ?>


title: Czy pliki cookie muszą być odkażone przed zapisaniem?

text: Niedawno napisałem wtyczkę i teraz trochę się cofam, aby oczyścić wszelkie dane wejściowe użytkownika. Wiem, że powinienem oczyścić wszystko, co pochodzi z `$_GET` lub `$_POST`, ponieważ użytkownik może wstawić do tego złośliwe skrypty. Odkażam również wszystko, co wywołuję za pomocą `get_options`, które użytkownik wprowadził tylko dla bezpieczeństwa (nie jestem pewien, czy API `options.php` oczyszcza, ale to już inna kwestia). Ale co z ciasteczkami? Czy trzeba je odkazić? Jeśli tak to jak? Oto moja funkcja: $get_cookie_check = wp_kses($_GET['view_full_site'],null); //oczyszczanie danych wprowadzonych przez użytkownika $site_url = site_url(); $domena = parse_url($site_url, PHP_URL_HOST); if($get_cookie_check =='true'){ //ustaw plik cookie setcookie("nifty_cookie", 1, time()+86400, "/", $domain); $_COOKIE['nifty_cookie'] = 1; } } //zmienna cookie $full_site_cookie= $_COOKIE['nifty_cookie']; Nie myślę, że muszę tu cokolwiek oczyszczać, ponieważ to ja ustawiam wartość cookie (w tym przypadku na 1) za pośrednictwem PHP. Czy to słuszna myśl?


title: Jak zmienić główny adres URL wiadomości wordpress

text: Mam witrynę, a mój klient zdecydował, że adres URL wiadomości, które kiedyś były wiadomościami, powinien teraz zostać zmieniony na porady i wskazówki, ale chcemy również zachować stare adresy URL, ponieważ nie chcemy tracić starych linków. Wypróbowałem kilka ustawień .htaccess, ale to naprawdę nie jest moja specjalizacja i nie jestem nawet pewien, czy jest to właściwy sposób, aby to osiągnąć za pomocą WordPressa. Na przykład: site.com/news powinno stać się site/tips-and-tricks, ale /news powinno również wskazywać na /tips-and-tricks. Czy mogę to zrobić i jak najlepiej to zrobić za pomocą WordPressa?


title: Iteracyjnie dodawaj skróty podrzędne do tablicy php

text: Mam taką strukturę shortcode: [komponent] [typ1]jakaś treść[/typ1] [typ2]więcej treści[/typ2] ... [typN]inna treść[/typN] [/komponent] Chciałbym mieć `$zawartość` podrzędnych skrótów przechowywanych w tablicy. To, co w tej chwili robię, to w ich funkcji przekazuję `$content` do zmiennej globalnej, a następnie tworzę z nich tablicę, ale nie jest to zbyt eleganckie. Ponadto nie mogę mieć ich jako atrybutów głównego tagu shortcode, ponieważ: [component type1="jakaś zawartość" type2="trochę więcej zawartości"], ponieważ muszę mieć atrybuty w nowych wierszach dla czytelności - coś, czego próbuję aby uzyskać adres tutaj: wpautop(), gdy atrybuty shortcode są w nowych wierszach, przerwij tablicę argumentów EDYCJA - nie szukam struktury podobnej do listy, ale aby mieć te wartości w tablicy klucz-wartość w celu wypełnienia złożonego znacznika i również używać tablicy jako obiektu JSON w moich funkcjach javascript.


title: Jak zrobić niestandardową stronę logowania klienta dla określonej strony?

text: Chcę, aby formularz logowania klienta znajdował się na stronie głównej, a podczas logowania klienta chcę, aby klient wylądował na określonej stronie. O ile nie jesteś zalogowany, jeśli próbujesz wylądować na tej stronie, musi zostać przekierowany na stronę główną. Próbowałem użyć Tematu mojego loginu, ale nie otrzymałem pożądanego rozwiązania. Próbowałem stworzyć własny obszar widżetów i hasłem chroniącym stronę. Jest kilka problemów, z którymi się zmierzyłem. 1. Jak pobrać dane użytkownika i je oczyścić, próbowałem użyć metody wordpress esc_attr, esc_js, esc_html, [Czy to wystarczy] 1. Przekierowałem stronę na stronę chronioną hasłem, ale hasło nie wyzwalało logowania. 2. po zalogowaniu się do strony chronionej hasłem wydaje się, że się nie wyloguję, nawet jeśli wyczyszczę pamięć podręczną lub pliki cookie. Więc w zasadzie chcę mieć rozwiązanie. Dziękuję


title: Utwórz niestandardową miniaturę załącznika do szybkiego ładowania strony

text: Próbowałem znaleźć sposób na stworzenie niestandardowej miniatury załącznika obrazu. Chcę wyświetlić miniaturę załącznika obrazu i link do pełnego rozmiaru. (FYI Kciuk ma na celu szybkie ładowanie strony zamiast pełnego rozmiaru, który spowolniłby działanie.), więc próbuję: 1. utworzyć miniaturę załącznika obrazu 2. zachować mały rozmiar 3. móc ustawić max szerokość Inne opcje, które wymyśliłem: * aby użyć załącznika jako obrazu tła, ale to daje mi duży rozmiar pliku. * aby ręcznie utworzyć miniaturę załącznika i przesłać go. * użyj ustawienia miniatury dla polecanego obrazu i zmień to zgodnie z moimi potrzebami, ale używam go do polecanego obrazu. Czy istnieje sposób, aby Wordpress to zrobił?


title: Wyskakujące okienko typu Fancybox, które nie jest elementem iframe

text: Trochę utknąłem i potrzebuję pomocy, by iść we właściwym kierunku. Próbuję zrobić coś podobnego do wyskakującego okienka w stylu lightbox na tej stronie: http://cargocollective.com/montessori Chcę zbudować wyskakujące okienko z paskami przewijania z boku w normalnej lokalizacji (co według mnie wiedzy, wyklucza element iframe) oraz aktualizowany adres URL. Potrafię wymyślić, jak css będzie działać i czy mogę zaktualizować adres URL za pomocą html5 orjs, ale oto, w którym utknąłem: ** Jaki jest dla mnie najlepszy sposób na przeniesienie informacji ze strony projektu do wyskakującego okienka z Wordpressem? Czy to AJAX? Czy można to zrobić za pomocą php? A może iframe jest właściwą metodą? ** Próbowałem użyć Fancybox, ale paski przewijania kończą się na stronie. Każda pomoc byłaby mile widziana!!


title: Jaki jest najskuteczniejszy sposób wykonywania rekurencyjnych złożonych zapytań?

text: Na mojej stronie znajduje się sekcja „Oferty pracy” (typ postu niestandardowego), z różnymi powiązanymi taksonomiami (język używany, rodzaj umowy, lokalizacja itp.) Strona ma również bardzo dużą bazę użytkowników (około 10 000 subskrybentów). Użytkownicy ci mają dostęp do formularza, w którym wybrali interesujące ich kryteria „pracy”, aby codziennie otrzymywać e-mail z listą „prac”, które odpowiadają ich kryteriom. Chciałbym poznać Twoją opinię na temat najlepszego sposobu wdrożenia tej funkcjonalności. Moje pierwsze podejście jest następujące: 1. Przeprowadź pętlę przez wszystkich użytkowników „subskrybentów” 2. Dla każdego użytkownika uzyskaj wybrane przez niego kryteria (język, rodzaj umowy, miasto itp.) 3. z tymi kryteriami wykonaj WP_Query na wszystkie "zadania" opublikowane tego dnia 4. wyślij wyniki e-mailem Ta funkcja byłaby uruchamiana codziennie dzięki wp cron. Martwię się, że jest to być może bardzo zasobożerny sposób (jest to pętla wykonująca 10 000 różnych zapytań wp_queries z rzędu!) Strona jest hostowana na dedykowanym serwerze WWW (czterordzeniowy z około 8 GB pamięci RAM) Czy istnieje bardziej wydajny sposób?


title: media_handle_upload dziwne rzeczy

text: Używam skryptu front-end do przesyłania obrazów, wszystko działa dobrze, ale ostatnio zauważyłem, że przesłane obrazy nie są zapisywane w odpowiednim katalogu. Moje ustawienia to Organizuj moje przesłane pliki w folderach miesięcznych i rocznych. moje foldery to 2011->03,04,05 (marzec , kwiecień , maj). Problem polega na tym, że jeśli dzisiaj prześlę plik, zapisuje się on w folderze 03 (marzec). Jeśli użyję wp_handle_upload, obraz zostanie zapisany w odpowiednim folderze 05 (maj), ale obraz nie jest wyświetlany w bibliotece multimediów i nie są tworzone różne rozmiary. Kod, którego używam, to $image = media_handle_upload('async-upload', '');


title: Jak zabezpieczyć motyw premium przed kopiowaniem?

text: Zastanawiam się nad stworzeniem kilku motywów premium i sprzedaniem ich kopii. Nigdy wcześniej nie robiłem czegoś takiego, więc mam kilka pytań. Rozumiem, że jest to głównie forum do zadawania pytań technicznych, więc jeśli ktoś chce wskazać mi miejsce, które może być bardziej odpowiednie dla tych pytań, daj mi znać. Moje główne pytanie dotyczy kopii motywu. Jeśli sprzedam kopię motywu premium, a rezultatem końcowym jest to, że dana osoba otrzyma plik zip mojego motywu, czy istnieje jakiś techniczny sposób, aby ograniczyć go do używania go tylko w jednej instalacji WordPressa? Czy po prostu polegam na dobroci ich serc? Również powiązane pytanie: Jaki rodzaj licencji, jeśli w ogóle, powinienem dołączyć do motywu premium? Dziękuję.


title: Używanie wp-cron w backpressie - problemy z wp_remote_post, błąd fsockopen

text: Pracuję nad projektem BackPress, w którym muszę zaplanować zadania cron. Cron_uri dla BP jest przechowywany w opcjach, a nie na sztywno, jak w rdzeniu WP. Próbowałem ustawić opcję na **mysite.com/wp-cron.php** (gdzie **wp-cron.php** jest zasadniczo kopią tego samego pliku z WordPressa, zmodyfikowaną tak, aby zawierała tylko odpowiednie pliki do moich celów.Problem polega na tym, że gdy ten adres jest wywoływany z funkcji wp_cron(), zwraca następujący błąd fsockopen: > fsockopen() **[function.fsockopen]** : nie można połączyć się z :80 > (php_network_getaddresses : getaddrinfo nie powiodło się: nazwa lub usługa nie jest znana) w > **/home/gad/public_html/backpress/class.wp-http.php** w linii 646 Mogę otworzyć cron uri bezpośrednio za pomocą fsockopen i nie zwraca najlepiej jak potrafię, problem tkwi gdzieś w API transportu HTTP, może w funkcji WP_http->request(), gdzie BackPress porównuje `cron_uri` z opcją `application_uri`, aby sprawdzić, czy żądanie jest lokalne lub nie (i prawdopodobnie traktuje różne żądania inaczej?). Co dziwne, jeśli ustawię `cron_uri` na mój adres URL, działa dobrze - mogę inter zaakceptuj żądanie oparte na żądaniu GET i dołącz wp-cron.php przed wysłaniem czegokolwiek. Jestem głównie zdezorientowany, dlaczego wp_remote_post nie działa z tym plikiem, ponieważ wydaje się, że działa z większością wszystkiego, co próbowałem z nim zrobić.


title: Przekierowanie zaparkowanej domeny

text: Jestem trochę zagubiony, jak poradzić sobie z tym wymogiem przekierowania. Do tej pory mam: * www.domena-B.com zaparkowana na www.domena-A.com * Więc prośby o www.domena-B.com/strona1 zamieniają się na www.domena-A.com/strona1 i tak dalej * Jak dotąd tak dobrze Jednak chciałbym mieć jeden wyjątek od tego: * Jeśli użytkownik zażąda katalogu głównego www.domain-B.com, chciałbym, aby przeszedł do www.domain-A.com/pageX Więc wszystko działa normalnie z zaparkowaną domeną _z wyjątkiem_, gdy użytkownik przechodzi do głównego adresu URL zaparkowanej domeny. Próbowałem wtyczki przekierowania dla WP, ale podczas przekierowywania www.domain-B.com na www.domain-A.com/pageX w rzeczywistości przekierowuje również www.domain-A.com na tę stronę. (Bo chyba jest właściwie zaparkowany!) Z góry dziękuję za jakąkolwiek radę.


title: Błąd zamykania podajnika </head>

text: To jest błąd, który otrzymuję z feedburner. > „Wygląda na to, że adres URL nie odwołuje się do prawidłowego pliku XML. Napotkaliśmy > następujący problem: Błąd w wierszu 573: Typ elementu „link” musi być > zakończony pasującym tagiem końcowym „”.” `http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fwww.cmchatlive.com%2F` Istnieje otwierający tag `<head>`, ale z jakiegoś powodu jest on pomijany. Proszę doradź.


title: Wielokropek opisu meta

text: Mam funkcję, która umieszcza metaopis w `<head>` mojego motywu. Działa dobrze, ale mam mały problem. Po prostu odcina słowa w opisie, gdy osiągnie limit 160 znaków. Miałem nadzieję, że istnieje „czystszy” sposób na zrobienie tego. Oto funkcja: function add_meta_description() { global $post; if ( is_single() ) { $post_object = get_post(get_the_ID()); $treść= $post_object->post_treść; $desc = substr( strip_tags( $treść ), 0, 160 ); echo '<meta name="opis" content="' .esc_attr( $desc ). '" />'; } } Czy mimo to nie należy odcinać słów i wstawiać zamiast nich wielokropka?


title: Czy powinienem poprosić programistę motywu o użycie local_template zamiast wymagać_raz?

text: Dzisiaj tworzyłem motyw potomny i musiałem nadpisać plik php, który został dołączony przy użyciu tego kodu w pliku motywów functions.php `require_once(get_template_directory() . '/function-includes/theme-functions.php' );` próbowałem użyć `require_once( get_stylesheet_directory(). '/function- include/theme-functions.php' );` w moim pliku funkcji motywów potomnych, ale spowodowało to błąd i w ogóle nie załadowało strony. Skończyło się na tym, że użyłem `locate_template( '/function-includes/theme-functions.php', true );` w pliku motywów nadrzędnych functions.php Czy `locate_template` jest lepszą metodą dla twórców motywów, aby umożliwić rozwój motywów potomnych ? Czy istnieje alternatywny sposób użycia tylko moich motywów potomnych functions.php do zastąpienia tego pliku theme-functions.php?


Próbuję uaktualnić moją wersję Wordpress, ale otrzymuję następujący błąd: _Katalog docelowy do przesyłania strumieniowego plików nie istnieje lub nie można do niego zapisać._


title: Jak wywołać wp_list_comments() z wywołaniem zwrotnym poza pętlą?

text:
funkcja szablonu jako argument wywołania zwrotnego funkcji `wp_list_comments`, a funkcja szablonu przyjmuje trzy argumenty: `$comment, $args, $depth`, podobnie jak funkcja szablonu zdefiniowana w funkcjach.php motywu `twentyeleven`, function dwudziesteeleven_comment( $komentarz, $args, $głębokość ) { $GLOBALS['komentarz'] = $komentarz; switch ( $comment->comment_type ) : case 'pingback' : case 'trackback' : ?>

<?php _e( 'Pingback:', 'twentyeleven' ); ?> <?php komentarz_autora_link(); ?><?php edit_comment_link( __( 'Edytuj', 'dwadzieścia jedenaście' ), '', '' ); ?>
 <?php /** i więcej ... **/ Chcę wywołać tę funkcję w innym miejscu, a mam odniesienie `$comment` do komentarza, ale nie wiem jak aby ustawić zmienne `$args` i `$depth`. Wiem, że wartość `$depth` lub `$args` można zmienić w ustawieniach administratora, więc nie mogę po prostu ustawić `$depth` na 5 lub jakakolwiek inna liczba. Jak mogę uzyskać `$args` i `$depth` ??? Z góry dziękuję.


title: Do czego służy $object->filter?

text: Ciągle widzę ten wzorzec i zastanawiam się, do czego służy, jak WP używa go wewnętrznie: if ( empty($post) ) { if ( isset($GLOBALS['post']) ) $_post = & $GLOBALS['post' ]; w przeciwnym razie zwróć $null; } elseif ( is_object($post) && empty($post->filter)) { _get_post_ancestors($post); $_post = sanitize_post($post, 'surowy'); wp_cache_add($post->ID, $_post, 'posty'); } else { if ( is_object($post) ) $post_id = $post->ID; w przeciwnym razie $post_id = $post; Konkretna linia, o której mowa, to `is_object($post) && empty($post->filter)`. Widziałem tę właściwość `filter` powiązaną również z innymi obiektami. Zastanawiasz się, co robi i jak można go wykorzystać? EDYTUJ Mam nadzieję, że uzyskam więcej informacji na ten temat! Niestety, wyszukiwanie w Google z "filtrem" w nim pokazuje tylko haki filtrów itp. Jest to trudne do uzyskania niezależnych informacji. Buehlera?


title: Jak uwzględnić liczbę postów we fragmencie „get_tags”?

text:
Czy ktoś może mi powiedzieć, jak mogę wyświetlić liczbę postów w tym fragmencie kodu? <?php $tagi = get_tags(); if ($tags) { foreach ($tags as $tag) { echo '
term_id ) '" title="' .sprintf( __( "Wyświetl wszystkie posty w %s" ), $tag->name ). '" ' . '>' . $tag->nazwa.'
 '; } };?>


title: W pętli, jeśli galeria, wyciągnij tylko pierwszy obraz

text: Próbuję utworzyć pętlę, która wyświetla tylko typy postów: "zdjęcie" i "galeria". Jeśli jest to galeria, chciałbym wyświetlić tylko jeden z obrazów, najlepiej pierwszy. Jestem trochę zdezorientowany, ponieważ kodeks mówi, że „standardowy” format postu to tak naprawdę brak jakiegokolwiek zadeklarowanego formatu, ale jeśli tworzę niestandardową pętlę, a użytkownik nie wybierze formatu, czy standardowe posty przejdą ? Dziękuję bardzo.


title: Usuń # ze zmiennej

text: Używam wtyczki WordPress WooCommerce do zarządzania sklepem. Kiedy wywołuję echo za pomocą `<?php echo $order->get_order_number(); ?>` W rezultacie otrzymuję #6453, ale potrzebuję tylko liczb, więc jak usunąć # z liczby?


title: Masz problem z inicjalizacją wordpressa we wtyczce

text: Jestem nowy w wtyczkach Wordpress. Zostałem poproszony o ulepszenie istniejącej wtyczki, którą mamy (uczynienie jej bardziej przenośną itp.). Podczas instalacji wtyczki i próby jej użycia pierwszą rzeczą, którą otrzymuję, jest błąd krytyczny dotyczący brakującego pliku. require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' ); Moja instalacja znajduje się w /wp, więc to od razu kończy się niepowodzeniem. Mam problem z ustaleniem prawidłowego sposobu ładowania lub inicjowania wordpress w mojej wtyczce, aby uzyskać dostęp do połączenia z bazą danych itp. Założyłem, że to już działa. Z moich krótkich poszukiwań na ten temat ludzie zalecają NIE dołączanie tego pliku, ale nie widziałem dobrego sposobu na zrobienie tego w inny sposób. Próbowałem również tych podejść. To się nie powiedzie, ponieważ ABSPATH nie jest jeszcze zdefiniowany. require_once( ABSPATH . '/wp-load.php' ); To się nie udaje, ponieważ nie jest jeszcze zdefiniowane. get_home_path() Używam najnowszej wersji i czystej instalacji. Wtyczka, z którą pracuję, ma prawdopodobnie co najmniej rok lub dwa lata. Każda pomoc byłaby świetna. EDYCJA: Dokładniej, kod chce połączyć się z bazą danych, aby pobrać informacje do wyświetlenia. require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php' ); globalny $wpdb; $sql = "jakieś zapytanie"; $ wynik = $ wpdb-> get_results ($ sql); Ale wymaganie kończy się niepowodzeniem, ponieważ plik nie istnieje w tej lokalizacji. Muszę tylko wiedzieć, jak bezpiecznie dołączyć plik do każdej instalacji. Zakładałem, że Wordpress ładuje wtyczkę, do której będę miał dostęp w tym momencie do ABSPATH i get_home_path(), ale wydaje się, że tak nie jest. EDYCJA 2: OK, wygląda na to, że wtyczka dodaje funkcjonalność do edytora tinymce. Ten kod wywołuje plik problemu, webform-select.php, który musi połączyć się z bazą danych, do tego służy dołączanie. (function() { tinymce.create('tinymce.plugins.tinyplugin', { init : function(ed, url){ ed.addButton('tinyplugin', { title : 'title', cmd : 'command', image: url + "/images/icon.gif" }); ed.addCommand('mceWebform', function() { ed.windowManager.open({ plik : url + '/webform-select.php', szerokość : 420 + ed .getLang('przykład.delta_width', 0), wysokość : 315 + ed.getLang('przykład.delta_wysokość', 0), inline : 1 }); }); }, ...


title: utwórz stronę podmenu - nie znaleziono funkcji błędu lub nieprawidłowa nazwa funkcji

text: Stworzyłem wtyczkę ze stroną najwyższego poziomu. Stworzyłem pod tym podmenu. Kiedy uruchamiam wtyczkę na mojej stronie, wszystko działa. Ale kiedy testuję go na osobnej stronie, otrzymuję błąd i nie jestem pewien dlaczego. To jest kod, który jest kwestionowany i zgłaszany błąd. Nie mogę za życia dowiedzieć się, skąd bierze się błąd. function custom_plugin_add_menu_page(){ add_menu_page( 'Moja wtyczka niestandardowa', 'Moja wtyczka niestandardowa', 'manage_options', 'top_level_parent_page', 'top_level_parent_page', plugins_url( '/moja-niestandardowa-wtyczka/includes/images/menu-icon.png ' ) ); add_submenu_page( 'top_level_parent_page', 'Niestandardowa strona podmenu', 'Niestandardowa strona podmenu', 'manage_options', 'custom_plugin_submenu_page', 'custom_plugin_submenu_page_callback' ); } add_action('admin_menu', 'custom_plugin_add_menu_page'); i błąd: > Ostrzeżenie: call_user_func_array() oczekuje, że parametr 1 będzie prawidłowym wywołaniem zwrotnym, > funkcja 'custom_plugin_submenu_page_callback' nie została znaleziona lub nieprawidłowa funkcja > nazwa w D:\xampp\htdocs\localtestsite\wp-includes\plugin.php on line 429


title: Przechwytywanie kliknięcia przycisku „Dodaj multimedia”

text: Staram się nieco uprościć program do przesyłania multimediów dla jednego z moich klientów. Aby to zrobić, próbuję wygenerować nową ramkę przekazującego media przy użyciu 'wp.media...' po stronie klienta js. Ale kiedy klikam przycisk „Dodaj multimedia” na stronie edycji posta, otwierają się oba programy do przesyłania multimediów (wp i moje). Czy istnieje sposób na uniknięcie „domyślnego” programu do przesyłania multimediów, więc wyświetlany jest tylko mój?


title: W jaki sposób Wordpress zapamiętuje, który edytor jest używany?

text: Hej, więc próbuję ustalić, w jaki sposób Wordpress zapamiętuje, który edytor jest używany w konkretnym poście (HTML lub edytor wizualny (tinyMCE)). Kiedy piszesz post, a następnie wracasz, trafia on do ostatnio używanego edytora. Zakładam, że jest to jakiś plik cookie (ponieważ nie mogłem znaleźć żadnych informacji w bazie danych), ale czy ktoś wie, gdzie jest kod tego?