title: Zapobiegaj tworzeniu strony/postu na podstawie stron/postów na użytkownika w jednostce czasu

text: Pracuję nad nowym projektem i chcę, aby użytkownicy mieli dostęp do tworzenia stron w serwisie. Aby uniemożliwić użytkownikom „spamowanie” wielu stron, chciałbym ustawić dzienny limit przesyłania dla każdego użytkownika. Poniżej zamieszczam kod, którego używam, ale nie mogę anulować przesyłania strony, ponieważ zdarzenie jest uruchamiane po utworzeniu strony i dodaniu jej do bazy danych. W najgorszym przypadku mogę przeszukać bazę danych i usunąć dokument, który właśnie utworzyli, ale nie wydaje mi się, żeby to było najlepsze rozwiązanie. Czy istnieje hak podobny do pre_post_update, którego mogę użyć do sprawdzenia i/lub anulowania przesyłania strony? Jeśli nie ma haka, którego mógłbym użyć, czy istnieje lepszy sposób na rozwiązanie tego problemu? add_action( 'save_post', 'check_post_limit' ); funkcja check_post_limit( $post_id ) { global $userdata; globalny $post_type; globalny $wpdb; if( $userdata->ID != 1) { $post_count = $wpdb->get_var( "SELECT count(*) FROM $wpdb->posts WHERE DATE(post_modified) = DATE(NOW()) AND post_author = $userdata ->ID" ); } if( $post_count > 3 ) { wp_die(); //nie będzie działać, ponieważ strona jest już w bazie danych } }


title: URL archiwum wielu tagów Woocommerce

text: Jestem ciekaw, czy istnieje łatwy sposób na skonfigurowanie WooCommerce, aby wyświetlać stronę archiwum wielu różnych tagów. Na przykład adres URL, taki jak http://www.domain.com/products/?tag="toys"&tag="electronics", wyświetli stronę archiwum dla zabawek i elektroniki. To, co naprawdę staram się zrobić, to mieć formularz (Gravity Forms), który wysyła użytkowników do określonych grup produktów według tagów na podstawie ich odpowiedzi na krótki kwestionariusz.


title: Pre_Get_Posts zamówienie DESC nie jest rejestrowane

text: Stworzyłem funkcję filtrującą, która filtruje post typu `items` według jego meta wartości `_item_price`. Problem polega na tym, że działa tylko w porządku rosnącym i nie jestem pewien dlaczego. Moja funkcja `pre_get_posts` wygląda tak: function frontend_items_filter( $query ) { global $page_items_id if(!is_page($page_items_id)) return; if($query->query_vars['post_type'] == 'items' && isset($_GET['filter'])){ $sort = $_GET['item_sort']; // Ustaw parametr porządkowania if(isset($_GET['item_sort']) && !empty($_GET['item_sort'])){ switch($_GET['item_sort']){ case 'price_lowest': $query- > set('meta_key', '_item_price'); $query->set('orderby', 'meta_value_num title'); $query->set('zamówienie', 'ASC'); przerwanie; wielkość liter 'price_highest': $query->set('meta_key', '_item_price'); $query->set('orderby', 'meta_value_num title'); $query->set('zamówienie', 'DESC'); przerwanie; domyślnie: $query->set('orderby', 'post_date title'); $query->set('zamówienie', 'ASC'); } } } return $zapytanie; } add_action( 'pre_get_posts', 'frontend_items_filter' ); Zanim zapiszę moją meta ceny, sprawdzam, czy jest to `is_numeric()`. Próbowałem wydrukować moje zapytanie i uruchomić SQL bezpośrednio w PHPmyadmin. Jeśli wezmę poniższy SQL i zmienię ASC na DESC, w moim PHPmyadmin wyniki się nie zmieniają, co jest osobliwe. SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WEWNĘTRZNE DOŁĄCZENIE wp_term_relationships WŁ. (wp_posts.ID = wp_term_relationships.object_id) WEWNĘTRZNE DOŁĄCZENIE wp_postmeta WŁ. post_type = 'items' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') AND (wp_postmeta.meta_key = '_item_price' ) GRUPA WG wp_posts.ID ZAMÓWIENIE WG wp_postmeta.meta_value+ LIMIT 0, 10 Za każdym razem cofa moje wyniki w `_item_price` w porządku rosnącym (od najniższej ceny do najwyższej ceny). Jaki może być problem? Co jeszcze mogę sprawdzić / zweryfikować? **Edytuj** Próbowałem tego z kilkoma innymi polami, które posiadam i jest to ten sam wynik - pokaże ASC, ale nie DESC.


title: Multisite w chmurze Rackspace (ubuntu lucid)

text: Pierwszy post w tej zadziwiającej wymianie. Cieszę się że tu jestem. Zainstalowałem WP3 na Rackspace Cloud, pod instalacją Ubuntu Lucid, poprawnie skonfigurowałem wszystkie zależności multisite, pomyślnie tworzone są blogi sieciowe, dane są przechowywane w bazie danych, co prowadzi do jednego wniosku dotyczącego mojego niepowodzenia w korzystaniu z blogów sieciowych i że jest to w jakiś sposób powiązane z konfiguracją Apache. Przyznaję, że wciąż jestem wolny na moim Apache, ale dochodzę do celu. Jakieś tropy, którymi możesz się ze mną podzielić? Dziękuję Ci.


title: html mail wysłany za pomocą wp_mail pokazuje zwykły

text: Mam fakturę.html, którą chcę wysłać, używam następującej funkcji, aby zastąpić niektóre rzeczy w foreach html ($variables as $key => $value){ $template = str_replace('{{'.$key.' }}', $wartość, $szablon); } potem wysyłam maila: $to = get_option('admin_email'); $subject = "Ktoś zarezerwowany z ".get_bloginfo('name'); $nagłówki = 'Od: '. $e-mail . "\r\n" . 'Odpowiedzieć do: ' . $e-mail . "\r\n"; $headers .= 'Wersja MIME: 1.0' . "\r\n"; $headers .= 'Typ treści: text/html'; add_filter( 'wp_mail_content_type', 'set_html_content_type' ); function set_html_content_type() { return 'text/html'; } wp_mail($do, $temat, strip_tags($szablon), $nagłówki); poczta, którą otrzymuję w mojej poczcie, jest taka jak ten artykuł o fakturze, na bok, szczegóły, figcaption, rysunek, stopka, nagłówek, hgroup, main, nav, sekcja, podsumowanie { display: block; } audio, canvas, video { display: inline-block; } audio:nie([sterowanie]) { wyświetlanie: brak; wysokość: 0; } [ukryty], szablon { wyświetlacz: brak; } html { rodzina czcionek: bezszeryfowa; -webkit-dostosowanie-rozmiaru-tekstu: 100%; -ms-tekst-dostosuj rozmiar: 100%; } ciało { margines: 0; } a { tło: przezroczyste; } a:focus { zarys: cienka kropkowana; } a:active, a:hover { zarys: 0; } h1 { margines: 0,67em 0; font-size: 2em ... (i reszta css), a potem trochę tekstu html bez tagów html ... więc rozpoznaje html, ponieważ nie pokazuje i takie rzeczy, ale nie używa css ... dlaczego ?


title: Jak utworzyć wiele stron menu administracyjnego najwyższego poziomu, aby przesłać dane do tabeli opcji?

text:
Staram się stworzyć więcej niż jedną stronę opcji najwyższego poziomu w moim motywie wordpress. Ale teraz mogę zapisać dane tylko dla jednego. Jak mogę zapisać dane dla dwóch osób bez konieczności tworzenia paneli z zakładkami? // utwórz własne menu ustawień wtyczki add_action('admin_menu', 'baw_create_menu'); function baw_create_menu() { //utwórz nowe menu najwyższego poziomu add_menu_page('Ustawienia wtyczki BAW', 'Ustawienia BAW', 'administrator', 'baw-settings', 'baw_settings_page'); //ustawienia rejestru wywołań funkcja add_action( 'admin_init', 'register_mysettings' ); } function register_mysettings() { //zarejestruj nasze ustawienia register_setting( 'baw-settings-group', 'new_option_name' ); register_setting( 'baw-settings-group', 'jakaś_inna_opcja' ); register_setting( 'baw-settings-group', 'option_etc' ); } function baw_settings_page() { ?>

Nazwa Twojej wtyczki
 <form method="post" action="options.php"> <?php settings_fields( 'baw-settings -Grupa' ); ?> <?php do_settings_sections( 'baw-settings-group' ); ?>

 Nowa nazwa opcji	 <input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" />

 Niektóre inne opcje	 <input type="tekst" name="inna_opcja" value="<?php echo get_option('inna_opcja'); ?>" />

 Opcje itp.	 <input type="text" name="option_etc" value="<?php echo get_option('option_etc'); ?>" />

 <?php submit_button(); ?> </form>
 <?php } // utwórz drugie niestandardowe menu ustawień wtyczki add_action('admin_menu', 'bax_create_menu'); function bax_create_menu() { //utwórz nowe menu najwyższego poziomu add_menu_page('Ustawienia wtyczek BAX', 'Ustawienia BAX', 'administrator', 'bax-settings', 'bax_settings_page'); //wywołaj funkcję ustawień rejestru add_action( 'admin_init', 'register_settings' ); } function register_settings() { //zarejestruj nasze ustawienia register_setting( 'bax-settings-group', 'option_name' ); register_setting( 'bax-settings-group', 'other_option' ); register_setting( 'bax-settings-group', 'etc' ); } function bax_settings_page() { ?>

Nazwa Twojej wtyczki
 <form method="post" action="options.php"> <?php settings_fields( 'bax-settings -Grupa' ); ?> <?php do_settings_sections( 'bax-settings-group' ); ?>

 Nowa nazwa opcji	 <input type="text" name="new_option_name" value="<?php echo get_option('option_name'); ?>" />

 Niektóre inne opcje	 <input type="text" name="some_other_option" value="<?php echo get_option('other_option'); ?>" />

 Opcje itp.	 <input type="text" name="option_etc" value="<?php echo get_option('etc'); ?>" />

 <?php submit_button(); ?> </form>
 <?php }


title: Zablokowany dostęp do administratora witryny WordPress po włączeniu Force SSL w WordPress Https (SSL)

text: Jestem w strasznej sytuacji. Nie mam dostępu do Site Admin, a rozwiązania oferowane przez zespół wtyczek w ich dokumentacji nie działają. Wypróbowałem obie metody za pomocą Webmatrix. Muszę uruchomić swoją stronę w piątek i nie wiem co robić. Oto, co zasugerowali: Jak zresetować ustawienia wtyczki? Przejdź do `/wp-content/plugins/wordpress-https/wordpress-https.php` i odkomentuj (usuń dwa ukośniki przed) poniższą linię lub przejdź do pliku `wp-config.php` i dodaj tę linię . Uderz w dowolną stronę w swojej witrynie, a następnie usuń ją lub skomentuj ponownie. define('WPHTTPS_RESET', prawda); Ustawienia nie zostaną zapisane! Czy zresetowałeś wtyczkę wykonując powyższe kroki i zapomniałeś skomentować linii z powrotem lub usunąć ją z `wp-config.php`?


title: Jak debugować akcję „save_post”?

text:
Czy można zweryfikować kod PHP? Mam niestandardowy typ posta (film) z niestandardowymi polami Meta. Wszystko działa dobrze, mogę dodawać nowe filmy i detale do niestandardowych Meta Boxów. Mój problem dotyczy przycisku Aktualizuj. Jeśli tworzę nowy film, dodaj informacje i kliknij Aktualizuj, aby uzyskać biały ekran. Wiem, że problem dotyczy pliku function.php i niestandardowego typu posta, ale jak znaleźć błąd? Jeśli sprawdzę źródło białej strony, pokazuje 2 puste wiersze, ale kod nie ma wiodących ani końcowych pustych wierszy. <?php add_action( 'admin_print_styles-post-new.php', 'film_style', 11 ); add_action( 'admin_print_styles-post.php', 'film_style', 11 ); function film_style() { global $post_type; if( 'films' == $post_type ) wp_enqueue_style( 'film-style', get_stylesheet_directory_uri() . '/css/filmMetaBox.css'); } ?> <?php add_action('init', 'film_init'); function film_init(){ $film_labels = array( 'name' => _x('Film', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Films', 'Pojedyncza nazwa typu postu'), 'all_items ' => __('Wszystkie filmy'), 'add_new' => _x('Dodaj nowy film', 'film'), 'add_new_item' => __('Dodaj nowy film'), 'edit_item' => __( 'Edytuj film'), 'new_item' => __('Nowy film'), 'view_item' => __('Wyświetl film'), 'search_items' => __('Szukaj w filmach'), 'not_found' = > __('Nie znaleziono filmów'), 'not_found_in_trash' => __('Nie znaleziono filmów w koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $film_labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capability_type ' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor'), 'has_archive' => 'films', 'register_meta_box_cb' = > 'cd_meta_box_add' ); register_post_type('filmy',$args); } ?> <?php add_action( 'add_meta_boxes', 'cd_meta_box_add' ); function cd_meta_box_add(){ add_meta_box( 'my-meta-box-id', 'Kredyty filmowe', 'cd_meta_box_cb', 'filmy', 'normalny', 'wysoki' ); } function cd_meta_box_cb( $post ){ $values = get_post_custom( $post->ID ); $title = isset( $values['meta_box_title'] ) ? esc_attr( $values['meta_box_title'][0] ): ''; $director = isset( $values['meta_box_director'] ) ? esc_attr( $wartości['meta_box_director'][0] ): ''; $desc = isset( $values['meta_box_desc']) ? esc_attr( $wartości['meta_box_desc'][0] ): ''; wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?>

 Tytuł filmu <input type="text" name="meta_box_title" id="meta_box_title" class ="textInput" value="<?php echo $title; ?>" />

 Dyrektor <input type="text " name="meta_box_director" id="meta_box_title" class="textInput" value="<?php echo $director; ?>" />

 Opis <textarea name="meta_box_desc" id="meta_box_desc" class="textInput" col="100" row="5"><?php echo $desc; ?></textarea>

 <?php } add_action( 'save_post', 'cd_meta_box_save' ); function cd_meta_box_save( $post_id ){ if( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;// Zwolnij kaucję, jeśli robimy autozapis // jeśli nie ma naszej jednorazówki lub nie możemy jej zweryfikować, zwolnij kaucję if( !isset( $_POST['meta_box_nonce']) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce') ) return; if( !current_user_can( 'edit_post' ) ) return;// jeśli nasz aktualny użytkownik nie może edytować tego posta, kaucja $allowed = array( // teraz możemy faktycznie zapisać dane 'a' => array( // on zezwól na tagi 'href' => array() // a te kotwice mogą mieć tylko atrybut href ) ); if( isset( $_POST['meta_box_title'] ) )//jeśli zestaw danych zapisz go. update_post_meta( $post_id, 'meta_box_title', wp_kses($_POST['meta_box_title'], $allowed) ); if( isset( $_POST['meta_box_director'] ) ) update_post_meta( $post_id, 'meta_box_director', wp_kses( $_POST['meta_box_director'], $allowed ) ); if( isset( $_POST['meta_box_desc'] ) ) update_post_meta( $post_id, 'meta_box_desc', wp_kses( $_POST['meta_box_desc'], $allowed ) ); } ?>


title: Mapowanie domeny Wordpress mu

text: Zadałem to pytanie na stronie wsparcia wtyczek, ale nie mogę uzyskać odpowiedzi :/ Czy można użyć wtyczki mapowania domen do mapowania domen w Wordpress (multisite), które są mapowane na domeny z podkatalogiem? Mogę uzyskać adres foo.example.com do mapowania, ale nie mogę uzyskać adresu example.com/foo do mapowania z blogs.mywebsite.com/bar Otrzymuję przekierowanie z powrotem do trasy witryny blogs.mywebsite.com . Używam najnowszego wordpressa i najnowszej instalacji wtyczki mapowania domeny wordpress. Czy to, co próbuję zrobić, jest osiągalne?


title: zadzwoń na powitanie admina w innym miejscu

text: Wyłączyłem adminbar wordpress dodając ten filtr: add_filter('show_admin_bar', '__return_false'); Ale nadal chcę używać tego powitania w innym miejscu. Przez powitanie rozumiem rozwijane menu, które mówi: Witaj admin. Czy jest na to prosty sposób?


title: Wyklucz kategorie ze strony głównej, ale nie z paska bocznego

text: Chciałbym wykluczyć kategorie z mojej strony głównej, ale chcę, aby nadal były wyświetlane na pasku bocznym wyświetlanym na stronie głównej, jak mogę to zrobić? W tej chwili mój kod wyklucza się zarówno z obszaru zawartości, jak i paska bocznego, a ja umieszczam kod w pliku functions.php: function exclude_category_home( $query ) { if ( $query->is_home ) { $query->set( 'kot', '-5, -34' ); } return $zapytanie; } add_filter( 'pre_get_posts', 'exclude_category_home' );


title: Jak zmienić adres URL logo logowania i tytuł kursora?

text: Próbuję zmienić adres URL logo logowania i tytuł kursora. Używam poniższego kodu, ale `return bloginfo('url');` i `return bloginfo('name');` nie wyświetlają pożądanych `href` i `title`. Używam też motywu potomnego, jeśli to w ogóle ma znaczenie. Czego muszę użyć zamiast `return bloginfo('url');` i `return bloginfo('name');`? /* == Zmień adres URL logo ==============================*/ function my_url_login(){ return bloginfo('url' ); } add_filter('login_headerurl', 'my_url_login'); /* == Zmień tekst najechania na adres URL logo ==============================*/ function my_url_login_hover(){ return bloginfo(' Nazwa'); } add_filter('login_headertitle', 'my_url_login_hover');


title: Woocommerce zawiera niestandardowy arkusz stylów po stylizacji woocommerce

text: Po aktualizacji do WC 2.1.2 moja stylizacja wydaje się być zdominowana przez standardową stylizację WC. Czy istnieje sposób na obejście standardowej stylizacji WC bez korzystania z rozwiązań typu „!ważne” lub innych hackowych metod? Może przez umieszczenie go w kolejce w określony sposób w `functions.php`? Wiele osób zaleca wyłączenie stylów WC i skopiowanie wszystkich stylów do własnych stylów tematycznych. Ale czy nie jest tak źle, jeśli Woocommerce dodaje funkcjonalność?


title: Usuń link, aby opublikować miniaturę w next_image_link() w single-attachment.php

text:
Dodałem nawigację do single-attachment.php:

<?php previous_image_link(false,' '); ?>

<?php next_image_link(false, ' '); ?>

<a href="<?php echo get_permalink($post->post_parent) ?>" >

 i ustaw w css własny backgorund-image w .previous .next i .close działa dobrze, ale chciałbym usunąć linki do postów z miniaturami. Czy ktoś ma pomysł jak to zrobić?


title: get_edit_post_link zwraca nieprawidłowy identyfikator posta — dlaczego?

text: Mam tablicę identyfikatorów pocztowych, coś takiego: Array ( [0] => 3164 [1] => 3174 [2] => 3176 [3] => 3220 [4] => 3230 [5] => 3232 ) Próbuję pobrać link post-edit-link dla niestandardowego typu posta, ale bez powodzenia podczas używania `get_edit_post_link()` Edytuję kurs CPT i pokazuję rezerwy dla tego kursu. foreach($upil_reserves_course as $pid) { $upil_edit_link = get_edit_post_link($pid); $po = get_post($pid); $nazwa_ucznia = $po->tytuł_postu; //Tytuł posta - kolumna jest używana dla imienia ucznia $pupil_registered = mysql2date( get_option('date_format'), $po->post_date ); //Sformatuj datę z ustawień w admin echo '' . $uczeń_zarejestrowany . '' . $nazwa_ucznia . ''; $id = $po->ID; echo '' . $uczeń_zarejestrowany . '' . $nazwa_ucznia . ''; echo '<godz />'; } Funkcja `pupil_edit_link()` zwraca link z identyfikatorem bieżącego wpisu (identyfikator wpisu kursu, który edytuję), a nie rzeczywistym identyfikatorem tablicy `$pupil_reserves_course`. `$id` zwraca poprawny identyfikator posta ucznia. Mógłbym użyć drugiego linku, ale naprawdę wolałbym użyć `get_edit_post($id)`. Co ja robię źle?


title: Problem z polem wyboru przy użyciu niestandardowego archiwum pól

text:
Jak mogę uzyskać bazę archiwum w polu niestandardowym. Próbuję tego, ale mój hosting mówi, że jest problem z moim kodem, kod powoduje, że wiele wybiera w bazie danych.. Mam 1 typ postu i 2 niestandardowe pola> * Typ posta: produkuj> * pole niestandardowe: culoare> * niestandardowe pole : marime > Jak mogę zrobić poprawny i nie ładować skryptu problematycznego... Czy ktoś może mi powiedzieć, czy robię rong? To mam w function.php /* ------------ Wyszukaj Avansat -----------*/ add_action('pre_get_posts', 'my_pre_get_posts'); function my_pre_get_posts( $zapytanie) { if( is_admin() ) { return; } $meta_zapytanie = $zapytanie->get('meta_zapytanie'); // pobierz oryginalne zapytanie meta // sprawdź typ if( (empty($_GET['culoare'])) && (empty($_GET['marime'])) ) { return; } // pobierz typy jako tablicę // - użyj explode, aby uzyskać tablicę wartości z type=a|b|c $culori = explode('|', $_GET['culoare']); $marimi = eksploduj('|', $_GET['marime']); // ustaw porównanie dla meta_query // - http://codex.wordpress.org/Class_Reference/WP_Query $meta_query['relation'] = 'OR'; foreach( $culori as $culoare ) { $meta_query[] = array( 'key' => 'culoare', 'value' => '"' . $culoare . '"', 'compare' => 'LUBIE', ); } foreach( $marimi as $marime ) { $meta_query[] = array( 'key' => 'marime', 'value' => '"' . $marime . '"', 'compare' => 'LUBIE' , ); } $query->set('meta_query', $meta_query); // zaktualizuj argumenty meta zapytania return; // zawsze zwracaj } w moim pliku archiwum php mam to <?php $field = get_field_object('culoare'); $values = explode(',', $_GET['culoare']); ?>
 <form> <zestaw pól> <legend>Cauta dupa culoare:</legend> <?php if (!empty($pole['wybory'])) : $i = 0; foreach( $pole['wybory'] as $choice_value => $choice_label ): ?> <?php $culoareIndex = strtolower($choice_value); $i++; ?> <input type="checkbox" name="culoare[]" value="<?=$choice_value?>" id="checkbox-1-<?=$i?>" class="regular-checkbox-< ?=$culoareIndex?>" <?php if( in_array($choice_value, $values) ): ?> zaznaczone="zaznaczone" <?php endif; ?> /> <label for="checkbox-1-<?=$i?>"> <?php endforeach; endif; ?> </fieldset> </form>  Wybór podany przez mojego dostawcę usług hostingowych: 15561572 cinemago_ localhost cinemago_c 1157 Zapytanie SELECT post_id, meta_key, meta_value FROM co_postmeta WHERE post_id IN (32 101) ORDER BY meta_id ASC 15561580 cinemago_ localhost cinemago_c 1156 Zapytanie SELECT post_id_meta meta_key, FROM WHERE post_id IN (32 101) ORDER BY meta_id ASC 15561603 cinemago_ localhost cinemago_c 1155 Zapytanie SELECT post_id, meta_key, meta_value FROM co_postmeta WHERE post_id IN (32 101) ORDER BY meta_id ASC


title: Niestandardowy typ posta z hierarchiczną strukturą adresu URL taksonomii

text: Kto może mi pomóc w dotarciu do drugiej struktury permalinków mojej witryny Wordpess: * http://www.somesite.com/custom-post-type/some-tax/some-sub-tax/some-sub-tax/post-name / * http://www.somesite.com/custom-post-type/some-tax/some-sub-tax/some-sub-tax/ * http://www.somesite.com/custom-post-type /some-tax/some-sub-tax/ * http://www.somesite.com/custom-post-type/some-tax/ * http://www.somesite.com/custom-post-type/


title: Nadmiar pamięci używany przez update_option()

text: Jestem nowszym programistą WP, próbującym owinąć głowę wokół tego, jak przechowywać informacje w tabeli opcji, aby obsługiwać wtyczkę, którą piszę. Niestety próba UPDATE tabeli opcji powoduje awarię mojej witryny z powodu przekroczenia limitów pamięci. Poniższa funkcja pochodzi z mojej klasy, która potrzebuje możliwości aktualizacji wartości opcji. Napisałem to, aby móc nadpisać wartość dowolnej pojedynczej pary klucz/wartość w tablicy opcji. funkcja prywatna my_update_option($str_key, $str_value) { $arr_options = get_option( 'my_options' ); $arr_options[$str_key] = $str_value; update_option( 'moje_opcje', $arr_options ); } BEZ wywołania funkcji update_option() jedna z moich wtyczek pamięci mówi, że używam 64.01 z 128M dozwolonych limitów pamięci PHP na serwerze. Jednak jak tylko użyję funkcji update_option(), strona zawiesza się z następującym błędem. Błąd krytyczny PHP: wyczerpano dozwolony rozmiar pamięci 134217728 bajtów (próbowałem przydzielić 17652686 bajtów) w [.......] Wiem, że _muszę_ robić tutaj coś strasznie złego, ale na podstawie wszystkiego, co przeczytałem wcześniej czuję, że to powinno działać. Dlaczego u licha to wywołanie funkcji nagle dodaje ponad 100 mln wymaganej pamięci? Nie interesuje mnie "po prostu zwiększ limit pamięci", aby rozwiązać problem - chcę wiedzieć, DLACZEGO to się zawiesza, abym mógł lepiej napisać i zapobiec wykorzystaniu tak dużej ilości pamięci. Dziękuję!


title: Miniatury nie są przycinane nawet po wybraniu opcji „Przytnij miniaturę do dokładnych wymiarów”

text: Przenoszę witrynę Wordpress z jednej domeny do drugiej. W starej domenie wersja WP to 3.5.2, podczas gdy w nowej domenie wersja WP to 3.8.1. Istnieje strona o nazwie „2002”, która zawiera tylko galerię obrazów. Kod tekstowy wygląda mniej więcej tak: [gallery columns="6" ids="318,319,320,321,322"] W starej witrynie wygląda to tak: ![Widok siatki miniatur w starej witrynie](http://i.stack.imgur .com/e9EJY.png) w nowej witrynie wygląda to tak: ![Widok siatki miniatur w nowej witrynie](http://i.stack.imgur.com/cAUG8.png) Ustawiłem szerokość rozmiaru miniatur i wysokość do 150 oraz zaznaczono _Przytnij miniaturę do dokładnych wymiarów (zwykle miniatury są proporcjonalne)_ w Ustawienia -> Ustawienia multimediów. Zregenerowałem również miniatury za pomocą wtyczki po nim. Ale nadal pokazuje to samo. Brakuje mi czegoś w nowej witrynie? * * * ### Aktualizacja: Nie myślmy, że przeniosłem stronę. Co zrobiłem to: stworzyłem nową stronę. Dodano galerię obrazów. Ustaw maksymalną szerokość i wysokość. Zregenerowane obrazy. Ale nie przycina obrazów, jak widać na drugim obrazie. FYI: zainstalowałem aplikację Jetpack (jeśli może to powodować ten problem)


title: Filtr do zmiany ustawień MediaElement.js

text: Próbuję zmienić niektóre ustawienia, które są ładowane za pomocą MediaElement.js. Nie mogę znaleźć filtra ani podpięcia do zmiany załadowanych ustawień. Jedynym sposobem, w jaki mogłem dostosować ustawienia, jest otwarcie podstawowego pliku MediaElement.js i zmiana tam ustawień. Oczywiście nie jest to idealne rozwiązanie, ponieważ jestem zmuszony edytować podstawowy plik WordPressa, który zostanie nadpisany podczas aktualizacji. Jak mogę zmienić ustawienia za pomocą filtra, aby moje ustawienia nie zostały utracone? Próbuję ustawić enableKeyboard: false


title: W jaki sposób WordPress manipuluje postami tak, jakby były folderami?

text: Jak wiecie, post WordPress zwykle można zobaczyć, przechodząc do linku podobnego do tego: myblog.com/2014/03/27/sample-post/ Nie ma folderu o nazwie `2014`, `03`, `27` lub `przykładowy post` na blogu. Do tej pory używałem czegoś takiego: `page.php?post_id=55`. W jaki sposób WordPress i inne witryny (myślę, że witryny StackExchange również to robią) robią to?


title: Zezwalaj rolom poniżej administratora na dodawanie tylko subskrybentów

text: Chcę nadać grupie typów użytkowników (Edytor + rola niestandardowa) możliwość add_users /create_users. Jedynym haczykiem jest to, że chciałem ograniczyć tę możliwość tylko do dodawania użytkowników typu „subskrybent” i nic ponad to. Czy jest na to sposób?


title: Wiele unikalnych profili autorów

text: Chciałbym, aby wiele profili użytkowników było unikalnych, bez użycia instrukcji php "if/then/else" w szablonie author.php? Wszystko czego potrzebuję to możliwość stworzenia dwóch różnych typów profili.


title: Czy mogę używać wielu nav_walkerów?

text: Pracuję nad projektem i doszedłem do wniosku, że muszę użyć 3 nav walkerów: * jeden do edycji i * 2 do formatowania HTML `class MY_Walker_Nav_Menu_Edit extends Walker_Nav_Menu {} // to rozszerza menu edycji i dodaje trochę niestandardowych fields` następna to `class MY_Walker_Nav_Menu extends Walker_Nav_Menu {} // to rozszerza formatowanie HTML w interfejsie użytkownika dla głównej nawigacji i używania niestandardowych wartości pól` ostatnia to `class MY_Walker_Nav_Menu_Footer extends Walker_Nav_Menu {} // tak samo jak powyżej używane dla innego menu w stopce` Obecnie wszystkie chodziki w jednym pliku i to nie działa. Doceniam każdą sugestię.


title: Zmiana opcji widżetu przez functions.php, gdy nie ma hooków

text: **Problem** : zmiana opcji widżetu za pomocą niestandardowej funkcji w functions.php, gdy nie ma użytecznych hooków i występuje wiele wystąpień tego samego widżetu (multiwidget). Wymagałoby to: 1. Pobranie opcji z "widget_some-widget" w tabeli "wp_options". (Zwrócona opcja zawierająca ciąg ustawień (w postaci zserializowanej) powtórzona kilka razy, odpowiadająca kilku unikalnym wystąpieniom tego samego widżetu.) 2. Zmiana wartości powiedzmy trzeciego wystąpienia instancji opcji o nazwie `jakaś_nazwa` ze „stare -wartość" na "nowa-wartość", a druga o nazwie "jakaś_inna_nazwa", od "jakaś-stara-wartość" do "jakaś-nowa-wartość". (Może być tak, że każde wystąpienie widżetu ma swój własny identyfikator w zserializowanym ciągu opcji, który można jakoś rozpoznać?) 3. Aktualizacja bazy danych ze zmienionymi opcjami, czyli coś w tym stylu - function change_widget_configuration() { $options = get_option ('widget_jakiś-widget'); // [kod do przeanalizowania ciągu $options, aby zapewnić, że wartości 'jakaś_nazwa' i 'jakaś_nazwa' mają zmienione wartości] /* trzecie wystąpienie */ $options['jakaś_nazwa'] = 'nowa wartość'; /* trzecie wystąpienie */ $options['inna_nazwa'] = 'nowa wartość'; update_option('widget_some-widget', $options); } Ciąg serializowanych opcji widżetu może wyglądać mniej więcej tak (bez wielokropka) - `i:3;a:20:{s:5:"title";s:8:"Mój tytuł";s:9:"jakaś_nazwa ";s:11:"Część tekstu";s:15:"jakaś_inna_nazwa";s:2:"17";` [...] `s:14:"more_from_this";s:29:"Więcej artykułów na ten temat";}s:12:"_multiwidget";i:1;}` Jakie podejście można zastosować (z powyższym zakomentowanym kodem), aby rozwiązać ten problem? * *Byłoby to bardzo przydatne do kontrolowania wyjścia widżetów innych firm (które nie mają żadnych przydatnych zaczepów) bez konieczności zmiany ich kodu lub powtarzania dużych fragmentów w functions.php


title: Pomóż wyświetlić obraz w jednym poście za pomocą powiększenia obrazu javascript..?

text: Czy ktoś może mi pomóc zaimplementować pojedynczy obraz posta z funkcjami JavaScript z powiększeniem obrazu, które znalazłem tutaj: http://www.housetohome.co.uk/galleries/bedroom/adult/Relaxed_country_bedroom_31391.html Dzięki max


title: Jak skierować motyw potomny za pomocą get_bloginfo();?

text: W poniższym kodzie (który znajduje się w moim pliku `functions.php`), w odniesieniu do `('.get_bloginfo('template_url').'`, próbuję skierować mój motyw potomny, ale wciąż pojawia się jako motyw nadrzędny /* == Niestandardowe logo logowania ==============================*/ function custom_login_logo() { echo ' <style> .login h1 a { background:url('.get_bloginfo('template_url').'/images/logo-white.png) 0 0;background-size:218px 32px;height:32px;margin-bottom:10px ;margin-left:20px;padding:0;width:218px } </style>'; } add_action('login_head', 'custom_login_logo'); Jak mogę ustawić go tak, aby był skierowany do folderu motywu motywu podrzędnego?


title: Jak dodać/zapisać pole niestandardowe w ustawieniach/profilu użytkownika „Lista pól wyboru”

text: Pracowałem nad niestandardowym systemem dla mojej witryny, w którym użytkownicy mogą mieć oddzielne konto, ustawienia i stronę profilu, aby moja witryna była bardziej interaktywna i miała charakter społecznościowy. z kilkoma innymi dodatkowymi rzeczami. Jestem nowy w kodowaniu, udało mi się stworzyć strony profilowe itp. W tej chwili utknąłem w dodawaniu listy znaczników wyboru do strony ustawień użytkownika. gdzie użytkownik może wybrać wiele tagów jako zainteresowania.. dzięki czemu mogę ich użyć, aby losowo wyświetlać mu polecane posty na stronie jego konta . udało mi się dodać dwa dodatkowe pola (Twitter/facebook) na stronie ustawień z tym kodem: function add_bkmrks_contactmethod($bcontactmethods) { $bcontactmethods['Twitter'] = 'Twitter'; $bcontactmethods['Facebook'] = 'Facebook'; zwróć $bcontactmethods; } add_filter('user_contactmethods','add_bkmrks_contactmethod',10,1); i można je łatwo wywołać na stronach, używając `$userinfo->Twitter` itp., ale nie mam pojęcia o checkboxlist... i wywołaniu tablicy itp. Jeśli natrafiliście na jakiś artykuł lub fragment kodu, który mogę pomóc mi rozwiązać ten problem. Będę wdzięczny :) pozdrawiam Ayaz


title: Cytaty blokowe przyjazne dla kodu

text: Mam własny blog Wordpress (znajdujący się pod adresem http://www.dougmolineux.com/wp, jeśli jesteś zainteresowany :) Umieściłem tam dużo fragmentów kodu, ponieważ jestem programistą. Jak sprawić, by te „fragmenty” kodu były przyjazne? W tej chwili używam prostego cytatu blokowego wokół każdego z nich i konwertuje wszystkie pojedyncze i podwójne apostrofy na dziwne symbole, które nie będą działać, gdy kod zostanie faktycznie skopiowany i wklejony. Chcę przekonwertować na nowy motyw lub zmienić istniejący. Dziękuję!


title: Przekazywanie wartości między załączającymi i załączanymi skrótami

text: Czy istnieje sposób na przekazywanie danych między załączającymi i załączonymi skróconymi kodami? Na przykład chciałbym zrobić coś takiego: [boxes per_row=4] [box]foo[/box] [box]bar[/box] [box]baz[/box] [box]quux[/box] [ /boxes] I mieć możliwość nadania różnym stylom różnych stylów (np. class='first', class='last', itp.). Dodatkowo chciałbym móc utworzyć nowy wiersz, gdy bieżący wiersz jest pełny. Zasadniczo chcę, aby rodzic mógł w jakiś sposób zostać oddzwoniony, gdy woła się dziecko.


title: 6 Ostatni post na stronie głównej z polecanym obrazem lub obrazem treści

text:
W moim frontpage.php chcę 6 ostatnich blogów z wyróżnionym obrazem lub pierwszym obrazem treści, a jeśli nie są one dostępne, nie chcę pokazywać tego konkretnego postu. Ale nie dostaję pierwszego obrazu treści. Chcę również pominąć wpis w galerii, ale nie działa poprawnie. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/1VySO.png)

  <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php static $liczba = 0; if ($liczba == "6") { przerwa; } else { ?>  <?php if (!has_post_thumbnail()) { Continue; } else { if (strpos($post->post_content, '[galeria') !== false) { kontynuuj; } else { ?>

  <?php if ((function_exists('has_post_thumbnail')) && (has_post_thumbnail())) { ?> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(); ?>  <?php } ?>  <?php /* Pobierz nazwę pierwszej kategorii Pobranie wszystkich kategorii dla postu i wyświetlenie pierwszej kieszeni */ the_category(', '); ?>

<?php echo get_the_time('d ') ?>

<?php echo get_the_time('M') ?>

<?php echo get_the_time('Y') ?>

przez <?php the_author_posts_link(); ?>

<?php comments_popup_link('Brak komentarzy.', '1 komentarz.', '% komentarzy.'); ?>

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

 <?php the_excerpt(); ?> <a class="czytaj-więcej" href="<?php the_permalink() ?>"><?php echo READ_MORE; ?>

  <?php } } ?> <?php $count++; } ?> <?php endwhile; else: ?>

 <?php echo PRZEPRASZAMY_NIE_POST_MATCHED_TWOJE_KRYTERIA; ?>

 <?php endif; ?>


title: Wordpress jako mocno spersonalizowany portal do zarządzania treścią i trochę jak dropbox

text: Moje tło nie jest związane z web-developerem (ani interfejsem użytkownika, ani backendem), chociaż trochę bawiłem się w PHP. W razie potrzeby pomóż mi poprawić to pytanie. Próbuję ocenić, czy Wordpress (z wyborem niektórych wtyczek) może być dobrym wyborem jako mocno spersonalizowany portal do zarządzania treścią, graniczący z niektórymi funkcjonalnościami "Dropbox-like" (usługa przechowywania w chmurze). Poszukiwany przeze mnie portal internetowy umożliwiłby autoryzowanym subskrybentom przesyłanie swoich plików, a jednocześnie umożliwiałby administratorowi przesyłanie, usuwanie, archiwizowanie takich plików z kont subskrybentów. Subskrybenci mają dostęp tylko do treści na swoim koncie, chyba że zostali zaproszeni przez innego subskrybenta. Spodziewam się tysięcy, a nawet dziesiątek tysięcy takich subskrybentów. **Edytuj _(21 lipca 2013)_** Aby dodać wymagania, które początkowo nie były zbyt jasne, potrzebuję Wordpressa również do innych rzeczy, chociaż zawsze mogłem ograniczyć użycie Wordpressa tylko do tych dodatkowych funkcjonalności (czego można się spodziewać po typowej witrynie Wordpress): * Selektywnie publikuj (niektóre) pliki i zapraszaj do komentowania -- w serwisach społecznościowych s.a. Facebook, Twitter, Google+ itp. * Twórz pamiętniki z wyczuciem osi czasu wydarzeń, z odniesieniem do plików – niektóre wpisy w pamiętniku mogą być publiczne/udostępnione znajomym lub być całkowicie prywatne * Prowadź witrynę sklepu e-commerce , za pośrednictwem którego firma hostingowa może sprzedawać zwiększone miejsce na dane, z wyjątkiem rynku, na którym subskrybenci mogą wystawiać niektóre treści/pliki (np. rzadkie stare zdjęcia/filmy) na sprzedaż, aby inni subskrybenci mogli je kupić. Wreszcie, jeśli coś takiego można osiągnąć za pomocą Wordpressa, czy ktoś mógłby zasugerować wtyczki, na które mógłbym spojrzeć? Jeśli istnieją alternatywy, wiedza o nich też by pomogła. Czy istnieje skonsolidowane źródło wtyczek Wordpress ze szczegółowym opisem, dokumentacją, przypadkami użycia i być może kilkoma FAQ (w sensie CPAN, dla osób zaznajomionych ze światem Perla).


title: Przepisz niestandardowy typ posta za pomocą niestandardowej taksonomii i niestandardowej meta!

text: Mam niestandardowy typ posta o nazwie „zdjęcia”. Mam niestandardową taksonomię o nazwie „seria”. Każdy post będzie miał niestandardowy element meta o nazwie „_photo_number”. Chcę, aby moje adresy URL wyglądały mniej więcej tak: Pojedyncze zdjęcie: http://example.com/%series_slug%/%_photo_number%/ Wszystkie zdjęcia w serii: http://example.com/%series_slug%/ Mam przyjrzał się `add_rewrite_rule` i filtrowaniu `post_type_link`, a także bawił się opcjami przepisywania podczas konfigurowania post_type i podatku. Po prostu nie mogę pojąć właściwej kombinacji. Jakieś pomysły? Z góry dziękuję.


title: Paginacja WordPress z niestandardowym typem posta?

text: Przeszukałem całą sieć, aby znaleźć jakieś rozwiązanie, ale żadne z nich nie działa dla mnie, czy ktoś może mi w tym pomóc i wyjaśnić, co jest nie tak? Spędziłem 3 godziny na debugowaniu i nie znalazłem problemu. Oto mój kod: global $paged; globalne $wp_query; wp_reset_query(); $per_page = get_option('posts_per_page'); $cat_cars = get_term_by('slug', 'cars', 'category'); $page_links_total = ceil($cat_cars->count / $per_page); $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $args = array( 'post_type' => 'cars', 'post_status' => 'publish', 'cat' => $cat_cars->term_id, 'orderby' => 'date', 'order' => 'DESC ', 'posts_per_page' => $per_page, 'paged' => $paged ); $page_links = paginate_links(array( 'base' => add_query_arg('paged', '%#%'), 'format' => '', 'prev_text' => __('«'), 'next_text' => __('»'), 'end_size' => 2, 'mid_size' => 1, 'type' => 'plain', 'total' => $page_links_total, 'current' => $paged)); $car_query = nowe WP_Query($args); A później nazywam `have_posts`, `the_post` itd. Ta część działa, dopóki nie przejdę do drugiej strony mojej paginacji i nic nie znajdę.


title: Usuń niestandardową podstawę taksonomii

text: Używam niestandardowych taksonomii z WordPress 3.0.4 Zastanawiam się, czy ktoś wie, jak usunąć bazę taksonomii z adresu URL? Widziałem wtyczki, które robią to dla kategorii i tagów, ale nie dla niestandardowych taksonomii. Na przykład mam niestandardową taksonomię o nazwie „miasta”. Chciałbym, aby struktura mojego adresu URL była następująca: mojadomena.com/nowawyork zamiast mojadomena.com/miasta/nowawyork. Czy jest jakaś funkcja lub coś, czego mogę użyć?


title: register_post_type i argument „register_meta_box_cb”

text: Właśnie próbowałem po raz pierwszy rozszerzyć niestandardową stronę admin-UI-edit-page typu post o kilka pól „meta” (jeśli to właściwe słowo). register_post_type( 'post_type', array( 'register_meta_box_cb' => 'additional_input_field' ) ); function extra_input_field() { global $post; $custom = get_post_custom( $post->ID ); $długość = $niestandardowa["długość-typu_postu"][0]; return print '<label>Długość:</label><input name="post_type-length" value="'.$length.'" />'; } Do tej pory nie widziałem żadnej dokumentacji ani przykładu, jak z tego korzystać. Spojrzenie na jądro pokazało mi, że powinno być równe: add_action( 'add_meta_boxes'.$post_type, 'additional_input_field', 10, 1 ); Odpowiedni zaczep można znaleźć w (core) `~/wp-admin/edit-form-advanced.php` linii #163. Wywołanie add_action w (core) `~/wp-include/post.php` linii #877. Jedynym problemem jest to, że nie działa zgodnie z oczekiwaniami. Pole jest ładowane przed (wizualnie: na górze) wszystkim innym. Jeśli spróbuję podłączyć go bezpośrednio do `'add_meta_boxes'.$post_type`, nic nie otrzymam. _Uproszczone przykłady w tym tekście, aby pokazać, o co mi chodzi. Literówki mogą tam być, ale nie ma to znaczenia. Wywołanie zwrotne fn jest pobierane z przykładowego kodu tutaj._


title: uporządkuj posty według daty, np. Craigslist

text: obraz jest wart tysiąca słów. Spójrz na to. wiesz jak Craigslist ma posty uporządkowane według daty ..ex `Wt 3` linki do postów na wtorek `Środa 4` linki do postów na środę `Czwartek 5` linki do postów na czwartek Wiem, że posty Wordpress są domyślnie zorganizowane według daty. spójrz na to ![tekst alt](http://i.stack.imgur.com/6Wm2Q.png) jakieś pomysły? btw gdyby to nie miało sensu daj mi znać. tx


title: Usuń/dodaj widżety z/do puli dostępnych widżetów

text: Czy można usuwać/dodawać widżety z/do puli Dostępne widżety (przez wtyczkę lub edycję plików podstawowych)? Istnieją 3 pliki widżetów znajdujące się pod adresem: /wp-includes/widgets.php /wp-admin/widgets.php /wp-admin/includes/widgets.php Próbowałem zmienić zarówno kod, jak i zmienne widżetów, ale nic się nie stało. Dziękuję


title: Wiele informacji przy użyciu niestandardowego typu postu

text: Zrobiłem nowy typ niestandardowy, działa dobrze. Moje pytanie brzmi: jeśli chcę dodać w jednym poście ten niestandardowy typ z różnymi informacjami około x razy ... jak mam to zrobić? **Przykład:** Załóżmy, że mam "Laptopy o obniżonej cenie" z: * Nazwa * Cena * Obrazek * Opis Chcę napisać post, w którym opublikuję 4 laptopy i chcę wypełnić 4 różne informacje. Chcę, żeby były zamieszczone w tym samym artykule, a nie 4 osobno. Każdy z nich pojawi się w osobnej stylizacji, ale z tym samym designem. Powiedzmy, że małe pudełko. Jakieś pomysły/sugestie?


title: Dodawanie metaboxów do niestandardowego typu postu

text: Funkcja `add_meta_box()` wymaga funkcji zwrotnej jako argumentu do wyświetlenia pola meta na stronie edycji wpisu typu niestandardowego. Mój problem polega na tym, że nie mogę nic wyświetlić, powiedzmy w `input type=text` (na przykład wartości już opublikowanego posta), ponieważ nie mam identyfikatora postu... `get_post_meta` potrzebuje identyfikatora postu, aby wyświetlić wartości! Jak uzyskać identyfikator postu?


title: Jak mogę się upewnić, że wtyczka ładuje skrypt po jQuery

text: Mój klient ma witrynę z najnowszą wersją WordPressa z Thesis. Obecnie jQuery jest ładowane w stopce, jako ostatni ładowany skrypt. Nie jestem pewien, co powoduje ładowanie jQuery - prawdopodobnie Thesis lub coś innego. Dodajemy wtyczkę, która ma skrypt, który się ładuje. Skrypt jest ładowany w stopce. Ale jest ładowany PRZED jQuery, więc kończy się niepowodzeniem. Wiersz enqueue scripts jest następujący: add_action('wp_enqueue_scripts', array($this, 'stb_enqueue_scripts')); Edytowałem to tak: $deps = array("jquery"); add_action('wp_enqueue_scripts', array($this, 'stb_enqueue_scripts', $deps)); Ale to nie rozwiązało problemu - w rzeczywistości skrypt w ogóle się nie ładował. Jak mogę się upewnić, że ten skrypt ładuje się po jQuery? Dziękuję Ci!!


title: Automatyzujesz przestarzałe sprawdzanie połączeń?

text: Niedawno zacząłem ulepszać i ponownie wypuszczać niektóre porzucone (ale ważne) wtyczki do WordPressa. Gdy przechodzę przez kod poprawiający inne błędy, moje IDE podświetla dla mnie przestarzałe wywołania funkcji, co jest fantastyczne! Naprawiam je natychmiast, gdy je znajdę i ruszam dalej. Wszystko, czego _nie_ wyłapuję, jest wywoływane przez wtyczkę Log Deprecated Calls lub przez ustawienie `WP_DEBUG` na true. Ale oba te podejścia są wysoce nieskuteczne. Z jednym, muszę faktycznie otworzyć plik PHP i ręcznie przeskanować każdy wiersz kodu w poszukiwaniu przestarzałego wywołania. W przypadku drugiego muszę poczekać, aż przestarzałe wywołanie zostanie wywołane przez WP, zanim zostanie ono oznaczone przez system. Czy istnieje prostszy sposób lub jakieś narzędzie, którego mogę użyć, które skanuje za pomocą wtyczek i motywów WP i identyfikuje użycie przestarzałych funkcji?


title: Czy istnieje wtyczka Wordpress (a może wtyczka społecznościowa Facebooka), która umożliwia użytkownikom polubienie postów, komentarzy i odpowiedzi?

text: Zasadniczo powinna to być wtyczka pozwalająca użytkownikom polubić różne elementy na stronie: posty, komentarze i odpowiedzi (bbPress). Jakieś sugestie?


title: Jak zmienić adres URL w intranecie

text: Mam zainstalowany blog WordPress na moim komputerze. Otrzymałem od mojego zespołu dziwne wymaganie, ale nie wiem, jak mam je wdrożyć: strony bloga powinny być segregowane pod „blog/” lub podobną subdomeną. Na przykład: http://example.com/blog/hello-world zamiast http://example.com/hello-world Jak mam to zrobić? Strona indeksowa witryny to strona główna WordPressa.


title: Jak wyświetlić niestandardowe taksonomie w postach?

text: Prawie wszystkie motywy domyślnie wyświetlają kategorie (wraz z bezpośrednim linkiem). Szukam podobnego typu kodu do dodania w moim motywie. Skąd mogę to zdobyć? Do tworzenia niestandardowych taksonomii używam wtyczki More Taxonomies.


title: Jak zmienić atrybut tytułu zwracany przez comments_popup_link()?

text: Mogę zmienić etykietę komentarzy, modyfikując Comment(s) z parametru funkcji: `comments_popup_link('No Comments;', '1 Comment;', '% Comments;');` Ale wygląda na to, że atrybut title jest zwracany z Moduły podstawowe. Zaproponuj mi zmianę atrybutu tytułu bez edytowania podstawowych modułów.


title: Jak używać add_action na niestandardowym widżecie?

text: Po pierwsze, miej nadzieję, że spojrzysz na przykładowy widget http://pastebin.com/2cL7BmgF Istnieją opcje męskie i żeńskie. Powiedzmy, że wybieram męski i chcę dodać male.css do `wp_head` Kiedy umieszczam coś takiego w kodzie, to nie działa. add_action('wp_head','load_face'); function load_face() { wp_enqueue_style('styl', WP_PLUGIN_URL.'/sample/'.$sex.'.css', null, null, 'screen'); } Daj mi znać, jaki jest poprawny kod do archiwizacji mojego celu. :)


title: Ogranicz liczbę przyklejonych postów do pokazania

text: Używam przyklejonych postów jako wpisów funkcji na stronie głównej. Chciałbym ograniczyć liczbę przyklejonych postów, aby pokazać dwa ostatnie dwa. Znalazłem ten kod, ale pokazuje się tylko w najnowszym przyklejonym poście. Będę wdzięczny za twoją pomoc. <?php /* Pobierz wszystkie przyklejone posty */ $sticky = get_option( 'sticky_posts' ); /* Sortuj lepki z najnowszymi na górze */ rsort( $sticky ); /* Pobierz 2 najnowsze naklejki (zmień 2 na inną liczbę) */ $sticky = array_slice( $sticky, 0, 2 ); /* Zapytanie o przyklejone posty */ query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) ); ?>


title: Jak usunąć (lub meta noindex) na stronie /?comments_popup=

text: Zauważyłem, że moja witryna zawiera wiele stron takich jak ta: http://example.com/?comments_popup=837 http://example.com/?comments_popup={id strony/postu} Powodują one wiele duplikatów/cienkich treści stron. Chciałbym usunąć lub przynajmniej umieścić w tym meta noindex. Który plik należy edytować? Przypuszczam, że znajduje się w rdzeniu wordpress.


title: Pokaż niestandardowy typ wpisu filtrowany według kategorii

text: Chciałbym mieć niestandardowy typ postu, który zawiera kilka suwaków do wyświetlania na każdej stronie kategorii (dokładnie category.php), po jednym dla każdego zgodnie z planem. Wszystkie suwaki zostały przypisane do powiązanej kategorii. Obecnie używam http://wordpress.org/plugins/custom-post-type-ui/ do stworzenia niestandardowego typu posta o nazwie: slider. A ja mam poniższy kod do wyświetlania wszystkich postów z kategorii podczas naciskania imienia kota w menu. Oczywiście działa dobrze. <?php $kot = pobierz_kategorię(); $kot = $kot[0]; ?> <?php query_posts($query_string . '&cat='. $cat->cat_ID .''); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php the_content(); ?> <?php koniec; w przeciwnym razie: endif; ?> Ale problem polega na tym, że nie mogę filtrować suwaka (niestandardowy typ posta) według kategorii. Gdy wywołam `wp_query`, rozwija wszystkie suwaki i ignoruje mój argument get cat id. Pomyślałem, że powinien pokazywać tylko suwak w określonej kategorii, a nie we wszystkich kategoriach. Proszę więc o zapytanie, aby wywołać tylko prawy suwak.


title: filtruj bazę pętli według określonej kategorii

text: Zamierzam filtrować moją bazę pętli według kategorii, problem polega na tym, że kiedy używam poniższego kodu, wyświetla się cały mój post. // Zapytanie args $custom_cat_args = array( 'posts_per_page' => 15, 'order' => 'DESC', 'orderby' => 'post_date', 'category' => get_cat_ID( 'سیاست' ) ); // Utwórz zapytanie $custom_cat_query = new WP_Query( $custom_cat_args ); // Utwórz pętlę if ( $custom_cat_query->have_posts() ) : while ( $custom_cat_query->have_posts() ) : $custom_cat_query->the_post(); // Normalne znaczniki pętli tutaj // Zamknij pętlę endwhile; endif; // Przywróć $post global wp_reset_postdata();


title: Tworzenie strony z niestandardowymi opcjami motywu

text:
Tworzę motyw dla klienta i ma niestandardową stronę główną, która ma suwak i wyświetla oferowane przez niego usługi. Chcę dodać stronę opcji, na której klient może łatwo aktualizować obrazy suwaków, tytuły usług, opisy i obrazy. Widziałem tę funkcję w innych motywach i mam problem z jej zaimplementowaniem. Przeszedłem przez kilka różnych samouczków i rozumiem, jak dodać stronę do menu, ale nie jestem pewien, jak uzyskać formularz, aby zaktualizować informacje na stronie głównej. Ostatnio dokładnie śledziłem ten samouczek, ale nie mogłem go uruchomić. Kiedy klikam Prześlij, pojawia się komunikat „błąd: nie znaleziono strony opcji”. Widziałem to w podobnym pytaniu tutaj, ale chociaż odpowiedź rozwiązała komunikat o błędzie, nadal nie aktualizowała informacji na stronie głównej. Czy są jakieś pomysły, jak to zrobić? Lub jakieś tutoriale, które byłyby pomocne? Szukałem, ale większość samouczków jest nieaktualna lub dotyczy interfejsu API ustawień, a nie pól niestandardowych. Kod, którego używam, pochodzi z tego samouczka z Webdesigner Depot. **Głównym problemem, jaki mam, jest to, że wprowadzony tekst nie jest zapisywany.** W functions.php: add_action('admin_init', 'theme_options_init'); add_action('admin_menu', 'theme_options_add_page'); function theme_options_init(){ register_setting('sample_options', 'sample_theme_options'); } function theme_options_add_page(){ add_theme_page( __( 'Opcje motywu', 'przykładowy motyw' ), __('Opcje motywu', 'przykładowy motyw'), 'edit_theme_options', 'theme_options', 'theme_options_do_page'); } function theme_options_do_page() { global $select_options; if (!isset($_REQUEST['settings-updated'])) $_REQUEST['settings-updated'] = false; ?>
 <?php screen_icon(); echo "
". __('Opcje niestandardowego motywu', 'niestandardowy motyw')."
";?> <?php if ( false !== $_REQUEST['settings-updated']) : ?>

 <?php_e('Opcje zapisane', 'motyw niestandardowy');?>

 <?php endif;?> <form method="post" action=""> <?php settings_fields('sample_options');?> <?php $options = get_option( 'sample_theme_options'); ?> <tabela>
 <ty zakres ="wiersz"> <?php _e('Wyświetl akapit wprowadzający', 'motyw niestandardowy');?> 	  <input id= "sample_theme_options[showintro]" name="sample_theme_options[showintro]" type="checkbox" value="1" <?php sprawdzone( '1', $options['showintro'] ); ?>

 <ty zakres="row"> <?php _e( 'Akapit wstępny', 'motyw niestandardowy' ); ?> 	  <textarea id="przykładowy_motyw_opcje[introtekst]" class="duży-tekst" cols="50" rows="10" name="przykładowy_motyw_opcje[introtekst]"> <?php echo esc_textarea ( $options['introtext'] ); ?></textarea>

 <input type="prześlij" value="<?php _e( 'Opcje zapisu', 'motyw niestandardowy' ); ?>" / >
 </form>
 <?php } Na górze header.php: <?php $options = get_option('sample_theme_options'); ?> A w home.php: <?php if ($opcje['showintro'] == 1) { ?>
 <?php echo $options['introtext'] ?>

 <?php } ?>


title: filtruj niestandardowy typ wpisu według meta klucza w desce rozdzielczej

text: Szukam sposobu na rozszerzenie e dostosować więcej tego tematu jak filtrować listę postów (w liście postów WP na desce rozdzielczej) za pomocą pola niestandardowego (funkcja wyszukiwania)? Mam niestandardowy typ wpisu na pulpicie nawigacyjnym. Udało mi się mieć małe pole wyszukiwania ze stałą funkcją wyszukiwania do wyszukiwania określonego klucza meta. Rzecz w tym, że formularz wyszukiwania pojawia się na wszystkich stronach /edit.php, podczas gdy potrzebuję go tylko na stronie edit.php typu niestandardowego posta. Próbowałem z if (isset($_GET['post_type']) && $_GET['post_type'] == 'product'), ale to nie działa.


title: Preferowany sposób dołączania zaawansowanych pól niestandardowych do wtyczki?

text: Dlatego buduję wtyczkę dla witryny, która już korzysta z zaawansowanych pól niestandardowych (ACF). Zastanawiam się, jaki byłby najlepszy sposób na włączenie ACF do mojej wtyczki? Witryna używa już ACF, więc czy można dołączyć ACF z katalogu wtyczek, czy też powinienem dodać ACF ponownie?


title: Ukryj niestandardowy typ posta i użyj jego ślimaka w nowym menu wtyczek

text: Chcę użyć niestandardowego typu postu w mojej aplikacji internetowej i chcę użyć tego adresu URL w moim menu wtyczek. Stworzyłem taki niestandardowy typ posta. register_post_type( 'reserve', array( 'labels' => array( 'name' => __( 'Rezerwy' ), 'singular_name' => __( 'Rezerwa' ), 'all_items' => __( 'Wszystkie rezerwy' ), 'add_new' => __( 'Dodaj rezerwę' ), 'add_new_item' => __( 'Dodaj nową rezerwę' ), 'edit' => __( 'Edytuj'), 'edit_item' => __( 'Edytuj Zarezerwuj' ), 'new_item' => __( 'Nowa rezerwacja'), 'view' => __( 'Wyświetl rezerwę'), 'view_item' => __( 'Wyświetl rezerwę'), 'search_items' => __( 'Wyszukaj rezerwy'), 'not_found' => __( 'Nie znaleziono rezerw' ), 'not_found_in_trash' => __( 'Nie znaleziono rezerw w koszu' ), 'parent' => __( 'Rezerwa nadrzędna') ), 'description' => __( 'Tutaj możesz dodać nowe rezerwy' ), 'public' => true, 'show_ui' => false, 'capability_type' => 'page', 'publicly_queryable' => true, 'exclude_from_search' => false, 'hierarchical' => true, 'rewrite' => array( 'slug' => 'reserves', 'with_front' => false ), ' query_var' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'comments', 'excerpt',/*, 'page-attributes'*/ ), 'has_archive' => prawda, 'show_in_nav_menus' => prawda ) ); Zauważ, że ustawiłem show_ui jako false, aby mój nowy niestandardowy typ nie był wyświetlany na pasku bocznym administratora. Teraz tworzę menu moich wtyczek w następujący sposób. $topslug = 'rezerwa/administrator'; add_menu_page('Przegląd rezerwacji', 'Rezerwacja', 'view_reservation_plugin', $topslug, 'show_start_page',RESERVE_URL.'images/menu_icon.png'); add_submenu_page($topslug, 'RESERVE', 'Reserve Builder', 'view_reservation_plugin', 'reserve/manage_reserve', 'show_manage_reserves'); Z powyższego kodu można dowiedzieć się, że stworzyłem menu jako Rezerwacja z dwoma podmenu 1) Przegląd rezerwacji 2) Konstruktor rezerw. Teraz mój problem polega na tym, że chcę zmienić adres URL Konstruktora rezerw. Obecnie jego „admin.php?page=reserve/manage_reserves”. Chcę to zmienić jak 'edit.php?post_type=reserve', abym mógł korzystać z wbudowanej funkcji Wordpress. Powiedz, czy przekazuję 'edit.php?post_type=reserve' w add_submenu_page('edit.php?post_type=reserve', 'RESERVE', 'Reserve Builder', 'view_reservation_plugin', 'reserve/manage_reserve', 'show_manage_reserves') .Menu znika. TIA.


title: Taksonomia niestandardowa pokazuje tylko 0 w autouzupełnianiu dla terminów i „Wybierz spośród najczęściej używanych tagów”

text: Mam niestandardowy typ posta (`rezept`, do którego dodałem niestandardową taksonomię `Allergiefrei`. Jak dotąd to działa. Dodawanie terminów do pola niestandardowej taksonomii też działa, ale autouzupełnianie i 'Wybierz z najczęściej używanych tagów' pokazuje tylko „0”. Oto kod, w którym rejestruję niestandardową taksonomię: function register_rezept_taxonomies() { register_taxonomy( 'Allergiefrei', 'rezept', array( 'label' => 'Allergien', 'rewrite' => array(' slug' => 'alergien') ) ) } add_action('init', 'register_rezept_taxonomies'); Definiuję niestandardowe taksonomie i typ postu we wtyczce.


title: Funkcja poczty nie działa

text: Moja funkcja poczty nie działa. Kiedy przesyłam formularz, jest napisane, że wiadomość została wysłana. Ale nie otrzymywanie. Próbowałem echo, jeśli wiadomość została wysłana. To też działa. Na czym polega problem? Coś z funkcją poczty? <?php $nazwa = $_POST[ 'cuf_sender' . $n]; $email = $_POST[ 'cuf_email' . $n]; $temat = $this->o['subpre'] . ' ' . $_POST[ 'cuf_temject' . $n]; $ msg = $_POST[ 'cuf_msg' . $n]; $dodatkowy = ''; foreach ( $_POST as $k => $f ) { if ( strpos( $k, 'cuf_field_' ) !== false ) { $extra .= $this->o[ substr( $k, 4, 7 ) ] . ": $f\r\n"; } } $headers = "Wersja MIME: 1.0\r\n" . "Odpowiedz do: \"$name\" <$email>\r\n" . "Content-Type: text/plain; charset=\"" . get_settings( 'blog_charset' ) . "\"\r\n"; if (! empty( $from) ) { $headers .= "Od: " . get_bloginfo( 'nazwa' ) . " - $nazwa <$z>\r\n"; } else if ( ! empty( $email )) { $headers .= "Od: " . get_bloginfo( 'nazwa' ) . " - $nazwa <$e-mail>\r\n"; } $fullmsg = "Nazwa: $nazwa\r\n" . "E-mail: $email\r\n" . $dodatkowe . "\r\n" . 'Temat: ' . $_POST[ 'cuf_temject' . $n] . "\r\n\r\n" . wordwrap( $msg, 76, "\r\n" ) . "\r\n\r\n" . 'Odsyłający:' . $_SERVER['HTTP_REFERER'] . "\r\n" . 'Przeglądarka: ' . $_SERVER['HTTP_USER_AGENT'] . "\r\n"; if ( wp_mail( $do, $temat, $fullmsg, $nagłówki, $email ) ) { echo $to; Wyjście();


title: update_field() z problemem z polami repeatera

text: Mam problem z popularną wtyczką Advanced Custom fields próbującą aktualizować/dołączać wiersze w polach repeaterów. Próbuję przenieść wszystkie dane z jednej tabeli do meta użytkownika i ciągle otrzymuję następujący błąd. Catchable błąd krytyczny: Obiekt klasy WP_Error nie mógł zostać przekonwertowany na ciąg w C:\wamp\www\baca\wp-content\plugins\advanced-custom-fields\core\fields_functions.php Nie jestem pewien, czym jestem robię źle, ponieważ śledzę zasoby na http://www.advancedcustomfields.com/resources/functions/update_field/, ale nie działa i nie mam szczęścia z pomocą na ich stronie internetowej. Poniżej znajduje się kod, którego używam. Czy ktoś może zobaczyć, co robię źle? funkcja add_members() { global $wpdb; $results = $wpdb->get_results( "WYBIERZ * Z członków" ); foreach($results as $row) { $new_user = array( 'user_login' => $row->CompanyName, 'user_pass' => wp_generate_password ( 12, false ), 'user_url' => $row->Website, 'user_email ' => $row->E-mail, 'wp_capabilities' => 'Subskrybent' ); $pid = wp_insert_user ($nowy_użytkownik); if($pid) : $field_key = "field_52f4fedbcdb79"; $post_id = $pid; $wartość = get_field($field_key, $post_id); $value[] = array( "more_contacts_name" => $row->ContactName, "more_contacts_email" => $row->ContactEmail, "acf_fc_layout" => "row_1" ); $value[] = array( "more_contacts_name" => $row->ContactName2, "more_contacts_email" => $row->ContactEmail2, "acf_fc_layout" => "row_2" ); update_field( $field_key, $value, $post_id ); endif; } } add_action( 'edit_user_profile', 'add_members' );


title: nie można zastąpić post_types w WP_Query()

text: Tworzę suwak polecanych postów, który zajmuje 4 strony lub posty z kategorii „polecane”. Próbuję użyć WP_Query, ale nie mam radości :( moje zapytanie slidera to: $ml_featured = new WP_Query( array( 'posts_per_page' => 4, 'post_type' => array('page', 'post') , 'category__in' => 22 ) ); if( $ml_featured->have_posts() ) { while( have_posts() ) : $ml_featured->the_post(); // pętla endwhile; } else { // brak postów } fire_PHP pokazuje WP_Query zawiera: WP_Query( zapytanie = array( ['posts_per_page'] => 4 ['post_type'] => array( [0] => 'page' [1] => 'post' ) ['category__in'] => 22 ) query_vars = array( ['posts_per_page'] => 4 ['post_type'] => array( [0] => 'wod' [1] => 'załącznik' ) ['category__in'] => array( [0] => 22 ) Używam Genesis, opierając się na przykładowym motywie potomnym. Aby wyświetlić mój niestandardowy post wpisz 'WOD' na stronie głównej dodałem do functions.php: add_filter( 'pre_get_posts', 'ml_wods_home' ); function ml_wods_home( $query ) { if ( is_home() && false == $query->query_vars['suppress_filters'] ) $query->set( 'post_type', array( 'wod', 'attachment') ); zwróć $zapytanie; } zgodnie z sugestią Justina Tadlocka. Działa to dobrze samo w sobie, ale wydaje się, że przeszkadza w zapytaniu suwaka: Proszę zauważyć, że zapytanie['post_type'] jest nadpisywane przez query_vars['post_type']. Ponadto przeglądarka często się kończy, gdy robię bałagan… Odkryłem, że Michael Fields miał pokrewny problem, opublikował rozwiązanie (które myślę, że wdrażam), ale nie działa dla mnie, a ja nie nie rozumiem.. Czego mi brakuje?! TIA, Tim


title: Posty nie pojawiają się na stronie bloga

text: Jestem w trakcie tworzenia witryny z recenzjami książek dla mojej córki, korzystając z tematu dwudziestego. Z jakiegoś powodu strona "Blog" nie wyświetla żadnego z napisanych przeze mnie postów. Przeszukałem całe forum i próbowałem różnych rzeczy, takich jak dezaktywacja wszystkich wtyczek i ich reaktywacja, ale to nie pomogło. Czy ktoś może pomóc? Adres URL to http://teenbooktalk.co.uk


title: Ogranicz dostęp do pulpitu do X dni

text: Czy można dać użytkownikom z rolą A lub B dostęp do dashboardu na określoną ilość dni, porównując datę powstania serwisu z datą bieżącą? Scenariusz byłby taki: użytkownik z rolą A lub B loguje się, a jeśli od utworzenia strony internetowej upłynęło X dni, linki do pulpitu nawigacyjnego nie zadziałałyby i wyświetliłaby się konkretna strona. Dziękuję Ci!


title: Załaduj menu stron w single.php

text: Dużo szukałem, ale nie znalazłem odpowiedzi ... Mój Wordpress ma 4 główne obszary, każdy z nich ma również sekcję aktualności (posty) i własne podmenu. Jeśli załaduję post (z single.php), czy mogę uzyskać odpowiednie podmenu do tego obszaru? Zastanawiam się nad podciąganiem pocisku, aby uzyskać odpowiedni obszar. Pomoc jest naprawdę doceniana. Thx, Oliver Dodatkowe informacje: * Istnieje pasek boczny, który również pokazuję w single.php * Pasek boczny powinien zawierać drzewo menu jednego obszaru * Post nie jest połączony z menu


title: Dostosuj zapytanie, aby zawierało niestandardowy parametr

text: Mam link na stronie, który przechodzi do pętli wykorzystującej informacje z pola meta na tej stronie. Jestem trochę zdezorientowany, ale próbuję się uczyć, ponieważ wydaje się to dość potężne. Jak rozumiem, mam dodać zapytanie var do globalnego $wp_query. function themeslug_query_vars( $qvars ) { array_push( $qvars, 'meta_id' ); zwróć $qvars; } add_filter( 'query_vars', 'themeslug_query_vars' , 10, 1 ); Ale to się nie pojawia, jeśli wypisuję $wp_query. Czy czegoś mi brakuje?


title: Wyprowadzanie tytułu obiektu Post jako klasy div z ACF

text: Mam ustawione pole Post Object dla stron. To, co chcę zrobić, to wyprowadzić tytuł postów związanych ze stroną jako klasę div otaczającego listing strony. Ale kod wewnątrz pętli foreach nie jest wykonywany. Próbowałem z setup_postdata($post) i bez dokumentacji ACF, wynik jest zawsze taki sam. Oto kod: function pages() { $args = array( 'post_type' => 'page' ); $strony = get_posts($args); foreach ($pages as $page) {?> <div class=" <?php $ancestors = get_field('ancestor'); foreach ($ancestors as $ancestor) { $class_ancestor_raw = get_the_title($ancestor->ID); $class_ancestor_temp = explode(' ', $class_ancestor_raw); $class_ancestor_str = implode('-', $class_ancestor_temp); $class_ancestor = strtolower($class_ancestor_str); echo $class_ancestor; } ?>"> <?php echo $page- > tytuł_postu; ?> </div> ?> <?php } ?>


title: Strona-CPT.php przekierowuje do archiwum lub single.php

text: Skonfigurowałem niestandardowy typ posta o nazwie cpt_top_ten_list. Próbuję skonfigurować stronę do wyświetlania wszystkich moich niestandardowych typów postów. Nazwałem moją nową stronę page-top-ten.php i dodałem tag szablonu u góry strony. Utworzyłem stronę w panelu o nazwie „Lista dziesięciu najlepszych” i przypisałem tej stronie mój nowy szablon. Teraz, gdy wchodzę na stronę, wydaje się, że przekierowuje mnie na stronę archiwum niestandardowego typu postu. Jeśli wyłączę możliwości archiwizacji dla cpt, przekieruje mnie do page.php. Jeśli dodam `flush_rewrite_rules();` do functions.php, moja nowa niestandardowa strona będzie działać, ale żadna z pozostałych stron nie będzie działać. Kiedy wyjmuję `flush_rewrite_rules();` wszystkie strony działają oprócz mojego cpt. Próbowałem odświeżyć ustawienia permalinka, wchodząc na stronę i ponownie zapisując moje ustawienia. Jestem zdezorientowany, co się tutaj dzieje. Dlaczego moja strona cpt nie zostałaby uznana za taką? To bardzo dziwne. function register_top_10_list_custom_post_type() { // Wszystkie etykiety $names = array( 'name' => 'Lista 10 najlepszych', 'singular_name' => 'Lista 10 najlepszych', 'add_new' => 'Dodaj nową listę', 'add_new_item ' => 'Dodaj Nową Listę', 'edit_item' => 'Edytuj Listę', 'new_item' => 'Nowa Lista', 'all_items' => 'Wszystkie Listy', 'view_item' => 'Wyświetl listę', ' search_items' => 'Przeszukaj listy', 'not_found' => 'Nie znaleziono list', 'not_found_in_trash' => 'Nie znaleziono list w Koszu', 'parent_item_colon' => '', 'menu_name' => 'Top 10 list ' ); //Parametry CPT $args = array( 'labels' => $names, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'menu_icon' => get_stylesheet_directory_uri() . '/inc/cpt/images/top-10-icon.png', /* ikona niestandardowego menu typu posta */ 'capability_type' => 'post', ' has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'taxonomies' => array('category', 'post_tag'), 'supports' => array( 'title', 'editor' , 'autor', 'miniaturka', 'fragment', 'komentarze' ) ); //rejestracja CPT register_post_type( 'cpt_top_ten_list', $args ); } //zainicjuj CPT add_action( 'init', 'register_top_10_list_custom_post_type' );


title: TinyMCE: Przenieś przyciski z drugiego rzędu do górnego rzędu

text: Wyłączyłem wiele przycisków TinyMCE, przez co oba rzędy były całkiem puste. Czy można przenieść pozostałe przyciski z drugiego rzędu (wyświetlanego po naciśnięciu przycisku _Zlew kuchenny_) do górnego rzędu?


title: WordPress dla bardzo dużej strony internetowej

text: Szukałem i szukałem, ale nie znalazłem odpowiedzi w Internecie. Ponadto opublikowałem to na StackOverflow i najwyraźniej nie było w porządku i przesłałem to tutaj. Mam nadzieję, że wszystko w porządku. Mam tę stronę, która jest bardzo duża: dużo **artykułów** , **komentarzy** , **polubienia** artykułów (nie polubienia na Facebooku, ale własne polubienia), **oceny** artykułów, ** wielu użytkowników**, z których **każdy ma blog** , **forum** , **ściana użytkowników** , **znajomi użytkowników** itd. Mój zespół i ja zrobiliśmy to 5-6 lat temu w CakePHP, a teraz klient chce go przerobić. Pomyślałem, że WordPress będzie dobrym rozwiązaniem, biorąc pod uwagę tendencję do artykułów i innych rzeczy, a WordPress (przynajmniej tak myślę) wie najlepiej o artykułach i innych rzeczach. Sprawdziłem i WordPress obsługuje wiele blogów, mogę dostosować pola użytkownika, mogę tworzyć relacje z użytkownikami, galerie użytkowników i wszystko; Poza tym zrobiłem kilka motywów w WordPressie (około 10) i bardzo podoba mi się sposób, w jaki jest zakodowany. Czy dobrym rozwiązaniem jest przerobienie go w WordPressie? Biorąc pod uwagę około **50 000 artykułów**, każdy około **100 komentarzy** i około **100 000 użytkowników** (najgorszy scenariusz), czy WordPress byłby w stanie wyrenderować witrynę w mniej niż jedną sekundę (tylko po stronie serwera, nie wliczając CSS, JS i innych rzeczy). O ile wiem, WordPress ma tylko 20-30 tabel (MySQL), podczas gdy strona ma teraz 180 tabel. W ten sposób zmieści się 180 tabel o wartości informacji w około 20-30 tabelach. Czy to nie będzie zbyt wolne, zatłoczone itp.? Przepraszam za długie pytanie, ale chcę mieć pewność, że podejmę właściwą decyzję. W skrócie: dla witryny z dużą (mam na myśli dużą) treścią i dużym ruchem, czy WordPress jest opłacalnym rozwiązaniem?


title: Pisanie wtyczki webscraper dla Wordpress

text: Jestem absolutnie nowy w Wordpress, jednak dość doświadczony koder PHP. Chciałbym dodać wtyczkę webscraper. Backend jest gotowy, wszystko czego potrzebuję to utworzyć link "Utwórz nowy post z linku" w menu Wordpress, który prowadzi do strony z tylko wpisanym tekstem i przyciskiem. Przycisk wywołuje funkcję, która wysyła żądanie get do mojego skryptu, który zwraca przeanalizowaną zawartość linku, a następnie tworzy nowy post przy użyciu parametrów. Jeśli ktoś mógłby po prostu rzucić we mnie słowami kluczowymi tam, gdzie najlepiej zacznę szukać, bardzo to docenię! Zasadniczo moje pytanie brzmi: Jak dodać element do menu wordpress, który prowadzi do w pełni konfigurowalnej witryny (próbowałem register_post_type, jednak pomyślałem, że nie potrzebuję całkowicie nowego typu posta) Z góry dziękuję za pomoc!


title: Jak zapobiec zastępowaniu przez WP moich niestandardowych przepisywania htaccess?

text: Użyłem kilku niestandardowych przepisywania zaimplementowanych przez framework Roots. Od czasu do czasu zostają wyczyszczone: na pewno, jeśli odwiedzę Ustawienia> Permalinki, ale także w pozornie przypadkowych momentach. Mój htaccess brzmi tak: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^css/(.*) /wp-content/themes/the-hit-centre/css/$1 [QSA,L] RewriteRule ^js/(.*) /wp-content/themes/the-hit-centre/js/$1 [QSA,L] RewriteRule ^img/(.*) /wp-content/themes/the -hit-centre/images/$1 [QSA,L] RewriteRule ^plugins/(.*) /wp-content/plugins/$1 [QSA,L] RewriteRule ^media/(.*) /wp-content/uploads/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> Próbowałem usunąć komentarze #BEGIN WordPressa, ale wtedy WP po prostu pisze nowy blok kodu. **Czy istnieje hook, który mogę wywołać w functions.php, który uniemożliwi WP odświeżanie permalinków?** dzięki, Tim


title: Edytor nie ma uprawnień do wtyczki

text: Używam statycznej wtyczki wyjściowej html do eksportowania stron do html, ale tylko administrator może używać tej wtyczki. Edytor nie ma uprawnień do eksportowania strony html. Mówi: Nie masz wystarczających uprawnień, aby uzyskać dostęp do tej strony. kiedy redaktor spróbuje. Jak mogę udostępnić tę wtyczkę redaktorom na mojej stronie? **Znalazłem rozwiązanie, wtyczka ma możliwość zarządzania_opcjami; Zmieniam to na edit_posts**


title: Niestandardowe opcje ekranu głównego pulpitu nawigacyjnego

text: Chcę, aby cała strona główna na pulpicie nawigacyjnym była pusta i dodać własne niestandardowe opcje ekranu. Jak mam to zrobić? Czy tworzę od podstaw, czy edytuję to, co już jest? Czy istnieje jakiś kodeks na ten temat, nie jestem nawet pewien, jak się nazywają... Na przykład, gdybym chciał tylko dodać małą wiadomość do strony głównej pulpitu nawigacyjnego `"Witaj świecie"` jak bym sobie poradził robiąc to?


title: Czy można bezpiecznie założyć, że jednorazowa wartość może zostać zweryfikowana więcej niż raz?

text: Z tego, co zebrałem, po wygenerowaniu jednorazówki jest on ważny do ponownego wykorzystania przez następne 48 godzin. Czy kodowanie, mając to na uwadze, jest bezpieczne? Piszę wtyczkę, która trochę porusza się z klientem przez AJAX i chcę wiedzieć, czy powinienem po prostu generować jednorazowy, gdy strona się ładuje i używać go do całej komunikacji lub generować nowy dla każdego żądania i dołączania to w odpowiedzi.


title: Jak zmienić status niestandardowego typu postu, gdy posty niebędące administratorami są aktualizowane?

text: Zezwalam użytkownikom na przesyłanie postów (jako niestandardowy typ posta, „tribe_events”) na mojej stronie internetowej. **Czy istnieje fragment, który mogę dodać do mojego pliku functions.php, który zmieniałby status posta z „opublikowany” na „oczekujący”, gdy post aktualizuje post niebędący administratorem?** Obecnie nie zezwalam użytkownikom na edycję/ aktualizować swoje posty, ponieważ WordPress utrzymuje je jako „opublikowane”. Gdybym mógł zmienić tę funkcjonalność, mógłbym pozwolić im edytować swoje posty (mógłbym przejrzeć zmiany, które wprowadzili przed ponownym opublikowaniem posta), co byłoby znacznie bardziej przyjazne dla użytkownika. Wszelkie porady dla tego początkującego programisty byłyby bardzo mile widziane. Dziękuję Ci!


title: Warunkowe wyjście dla start_lvl na podstawie tytułu

text:
Chcę dodać niestandardową klasę do tagu UL na start_lvl, jeśli użytkownik pisze "pełne" w obszarze tytułu menu. Coś takiego: public function start_lvl( &$output, $depth = 0, $args = array() ) if ( użytkownik pisze "full" ) $output .= "\n$indent
\n"; } else { $output .= "\n$indent
\n"; } } Szukając innych źródeł, znalazłem sposób na umieszczenie tego, co chcę w znacznikach LI za pomocą $item->`attr_title`, ale wydaje się, że nie działa na start_lvl.


title: Wordpress Post polecany URL obrazu w nagłówku

text: Chcę dodać adres URL polecanego obrazu posta do nagłówka. Gdy użytkownik Facebooka udostępnia stronę Wordpress, ten kod w nagłówku: Atrybut `rel="image_src"` jest tym, czego szuka Facebook. <link rel="image_src" href="FEATUREDIMAGEURL"> Zwróci określony obraz do udziału. Jednak nie wiem, jak dodać adres URL polecanego obrazu posta... Czy możesz? Próbowałem tego: <?php if (has_post_thumbnail( $post->ID) ): ?> <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ); ?> <link rel="image_src" href=" <?php echo $image; ?>"> <?php endif; ?> Ale to dało mi błąd analizy: błąd składni, nieoczekiwany błąd ';'`.


title: Wiele witryn/domen z zawartością zarządzaną przez pojedynczą instalację Wordpress

text: Otrzymałem ciekawą prośbę od klienta, a następnie poświęciłem kilka godzin na jej przyjrzenie się. Sedno jest dokładnie takie, jak sugeruje tytuł tego postu: mają 3 oddzielne witryny z unikalnymi domenami, ale temat i treść dla wszystkich trzech są pozornie takie same. Chcieliby mieć możliwość zarządzania pojedynczą pulą treści z jednej, centralnej lokalizacji, a zmiany te byłyby widoczne w 3 witrynach. Na przykład istnieje strona _Szczegóły zamówienia_ z adresem e-mail, na który można pytać o pozycje z poprzedniego katalogu, oraz z listą linków do kupowania rzeczy. Klient chce mieć możliwość zmiany tego adresu e-mail z _info@_ na _sales@_ i zamiany łącza iTunes na łącze Amazon, a następnie aktualizowania tych zmian na stronie _Szczegóły zamówienia_ w każdej z trzech witryn . Rzuciłem okiem na **WPMU**; Nie używałem go wcześniej, ale po prostu wykonałem szybką instalację i czytałem go przez ostatnią godzinę, ale nie sądzę, że o to nam chodzi, ponieważ zawartość każdej subdomeny jest „silosowana” (jak można się spodziewać). Przyjrzałem się również usługom takim jak InfiniteWP, które wyglądają świetnie i sugerują, że tego rodzaju funkcja jest „w trakcie prac” (za opłatą), ale oczywiście w międzyczasie obejmuje przełączanie się między aktywnymi witrynami w celu aktualizacji postów i stron na jednej witrynie czas. Czy ktoś wie, czy jest to technicznie wykonalne, czy też klient prosi o księżyc na patyku? **Aktualizacja:** Klient właśnie rzucił klucz do roboty, sugerując, że pojedynczy wpis z wiadomością może zostać opublikowany w jednej, dwóch lub wszystkich trzech witrynach. Co sprawia, że wszystko jest… interesujące (czytaj: ból głowy).


title: Dodaj administratora sieci Wordpress MU przez bazę danych

text: Pracuję nad uruchomieniem kopii sieci WordPress MU na moim lokalnym komputerze w celach programistycznych (obecnie używam WordPress 3.2.1). Potrzebuję dostępu do opcji administrowania siecią. W tabeli usermeta zmieniłem „poziom użytkownika” na „10”, a „capabilities” na „a:1:{s:13:"administrator";b:1;}` W tabeli sitemeta dodałem siebie do zserializowanej tablicy użytkowników w opcji `site_admins`. Chociaż dało mi to dostęp do ogólnej strony wp-admin, nadal nie mam dostępu do żadnej z opcji administratora sieci (takich jak automatyczna aktualizacja WP, wtyczek lub motywów itp.).


title: Ustaw unikalny identyfikator term_id z niestandardowych kluczy meta

text: Mam funkcję ustawiania niestandardowych wartości kluczy meta do taksonomii, terminu. $kategoria20 = $pola['field_52dd3aa1d6bc0']; // gps wp_delete_object_term_relationships( $post_id, 'gps' ); wp_set_object_terms ($post_id, $category20, 'gps', prawda ); W metakluczu GPS wartość jest ustawiona na „Tak”. Również w innych polach wartość klucza meta jest taka sama, na przykład „Tak” i „Nie”. Kiedy używam funkcji `wp_set_object_terms` do przechowywania terminu, te same wartości są przechowywane pod tym samym identyfikatorem `term-id`. Jak mogę to naprawić? Identyfikatory terminów są ustawiane z sluga? Aktualizacja: Ten kod działa: wp_insert_term( ''.$category20.'', // termin 'gps', // tablica taksonomii( 'description'=> 'Użycie GPS', 'slug' => 'gps-yes ' ) ); Ale nie więcej do usunięcia: wp_delete_object_term_relationships( $post_id, 'gps' ); Wymyślone, działające rozwiązanie do używania metaklucza dla terminów taksonomii: wp_delete_object_term_relationships( $post_id, 'gps' ); if (!term_exists($category20, "gps")) { wp_insert_term( ''.$category20.'', // termin 'gps', // tablica taksonomii( 'description'=> 'Użycie GPS', ' ślimak' => 'gps-tak' ) ); } wp_set_object_terms($post_id, $category20, 'gps', true );


title: Permalinki Wordpress i przekierowania javascript

text: Muszę użyć przekierowania javascript w jednym z moich skryptów. W przypadku `/%postname%/` przekierowanie struktury permalinków WP działa tak, jak powinno, ale domyślnie zawsze przekierowuje na stronę główną. `/%postname%/` skrypt struktury: window.location.replace(encodeURIComponent("http://www.url.com/customposttype/postslug")); domyślny skrypt struktury permalinków: window.location.replace(encodeURIComponent("http://www.url.com/?customposttype=postslug"))


title: Jak powiązać atrybut data-src z obrazem w poście za pomocą jquery?

text: Próbuję użyć foresight.js do responsywnego obrazu w blogu wordpress. W tym celu muszę dodać atrybut `data-src` w miejscu `src` w tagu `<img>`. Albo muszę pobrać adres URL z obrazka w poście i powiązać mój nowy tag w pobliżu starego tagu `<img>` i zawinąć ten stary tag `<img>` w tag `<noscript>`. Nie mam pojęcia, jak to zrobić. Zasadniczo musi to wyglądać tak:


title: Czysta instalacja - Zmiana permalinków w dwudziestu jedenastu daje 404

text: interesujący problem, który napotkałem, nie jestem pewien, czy to błąd, czy nie.. Przy czystej instalacji przy użyciu motywu **dwadzieścia jedenaście** próbuję zmienić _Ustawienia Permalinka_ na coś innego niż _Domyślne_ i każdy post zaczyna podawać 404. Paginacja i górne menu nawigacyjne również przestają działać. Co należy zmienić, aby to wszystko zaczęło działać, ponieważ ten sam problem pojawia się, gdy zaczynam tworzyć niestandardowy motyw? EDYCJA: Zorientowałem się! Rozwiązanie było bardzo proste - przełączenie _rewrite module_ WAMP-a.


title: save_post wymaga co najmniej jednego przesłanego pliku do opublikowania

text: Czy istnieje sposób na sprawdzenie statusu opublikowanego posta, a jeśli nie ma przesłanego co najmniej jednego obrazu lub pliku, zmień status z opublikowanego na wersję roboczą? Z góry dziękuję.


title: Jakieś dobre wtyczki analityczne do WordPressa? (samodzielny)

text: Polecaj wszelkie dobre wtyczki analityczne, których mogłeś użyć i które okazały się przydatne. Raporty, takie jak ruch w witrynie według strony, punktu wejścia, wychodzących linków, informacji o przeglądarce i systemie operacyjnym. Wtyczka może być płatna lub bezpłatna. **EDYTUJ** : Powodem, dla którego zadałem to pytanie, jest odkrycie nowych wtyczek, które nie są zbyt popularne, ale inne okazały się przydatne. Opublikuj dowolną wtyczkę analityczną, która może Ci się przydać.


title: Funkcja Pobierz obiekt użytkownika według nazwy użytkownika?

text: Którą funkcję można wykorzystać do uzyskania obiektu użytkownika przy użyciu nazwy użytkownika? Próbowałem get_userdatabylogin(), ale funkcja wydawała się zgłaszać błąd: Błąd parsowania, nieoczekiwany T_STRING w wierszu xx Funkcja została wywołana tak: get_userdatabylogin($username);


title: Jak możemy ulepszyć zarządzanie wieloma stronami w WordPress Admin?

text: WordPress oczywiście wywodzi się z blogów, ale może być używany do obsługi witryn z wieloma stronami. Jednak to, co mi nie wystarcza, nie dotyczy wydajności, ale obsługi wielu stron w obszarze administracyjnym, stron podrzędnych itp. Szybko staje się uciążliwe przechodzenie przez listę stron, próbując znaleźć to, czego szukasz , zwłaszcza bez możliwości zagłębiania się w hierarchie stron itp. Jakich technik/wtyczek używają ludzie, aby poradzić sobie z tym problemem?


title: „Automatyczna aktualizacja WordPressa nie powiodła się — spróbuj ponownie teraz” — ale nie ma pliku .maintenance

text: Próbuję ręcznie zaktualizować mój wordpress do najnowszej wersji (3.0.3) — po niepowodzeniu automatycznej aktualizacji. Po uaktualnieniu wszystko działa dobrze, z wyjątkiem jednej małej, dokuczliwej wiadomości na górze mojego obszaru administracyjnego: > Automatyczna aktualizacja WordPressa nie została zakończona - proszę spróbować ponownie > zaktualizować teraz Przeszukuję Internet i wszyscy mówią, że to z powodu plik `.maintenance` znajdujący się w głównym folderze Wordpress, relikt nieudanej aktualizacji automatycznej lub aktualizacji ręcznej. W drugim przypadku wystarczyłoby skasować ten plik i wszystko byłoby dobrze. Ale przeszukuję mój katalog z zainstalowanym wordpressem, nie ma takiego pliku. Masz pomysł, co przyczynia się do tego problemu?


title: Usuń tło dla identyfikatora z warunkową instrukcją if

text: jak mogę usunąć tło dla #main tylko w moich postach. Wiem, że muszę utworzyć warunkową instrukcję `if` w moim pliku functions.php za pomocą `if (is_post())`, ale po prostu nie jestem pewien, jak to napisać.


title: ustawienie apache_mod_loaded może wtyczek fubar?

text: Niedawno miałem użytkownika, który zgłosił problem z nieładowaniem strony opcji mojej wtyczki. Klikali na link „ustawienia”, ale otrzymywali tylko pustą stronę. Wystąpił również problem z wyświetlaniem edytora tekstu sformatowanego na ekranie edycji kategorii. Nie mogłem zrozumieć, dlaczego na prawie każdej innej stronie oprócz ich wtyczki ładują się dobrze. Wyłączyliśmy wszystkie wtyczki z wyjątkiem mojej i nadal nie mogliśmy poprawnie załadować wtyczek. Minęło trochę czasu i otrzymałem wiadomość e-mail od użytkownika, że rozwiązał problem (strona WP 3.1) edytując plik wp-admin/includes/misc.php zmieniający... $got_rewrite = apache_mod_loaded('mod_rewrite', true) ; Aby... $got_rewrite = prawda; Czy ktoś wie, dlaczego nieedytowany plik może powodować problemy z wtyczkami?


title: Pokaż widżet inaczej w zależności od tego, czy znajduje się na pasku bocznym, czy w stopce

text: Stworzyłem niestandardowy widżet, który pokazuje miniatury moich najnowszych filmów. Te kciuki mają szerokość 300 pikseli, co odpowiada szerokości mojego paska bocznego. Mój problem polega na tym, że chcę go również używać w stopce, gdzie szerokość widżetów ma tylko 220 pikseli. Więc zasadniczo to, co chcę zrobić, to: jeśli widżet jest wyświetlany na pasku bocznym, użyj `<?php the_post_thumbnail('media-thumb-sidebar'); ?>` a jeśli widżet jest używany w stopce użyj `<?php the_post_thumbnail('media-thumb-footer'); ?>` Czy ktoś wie, jak mogłem to zrobić? Dziękuję :)


title: Zbuduj bazę strony na podstawie kategorii

text: Wiem, jak to zakodować na sztywno... ale lubię mieć wtyczkę ze skróconym kodem, która zrobi to za mnie... znasz jakieś... Jeśli nie, będę musiał to zrobić sam Mam stronę (pustą) i zbuduj go na podstawie kategorii postów. Więc na stronie xyz wyświetl wszystkie posty z category=abc. Tak więc strona kompilacji wyświetli wszystkie posty abc od tyłu. Framework to zrobić, ale mam tylko prosty motyw... jak to zrobić? I tak, wiem, że kliknięcie kategorii po prostu to zrobi, ale jest to trudniejsze do opanowania!


title: Przenieś menu administracyjne na koniec

text: Zainstalowałem wtyczkę dla moich użytkowników w WPMU i chcę, aby pojawiła się na końcu menu administratora .... Próbowałem tego, ale menu nigdy nie pojawia się na końcu: function custom_menu_order($menu_ord) { if (!$ menu_ord) zwraca prawdę; return array( 'index.php', // Pulpit nawigacyjny 'edit.php', // Posty 'upload.php', // Media 'options-general.php', // Ustawienia => 'admin.php?page= wsparcie', // moja wtyczka ); } add_filter('custom_menu_order', 'custom_menu_order'); // Aktywuj custom_menu_order add_filter('menu_order', 'custom_menu_order'); moje menu wtyczki to „admin.php?page=support”


title: Problem z pamięcią podręczną z WP_Query i niestandardowym filtrowaniem pól

text: Na stronie mam trzy oddzielne WP_Query. Każdy z nich zwraca niestandardowe elementy typu post, które mają zaznaczone pole wyboru, a następnie wyświetla jeden z nich losowo. Pole wyboru zostało dodane za pomocą niestandardowych metaboksy i pól dla WordPress. <?php $front1_args = array( 'post_type' => 'work-item', 'meta_key' => '_cmb_work_front_large', 'meta_value_num' => 1, 'orderby' => 'rand', 'posts_per_page' => ' 1'); $front1_query = nowe WP_Query($front1_args); while ($front1_query->have_posts()) : $front1_query->the_post(); ?> <div> treść posta jest tutaj </div> <?php endwhile; wp_reset_postdata(); ?> Jednak odznaczenie pola wyboru przy danym poście czasami nie daje żadnego efektu. Zapytanie nadal zwraca wszystkie elementy, które w pewnym momencie miały zaznaczone pole wyboru, niezależnie od tego, czy mają je teraz. Ustawienie `cache_results`, `update_post_meta_cache` i `update_post_term_cache` na false nie ma żadnego efektu. Jakieś pomysły, co może to spowodować? Czy to w ogóle problem z pamięcią podręczną, czy może CMB jest winny?


title: Zaimportuj niestandardową bazę danych do wp i zachowaj identyfikator postu

text: Witam, mam projekt, w którym muszę zaimportować starą bazę danych do wp, ale potrzebuję rozwiązania, aby zachować stary identyfikator jako identyfikator postu, dzięki czemu mogę sprawić, by linki wyglądały tak samo jak stara strona internetowa, w ten sposób unikniemy problemów linki już zindeksowane. Dowolny pomysł ?


title: Zamawianie arkusza stylów powyżej <style> za pomocą functions.php

text: Ładuję arkusz stylów i `style` do nagłówka za pomocą functions.php. To działa, ale arkusz stylów jest prezentowany pod `<style>`. Muszę zamówić arkusz stylów **nad** blokiem `style`. /*------------------------------------------------ -----------------------------------*/ /* Załaduj CSS do nagłówka /*----- -------------------------------------------------- ----------------------------*/ function folio_dynamic_css() { wp_enqueue_style( 'theme', get_template_directory_uri() . '/assets/css /style.css', false, '1.0', 'all' ); ob_start(); echo '<style type="text/css">'; # style CSS tutaj echo '</style>'; # kompresuj CSS $output = ob_get_clean(); echo preg_replace('/^\s+|\n|\r|\s+$/m', '', $output) ."\n"; } add_action('wp_enqueue_scripts', 'folio_dynamic_css', 1 );


title: Problem z hakiem/cronem

text: Mam tę funkcję w moim fuctions.php <?php if ( !wp_next_scheduled('re-post2')) { wp_schedule_event(time(), 'hourly', 'rep-post2' ); } funkcja repostads() { global $wpdb; $querystr = " UPDATE $wpdb->posts INNER JOIN $wpdb->repost ON $wpdb->posts.ID = $wpdb->repost.post_id AND $wpdb->repost.DIA_FINAL >= TERAZ() I $wpdb- >repost.ESTADO = 'OK' USTAW $wpdb->posts.post_date = TERAZ(); } add_action ( 're-post2', 'repostads' ); ?> Próbuję wstawić kod zapytania na przykładowej stronie i działa dobrze, ale kiedy wstawiam w functions.php nic nie robię. jaki jest błąd? Dziękuję


title: Nieefektywne zamieszanie w zapytaniach

text: **Edycja nr 3 – meta_keys jako tablica** Wydaje się, że to porównuje więcej niż tylko „czas_otwarcia” Mogę ustawić godzinę otwarcia na niewłaściwą datę lub nawet pozostawić ją pustą, a nadal będzie chwycił post, jeśli „czas_panelu” jest w zasięgu. Czy czegoś mi brakuje? $keys = array('open_time', 'closing_time', 'artist_talk_time', 'special_event_time', 'lecture_time', 'panel_time', 'workshop_time'); $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'LUB', array( 'klucz' => $klucze, 'wartość' => array($dzisiaj,$przyszłość), 'porównaj' => 'BETWEEN', 'type' => 'DATE' ), ) ); **Edytuj #2, aby pokazać sortowanie met_keys po zapytaniu o posty** To jest kod, który sortuje wszystkie posty według ich odpowiednich metakluczy. Przenosi to na dni i zamówienia według daty rozpoczęcia, niezależnie od tego, czy jest to panel, czy warsztat. Potrzebuję tylko sposobu na doprowadzenie postów do tego etapu. Byłoby głupio przepuszczać przez to wszystkie typy niestandardowych wpisów „zdarzeń”, ponieważ po kilku latach lista byłaby bardzo długa, aby komputer mógł się przebić, prawda? Jakieś sugestie? <?php $event_query = nowe WP_Query( $args ); if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); $keys = array('open_time', 'closing_time', 'artist_talk_time', 'special_event_time', 'lecture_time', 'panel_time', 'workshop_time'); $custom_field_keys = get_post_custom_keys(); foreach ($custom_field_keys as $custom_field_key) { if (in_array($custom_field_key, $keys)) { $custom_field_value = get_post_meta($post->ID, $custom_field_key, true); if ($custom_field_value >= $thedate && $custom_field_value <= $future) { $counttest++; $times[] = array($custom_field_value, $post->ID, $custom_field_key); } } } koniec; if ($test licznika >0) { echo $test licznika; if ($counttest>=2) { echo ' Zdarzenia '; } if ($counttest<2) { echo 'Zdarzenie'; } } endif; $test licznika=0; sort($razy); foreach ($razy jako $event) { $time_value = $event[0]; $post_id = $event[1]; $klucz_czasu = $zdarzenie [2]; // zmienił foreach tutaj if ($time_key == 'opening_time') {/* zrób coś */ } else if ($time_key == 'artist_talk_time') { /* zrób coś */ } else if ($time_key == 'closing_time') { /* zrób coś */ } else if ($time_key == 'special_event_time') { /* zrób coś */ } rewind_posts(); } ?> **Edytuj, aby dodać sugestię dotyczącą innego możliwego rozwiązania, aby uprościć rzeczy** Czy mogę umieścić klucze w serii, tak jak w poniższym kodzie? Umieściłem go na mojej stronie testowej i wydaje się, że działa, ponieważ mam poniżej funkcję sortującą posty według kluczowych wartości. A może to ma własne problemy? $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'LUB', array( 'key' => 'opening_time','closing_time','artist_talk_time','special_event_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => ' DATA'         ),          )     ); Próbowałem dowiedzieć się, gdzie jest wąskie gardło w moim kodzie. Komentowałem różne części, aby spróbować odizolować się od części obrażającej. Jeśli zakomentuję tę sekcję kodu, działa ona z normalną prędkością, ale przy tym zapytaniu ładowanie może zająć bardzo dużo czasu + 10 sekund. Czy z tym zapytaniem jest wrodzona nieskuteczność? Czy jest na to łatwiejszy sposób. Wszystkie wartości kluczy mają format Y-m-d 00:00. Z góry dziękuję. <?php $dzisiaj = data("R-m-d 00:00"); //ustaw dzisiejszą datę dla nadchodzących wydarzeń sidebar for ($i=0; $i<10; $i++) { $thedate = strtotime ( '+'.$i.' day' , strtotime ( $today ) ); $data = data ( 'Y-m-d H:i' , $data ); $thedaytext = strtotime ( '+'.$i.' day' , strtotime ( $todaytext ) ) ; $thedaytext = data ( 'l' , $thedaytext ); $thedatetext = strtotime ( '+'.$i.' dzień' , strtotime ( $todaydatetext ) ) ; $thedatetext = data ( 'F j' , $thedatetext ); $future = strtotime ( '+24 godziny' , strtotime ( $thedate ) ) ; $przyszłość = data ( 'R-m-d H:i' , $przyszłość ); $razy = tablica(); $args = array( 'post_type' => 'event', 'orderby' => 'meta_value', 'order' => 'asc', 'meta_query' => array( 'relation' => 'LUB', array( 'key' => 'opening_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => ' artist_talk_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => 'closing_time', 'value' => array($today,$future), 'compare' => 'BETWEEN', 'type' => 'DATE' ), array( 'key' => 'special_event_time', 'value' => array($dziś ,$future), 'compare' => 'POMIĘDZY', 'typ' => 'DATA' ) ) ); $event_query = nowe WP_Query( $args ); if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post(); koniec; endif; }


title: Zapytanie podatkowe pokazuje tylko zwykłe posty, a nie niestandardowe typy postów?

text: To mnie męczy przez większą część dnia, więc apeluję o pomoc, aby uspokoić moje nerwy. Prowadzę witrynę, która ma wiele niestandardowych typów postów. Każdy typ posta korzysta z taksonomii post_tag. Muszę utworzyć stronę, na której będą wyświetlane wszystkie posty oznaczone tagiem „wideo”. Nie działa tak, jak się spodziewam. Pokazuje tylko zwykłe posty na blogu, a nie inne niestandardowe typy postów, które są również oznaczone tagiem „wideo”. Poniżej kod, który mam. Dla odniesienia funkcja get_bonn_post_types jest tablicą wszystkich typów postów w mojej instalacji. $args = array( 'post_type' => array(get_bonn_post_types()), 'tax_query' => array( array( 'taxonomy' => 'post_tag', 'field' => 'slug', 'terms' => ' wideo” ))); zapytanie_posty($args); Dlaczego to nie działa. Każda pomoc jest oczywiście mile widziana! :)


title: Aktualizacja WP 3.3 wyłączył arkusz stylów edytora? Lub problem TinyMCE Advanced?

text: Mam kilka stron CMS używających wtyczki TinyMCE Advanced i arkusza stylów editor-style.css, aby tekst edytora przypominał tekst na stronie. Po aktualizacji do WP 3.3 redaktor nie używa już arkusza stylów na żadnej z witryn. To może nie być problem WP 3.3: kiedy zaktualizowałem WP, TinyMCE Advanced pokazało, że trzeba go zaktualizować, więc zaktualizowałem to. Problem może równie dobrze dotyczyć najnowszej wersji TinyMCE Advanced. Jakieś wskazówki, dlaczego lub jak naprawić? Chociaż nadal nie wiem, czy problem dotyczy WP 3.3 czy TinyMCE Advanced (podejrzewam, że to drugie), następująca funkcja w moim pliku functions.php włącza arkusz stylów edytora: // Dodaj niestandardowy arkusz stylów do edytora TinyMCE, jeśli ( ! function_exists ('tdav_css')) { funkcja tdav_css($wp) { $wp .= ',' . get_bloginfo('stylesheet_directory') . '/styl-edytora.css'; zwróć $wp; } } add_filter( 'mce_css', 'tdav_css' ); Problem rozwiązany.


title: Problem z przesyłaniem plików po zmianie nazwy domeny

text: Właśnie zmieniłem nazwę domeny mojej witryny WordPress (na tym samym serwerze). Wszystko działa dobrze, a ścieżki są poprawne. Mogę bez problemu instalować wtyczki i aktualizacje. Jednak mogę przesyłać multimedia tylko wtedy, gdy uprawnienia katalogu `wp-content` są ustawione na 777. Kiedy wracam do 755, pojawia się błąd, że nie można skopiować pliku do folderu. Co może powodować ten problem?


title: get_the_excerpt() z rezerwą jak the_excerpt()

text:
Wiesz, że kiedy używasz `the_excerpt()` i nie ma żadnego "fragmentu" w poście, automatycznie używa pierwszych 50 słów. Czy to samo jest możliwe przy użyciu `get_the_excerpt()` Na przykład używam `get_the_excerpt()` w ten sposób … $return .= sprintf('

%2$sa

%3$s

', pobierz_permalink(pobierz_ID()), pobierz_tytuł(), pobierz_wyciąg()); Jednak jeśli nie ustawiono żadnego fragmentu, funkcja `get_the_excerpt()` nie pokazuje powrotu (pierwsze 50 lub więcej słów). Masz pomysł, jak to zrobić?


title: Dlaczego pasek boczny TwentyTen Theme <ul> ma klasę o nazwie „xoxo”?

text: Dlaczego klasa CSS nazywa się „xoxo”? Co to znaczy?


title: Czy istnieje tag warunkowy określający, czy wpis jest _dowolny_ niestandardowym typem wpisu?

text: Wiemy, że możesz zrobić `if ( is_singular( 'my-cpt' ))` aby przetestować _specyficzny_ niestandardowy typ posta, ale co zrobić z jedną rzeczą, jeśli post jest wbudowanym typem posta, a inną, jeśli nie jest ? Czy wystarczy po prostu przetestować `if ( is_singular() && ! is_singular( 'post' ) )`? A może są jakieś implikacje lub subtelności, które w tej chwili mi umykają?


title: WP Multisite - Jak stworzyć niestandardowy "router" dla prefiksów blogów?

text: Próbuję utworzyć niestandardową trasę dla sieci WP Mutlisite. Jeśli znasz WPMS, wiesz, że tabele db dla każdego bloga w sieci zaczynają się od czegoś takiego jak `{prefix}_2_`. Zwykle odwiedzenie strony `mysite.com/blogname` prowadzi do strony głównej bloga. To, co chciałbym zrobić, to mieć trasę `mysite.com/2` (poszukaj numerycznego URI) do strony głównej bloga, którego tabele baz danych zaczynają się od `{prefix}_2_`. czy to możliwe?


Dostosowałem kilka witryn. Na własną rękę zaktualizowałem wordpress, porównując (starą) wersję i moją stronę. Następnie przeniosłem folder i umieściłem nową wersję wordpress i nałożyłem łatkę. Wydawało się, że działa idealnie, ale brakowało plików binarnych (w szczególności obrazów wtyczek). Więc skopiowałem/nadpisałem folder wtyczek. Mam wrażenie, że miałem szczęście, że zadziałało i nie zrobiłem tego dobrze. Czy diff/patch to dobry sposób na aktualizację wordpress? Czy powinienem porównywać moją witrynę z WP i zastosować ją do nowej wersji? A może powinienem porównać starą wersję i nową wersję, niż zastosować tę poprawkę do mojej witryny? Jest też kwestia plików binarnych. Jak zaktualizować wordpress w dostosowanych witrynach?


title: Motyw WordPress na iPada?

text: Chcę przekonwertować jeden motyw HTML5/CSS3 w WP Ten motyw jest przeznaczony dla iPadów, teraz moje pytanie brzmi, czy można go przekonwertować? Jeśli tak, to w jaki sposób? Mam na myśli, czy powinienem utworzyć każdy inny szablon strony (np. pulpit nawigacyjny, kalendarz itp.) Chcę tylko dostosować go przed rozpoczęciem, jak powinienem zrozumieć przed rozpoczęciem?


title: Dziwne zachowanie get_the_* z php 5.4

text:
Spróbuję wyjaśnić, co mi się przytrafiło : Mam wtyczkę shortcode, która wyświetla strony podrzędne bieżącej strony (modyfikacja http://wpist.me/wp/child-pages-shortcode/, bardzo przydatna). W funkcji wyświetlania używa get_posts(), z bardzo podstawowym kodem, zgodnym z przykładami kodeksu (http://codex.wordpress.org/Function_Reference/get_posts) : global $post; foreach ($strony jako $post) { setup_postdata($post); $html = $post->tytuł_postu; $html .= get_the_excerpt(); $html .= get_the_content(); } Z PHP 5.2 działa zgodnie z oczekiwaniami. Zaktualizowałem PHP 5.4 i get_the_content() zwraca zawartość nadrzędną zamiast bieżącego dziecka. Poprzednie wiersze nadal zwracają poprawne dane, ale wydaje się, że pierwsze wywołanie funkcji get_the_* zmienia zawartość globalnego $post. Działa dobrze, jeśli użyję $post->* zamiast get_the_*(), ale get_the_*() ma przydatne automatyczne leczenie. Znalazłem sposób, aby to zadziałało, więc zamieszczam to tutaj, więc może ktoś może mi wyjaśnić, dlaczego tak się zachowuje. 1. Zmieniłem nazwę pętli var, aby uniknąć zepsucia globalnego $post (przy okazji, nie rozumiem, dlaczego przykład kodeksu używa $post w swojej pętli…) 2. Dodałem wywołanie setup_postdata po każdym get_the_*( ) wywołuje ponowne zainstalowanie globalnego do poprawnego postu : kod roboczy : global $post; foreach ($strony jako $mypost) { setup_postdata($mypost); $html = $mojpost->tytuł_postu; $html .= get_the_excerpt(); setup_postdata($mypost); $html .= get_the_content(); } dzięki Edytuj : pełny kod mojej funkcji (działa poprawnie) na wypadek, gdyby uproszczona wersja Cię myliła: private function display($param, $block_template) { global $post; $html = ''; // definiowanie zawartości $template // cut // koniec definiowania $template $args = array( 'post_status' => 'publish', 'post_type' => 'page', 'post_parent' => $param['id '], 'orderby' => 'menu_order', 'order' => 'ASC', 'nopaging' => true, ); $args = apply_filters('zapytanie-skrócone-strony-podrzędne', $args, $param); $strony = get_posts($args); foreach ($pages as $post2) { setup_postdata($post2); $post = apply_filters('child_pages_shortcode_post', $post2); $url = get_permalink($post2->ID); $img = get_the_post_thumbnail($post2->ID, $param['rozmiar']); $img = preg_replace( '/(szerokość|wysokość)="\d*"\s/', "", $img); $tpl = $szablon; $tpl = str_replace('%szerokość%', esc_attr($param['szerokość']), $tpl); $tpl = str_replace('%post_id%', intval($post2->ID), $tpl); $tpl = str_replace('%post_title%', $post2->post_title, $tpl); $tpl = str_replace('%post_subtitle%', get_post_meta($post2->ID, "Sous titre", true), $tpl); $tpl = str_replace('%post_url%', esc_url($url), $tpl); $tpl = str_replace('%post_thumb%', $img, $tpl); if (isset($param['disabled_excerpt_filters']) && $param['disabled_excerpt_filters']) { $tpl = str_replace('%post_excerpt%', $post2->post_excerpt, $tpl); } else { $tpl = str_replace('%post_excerpt%', get_the_excerpt(), $tpl); setup_postdata($post2); } if (isset($param['disabled_excerpt_filters']) && $param['disabled_excerpt_filters']) { $tpl = str_replace('%post_content%', $post2->post_content, $tpl); } else { $tpl = str_replace('%post_content%', get_the_content(), $tpl); } $html .= $tpl; } wp_reset_postdata(); if (!$block_template) { $html .= '

'; } return apply_filters("child-pages-shortcode-output", $html); }