title: Prawidłowe czyszczenie after_setup_theme i wp_head

text: Próbuję trochę wyczyścić kod w moim motywie, usunąć część kodu, który nie jest używany i zasadniczo robić rzeczy we właściwy sposób, aby skrócić czas ładowania itp. Obecnie mam ten kod: add_action('after_setup_theme', 'rm_theme_setup '); // uruchom funkcję konfiguracji motywu rm_theme_setup() { add_action('init', 'rm_head_cleanup'); // * 1) wywołanie funkcji poniżej add_action('wp_head', 'rm_remove_recent_comments_style', 1); add_filter('gallery_style', 'rm_remove_gallery_style'); rm_add_theme_support(); // * 2) Wywołanie funkcji w celu dodania obsługi motywu } **1) To jest część dotycząca czyszczenia wp_head:** Zasadniczo wywołuję tę funkcję w funkcji theme_setup powyżej. Czy to jest właściwy sposób robienia rzeczy? funkcja rm_head_cleanup() { remove_action('wp_head', 'feed_links_extra', 3); remove_action('wp_head', 'feed_links', 2); remove_action ('wp_head', 'rsd_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action ('wp_head', 'index_rel_link'); remove_action ('wp_head', 'parent_post_rel_link', 10, 0); remove_action ('wp_head', 'start_post_rel_link', 10, 0); remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); remove_action ('wp_head', 'wp_generator'); remove_action ('wp_head', 'wp_shortlink_wp_head'); add_filter('style_loader_src', 'rm_remove_wp_ver_css_js'); add_filter('style_loader_tag', 'rm_clean_style_tags'); add_filter('script_loader_src', 'rm_remove_wp_ver_css_js'); } **2)** Następnie w dalszej części kodu mam tę funkcję, **aby dodać obsługę motywów**. Kiedy sprawdzasz funkcję konfiguracji motywu, po prostu robię to: rm_add_theme_support();. Czy to jest właściwy sposób, czy powinienem po prostu skopiować wszystko z tej funkcji i wkleić do theme_setup? function rm_add_theme_support() { add_theme_support('post-miniaturki'); // usuń domyślne miniaturki update_option('thumbnail_size_h', 0); update_option('thumbnail_size_w', 0); update_option('medium_size_h', 0); update_option('medium_size_w', 0); update_option('duży_rozmiar_h', 0); update_option('duży_rozmiar_w', 0); // set_post_thumbnail_size(200, 200, prawda); add_image_size('rm-slide', 960, 500); add_image_size('rm-service-image', 380, 9999); add_image_size('rm-service-thumbnail', 80, 60, prawda); add_theme_support('menu'); register_nav_menus( array( 'main-nav' => 'Menu główne' ) ); } Dzięki za wszelką pomoc, mam nadzieję, że to nie za dużo kodu.


title: Przypisz kolumnę SQL „post_thumbnail” jako polecany obraz

text: Dodałem kolumnę o nazwie `miniaturka posta` do mojej tabeli wp_posts. Czy jest jakiś sposób, aby dodać „miniaturę posta” do wyróżnionego obrazu każdego posta?


title: Jak przekierować stronę główną na rzeczywisty adres URL?

text: Mam głupi problem. W niestandardowym szablonie nagłówka, który umieszczam na wszystkich stronach, znajdują się obrazy. Kiedy ustawiam linki do obrazów jako images/image.png, działa na stronie głównej, ale nie na innych stronach. Kiedy ustawiam linki do tych obrazów jako **../** images/image.png, działa to na wszystkich innych stronach, ale nie na stronie głównej. Dzieje się tak, ponieważ adres URL strony głównej jest podawany jako „mojawitryna.com” zamiast „mojawitryna.com/home/”. Czy jest jakieś proste rozwiązanie tego problemu? Domyśliłem się, że każda wizyta na stronie głównej będzie przekierowywana na „mysite.com/home/”. Ale wygląda na to, że sam Wordpress temu zapobiega. Jeśli wpiszę 'mysite.com/home/' w pasku adresu, nastąpi natychmiastowe przekierowanie do 'mysite.com'. Nie miałem pojęcia, że zmiana tych linków do obrazków sprawi mi taki dziwny problem :) Mam nadzieję, że ktoś tutaj ma na to rozwiązanie. Z góry dzięki!


title: Wordpress Multisite Zautomatyzowany skrypt migracji

text: Trochę daleko, ale czy ktoś może polecić skrypt automatyzujący przenoszenie multisite Wordpress z lokalnego na serwer na żywo.


title: Pobieranie adresu URL obrazu o zmienionym rozmiarze

text: Mam określone pytanie Wooframework. Używam motywu Bueno z WooFramework 4.5.4 . Próbuję uzyskać adres URL obrazu, którego rozmiar został zmieniony za pomocą **Dynamic Image Resizer** WooFramework na single.php. Używam woo_get_image('image', 490, 200); w tym celu, ale to nie zwraca adresu URL obrazu, tylko wyświetla obraz bezpośrednio na stronie. Muszę uzyskać adres URL. Więc mogę go używać w ten sposób: `<img src="<?php get_img_url(); ?>">`. Jakiej funkcji powinienem użyć?


title: Przekaż zmienną do funkcji wp zamiast bezpośredniego tekstu tekstowego

text: Szukam zastąpienia statycznego tekstu ciągu w tej funkcji dynamicznym tekstem z var. Obecny model: comments_number( 'brak odpowiedzi', '1 odpowiedź', '% odpowiedzi' ); Idealny wynik (odgadnięcie kodu): comments_number( '$no_responce_text', '1'.$responce_text, '%'.$responce_text ); Jestem pewien, że jest to łatwe pytanie o php, ale tutaj zakłopotane. Każda pomoc się przyda. Dziękuję


title: Uzyskaj tytuł posta z linkiem

text: Używam tego kodu do wysyłania wiadomości e-mail z mojej witryny Wordpress. Wysyła permalinki postów. Jak mogę to edytować, aby mieć połączone tytuły zamiast tylko permalinków; if(count($ids) > 0){ $user_id = $usermeta['user_id']; $userdata = get_userdata($user_id); $email = $userdata->data->user_email; //echo $e-mail; $linki = ''; foreach($ids as $id){ $link = get_permalink($id); $linki .= $link . ' <br>'; } //echo $linki; if (have_posts()) : while (have_posts()) : the_post(); $emailTpl = get_the_content(); koniec; endif; $wiadomość = preg_replace('/\[\%urls\%\]/', $linki, $emailTpl); $headers = "Wersja MIME: 1.0\n" . "Typ treści: text/html;"; //wp_mail('ehmudroy@gmail.com', 'Powiadomienie o nowym projekcie', $link); //wp_mail('lijb@stunningtech.com', 'Powiadomienie o nowym projekcie', $message, $headers); wp_mail($email, 'Powiadomienie o nowym projekcie', $wiadomość, $nagłówki); }


title: Jak mogę oferować różne kanały RSS według kategorii?

text: Chcę napisać bloga WordPress na kilka całkiem innych tematów. Większość napiszę po angielsku, ale niektóre tematy są interesujące tylko dla Niemców. Posty w kategorii niemieckiej będą w języku niemieckim. Myślę, że nie jest to interesujące dla większości czytelników, którzy czytają angielskie kategorie, co jest w niemieckiej kategorii. Więc chciałbym mieć jeden RSS-Feed dla wszystkich postów w niemieckiej kategorii i jeden RSS-Feed dla wszystkich innych postów. Jak mogę to zrealizować? Domyślnie dostępne są dwa kanały: <link rel="alternate" type="application/rss+xml" title="Kanał RSS MyBlog" href="http://localhost/wordpress/feed/" /> <link rel= "alternatywny" type="application/atom+xml" title="MyBlog Atom Feed" href="http://localhost/wordpress/feed/atom/" />


title: Przenoszenie linków do paska administracyjnego WordPress

text: Czy istnieje sposób na przeniesienie linków, takich jak Dodaj nowe komentarze dotyczące wyglądu, do jednego menu?


title: Użycie Apply_filter w klasie plugin/widget

text:
Mam trudności z ustaleniem, co robię źle podczas używania `apply_filter()` w klasie widżetu. Oto kilka przykładów mojego kodu: class Byad_CountDown_Widget extends WP_Widget { function __construct() { parent::__construct( 'byadcd_widget', // Podstawowy identyfikator widżetu __('BYAD Countdown Widget', 'byad-countdown'), // Widget nazwa pojawi się w interfejsie użytkownika // Opis widżetu i tablica klas( 'description' => __( 'Widżet do wyświetlania odliczania (lata (opcja), dni, godziny, minuty, sekundy)', 'byad-countdown' ), 'classname' => 'byad-odliczanie', ) ); } widżet funkcji publicznej ( $args, $instance ) { $title = '' . $instancja['tytuł'] . '

' ; $title = apply_filters( 'byad_title', $title );//Spróbuj dodać możliwość zmiany tytułu widżetu za pomocą add_filter() // przed i po zdefiniowaniu argumentów widżetu przez motywy echo $args['before_widget']; // kod do zaimplementowania niektórych zmiennych if ( is_active_widget( false, false, $this->id_base, true )) { wp_enqueue_script( 'byad-countdown', plugins_url( 'js/byad-countdown.js' , __FILE__ ), tablica ('jquery'), '1.0', prawda ); $params = apply_filters('byad_jsdata', array( 'byadClass' => 'wyświetlanie odliczania', 'byadImg' => '/byad-countdown/images/skull.png', 'byadAlt' => '.', ' year' => __('Lata', 'byad-odliczanie'), 'miesiąc' => __('Miesiące', 'byad-odliczanie'), 'day' => __('Dni', 'od-odliczanie '), 'hour' => __('Godziny', 'byad-odliczanie'), 'min' => __('Minuty', 'byad-odliczanie'), 'sec' => __('Sekundy', 'byad-odliczanie'), ) ); //Spróbuj zmodyfikować tablicę przekazaną do pliku JS wp_localize_script( 'byad-countdown', 'jbydCD_Data', $params ); } echo '

'; if (! empty( $title )) { echo $args['before_title'] . $tytuł . $args['after_title']; } echo $args['after_widget']; } // Widget Backend public function form( $instance ) { if ( isset( $instance[ 'title' ] ) ) { $title = $instance[ 'title' ]; } else { $title = __( 'Mój domyślny tytuł', 'byad-countdown' ); } //tutaj formularz administratora widżetu } // Aktualizacja widżetu zastępującego stare instancje nową aktualizacją funkcji publicznych( $new_instance, $old_instance ) { $instance = array(); $instance['title'] = ( ! empty( $nowa_instance['title'] ) ) ? strip_tags( $nowa_instancja['tytuł'] ): ''; zwróć $instancję; } } // Klasa Byad_Countdown_Widget kończy się tutaj // Zarejestruj i załaduj funkcję widżetu byad_load_widget() { register_widget( 'Byad_Countdown_Widget' ); } add_action( 'widgets_init', 'byad_load_widget' ); Jak widać, dwukrotnie użyłem apply_filter, aby móc podłączyć się do zmiennej przekazanej do mojego widżetu: `byad_title` i `byad_jsdata`. Ale kiedy w moim motywie `function.php` robię następujące czynności: function my_title($title){ $title = 'wiesz co?'; zwróć $tytuł; } add_filter('byad_title','my_title'); Nic się nie dzieje, nawet jeśli zmienię priorytet funkcji `add_filter` to szukam porady, bo po uruchomieniu sieci i różnych odpowiedziach i możliwościach, nie udało mi się to zrobić.


title: Jak załadować wtyczkę js tylko na jej stronach ustawień?

text: Mam wtyczkę, która jest w konflikcie z niektórymi domyślnymi funkcjami wordpress. W obszarach tworzenia/edycji postów i stron. Potrzebuję tylko moich funkcji na stronach ustawień. Mam ładowanie pliku js w admin, nie ma problemu. Czy mogę powiedzieć skryptowi, aby się nie ładował, dopóki nie przeglądam stron ustawień mojej wtyczki?


title: update_post_meta aktualizuje się tylko w ostatniej pętli foreach

text: Tworzę sposób na przesłanie wielu plików dla niestandardowego typu ogłoszenia w interfejsie użytkownika. Moja funkcja w tym miejscu z powodzeniem przesyła dowolną liczbę plików, więc mogę je zobaczyć w sekcji „Media” w WordPressie... dołączone do posta. Muszę mieć możliwość przechowywania adresu URL pliku w polu niestandardowym. Kiedy używam `update_post_meta` ... aktualizuje tylko wartości dla ostatniej pętli/pliku w mojej pętli foreach poniżej. Nie wiem dlaczego? `update_post_meta()` mówi, że „Zwraca meta_id, jeśli meta nie istnieje, w przeciwnym razie zwraca true w przypadku sukcesu i false w przypadku niepowodzenia. Zwraca również false, jeśli przesłana wartość jest taka sama jak wartość, która jest już w bazie danych. http://codex.wordpress.org/Function_Reference/update_post_meta Zobacz moje komentarze w kodzie, gdzie się dzieje. Jakieś pomysły? Dziękuję! akpsi_insert_attachment( $announcement_id, 'wpcf-announcement_attached_file' ); function akpsi_insert_attachment( $post_id, $post_meta ) { if ( $_FILES['announcement_upload'] ) { $files = $_FILES['announcement_upload']; foreach ( $files['name'] as $key => $value ) { if ( $files['name'][$key] ) { $file = array( 'name' => $files['name'] [$key], 'type' => $files['type'][$key], 'tmp_name' => $files['tmp_name'][$key], 'error' => $files['error' ][$klucz], 'rozmiar' => $pliki['rozmiar'][$klucz] ); $_FILES = array( "announcement_upload" => $plik ); foreach ( $_FILES as $file_key => $array ) { // sprawdź, czy przesyłanie się powiodło if ($_FILES[$file_key] !== UPLOAD_ERR_OK) __return_false(); require_once( ABSPATH . "wp-admin" . '/includes/image.php' ); require_once( ABSPATH . "wp-admin" . '/includes/file.php' ); require_once( ABSPATH . "wp-admin" . '/includes/media.php' ); // pomyślnie wgrywa dowolny plik w każdej pętli $attach_id = media_handle_upload( $file_key, $post_id ); // to tylko raz aktualizuje meta posta i tylko ostatnią pętlę/plik. $attach_url = wp_get_attachment_url($attach_id); $postmeta_updated = update_post_meta( $post_id, $post_meta, $attach_url ); // test, aby zobaczyć, co mi to daje w każdej pętli... // np: daje mi 'int(777)' dla pierwszej pętli/pliku, 'bool(true)' dla drugiej pętli/pliku, 'bool(true) ' dla trzeciej pętli/pliku var_dump( $postmeta_updated ); } } } } }


title: Niestandardowe pętle typu post i Disqus

text: Stworzyłem CPT dla witryny, nad którą aktualnie pracuję, o nazwie „kampanie”. Stworzyłem stronę, która wyświetla niektóre treści, a także niestandardową pętlę, która wyświetla najnowszą kampanię. Wszędzie indziej na stronie używałem Disqus do komentowania i chciałbym użyć Disqus tutaj - ale wydaje się, że się nie wyświetla. Próbowałem zmodyfikować kod komentarzy do: <?php $withcomments = "1"; szablon_komentarze(); ?> ale otrzymuję zwykły formularz komentarzy, a nie Disqus. Czy ktoś ma jakieś pomysły, jak to obejść? Z góry dziękuję! 8-2-11 - Znalazłem tymczasowe obejście - polegające na zastąpieniu pliku comments.php w motywie plikiem komentarzy z wtyczki - ale to oznacza utrzymanie synchronizacji obu, więc byłoby świetnie, gdybym może znaleźć lepsze rozwiązanie.


title: Wyklucz z postów zapytania z meta_key i meta_value

text: Używam tej funkcji, aby wykluczyć z postów zapytania, które mają 30 dni, function filter_where($where = '') { //posts in the last 30 days $where .= " AND post_date > '" . date('R-m-d', strtotime('-30 dni')) . "'"; zwróć $gdzie; } // Zarejestruj funkcję filtrującą add_filter('posts_where', 'filter_where'); // Wykonaj zapytanie, filtr zostanie zastosowany automatycznie query_posts($query_string); czy można zrobić coś takiego, aby wykluczyć posty, które mają meta_key=votes i meta_value=0 ?


title: Przepisanie wtyczki WP Sub Posts, aby jeden niestandardowy typ posta był dzieckiem innego niestandardowego typu postu

text:
Na wstępie powiem, że nie mam nic przeciwko CSS i Wordpress, ale PHP jest nowością. Wszyscy wyglądacie na niesamowicie mądrą grupę i zastanawiałem się, czy ktoś mógłby mi pomóc? Buduję witrynę Wordpress dla znajomego, który chce publikować mixtape'y. Utworzyłem dwa niestandardowe typy postów: „mixtape” i „track”, a mój znajomy chce móc opublikować „mixtape”, a następnie dołączyć kilka podrzędnych postów „track”, które pozostaną we właściwej kolejności i będą wyświetlane tylko na nadrzędna strona posta. Bawiłem się z wtyczką WP Sub Page ( http://takien.com/550/wordpress-plugin-wp-sub-post.php ) i starałem się, aby działała z typami postów innymi niż domyślny typ postów . Zasadniczo ma dokładnie tę funkcję, której szukam, ale muszę być w stanie użyć jej do połączenia jednego posta typu „track” z postem nadrzędnym typu „mixtape”. czy to możliwe? Poniżej zamieściłem kod wtyczki na wypadek, gdyby to było pomocne. Wiem, że to wielka prośba, ale się trudziłemw tym od trzech dni, bezskutecznie. Jeśli ktoś ma czas, aby mi w tym pomóc, byłbym bardzo wdzięczny! Próbuję tylko dowiedzieć się, jak to wszystko działa! Dziękuję. Kod: <?php
 /* Nazwa wtyczki: WP Sub Post Opis: Możesz sprawić, by post był dzieckiem innego posta. Autor: Takien Wersja: 0.1 Alpha */ //////////////////////////// class Walker_PostDropdown extends Walker { var $tree_type = 'post'; var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); function start_el(&$output, $strona, $głębokość, $args) { $pad = str_repeat(' ', $głębokość * 3); $output .= "\tID\""; if ( $page->ID == $args['selected'] ) $output .= ' selected="selected"'; $output .= '>'; $title = esc_html($page->post_title); $output .= "$pad$title"; $output .= "\n"; } } /////////////funkcja &wp_get_posts($args = '') { global $wpdb; $defaults = array( 'child_of' => 0, 'sort_order' => 'ASC', 'sort_column' => 'post_title', 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'meta_key' => '', 'meta_value' => '', 'autorzy' => '', 'parent' => -1, 'exclude_tree' => '', 'number' => '' , 'przesunięcie' => 0 ); $r = wp_parse_args($args, $defaults); wyodrębnij ($r, EXTR_SKIP ); $liczba = (int) $liczba; $przesunięcie = (int) $przesunięcie; $cache = tablica(); $key = md5( serialize( compact(array_keys($defaults)) ) ); if ( $ cache = wp_cache_get ( 'wp_get_posts', 'posts' ) ) { if ( is_array ($ cache) && isset ( $ cache [ $ key ] ) ) { $ pages = apply_filters (' wp_get_posts ', $ cache [ $ klucz ], $r ); zwróć $strony; } } if ( !is_array($cache)) $cache = array(); $włączenia = ''; if ( !empty($include)) { $child_of = 0;//ignoruj parametry child_of, parent, exclude, meta_key i meta_value, jeśli używasz include $parent = -1; $wyklucz = ''; $ meta_klucz = ''; $meta_wartość = ''; $hierarchiczna = fałsz; $incpages = preg_split('/[\s,]+/',$include); if ( count($incpages) ) { foreach ( $incpages as $incpage ) { if (empty($inclusions)) $inclusions = $wpdb->prepare(' AND ( ID = %d ', $incpage); else $ inkluzje .= $wpdb->prepare(' OR ID = %d ', $incpage); } } } if (!empty($inclusions)) $inclusions .= ')'; $wykluczenia = ''; if ( !empty($exclude)) { $expages = preg_split('/[\s,]+/',$exclude); if ( count($expages) ) { foreach ( $expages jako $expage ) { if (empty($exclusions)) $exclusions = $wpdb->prepare(' AND ( ID <> %d ', $expage); $exclusions .= $wpdb->prepare(' AND ID <> %d ', $expage); } } } if (!empty($wykluczenia)) $wykluczenia .= ')'; $author_query = ''; if (!empty($autorzy)) { $post_authors = preg_split('/[\s,]+/',$autorzy); if ( count($post_authors)) { foreach ( $post_authors as $post_author ) { //Czy mamy identyfikator autora lub login autora? if ( 0 == intval($post_author) ) { $post_author = get_userdatabylogin($post_author); if ( empty($post_author) ) kontynuuj; if ( empty($post_author->ID) ) kontynuuj; $post_author = $post_author->ID; } if ( '' == $author_query ) $author_query = $wpdb->prepare(' post_author = %d ', $post_author); else $author_query .= $wpdb->prepare(' OR post_autor = %d ', $post_autor); } if ( '' != $author_query ) $author_query = " AND ($author_query)"; } } $join = ''; $where = "$wykluczenia $włączenia"; if ( ! empty( $meta_key ) || ! empty( $meta_value ) ) { $join = " DOŁĄCZENIE LEWE $wpdb->postmeta ON ( $wpdb->posts.ID = $wpdb->postmeta.post_id )"; // meta_key i meta_value mogą być przecięte $meta_key = stripslashes($meta_key); $meta_value = stripslashes($meta_value); if ( ! empty( $meta_key ) ) $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_key = %s", $meta_key); if ( ! empty( $meta_value ) ) $where .= $wpdb->prepare(" AND $wpdb->postmeta.meta_value = %s", $meta_value); } if ( $parent >= 0 ) $where .= $wpdb->prepare(' AND post_parent = %d ', $parent); $query = "SELECT * FROM $wpdb->posty $join WHERE (post_type = 'post' AND post_status = 'publish') $where";$zapytanie .= $author_zapytanie; $query .= " ZAMÓW PRZEZ " . $sort_kolumna . " " . $sort_order ; if ( !empty($liczba) ) $zapytanie .= 'LIMIT ' . $przesunięcie . ','. $liczba; $strony = $wpdb->get_results($zapytanie); if ( empty($pages) ) { $pages = apply_filters('wp_get_posts', array(), $r); zwróć $strony; } // Oczyść przed buforowaniem, aby zrobić to tylko raz $num_pages = count($pages); for ($i = 0; $i < $num_pages; $i++) { $pages[$i] = sanitize_post($pages[$i], 'surowe'); } // Aktualizuj pamięć podręczną. update_page_cache($pages); if ( $child_of || $hierarchical ) $pages = & get_page_children($child_of, $pages); if ( !empty($exclude_tree)) { $exclude = (int) $exclude_tree; $dzieci = get_page_children($wyklucz, $stron); $wyklucza = array(); foreach ( $children as $child ) $excludes[] = $child->ID; $wyklucza[] = $wyklucza; $liczba stron = count($strony); for ( $i = 0; $i < $num_pages; $i++ ) { if ( in_array($pages[$i]->ID, $excludes) ) unset($pages[$i]); } } $cache[ $klucz] = $strony; wp_cache_set( 'wp_get_posts', $cache, 'posty' ); $pages = apply_filters('wp_get_posts', $pages, $r); zwróć $strony; } ////////////// funkcja walk_post_dropdown_tree() { $args = func_get_args(); if ( empty($args[2]['walker']) ) // opcjami użytkownika są trzeci parametr $walker = new Walker_PostDropdown; else $walker = $args[2]['walker']; return call_user_func_array(array(&$walker, 'spacer'), $args); } function wp_dropdown_posts($args = '') { $defaults = array( 'depth' => 0, 'child_of' => 0, 'selected' => 0, 'echo' => 1, 'name' => ' page_id', 'show_option_none' => '', 'show_option_no_change' => '', 'option_none_value' => '' ); $r= wp_parse_args( $args, $defaults ); wyodrębnij ($r, EXTR_SKIP ); $strony = wp_get_posts($r); $wyjście = ''; $nazwa = esc_attr($nazwa); if ( ! empty($pages) ) { $output = " <select id=""$name\"" name="\"$name\""> <option value="\"-1\"">$ show_option_no_change</option> <option value="\""">$show_option_none</option> \n"; } $output = apply_filters('wp_dropdown_pages', $output); if ( $echo ) echo $wyjście; zwróć $wyjście; } ///////////////////////////// /* Użyj akcji admin_menu, aby zdefiniować pola niestandardowe */ add_action('admin_menu', ' mojaplugin_add_custom_box'); /* Użyj akcji save_post, aby coś zrobić z wprowadzonymi danymi */ add_action('save_post', 'myplugin_save_postdata'); /* Dodaje niestandardową sekcję do "zaawansowanych" ekranów edycji postów i stron */ function myplugin_add_custom_box() { if( function_exists( 'add_meta_box' )) { add_meta_box( 'myplugin_sectionid', __( 'WP Sub Posts', 'myplugin_textdomain' ), 'myplugin_inner_custom_box', 'post', 'side','high' ); //add_meta_box( $id, $title, $callback, $page, $context, $priority ); add_meta_box( 'myplugin_sectionid', __( 'WP Sub Posts', 'myplugin_textdomain' ), 'myplugin_inner_custom_box', 'page', 'advanced' ); } else { add_action('dbx_post_advanced', 'myplugin_old_custom_box' ); add_action('dbx_page_advanced', 'myplugin_old_custom_box' ); } } function myplugin_inner_custom_box() { echo '  '; echo ' <input id="myplugin_noncename" name="myplugin_noncename" type="ukryty" value="' . wp_create_nonce( plugin_basename(__FILE__) ). '" />'; ?>
<?php _e('Rodzic') ?>
 Proszę wybrać rodzica tego posta <?php $currentid = $_GET['post']; wp_dropdown_posts(array('exclude_tree' => $currentid, 'selected' => $post->post_parent , 'name' => 'parent_id', 'show_option_none' => __('Główny post (bez rodzica)'), 'sort_column' => 'menu_order, post_title')); } /* Drukuje formularz edycji pre- WordPress 2.5 post/strona */ function myplugin_old_custom_box() { echo '
' . "\n"; echo ' <fieldset id="myplugin_fieldsetid" class="dbx-box ">' . "\n"; echo '

' . __( 'WP Sub Posts', 'myplugin_textdomain') . "

 "; echo '

'; // edytowanie danych wyjściowych z formularza myplugin_inner_custom_box(); // zakończenie echa wrappera "

 </fieldset>
 \n"; } /* Po zapisaniu wpisu , zapisuje nasze niestandardowe dane */ function myplugin_save_postdata( $post_id ) { // zweryfikuj, że pochodzi z naszego ekranu i z odpowiednią autoryzacją, // ponieważ save_post może zostać wywołany w innym czasie, jeśli ( !wp_verify_nonce( $_POST['myplugin_noncename'] , plugin_basename(__FILE__) )) { return $post_id; } // sprawdź, czy jest to procedura automatycznego zapisywania. Jeśli to jest nasz formularz nie został przesłany, więc nie chcemy // robić nic if ( define('DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return $post_id; // Sprawdź uprawnienia if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id )) return $post_id; } else { if ( !aktualny użytkownik_can( 'edit_post', $post_id ) ) return $post_id; } // OK, jesteśmy uwierzytelnieni: musimy znaleźć i zapisać dane $mydata = $_POST['parent_id']; zwróć $mojedane; } add_filter('posts_where','where_no_parent'); add_filter ('the_content','subpost_template', 1, 2 ); function subpost_template($content) { if(is_singular) { remove_filter('posts_where','where_no_parent'); } echo $treść; $idnya = get_the_ID(); $child = nowy WP_Query("post_type=post&post_parent=".$idnya."); while($child->have_posts()) : $child->the_post(); echo ' <cytat blokowy> '; echo '
'; tytuł(); echo '
 '; $id_dziecka = get_the_ID(); Zawartość(); edit_post_link('Edytuj'','','',$childid); echo '
 '; koniec; wp_reset_query(); }function where_no_parent($where) { global $wpdb; $where .= " AND post_parent = 0"; zwróć $gdzie; } ?> ?>


title: Dodawanie funkcji nagłówka do motywu

text: Zmieniłem motyw mojej witryny w ten weekend, ale nie zauważyłem, że nie obsługuje nagłówków ... Teraz próbuję ręcznie utworzyć funkcję pobierania obrazu nagłówka, udało mi się coś zrobić w sekcji functions.php, ale robię naprawdę nie wiem, co powinienem zrobić w sekcji header.php. Kiedy próbuję umieścić jakiś kod w pliku header.php, mój nagłówek pojawia się na górze kontenera witryny, nad logo. Chciałbym mieć nagłówek o pełnej szerokości, który zastępuje całe białe tło nad menu, z widocznym na nim logo i paskiem wiadomości. Czy ktoś mógłby mi pomóc? Z góry dziękuję :)


title: Wskazówki dotyczące wydajności dla dużej bazy użytkowników

text: Przygotowuję stronę z wieloma użytkownikami (100 000+). Ponieważ wynik zależy od relacji bieżącego użytkownika do niektórych niestandardowych typów postów i taksonomii, statyczna pamięć podręczna niewiele pomoże. Poza używaniem osobnej tabeli dla użytkowników i serwowaniem plików statycznych z domeny bez plików cookie – co jeszcze mogę zrobić dla wydajności? Na przykład: Czy powinienem używać InnoDB czy MyISAM? Wskazówki dotyczące indeksów? ## Aktualizacja Oczywiście nie byłem wystarczająco jasny. Przepraszam. Wszyscy użytkownicy są zalogowani. Zawsze. Nikt inny nie może zobaczyć więcej niż strona startowa. Witryna oferuje płatne materiały do kursów online. Szukam wskazówek dotyczących tylko dużej bazy użytkowników. Podstawowe ogólne optymalizacje wydajności, takie jak kompresja, leniwe ładowanie skryptów, sprite'y itp., są przydatne, ale nie po to mi się podoba.


title: Czy ktoś może podać przykład RAW SQL do WYBORU postów za pomocą 2 lub więcej tagów?

text: Potrzebuję RAW SQL, ponieważ pracuję na innej platformie z bazą danych WordPress. Kiedy uruchamiam `example.com/tag/first+second`, WordPress uruchamia zapytanie `SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (10649,7783,6336,4556,3938)` Skąd pochodzą identyfikatory postów ? Tylko zgaduję. Mam pewne przemyślenia na ten temat, ale najpierw chcę sprawdzić, czy ktoś wie. Oto zapytanie, które zbudowałem podczas pobierania postów za pomocą JEDNEGO tagu: SELECT `wp_posts`.`ID`, `wp_posts`.`post_name`, `wp_posts`.`post_title`, `wp_posts`.`post_date`, `wp_posts` .`post_content`, DATEDIFF(CURDATE(),post_date) as days_ago FROM `wp_posts` INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy_tax. wp_term_taxonomy.term_id = wp_terms.term_id) GDZIE 1 = 1 ORAZ wp_term_taxonomy.taxonomy = 'post_tag' ORAZ wp_terms.slug BRZMI JAK 'Hennessy' I wp_terms.slug BRZMI JAK 'VS' AND 'wp_post's. post_status = 'opublikuj') GRUPA WG wp_posts.ID ZAMÓWIENIE WG wp_posts.post_date DESC dzięki.


title: Paypal API i Wordpress

text: Cześć, czy ktoś wie, gdzie mogę znaleźć samouczek API PayPal, który może wskazać mi właściwy kierunek. Potrzebuję czegoś, co po zweryfikowaniu płatności przez PayPal odbija się przez kod do update_user_meta, a także kilka pól w niestandardowym tabela w bazie danych wp. Informacje, które mogę znaleźć przez google, są dość niejasne w tym, czego wymagam. pozdrawiam Martin


title: Pokaż łącze nawigacyjne dla zalogowanych użytkowników

text: Wordpress pozwala użytkownikom stosować klasy CSS do łączy w sekcji Wyglądy-->Menu. Opierając się na tym, chciałbym wiedzieć, czy istnieje sposób na ukrycie linków, które mają określoną klasę CSS. Powiedzmy, że stosuję klasę CSS > .members do jednego z moich linków nawigacyjnych. Haczyk polega na tym, że chciałbym, aby ten link był wyświetlany tylko użytkownikom, którzy są zalogowani. Trochę utknąłem, ponieważ nie wiem, jak dokładnie to zrobić. Mógłby coś takiego: if(is_user_logged_in()) { } Po prostu nie wiem, jak mógłbym celować w klasę CSS.


title: Widżety znikające w panelu administracyjnym

text: Mam zarejestrowane 2 paski boczne. Pojawiają się tak, jak powinny w Widżecie i mogę wrzucać do nich widżety. Gdy zapisuję widżety, zawartość widżetów pojawia się na stronie, na której zarejestrowane są paski boczne. Ale kiedy wracam do strony administratora widżetu, panele paska bocznego są puste, więc nie mogę edytować zawartości widżetów. Treść nadal wyświetla się na stronie, nawet po ponownym załadowaniu.


title: disqus: komentarze, które podobały się najbardziej, wznoszą się na szczyt... jak youtube?

text: Czy w Disqus mogę pozwolić, aby najbardziej „lubiane” lub „ulubione” komentarze znalazły się na szczycie, tak jak w YouTube? Jeśli nie, czy istnieją inne systemy komentowania, które mają wbudowaną tę funkcję?


title: Jak aktywować sekcję "niestandardowe pola" w WP3?

text: To chyba głupie pytanie, ale konfiguruję fińską instalację Wordpressa. Sekcja „pola niestandardowe” w sekcji „pisz post” zniknęła; Rozumiem, że jest domyślnie ukryty. To świetny krok, ale mój fiński jest trochę zardzewiały, to moja pierwsza instalacja WP i nie mogę znaleźć przełącznika, aby go włączyć. Gdzie mam to zrobić? > **Edytuj:** Martin pokazuje, jak to zrobić na podstawie postów, dzięki > za to. W moim przypadku przydałoby się _zawsze_ pokazywać niestandardowe pola, więc > dodatkowe punkty dla każdego, kto może mi podpowiedzieć, jak to zrobić. Nie mogę znaleźć żadnej dokumentacji na ten temat.


title: Zduplikowany szablon nie ładuje się tak samo, jak oryginalny plik szablonu?

text:
Poprosiłem kogoś o zakodowanie niestandardowego motywu, który zaprojektowałem. Muszę zduplikować jeden z szablonów stworzonych przez tę osobę, nadać unikalne nazwy klas dla CSS, dostosować CSS według potrzeb i na koniec zapisać go jako zupełnie nowy szablon. **Co zrobiłem do tej pory:** * Otwarto szablon, który chcę powielić w programie Dreamweaver. * Zmieniono nazwę szablonu u góry strony na nazwę nowego szablonu. * Zapisałem szablon pod inną nazwą, ponieważ stanie się on nowym szablonem. * Zapisano szablon na serwerze przez FTP w lokalizacji, w której znajdują się pozostałe szablony. **Oto problem:** jeśli utworzę nową stronę i wybiorę nowy szablon, niestandardowe pola meta (cmb) nie pojawią się tak, jak po wybraniu szablonu, z którego skopiowałem nowy szablon. Pokazuje tylko domyślny metabox. Spójrz na te zrzuty ekranu ![szablon przechowywania](http://i.stack.imgur.com/GVK04.jpg) ![szablon referencji](http://i.stack.imgur.com/nLMQR.jpg) Oto kod do oryginalnego szablonu (template.storage.php) i mojego nowego szablonu. Pamiętaj, że te szablony są dokładnie takie same, po prostu zmieniam nazwę szablonu. Później zmienię niektóre klasy, aby dodać niestandardowy styl, ale teraz nie ma to znaczenia. <?php /** Nazwa szablonu: Pamięć **/ ?> <?php get_header(); ?> <?php $container_background = get_post_meta($post->ID, '_cmb_background-container', prawda); ?> <?php $box_one_heading = get_post_meta($post->ID, '_cmb_storage-box-one-heading', prawda); $box_one_content = wpautop(get_post_meta($post->ID, '_cmb_storage-box-one-content', true)); $box_two_heading = get_post_meta($post->ID, '_cmb_storage-box-two-heading', true); $box_two_content = wpautop(get_post_meta($post->ID, '_cmb_storage-box-two-content', true)); ?> <div id="kontener" class="innerpage" style="background: #fff3cb url('<?php echo ($container_background ? $container_background : "".get_stylesheet_directory_uri()."/images/corks.png" ; ?>') środek dół bez powtórzeń;"> <?php fourosix_breadcrumbs(); ?>
 <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?> <id artykułu="post-<?php the_ID(); ?>" <?php post_class(); ?>>
 <?php if($box_one_heading && $box_one_content) { ?>

<?php echo $box_one_heading; ?>
 <?php echo $box_one_content; ?>
 <?php } ?> <?php if($box_two_heading && $box_two_content) { ?>

<?php echo $box_two_heading; ?>
 <?php echo $box_two_content; ?>
 <?php } ?>

 <?php the_post_thumbnail(485,320,true ); ?>

 <?php $beerimage = get_post_meta($post->ID, 'BeerImage', true); ?>

 <?php if ( is_user_logged_in( ) ) : ?>  <?php edit_post_link( __( 'edytuj' ), '', '' ); ?>  <?php endif; ?>
 <?php endwhile; ?> <?php else : ?>

nie znaleziono strony

 <?php endif; ?>

 <?php get_footer(); ?>   Oto nagłówek zduplikowanego szablonu: <?php /** Nazwa szablonu: Referencje **/ ?> Dołączam również te 2 fragmenty kodu, ponieważ może to być pomocne Kod z mój "enable.php" <?php /** * Dołącz i skonfiguruj niestandardowe metaboksy i pola. * * @category YourThemeOrPlugin * @package Metaboksy * @license http://www.opensource.org/licenses/gpl-license.php GPL v2.0 (lub nowsza) * @link https://github.com/jaredatch/ Niestandardowe-metaboxy-i-pola-dla-WordPress */ add_filter( 'cmb_meta_boxes', 'wsod_metaboxes' ); /** * Zdefiniuj konfiguracje metaboksu i pól. * * @param array $meta_boxes * @return array */ function wsod_metaboxes( array $meta_boxes ) { // Zacznij od podkreślenia, aby ukryć pola z listy pól niestandardowych $prefix = '_cmb_'; $meta_boxes[] = array( 'id' => 'ustawienia-ogólne', 'title' => 'Ustawienia ogólne', 'strony' => array('strona'), 'context' => 'normalny', ' priorytet' => 'high', 'show_names' => 'true', 'fields' => array( array( 'name' => 'Background Container', 'desc' => 'Proszę przesłać obraz, który chcesz użyj jako tła dla kontenera tej strony', 'id' => $prefix .'background-container', 'type' => 'file' ) ) ); $meta_boxes[] = array( 'id' => 'page-storage', 'title' => 'Storage Content', 'pages' => array('page'), 'context' => 'normalny', ' priorytet' => 'high', 'show_names' => 'true', 'fields' => array( array( 'name' => 'Box #1 Heading', 'desc' => 'Proszę wprowadzić nagłówek Box #1 tutaj', 'id' => $prefix . 'storage-box-one-heading', 'type' => 'text_medium' ), array( 'name' => 'Box #1 Content', 'desc' => 'Proszę wpisać zawartość Box#1 tutaj', 'id' => $prefix .'storage-box-one-content', 'type' => 'wysiwyg', 'options' => array( 'textarea_rows ' => 6, ) ), array( 'name' => 'Pole #2 Nagłówek', 'desc' => 'Proszę podać hea ing Box#2 tutaj', 'id' => $prefix . 'storage-box-two-heading', 'type' => 'text_medium' ), array( 'name' => 'Treść Box #2', 'desc' => 'Proszę wprowadzić tutaj zawartość Box#2' , 'id' => $prefix .'storage-box-two-content', 'type' => 'wysiwyg', 'options' => array( 'textarea_rows' => 6, ) ) ) ); $meta_boxes[] = array( 'id' => 'page-services', 'title' => 'Treść usług', 'pages' => array('page'), 'context' => 'normalny', ' priorytet' => 'high', 'show_names' => 'true', 'fields' => array( array( 'name' => 'Box #1 Heading', 'desc' => 'Proszę wprowadzić nagłówek Box #1 tutaj', 'id' => $prefix . 'services-box-one-heading', 'type' => 'text_medium' ), array( 'name' => 'Box #1 Content', 'desc' => 'Proszę wpisać treść pola nr 1 tutaj', 'id' => $prefix .'services-box-one-content', 'type' => 'wysiwyg', 'options' => array( ' textarea_rows' => 6, ), ), array( 'name' => 'Box #2 Heading', 'desc' => 'Proszę wprowadzić w tym miejscu nagłówek Box#2', 'id' => $prefix . 'services-box-two-heading', 'type' => 'text_medium' ), array( 'name' => 'Treść Box#2', 'desc' => 'Proszę wpisać treść Box#2 tutaj ', 'id' => $prefix .'services-box-two-content', 'type' => 'wysiwyg', 'options' => array( 'textarea_rows' => 6, ), ), array( ' name' => 'Pole #3 Nagłówek', 'desc' => 'Proszę wpisać tutaj nagłówek pola #3', 'id' => $prefiks .'services-box-three-heading', 'type' = > 'text_medium' ), array( 'name' => 'Treść Box#3', 'desc' => 'Proszę wpisać treść Box#3 tutaj', 'id' => $prefix .'services-box -three-content', 'type' => 'wysiwyg', 'options' => array( ' textarea_rows' => 6, ), ), array( 'name' => 'Nagłówek Pola #4', 'desc' => 'Proszę wpisać tutaj nagłówek Pola #4', 'id' => $prefiks . 'services-box-four-heading', 'type' => 'text_medium' ), array( 'name' => 'Treść Box#4', 'desc' => 'Proszę wpisać treść Box#4 tutaj ', 'id' => $prefix .'services-box-four-content', 'type' => 'wysiwyg', 'options' => array( 'textarea_rows' => 6, ), ), ) ); // Reszta kodu return $meta_boxes; } add_action( 'init', 'cmb_initialize_cmb_meta_boxes', 9999 ); /** * Zainicjuj klasę metabox. */ function cmb_initialize_cmb_meta_boxes() { if ( ! class_exists( 'cmb_Meta_Box' ) ) require_once 'init.php'; } Kod z mojego "script-metabox-template-toggle.js" jQuery(document).ready(function() { // w tej funkcji ukryj wszystkie używane niestandardowe metaboxy function hide_all_custom_metaboxes() { jQuery('#page- udogodnienia').hide(); jQuery('#page-services').hide(); jQuery('#page-storage').hide(); } function show_custom_metabox(meta_id) { var selector = "#" + meta_id; if(jQuery(selector).length) jQuery(selector).show(); } function toggle_wp_editor(current_metabox) { jQuery('#postdivrich').show(); switch(current_metabox) { case 'facility': / /jQuery('#postdivrich').css("display","brak"); show_custom_metabox("dodatki-strona"); break; case 'services': jQuery('#postdivrich').css("display", "Żaden");                     show_custom_metabox("usługi stron"); przerwanie; wielkość liter 'przechowywanie': jQuery('#postdivrich').css("wyświetlanie","brak"); show_custom_metabox("pamięć-stron"); przerwanie; } } function get_template_html_id() { current_metabox = jQuery('#page_template opcja:selected').val(); bieżąca_metabox = bieżąca_metabox.replace('szablon.',''); aktualna_metabox = aktualna_metabox.replace('.php',''); /*if(current_metabox == "domyślnie") { current_metabox = "zawartość-domyślna"; }*/ return current_metabox; } hide_all_custom_metaboxes(); var current_metabox = get_template_html_id(); show_custom_metabox(current_metabox); toggle_wp_editor(current_metabox); jQuery('#page_template').bind("zmiana", function() { hide_all_custom_metaboxes(); show_custom_metabox(get_template_html_id()); toggle_wp_editor(get_template_html_id()); }); }); Jakieś sugestie, jak sprawić, by mój niestandardowy szablon działał?


title: Jak zmodyfikować listę komentarzy w WP & BuddyPress?

text: Chciałbym zmodyfikować **listę komentarzy** (komentarze pozostawione przez użytkowników) na stronie WP za pomocą BuddyPress. W **comments.php** zawęziłem go do następującego kodu: <?php wp_list_comments( array( 'callback' => 'bp_dtheme_blog_comments' ) ); ?> Jakaś wskazówka, gdzie mogę znaleźć **bd_dtheme_blog_comments** i jak najlepiej to zmodyfikować? Dziękuję Ci.


title: Jak dodać przyciski do edytora tinyMCE, aby zawijały się do następnej linii i/lub wyświetlały się w obszarze „Kitchen Sink”?

text: Z powodzeniem dodaję przyciski do edytora TinyMCE w Wordpress, ale problem polega na tym, że wszystkie pojawiają się po prawej stronie przycisku Kitchen Sink, a mam ich tak wiele, że potrzebuję ich do wyświetlenia w nowej linii. Jak sprawić, by przyciski zawijały się do następnej linii i/lub utworzyć nowy wiersz dla moich przycisków niestandardowych? Oto mój kod: tinymce.create('tinymce.plugins.boxlight', { init : function(ed, url) { ed.addButton('boxlight', { title : 'Add a light content box', image : url+' /images/box-light.png', theme_advanced_buttons3_add : 'boxlight', onclick : function() { ed.selection.setContent('[box_light]' + ed.selection.getContent() + '[/box_light]'); } }); }, createControl : function(n, cm) { return null; }, }); tinymce.PluginManager.add('boxlight', tinymce.plugins.boxlight); Ten kod po prostu dodaje przyciski do głównego paska narzędzi TinyMCE i nie wiem, jak dodać przyciski do nowego paska narzędzi.


title: Niestandardowy typ zawartości bez widoku strony

text: Próbuję zdefiniować niestandardowy typ zawartości, a dokładniej chcę utworzyć kontrolki w typie zawartości dla suwaka, który pokażę na niestandardowym szablonie strony głównej. Co chciałbym wiedzieć, czy można sprawić, by typ treści nie miał widoku (rzeczywistej strony, na której by się pojawił).


title: Wtyczka WordPress: globalna aktualizacja

text: Cześć Chcę mieć możliwość stworzenia wtyczki, która będzie sprawdzać aktualizacje innych wtyczek, które stworzyłem z jednego miejsca. W moim głównym pliku wtyczki mam include_once( 'class-login-slider-updater.php' ); $login_slider_updater = new Login_Slider_Updater( 'http://wp-creation.com/api/plugins/login-slider/',plugins_url('login-slider', 'login-slider').'login-slider.php') ; W moim pliku class-login-slider-updater.php mam to poniżej. Ten plik wywołuje API, które określa wszystkie potrzebne informacje, tak jak używa WordPress.org. class Login_Slider_Updater { private $api_url = 'http://wp-creation.com/api/plugins/login-slider/'; prywatne $api_data = array(); private $name = 'suwak-logowania'; prywatny $slug = 'suwak-logowania.php'; /** * Konstruktor klasy. * * @uses plugin_basename() * @uses hook() * * @param string $_api_url Adres URL wskazujący na niestandardowy punkt końcowy interfejsu API. * @param string $_plugin_file Ścieżka do pliku wtyczki. * @param array $_api_data Opcjonalne dane do wysłania za pomocą wywołań API. * @return void */ function __construct( $_api_url, $_plugin_file, $_api_data = null ) { $this->api_url = $_api_url; $this->api_data = $_api_data; $this->nazwa = nazwa_bazy_wtyczki( $_plik_wtyczki ); $this->slug = basename( $_plugin_file, '.php'); // Skonfiguruj haki. $to->hak(); } /** * Ustaw filtry Wordpress, aby podłączyć się do procesu aktualizacji WP. * * @uses add_filter() * * @return void */ private function hook() { add_filter( 'pre_set_site_transient_update_plugins', array( &$this, 'pre_set_site_transient_update_plugins_filter' ) ); add_filter( 'plugins_api', array( &$this, 'plugins_api_filter' ), 10, 3); } /** * Sprawdź aktualizacje w zdefiniowanym punkcie końcowym API i zmodyfikuj tablicę aktualizacji. * * Ta funkcja zanurza się w interfejsie API aktualizacji, gdy Wordpress tworzy swoją tablicę aktualizacji, * następnie dodaje niestandardowe wywołanie interfejsu API i wstrzykuje niestandardowe dane wtyczki pobrane z interfejsu API. * Jest ponownie składany z części natywnego kodu aktualizacji wtyczki Wordpress. * Zobacz wp-includes/update.php wiersz 121 dla oryginalnej funkcji wp_update_plugins(). * * @uses api_request() * * @param array $_transient_data Zaktualizuj tablicę zbudowaną przez Wordpress. * @return array Zmodyfikowana aktualizacja tablicy z niestandardowymi danymi wtyczek. */ function pre_set_site_transient_update_plugins_filter( $_transient_data ) { if( empty( $_transient_data )) ) return $_transient_data; $to_send = array( 'slug' => $this->slug ); $api_response = $this->api_request( 'najnowsza_wersja_wtyczki', $do_wysłania); if( false !== $api_response && version_compare( $_transient_data->checked[$this->name], $api_response->new_version, '<' ) ) $_transient_data->response[$this->name] = $api_response ; zwróć $_transient_data; } /** * Aktualizuje informacje na stronie „Wyświetl szczegóły wersji x.x” o dane niestandardowe. * * @uses api_request() * * @param mixed $_data * @param string $_action * @param object $_args * @return object $_data */ function plugins_api_filter( $_data, $_action = '', $_args = null ) { if ( ( $_action != 'plugin_information' ) || !isset( $_args->slug ) || ( $_args->slug != $this->slug ) ) return $_data; $to_send = array( 'slug' => $this->slug ); $api_response = $this->api_request( 'informacja_wtyczki', $do_wysłania); if ( false !== $api_response ) $_data = $api_response; zwróć $_dane; } /** * Wywołuje API i, jeśli się powiedzie, zwraca obiekt dostarczony przez API. * * @uses get_bloginfo() * @uses wp_remote_post() * @uses is_wp_error() * * @param string $_action Żądana akcja. * @param array $_data Parametry dla akcji API. * @return false||object */ private function api_request( $_action, $_data ) { global $wp_version; $dane = array_merge( $this->api_data, $_data ); $options = array( 'timeout' => ( ( zdefiniowany('DOING_CRON') && DOING_CRON ) ? 30 : 3), 'body' => array( 'action' => $_action, 'data' => serialize( $ data ) ), 'user-agent' => 'WordPress/' .$wp_version .'; ' .get_bloginfo( 'url' ) // Nie zmieniaj tej linii. ); // Wywołaj niestandardowy interfejs API. $raw_response = wp_remote_post( $this->api_url, $options ); if ( !is_wp_error( $raw_response ) && ( 200 == $raw_response['response']['code'] ) ): return unserialize( $raw_response['body'] ); w przeciwnym razie: zwróć fałsz; endif; }} Więc to, co chcę zrobić, to móc sprawić, by ta wtyczka sprawdzała aktualizacje dla innych wtyczek, które opracowałem, wywołując API. A może możesz wskazać mi dobry samouczek na ten temat, ponieważ nie mogę znaleźć żadnego, który wyjaśniałby, jak to zrobić.


title: Import ponad 200 kazań

text: Chociaż nie jest to pytanie dotyczące programowania WordPress, szukam sposobu na zaimportowanie ponad 200 kazań na naszą stronę kościoła. Zaktualizowałem pliki mp3 za pomocą mp3tag i wszystkie wyglądają dobrze. Próbuję przenieść je z Concrete5 do instancji WordPress. Nie chcę tego wszystkiego kodować/aktualizować w WordPressie. Przyjrzałem się wielu menedżerom kazań dla WordPressa, w tym - https://wordpress.org/plugins/sermon-manager-for-wordpress/, który ma moduł masowego importu, ale nie wykonuje zbyt dobrej pracy. Dziękuję.


title: Tabele wielostanowiskowe takie same jak w przypadku pojedynczej instalacji?

text: Czy tabele tworzone dla każdej strony/bloga na Multisite są takie same jak dla pojedynczych? Czy mogę wykonać zrzut SQL dla każdej tabeli MS i zaimportować go do pojedynczej instalacji?


title: wp_kses_post usuwa tylko tagi <script>, ale nie ich zawartość

text: Czy jest jakiś sposób na usunięcie znaczników `<script>` wraz z ich zawartością? wp_kses_post wydaje się tylko usuwać tagi, podczas gdy ich zawartość pozostaje widoczna na stronie. Dziękuję Ci


title: Dlaczego mój adres URL zwraca kod błędu 404?

text: Mam niestandardowy typ na mojej witrynie Wordpress o nazwie „film”. Jeśli użytkownik wpisze ten adres URL: `http://mysite.com/1994`, chciałbym wyświetlić wszystkie filmy opublikowane w 1994 roku. Niestety otrzymuję stały błąd 404. Kiedy wywołuję `get_post_type` w index.php (jest to strona szablonów wywołana, ponieważ nie zdefiniowałem 404.php), wyświetla 'movie', ale nie mam filmu o nazwie 1994... przynajmniej jeszcze nie. Mam włączone ładne permalinki. Jeśli poproszę inspektora reguł przepisywania o sprawdzenie adresu URL, oto wynik dla `http://mysite.com/1994`: ([0-9]{4})/?$ index.php?year=$matches [1] data (.?.+?)(/[0-9]+)?/?$ index.php?pagename=$matches[1]&page=$matches[2] strona ([^/]+) (/[0-9]+)?/?$ index.php?name=$matches[1]&page=$matches[2] post Czego mi brakuje?


title: Kiedy będzie następna duża aktualizacja wordpressa?

text: Mój klient nie jest wielkim fanem aktualizacji, więc chcę go zapewnić, że następna duża aktualizacja będzie miała miejsce za co najmniej 3-4 miesiące. Właśnie zaktualizowałem jego bloga do wersji 3.1 - (YAY!) Czy ktoś się z tym zgodzi, czy jest to tylko pobożne życzenie z mojej strony?


title: Aktualizowanie tablicy meta danych użytkownika wordpress (nieoczekiwane wiele tablic)

text: Dlatego próbuję zaktualizować tablicę meta danych użytkownika, którą wcześniej zapisałem za pomocą tej funkcji: function oe_charge_customer( $customer ) { // załaduj biblioteki stripe require_once(STRIPE_BASE_DIR .'/lib/Stripe.php'); // sprawdź czy jest w trybie testowym czy nie check_stripe_api(); // licznik $i = $customer['i']; // pobierz meta użytkownika, jeśli jest $payment_args = get_user_meta( $customer['user_id'], 'oe_customer_details' ); // zaktualizuj wypłaconą wartość do wartości true $payment_args[0]['payments'][$i]['paid'] = 1; // próba obciążenia karty klienta try { $charge = Stripe_Charge::create(array( 'amount' => $customer['amount'] * 100, 'currency' => 'usd', 'customer' => $ klient['cust_id'] ) ); // zaktualizuj profil użytkownika, aby wyświetlał płatne update_user_meta( $customer['user_id'], 'oe_customer_details', $payment_args ); } catch (wyjątek $e) { wp_die($e); } } Otrzymuję nieco oczekiwane wyniki, z wyjątkiem tego, że ciągle wrzuca go do nowej tablicy za każdym razem, gdy jest aktualizowany. Jakiś pomysł dlaczego tak się dzieje? Wydaje mi się, że nie potrafię tego objąć głową. Po zaktualizowaniu otrzymuję następujące informacje: Tablica ( [0] => Tablica ( [0] => Tablica ( [0] => Tablica ( [0] => Tablica ( [0] => Tablica ( [klient) = > Tablica ( [nazwa] => [id] => cus_2Oo1hyvYyZsaj0 [user_id] => 18 ) [płatności] => Tablica ( [0] => Tablica ( [kwota] => 16 [data] => 1376710188 [opłacone] => 0 ) [1] => Tablica ( [kwota] => 4 [data] => 1376710238 [opłacone] => 0 ) ) ) [płatności ] => Tablica ( [0] => Tablica ( [opłacone] => 0 ) ) ) ) [płatności] => Tablica ( [1] => Tablica ( [opłacone] => 1 ) ) )) )


title: Edytor obrazów nie wpływa na niestandardowe rozmiary!

text: Ostatnio, pracując z wordpress 3.5, natknąłem się na tę poprawkę :http://core.trac.wordpress.org/ticket/19889 ...która rozwiązała problem niestandardowych rozmiarów obrazów zdefiniowanych przez mój motyw, który nie zmieniał rozmiaru lub nie obracał się prawidłowo. Problem polegał na tym, że image-edit.php nie uwzględniał rozmiarów dodanych przez funkcję add_image_size (myślę, że to nazwa funkcji, ale nie na 100%) w functions.php. ta poprawka działała idealnie, ale niestety nie działa w wersji 3.6. Wygląda na to, że image-edit.php został całkowicie zastąpiony przez inne pliki i funkcje. Mógłbym wykonać kopię zapasową do 3.5, ale najlepiej naprawić ją pod 3.6! Nie jestem doświadczonym programistą, więc chciałem poprosić kogoś, aby rzucił okiem na łatkę i pomógł mi naprawić plik .php odpowiedzialny za edycję obrazów.


title: Przeglądaj album ze zdjęciami bez konieczności przewijania w dół dla każdego zdjęcia

text: Potrzebuję sposobu, aby zobaczyć moje albumy ze zdjęciami bez konieczności przewijania w dół dla każdego zdjęcia. Czy jest więc sposób na zgubienie nagłówka po otwarciu albumu ze zdjęciami? A może album ze zdjęciami może otworzyć się w nowym oknie? Dzięki, Mike


title: Dokumentacja WordPress - argumenty WP_Query

text: Szukałem listy wszystkich argumentów WP_Query. Wygląda to na oczywiste, ale http://codex.wordpress.org/Function_Reference/WP_Query wcale nie jest pomocne, „post_type” jest wymieniony tylko w przykładzie, a argumentów takich jak „posts_per_page” nawet tam nie ma.


title: Dynamiczne tworzenie niestandardowych elementów typu post i aktualizowanie ich

text: Tworzę wtyczkę, która używa niestandardowego typu postu. Moje pytanie składa się z dwóch części: (1) po aktywacji wtyczki, jak utworzyć elementy moich niestandardowych typów postów. Na przykład: jeśli mój typ posta to... "Najlepsze restauracje". Chcę utworzyć 10 elementów niestandardowych typów postów, ponieważ moja wtyczka będzie potrzebować tych informacji. Jak mam to zrobić? Czy istnieje funkcja, której mogę użyć, która dodaje element postu wraz z jego niestandardowymi danymi? oraz (2) Kiedy moja wtyczka zostanie zaktualizowana, powiedzmy, że wydałem nową wersję, w jaki sposób najlepiej zmodyfikować tę listę? Myślałem o usunięciu wszystkich elementów z określonym typem postu, a następnie wstawieniu nowych, ale to może być przesada. Z góry dziękuję.


title: Uzyskaj termin dla każdego niestandardowego typu postu

text:
Mam problem z określeniem terminu listy postów niestandardowych. Mam 2 taksonomie w moim niestandardowym typie postu. jednym z nich jest „visa_processing”. i próbuję utworzyć listę (tabela, tr, td) "Nazwa1, Imię2, numer paszportu, przetwarzanie". „przetwarzanie” to termin i każdy inny. Muszę umieścić termin „przetwarzanie” na liście dla każdego posta. Np. Jan, Kowalski, K009923, oczekujący Cena, Marek, K009923, nieudany Jordan, MC, K009923, wydany „zastosowano, czekam, nieudany, wydany” <\--- są to warunki taksonomii „przetwarzanie_wiz”. Ale terminy nie wyświetlają ani nie są drukowane „Tablica”. jak mogę to naprawić? $args = array( 'post_type' => $post_type, 'numberposts' => $limit, 'post_status' => $status, ); $posts = get_posts( $args ); if( count($posts) ): $return .= '<tabela>'; foreach( $posts jako $post ): setup_postdata( $post ); /** pobierz wartości meta i zastąp **/ $getPassport = get_post_meta( get_the_ID(), '_Passport', true ); $getPassport_replaced = substr_replace($getPassport, "*", 3).'*****'; $getName1 = get_post_meta( get_the_ID(), '_Name1', true ); $getName2 = get_post_meta( get_the_ID(), '_Name2', true ); $getName2_replaced = substr_replace($getName2, "*", 3).'***'; //$getNames = pobierz_tytuł(); // 전체 이름 : 사용안함 //$processing = get_the_terms( get_the_ID(), 'visa_processing', array("orderby"=>"term_order")); //$processing = wp_get_post_terms(get_the_ID(), 'visa_processing'); //$processing = wp_get_object_terms(get_the_ID(), 'visa_processing'); //echo pobierz_identyfikator(); //$terms = get_the_terms(); print_r($warunki); $return .= '
' . $getName1 .' „. $getName2_replaced .'	 '.$getPassport_replaced.'	'.$processing.'
'; na każdym kroku; wp_reset_postdata(); $return .= '

'; //#recent_visas else : $return .= '
Nie znaleziono postów.
'; endif; return $powrót;


title: proste rozwijalne menu pionowe, problem ze skryptem java

text: Staram się stworzyć proste rozwijalne menu w wordpressie. Poniżej możesz zobaczyć javascript, którego używam (kopiuj i miksuj z Internetu). <script type="text/javascript"> $(document).ready(function($) { $('#access li').has('ul').addClass('has_submenu'); $('#access ul li.has_submenu a').click(funkcja() { $("#dostęp ul").toggleClass("pokażUkryj"); }); }); </script> **Pierwsza część jest ok** , skrypt dodaje klasę has_submenu do mojego menu. **Druga część** powinna przełączyć klasę pokażUkryj. Mój problem polega na tym, że kiedy klikam, pojawia się klasa showHide, ale znika zaraz po przeładowaniu strony. Dzięki za pomoc :)


title: wyświetl 20 wierszy tylko z zawartością_treści

text: Lubię wyświetlać tylko 20 linijek postu z linkiem czytaj więcej za pomocą the_content( __( 'Kontynuuj czytanie →' ) ); Ale pokazuje pełną treść. Jak mogę to rozebrać. Pomóż mi!


title: Jak dodać niestandardowy skrypt do pliku Customize.php

text: Mam dość trudności z dodaniem skryptu do konfiguratora motywów 3.4 (tj. Customize.php). Jeśli chcę, mogę wyrejestrować jquery i dodać je z googleapi w następujący sposób: wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js'); wp_enqueue_script( 'jquery' ); To działa dobrze. Jednakże, jeśli chcę dodać jquery-color lub jakiś inny skrypt, po prostu nie mogę go uruchomić. Na przykład to nie działa: wp_enqueue_script( 'jquery-color' ); To również nie działa: wp_register_script( 'bpjquerycolor', 'http://localhost/bp2/wp-content/themes/buildpress/admin/scripts/bpjquerycolor.js'); wp_enqueue_script( 'bpjquerycolor' ); Jeśli chodzi o add_action, żadna z następujących czynności nie działa: add_action( 'admin_print_scripts', 'add_admin_scripts' ); add_action( 'wp_enqueue_scripts', 'add_admin_scripts' ); add_action( 'init', 'add_admin_scripts' ); add_action( 'admin_init', 'add_admin_scripts' ); Próbowałem również następujących bez powodzenia: global $wp_customize; if ( isset( $wp_customize )) { wp_enqueue_script( 'jquery-color' ); } Krótko mówiąc, wypróbowałem każdą kombinację, jaką przychodzi mi do głowy, bez powodzenia. Co ja robię źle? Jak mogę dodać to do dostosowywania motywów? Z góry dziękujemy za wszelką pomoc, jaką możesz zaoferować.


title: Jak używać Ajax do wyświetlania nowych postów w czasie rzeczywistym na stronie głównej?

text: Czy ktoś wie, jak sprawić, by nowe posty automatycznie pojawiały się na stronie głównej, bez konieczności odświeżania strony. Mam witrynę wordpress z wieloma autorami i chcę, aby ich nowe posty pojawiały się automatycznie. Dziękuję.


title: Memberpress nie współpracuje z WooCommerce

text: Pracuję nad witryną dla klienta, który ma abonamenty członkowskie, a także mały sklep. Używamy Memberpress do obsługi subskrypcji i ograniczania zawartości do określonych typów członkostwa. Dla sklepu używamy woocommerce. Dwie wtyczki wydają się jednak kolidować na stronie kasy. Wszystko działa dobrze, jeśli jesteś zalogowany. Jednak jeśli spróbujesz dokonać płatności jako gość, sprawy staną się niepewne. W checkout.min.js woocommerce znajduje się funkcja update_checkout(), która ma małe wywołanie ajax. Zwykle wydaje się, że ładuje to podsumowanie zamówienia i formularz bramki płatności, jednak jeśli jesteś wylogowany, kończy się to ładowaniem strony „URL do przekierowania członka po zalogowaniu” Memberpress w całości na stronie formularza kasowego. Wygląda więc na to, że Memberpress staje na drodze woocommerce od odświeżania danych w formularzu kasowym. Moje pytanie brzmi zatem, czy ktoś miał doświadczenie z całkowitym wyłączeniem Memberpress dla niektórych stron Twojej witryny? Albo podchodząc do tego pod innym kątem, czy istnieje sposób na wyłączenie ajaxu w formularzu kasowym? * * *


title: wp_remote_get vs. file_get_contents vs. cURL?

text: Muszę pobrać zawartość zdalnego pliku. Co jest lepsze pod względem wydajności — wp_remote_get, file_get_contents czy cURL? Jak dokładnie działa wp_remote_get? Czy możesz stłumić błędy, np. @wp_remote_get ? Dziękuję


title: Możliwość odczytania własnego projektu posta CPT

text: Mam niestandardową rolę o nazwie „Siłownia” i niestandardowy typ postu (CPT) o nazwie „Story”. Każdy użytkownik Gym może stworzyć szkic historii i przeglądać własne szkice historii. Moje CPT 'Story' ma następujące możliwości: [cap] => obiekt stdClass( [edit_post] => edit_post [read_post] => read_post [delete_post] => usuń_post [edit_posts] => edit_posts [edit_others_posts] => edit_others_posts [ publish_posts] => publish_posts [read_private_posts] => read_private_stories [czytaj] => czytaj [delete_posts] => delete_posts [delete_private_posts] => delete_private_posts [delete_published_posts] => post delete_published_posts [private_delete]> => edit_published_posts [create_posts] => edit_gymtopia_story ) Użytkownik Gym ma następujące możliwości: [czytaj] => 1 [upload_files] => 1 [edit_gym topia_story] => 1 [read_private_stories] => 1 Użytkownik siłowni może stworzyć wersję roboczą Story ok. Jednak użytkownik siłowni nie może przeglądać własnych postów z projektem historii. Myślałem, że funkcja `[read_private_posts] => read_private_stories` zadziała. Zamiast tego nie znaleziono strony 404. Byłbym bardzo wdzięczny za wszelkie wskazówki i pomoc, nie wiem czego mi brakuje. Wielkie dzięki, Dasha


title: Przepisywanie adresu URL pojedynczego posta; add_rewrite_rule problem?

text: Muszę dostosować permalink pojedynczego posta (strukturę permalinku), jeśli posty mają określoną wartość w określonych polach niestandardowych. Używam filtra `post_link` do zmiany permalinka w razie potrzeby, a to działa świetnie (mam na myśli, że permalink we front-endzie jest inny, kiedy powinien). Pierwsze pytanie: Twoim zdaniem muszę używać innych filtrów, aby objąć wszystkie przypadki dostosowywania permalinków pojedynczego posta? Następnie dodałem konkretną regułę za pomocą `add_rewrite_rule` do interpretacji tego nowego rodzaju struktury i tutaj mam problem. Ponieważ ta struktura permalinka ma ID (z 0 na początku, aby osiągnąć 6 cyfr, np. 008467) na końcu, zauważyłem, że Wordpress przekierowuje na nowy adres URL z tym numerem - rzut na liczbę całkowitą - powtórzony np. : od /CATEGORYNAME/2013/04/22/POSTSLUG/008467/ do /CATEGORYNAME/2013/04/22/POSTSLUG/008467/8467/ Nie przejmuj się strukturą przed POSTSLUG, w rzeczywistości ważne jest to, że jeśli usunę POSTID ze struktury (008647) wszystko działa dobrze! Na przykład: /NAZWA KATEGORII/2013/04/22/POSTLUG/ Jak to możliwe?! Wygląda na to, że Wordpress uważa, że ta liczba to coś innego, jak paginacja lub coś podobnego. To jest reguła, którą dodałem (wyrażenie regularne jest poprawne, wypróbowałem je z testerem online): add_rewrite_rule( '(.+?)/([0-9]{4})/([0-9]{ 1,2})/([0-9]{1,2})/(.?.+?)/([0-9]{6})(/[0-9]+)?/?$ ', 'index.php?pagename=$matches[5]&page=$matches[7]', 'top');


title: Zmień nazwy załączników podczas przesyłania

text: Oto funkcja, której używam dla WP, aby zmienić nazwy obrazów podczas przesyłania w locie i ustawić nazwę pliku obrazu, aby pasowała do post slugu. function wpsx_5505_modify_uploaded_file_names($arr) { // Pobierz nadrzędny identyfikator postu, jeśli taki istnieje if( isset($_REQUEST['post_id']) ) { $post_id = $_REQUEST['post_id']; } else { $post_id = false; } // Zrób to tylko wtedy, gdy otrzymamy identyfikator posta — w przeciwnym razie prawdopodobnie znajdują się one w // sekcji mediów, zamiast przesyłać obraz z posta. if($post_id && is_numeric($post_id)) { // Pobierz wiadomość o wiadomości $post_obj = get_post($post_id); $post_slug = $post_obj->post_name; // Jeśli znaleźliśmy slug if($post_slug) { $random_number = rand(10000,99999); $arr['name'] = $post_slug . '-' . $losowa_liczba . '.jpg'; } } return $arr; } add_filter('wp_handle_upload_prefilter', 'wpsx_5505_modify_uploaded_file_names', 1, 1); Chcę zachować oryginalną nazwę pliku, dodając $ post_slug [tytuł_wątku]-[oryginalna_nazwa_pliku].ext


title: Po zaimportowaniu oEmbeds nie działa do czasu ręcznego ponownego opublikowania

text: Właśnie skończyłem czyścić dane z aplikacji, z której korzystałem wcześniej i mam wszystko w kilku plikach WXR. Jako ostateczny test, właśnie zaimportowałem je z powrotem do lokalnej instalacji testowej, a wszystkie oEmbedy Vimeo i YouTube zawodzą. (Przypuszczalnie dotyczy to wszystkich innych nośników oEmbed; tak się składa, że w tym przypadku jest to większość) Wyświetlane są tylko adresy URL filmów jako zwykły tekst. Jedynym sposobem, w jaki znalazłem, aby zmusić osadzania do działania, jest ręczne ponowne publikowanie różnych postów i należy to zrobić za pomocą pełnego ekranu edycji postów. Szybka edycja i edycja zbiorcza na ekranie aukcji nie dają żadnego efektu. Jest około 2000 takich postów, więc ten proces jest całkowicie wykluczony. Czy to znany problem? I, oczywiście, czy można to obejść? Na razie nie mogę znaleźć niczego, co pasowałoby do tej sytuacji. Większość wątków wsparcia, które wydają się być blisko, ma związek z procesem importowania usuwającym elementy iframe/obiekty osadzone, a nie wyłączaniem elementów oEmbed. Inne wiążą się z tym, że adresy URL oEmbed nie są w ogóle rozpoznawane (czytaj: funkcja całkowicie nie działa), a nie w tym konkretnym kontekście. Alternatywnie, jaka jest różnica między publikowaniem posta za pomocą szybkiej/zbiorczej edycji a robieniem tego na pełnym ekranie edycji? ( _Dlaczego_ jest różnica?) I czy można to włamać do innego procesu, abym mógł przynajmniej zrobić to w ten sposób? [edytuj] Właśnie potwierdziłem zachowanie na instalacji na żywo. Nie spodziewam się, że będzie coś ciekawego, ale dla odniesienia fragment kilku postów z jednego z plików WXR.


title: Wymuś określony szablon na podstawie adresu URL

text: Gdy użytkownik przegląda identyfikator URI rozpoczynający się od „/forum”, WordPress powinien wywołać określony szablon. Na przykład wszystkie te adresy URL: * mojawitryna.com/fora * mojawitryna.com/forum/pytania * mojawitryna.com/forums/questions/1/moje-pytanie * mojawitryna.com/forum/pytania/zapytanie * mojawitryna.com /forums/users ... powinno wywołać następujący szablon: **mytheme/page-forums.php** Wierzę, że wiąże się to z **WP_Rewrite** , ale nie mam pojęcia, co dalej robić. Jakieś pomysły?


Jak mogę tymczasowo usunąć zawartość ze wszystkich stron, ale pozostawić adres URL? Muszę wyłączyć całą zawartość witryny, ale nie podawaj adresu URL, aby google nadal mógł je znaleźć. ...przynajmniej myślę, że chcę to zrobić. Zasadniczo negocjuję z inną witryną, kto jest „właścicielem” treści, ale oboje zgodziliśmy się na usunięcie treści na 10 dni podczas tej dyskusji. Pomyślałem jednak, że zostawię adres URL, aby nie zostać całkowicie zatrzaśniętym przez Google za to, że cała witryna jest wyłączona. A może to ma znaczenie, jeśli nie ma treści. Nie chciałbym stracić pozycji w Google za 10 dni bezczynności. więc tak czy inaczej, czy istnieje sposób na wyświetlenie komunikatu o konserwacji dla każdego adresu URL, dopóki problem nie zostanie rozwiązany?


title: .htaccess RewriteRule, aby uwzględnić typ postu i taksonomię

text: Próbuję przepisać ten adres URL www.domain.com/gallery/?university=birmingham na adres przyjazny dla SEO, taki jak ten www.domain.com/uni/birmingham/gallery (?university=birmingham) reprezentują taksonomię i galerię to typ posta. W tej chwili ten adres URL (www.domain.com/gallery/?university=birmingham) działa dobrze, wyświetla odpowiednie posty, po prostu nie udało mi się przepisać go na ten powyżej, którego próbowałem to zrobić (co powinno praca): RewriteEngine On RewriteRule ^uni/([0-9A-Za-z_-]+)/(.+)$ /$2?university=$1 [QSA,NC,L,R=302] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /students/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /students/index.php [L] </IfModule> czy ktoś może wskazać mi właściwy kierunek lub pokazać, co robię źle?


title: Jak cofnąć aktualizację wtyczki Wordpress?

text: Wczoraj zaktualizowałem SEO WordPress przez wtyczkę yoast do wersji 1.2.8.4 z wersji 1.2.7 i mój panel administracyjny jest zepsuty. Przeszukałem forum pomocy technicznej, ale autor wtyczki nie odpowiedział na istniejące wątki związane z tymi samymi problemami z aktualizacją. Więc myślę, że powrót do poprzedniej wersji wtyczki byłby najlepszą opcją, dopóki poprawka powyższego problemu nie zostanie wydana przez opcję wtyczki. Mam przy sobie pliki kopii zapasowej bazy danych i pliki kopii zapasowej mojego katalogu domowego. Szukałem na forach wordpress, ale nie mogłem znaleźć dokładnych informacji o tym, jak cofnąć aktualizację wtyczki. Czy ktoś tutaj może mnie poprowadzić z procedurą lub skierować do rozwiązania?


title: Adres URL administratora sieci jest pokazywany każdemu przed wejściem do bloga

text: Mam konfigurację wielostanowiskową i dzisiaj zauważyłem, że moje zabezpieczenia nie działają poprawnie. Każdy z moich blogów ma swój własny adres URL : * `http://www.example1.com` * `http://www.example2.com` * … Mój „główny blog” nie jest używany, jego adres URL istnieje w kolejności aby uzyskać dostęp do administratora sieci * `https://wordpress.example.com` * `https://wordpress.example.com/wp-admin/network/` Za każdym razem, gdy ktoś odwiedza jedną z moich stron internetowych (www1, www2…) jest dostęp do `https://wordpress.example.com/?dm=dcf8262sdfsdff0d8ebcc8608e55e9bf9a&action=load&blogid=9&siteid=1&t=239523830&back=http%3A%2F%2Fwww.example2.com%2F` Teraz, ponieważ mój certyfikat SSL jest z podpisem własnym i głównie dlatego, że „https://wordpress.example.com/” ogranicza się do moich adresów IP, mam do czynienia z kłopotliwym problemem. Czy ktoś wiedziałby, co się dzieje z tym przekierowaniem? Czy to naprawdę konieczne?


title: Jak „zapamiętać” ostatnią odwiedzoną stronę członka witryny?

text: Widziałem to na kilku stronach - oferują one wielostronicowe samouczki dla członków witryny. Kiedy wrócisz na stronę, będą mieli link, który prowadzi do ostatniej strony samouczka, na którym byłeś. Jak to się dzieje? Zgadujesz, że ma to coś wspólnego z sesją PHP?


title: Zawijanie funkcji w tag html i powrót?

text: Tworzę shortcode. Krótki kod wyświetli listę stron z funkcją wp_list_pages(). Używam parametru ('title_li') i nagłówek listy zostanie usunięty, ponieważ pozostanie pusty, a "tag ul" również zostanie usunięty, co nie jest pożądane. http://codex.wordpress.org/Function_Reference/wp_list_pages#Hiding_or_Changing_the_List_Heading Teraz próbuję ponownie umieścić go w tagu ul. To właśnie próbuję, ale zwróci listę stron w "li" bez tagu "ul". function sitemap_function() { $return_string .= "<ul>"; $return_string .= wp_list_pages('sort_column=menu_order&title_li='); $return_string .= "</ul>"; return $ciąg_powrotu; } function register_shortcodes() { add_shortcode('sitemap', 'sitemap_function'); } add_action('init', 'register_shortcodes'); Mam nadzieję, że ktoś może mi tutaj pomóc. Z góry dziękuję.


title: Zbiorcza edycja atrybutów alt i tytułu obrazów Wordpress

text: Przesłałem około 600 zdjęć w różnych galeriach w wordpressie bez ustawiania tytułów i atrybutów alt. Muszę je edytować, zastanawiałem się, jak edytować je według albumu, powiedzmy, że tytułem zdjęć w albumie soccer będzie soccer1, soccer2 itd. ale bez robienia tego ręcznie?


title: wpdb->błąd aktualizacji

text: Próbuję zaktualizować wartość wpisu w tabeli szczegółów formularzy grawitacji. Po prostu próbuję zaktualizować pole „data” we wpisie. Oto moje zapytanie: $update_date = $wpdb->update( 'wp_rg_lead_detail', array( 'value' => the_date('Y-m-d') ), array( 'lead_id' => 170, 'field_number' => 16 ) ); Wygląda na to, że zwraca błąd. Po raz pierwszy w ogóle używam $wpdb, więc może robię coś nie tak. Dziękuję!


title: Wyszukaj i zastąp ciągi końcowe

text: Muszę przefiltrować the_content/the_excerpt oraz wyszukać i zastąpić następującą przygotowaną tablicę: $searchArray = array("foo", "bar", "foo bar", ...); Moim problemem jest to, że używając funkcji **str_replace()** php nie zastępuje końcowych ciągów, takich jak "foo bar". Zamiast tego zastępuje tylko „foo” bez sprawdzania, czy „foo bar” ma zostać zastąpiony. Rozumiem dlaczego, ale nie wiem, jak to rozwiązać? $treść = str_replace(array_keys($searchArray), $replaceArray, $content); add_filter('treść', 'moje_wyszukiwanie_i_funkcja_zamień');


title: Czy istnieje różnica między taksonomiami a kategoriami?

text: Uważnie czytam kodeks WordPressa i jestem zdezorientowany niejasnymi definicjami między tym, czym jest taksonomia, a tym, czym jest kategoria. Z tego względu termin jest również słowem używanym w opisie taksonomii, ale wydaje się, że jest używany w sposób, który sugeruje, że nie jest ograniczony wyłącznie do taksonomii. Oba są opisane jako sposób na klasyfikowanie i grupowanie postów. Rozumiem, że taksonomie są bardziej ogólną formą kategorii, ale jak dokładnie mają się do siebie? Czy jest jakaś subtelna różnica, której po prostu nie rozumiem?


title: Wyłączyć tylko główny kanał?

text: Możliwe jest całkowite uniemożliwienie dostępu do strony przez kanały (RSS, Atom, RDF) za pomocą funkcji takiej jak ta: function itsme_disable_feed() { wp_die( __( 'Brak dostępnego kanału, odwiedź strona główna!' ) ); } add_action('do_feed', 'itsme_disable_feed', 1); add_action('do_feed_rdf', 'itsme_disable_feed', 1); add_action('do_feed_rss', 'itsme_disable_feed', 1); add_action('do_feed_rss2', 'itsme_disable_feed', 1); add_action('do_feed_atom', 'itsme_disable_feed', 1); add_action('do_feed_rss2_comments', 'itsme_disable_feed', 1); add_action('do_feed_atom_comments', 'itsme_disable_feed', 1); Ale to wyłącza kanały dla całej witryny, tj. główny kanał, kanały kategorii, tagi, komentarze, posty, strony, niestandardowe typy postów itp. Jak wyłączyć tylko **główny kanał** i **główny kanał komentarzy ** strony? tzn. wyłącz tylko `site.com/feed/` i `site.com/comments/feed/`. Po prostu ukrywanie kanału za pomocą czegoś takiego (poniżej) nie jest opcją: remove_action( 'wp_head', 'feed_links_extra', 3 ); remove_action( 'wp_head', 'feed_links', 2 );


title: wp_enqueue_script() nie działa z AJAX

text: Mój problem polega na tym, że wykonałem wywołanie AJAX przy użyciu tego kodu wp_enqueue_script( 'prefix-myscript-name', plugins_url( 'js/ajaxcall.js', __FILE__) ); Zadzwoniłem i AJAX po prostu poszło dobrze. Użyłem tego kodu: add_action( 'wp_ajax_ajax_action', 'ajax_response' ); add_action( 'wp_ajax_nopriv_ajax_action', 'ajax_response' ); function ajax_response(){ wp_enqueue_script( 'prefix-myscript-call', plugins_url( 'js/myscript.js', __FILE__) ); } Użyłem `alert('Test')` w `ajaxcall.js`, ale się nie wyświetla! Jestem rozczarowany. Jakieś rozwiązanie?


title: Niestandardowa struktura linku bezpośredniego zapisuje się tylko po wstawieniu pliku index.php

text: Mam więc dziwny problem na desce rozdzielczej, w którym tylko niestandardowe permalinki (domyślny, dzień i nazwa, miesiąc i nazwa itp. Wszystkie działają dobrze) nie są zapisywane. Mogę wybrać przycisk radiowy i kliknąć „Zapisz zmiany”, a przycisk radiowy powróci do jednej z poprzednich opcji, która działa dobrze. I tak znalazłem to w Internecie, które sugeruje dodanie index.php przed linkiem i działa teraz - ale uważam, że ta poprawka jest swego rodzaju "bandaidem" i tak naprawdę nie rozwiązuje problemu. Czy są jakieś konsekwencje używania index.php w niestandardowej strukturze permalink? Ponadto, jeśli to pomaga, strona została zaktualizowana z wersji 3.4.1 do 3.9.1, żadnych błędów PHP, wszystkie wtyczki są wyłączone i brakowało pliku htaccess, ale umieściłem jeden, używając tego. Widzę również, że htaccess aktywnie aktualizuje się za każdym razem, gdy wybieram jedną z opcji, która działa, więc można do niej zapisać. Masz jakiś pomysł, dlaczego problemem jest tylko niestandardowa struktura linków permalink i czy mogę bezpiecznie wstawić do niej index.php jako poprawkę?


title: WP-ecommerce : Zmień cenę przed włożeniem jej do koszyka

text: Pytanie brzmi: Jak mogę zmienić/ustawić cenę produktu na `0` dla każdego produktu po dodaniu produktu do koszyka. We wtyczce znajduje się „hak” jako „wpsc_set_cart_item”, więc mogę go wywołać, ale nie mogę dowiedzieć się, jak zmienić cenę w locie i zwrócić nowe parametry. Mam nadzieję, że ktoś może mi pomóc. Zapytaj o wszystko, co musisz wiedzieć. Dziękuję.


title: organizator wydarzenia nie ładuje się w głównym obszarze zawartości

text: prawdopodobnie jest na to bardzo prosta odpowiedź, ale obawiam się, że jestem nowicjuszem w tych sprawach :( na mojej witrynie Wordpress używam skrótu listy wydarzeń w głównym obszarze treści i kalendarza na pasku bocznym. Jednak za każdym razem, gdy klikam wydarzenie aby wyświetlić go w całości, z listy lub z rzeczywistego kalendarza ... ładuje go na pasku bocznym, a nie w głównym obszarze zawartości. Mam nadzieję, że możesz pomóc :) bardzo dziękuję! Naprawdę podoba mi się wtyczka, po prostu nie mogę tego zrobić tak, jak bym chciał. dzięki Ross


title: Zalogowany identyfikator użytkownika jako identyfikator posta

text: Czy istnieje sposób, aby automatycznie wstawić bieżący identyfikator użytkownika jako nazwę kategorii postów, czy może WordPress wyświetla tylko post z nazwą kategorii, która odpowiada identyfikatorowi aktualnie zalogowanego użytkownika? <?php $query = new WP_Query('nazwa_kategorii=identyfikator-bieżącego-użytkownika'); if($query->have_posts()) : while($query->have_posts()) : $query->the_post(); ?> <?php the_content( __('Przeczytaj resztę tej strony »', 'szablon')); koniec; endif; wp_reset_postdata(); ?>


title: Próbuję edytować plik archive.php, aby wyświetlał tylko fragment posta z wyróżnionym obrazem

text:
Używam dwóch motywów (pełnego i pulpitu), więc staram się, aby zachowywały się podobnie. Archive.php dla motywu mobilnego robi to, czego chcę, czyli po prostu pokazuje tytuł i fragment postu. Myślę, że to jest ten fragment kodu, który to robi: <?php while ( have_posts() ): the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> <?php koniec; ?> Archive.php dla witryny komputerowej pokazuje całe posty, w których chcę, aby pokazywał tylko fragment, a także polecane obrazy. <div <?php post_class() ?>> <?php the_category(' / '); ?> — <?php edit_post_link( __( 'Edytuj', 'nazwamotywu' ), '', ' — '); ?> <?php comments_popup_link( __( 'Brak komentarzy', 'nazwamotywu' ), '1 komentarz', '% komentarzy' ); ?>
 <?php the_time('d'); ?>
<?php the_time('M \'y'); ?>
<a href="<?php the_permalink(); ?>" rel="zakładka" title="<? php _e( 'Stały link do ', 'mythemename' ); ?><?php the_title_attribute(); ?>"><?php the_title(); ?>

 <?php the_content( 'Czytaj dalej →' ); ?>

 Nie wiem, czy nie używa do tego funkcji php. Jak mógłbym to zastąpić czymś, co pokaże te same rzeczy, ale tylko fragment postu z wyróżnionym obrazem?


title: Unikanie zduplikowanych nazw funkcji w Post Loop (skrypt WP_Footer)

text:
Powiedzmy, że stworzyłem wtyczkę, która wstrzykuje treść (używaną jako shortcode) do posta. Próbuję wcisnąć ten kod dla każdego posta na dół strony. Działa to dobrze, jednak gdy jesteś na stronie archiwum z wieloma postami używającymi tego samego shortcode, występuje oczywisty konflikt, ponieważ nazwy funkcji stają się zduplikowane i tylko raz wyświetli kod stopki (activate_flex_slider). <?php function twoja_funkcja() { echo '
To jest wstawione na dole
'; } add_action('wp_footer', 'twoja_funkcja'); ?> To, co próbuję zrobić, to wyprowadzić skrypt stopki, tak aby istniało wiele instancji jQuery wskazujących na ich odpowiednie identyfikatory... <?php function flex_slider() { $output ='

Treść slajdów

'; zwróć $wyjście; } functionactivate_flex_slider(){ ?>  <?php } // Zaczep do stopki, aby suwak był aktywny po załadowaniu strony add_action('wp_footer','activate_flex_slider'); // Utwórz krótki kod add_shortcode('flex_slider', 'flex_slider'); ?>


title: Wtyczka wygasa nagłówki – W3 Total Cache

text: Używając Google PageSpeed Online, wygląda na to, że pliki CSS/Images/JS większości moich wtyczek (w tym wp-nivo-slider) nie mają ustawionych nagłówków wygasających. Czy jest na to rozwiązanie, aby W3 Total Cache ustawiło nagłówki wygaśnięcia na wszystkich nośnikach na mojej stronie?


title: Czy Wordpress jest wystarczająco szybki dla projektu o dużym natężeniu ruchu?

text: Zawsze byłem facetem z WP, zbudowałem z nim wiele małych witryn. Stworzę nową społeczność z dużą rzeszą fanów i zastanawiałem się, czy 3.1.3 jest wystarczająco szybki? Nie miałem okazji z nim pracować od wersji 3.0. Jak reaguje na strony o dużym natężeniu ruchu? Czy jest to coś, co sprawi, że będę się martwić na tyle, aby szukać lżejszego CMS, czy powinienem na nim polegać nawet przy setkach odwiedzających dziennie? Wiem o sztuczkach/wskazówkach, które sprawią, że poczujesz się szybciej, ale czy jest to domyślnie? Dziękuję Ci za Twoje odpowiedzi.


title: Wtyczka (lub motyw) zawierająca własne wtyczki?

text: Mój motyw definiuje swoje własne **działania** i **filtry**, dzięki czemu może być _rozszerzany_ przez osoby trzecie bez konieczności rozwidlenia lub modyfikowania podstawowego kodu Motywu. Mam już kilka wtyczek specyficznych dla mojego motywu, które instaluję w zwykły sposób w `wp-content/plugins` i aktywuję przez panel administracyjny. Jednakże, dla ułatwienia użytkowania, chciałbym **dołączyć kilka wtyczek bezpośrednio do mojego motywu** , na przykład w `my_theme/plugins`, bez konieczności przenoszenia wtyczek, które chce zainstalować do Katalog wtyczek WordPress (w ten sposób przerywając możliwości aktualizacji motywu itp.). ** Czy widziałeś jakiś motyw lub wtyczkę, która robi to w elegancki sposób? Jakie są najlepsze praktyki, aby to zrobić?** W szczególności kilka pytań nasuwa mi się, jeśli mam zaimplementować taki system: * Czy istnieje sposób na łatwe skonfigurowanie niestandardowego katalogu wtyczek w WordPress, oprócz `wp-content /plugins`? * Gdybym miał po prostu zaimplementować własny naiwny system aktywacji wtyczek, jakie kroki powinienem podjąć? Czy muszę tylko skonfigurować podstawowy wykaz w panelu administratora, przechowywać listę aktywowanych "wtyczek niestandardowych" i po prostu dołączyć odpowiednie pliki PHP do inicjowania motywu? Dzięki za pomoc! _EDIT: Powiązane, ale różne od, Czy wtyczki typu drop-in są produktem projektu i Dodaj wtyczki do motywu Wordpress: w tym przypadku wtyczki nie mają sensu bez motywu (rozszerzają go) i są napisane przez ta sama osoba/firma._


title: Wyświetlasz listę kategorii uporządkowanych według popularności?

text: Chciałbym dodać listę kategorii do mojego szablonu pokazującą tylko 5 najpopularniejszych kategorii (według liczby wyświetleń postów w każdej kategorii). Czy jest to coś łatwego, czy wymagałoby dużego dostosowania? To jest kod, którego aktualnie używam: <?php wp_list_categories('number=5&show_count=1&orderby=count&order=DESC&title_li=') ?> Ten kod wyświetla 5 najlepszych kategorii na podstawie liczby postów w kategorii, mam nadzieję, że Mogę to nieco bardziej uszczegółowić i wymienić je w kolejności, które kategorie mają najwięcej wyświetleń postów. Z góry dziękuję!


title: Uzyskaj $image_id po przesłaniu za pomocą media_sideload_image()

text: Chcę przesłać obraz i ustawić go jako polecany obraz w poście. Próbowałem to: $image_id = media_sideload_image($image_url, $post_id, $post_id); update_post_meta($post_id, '_thumbnail_id', $image_id); Ale media_sideload_image() nie zwraca image_id, ale render html obraz. Jak mogę uzyskać image_id??


title: nie widzę niestandardowej treści posta filtrowanej pod filtrem "mój" w panelu administracyjnym

text: po utworzeniu niestandardowego typu postu z wtyczką niestandardowego typu postu UI i po utworzeniu możliwości dla nowej roli do edycji, usuwania i publikowania własnych niestandardowych postów za pomocą wtyczki User Role Editor, napotkałem ten problem. jeśli dwóch lub więcej użytkowników opublikowało treść w niestandardowym typie posta, system pokaże nowy link filtra o nazwie „Kopalnia” dla każdego z użytkowników i będzie to domyślny filtr dla tej strony: http://www. mysite.com/wp-admin/edit.php?post_type=custom problem polega na tym, że echo wyświetla "nie znaleziono elementu.", chociaż użytkownik wyraźnie opublikował treść w tym niestandardowym typie posta. kiedy przełączę się na filtr „wszystko”, pokaże również zawartość użytkownika, ale nie w filtrze „mój”. to bardzo frustrujące! może to rozgryźć po kilku godzinach. czy ktoś może w tym pomóc? * * * Właściwie nie mam kodu, jest to raczej niewłaściwe wykorzystanie funkcji wtyczki / rdzenia, którego tak naprawdę nie rozumiem. przepływ był taki (i przepraszam, ale obrazy będą w języku hebrajskim. Próbowałem przetłumaczyć wszystkie ważne rzeczy, które są związane z problemami): Stworzyłem niestandardowy typ postu z „UI typu custom post”. Do tej pory nigdy nie miałem żadnych problemów z tą wtyczką (jest to moja pierwsza strona typu multiuser / różne role). Stworzyłem nową rolę za pomocą wtyczki "User Role Editor" lub wtyczki "Members". problem poniżej dotyczy obu, dlatego myślę, że nie jest to błąd wtyczki. Do roli subskrybenta dodałem tę listę możliwości i (wiadomość to nazwa typu niestandardowego), bez możliwości „edit_others_messages jak w ![bez edit_others_messages](http://i.stack.imgur.com/1jtGK.png ) i kiedy używam jako subskrybent, domyślnym adresem URL przycisku menu „wszystkie wiadomości” jest link „moje” i jest on pusty! – nie znaleziono żadnych wiadomości! ![zakładka moje – nie znaleziono wiadomości](http:/ /i.stack.imgur.com/RPpuY.png), ale kiedy klikam zakładkę „wszystkie”, wyświetla mi listę wszystkich wiadomości i wie, jaki jest post tego subskrybenta i który z nich jest t. ![tutaj podaj opis obrazu](http://i.stack.imgur.com/C12WW.png), więc chcę zrozumieć, jak nadać roli użytkownika uprawnienia tylko do zarządzania własnymi niestandardowymi typami postów, ale aby wyeliminować zapytanie "nie znaleziono" pod linkiem "moje" (to jest - podstawowe zapytanie na stronie "wszystkie wiadomości" "wp-admin/edit.php?post_type=messages" proszę o pomoc.


title: Jeśli taksonomia istnieje, aby pokazać jakiś kod

text:
Chcę wstawić następujący niestandardowy kod w single.php. Czy mogę ustawić warunek, że jeśli istnieje określona taksonomia, to pokaż i działaj ten kod w przeciwnym razie nie;
 Wszystkie kursy w<?php echo get_the_term_list($post->ID,'kraj', ' ', ' ', '' ) ; ?>
Wszystkie kursy w<?php echo get_the_term_list($post->ID,'institute', ' ', ' ', '' ); ?>
Wszystkie <?php echo get_the_term_list($post->ID,'temat', ' ', ' ', '', '' ); ?> kursy na całym świecie
Wszystkie<?php echo get_the_term_list($post->ID,'qualification', ' ', ' ', '' ) ; ?> kursy na całym świecie
Lista alfabetyczna: <?php echo get_the_term_list($post->ID,'alphabetical', ' ', ' ', '' ) ; ?> na całym świecie


title: Dodać Google Analytics ręcznie czy użyć wtyczki?

text: W naszej sytuacji zajmujemy się tylko Wordpressem, jednak jeden z naszych klientów Wordpress chce dodać Google Analytics do swojej strony. Zakładam, że możemy to zrobić ręcznie, stosunkowo łatwo. A nasze instynkty skłaniały się ku temu, żeby pójść tą drogą. Klient jest tylko na małą skalę i nie musi robić nic szczególnie skomplikowanego, przynajmniej na tym etapie. Chcemy, aby to było proste. Czy najlepiej unikać wtyczki? ## Aktualizacja Dzięki za wszystkie świetne odpowiedzi - w końcu użyliśmy wtyczki. Jak obiecali eksperci, którzy odpowiedzieli poniżej, było to bardzo proste.


title: iframe działa na stronie, ale nie na jednej, dlaczego?

text: Próbuję załadować wideo vimeo na jedną stronę, ale mówi mi: podany adres URL nie jest dozwolony przez konfigurację aplikacji. ale na innych stronach ten sam element iframe, skopiowany i wklejony do szablonu strony, działa dobrze. <iframe src="http://player.vimeo.com/video/4426465" width="400" height="230" frameborder="0"></iframe>


title: Tworzenie wielu blogów

text: Próbuję zbiorczo utworzyć pewną liczbę blogów: $blog_count = 5; $site = get_current_site(); while($blog_count > 0){ shuffle($words); $blog_title = implode(' ', array_slice($słowa, 0, mt_rand(1, 3))); $blog_domain = $blog_path = sanitize_key($blog_title); if(domain_exists($site->domain, $site->path.$blog_path, $site->id)) kontynuuj; $blog_id = wpmu_create_blog($site->domain, $site->path.$blog_path, $blog_title, 0, '', $site->id); echo "Utworzono - {$blog_id}"; $blog_count--; } I nie mogę poprawnie ustawić ścieżek na wszystkich blogach. W tym przypadku tylko 2 z 5 blogów działa poprawnie. * `$site-domain` to "localhost" * `$site->path.$blog_path` to "/wpmutest/thenameoftheblog/" (to nie jest instalacja subdomeny) Kiedy je edytuję, siteurl i home." opcja jest odznaczona na problematycznych blogach i nie mogę jej zaktualizować (nie zmienia się po naciśnięciu Zapisz). Wygląda na to, że tabele bazy danych nie są tworzone. Czy robię coś złego tutaj, czy jest to błąd?


title: zmiana rozmiaru tła/czcionki i zapamiętanie

text: Chcę stworzyć przyciski zmiany rozmiaru czcionki i tła, które wiem jak to zrobić. Problem polega na tym, aby o tym pamiętać, więc jeśli użytkownik przejdzie na inną stronę, tło i czcionka pozostaną takie same. Jak mogę to zrobić? Myślałem o zapisaniu tego w ciasteczkach. Co sądzicie o tym? Czy każdy może napisać przykład zapisywania w plikach cookie w wordpressie.


title: Jeśli komentarze podzielone na strony nie obejmują drugiej strony, jak ukryć opakowanie div?

text:
Mam div wrapper wokół stronicowania moich komentarzy. Mam ustawione komentarze na strony w panelu administracyjnym Wordpress na 10 komentarzy na stronę. Chcę ukryć opakowanie div, jeśli jest mniej niż 10 komentarzy (tj. Linki do stronicowania nie są wyświetlane). Nie wiem, jak to zrobić. Wiem, jak ukryć opakowanie div, jeśli paginacja jest całkowicie wyłączona, ale nie wiem, jak sprawdzić, czy komentarze nie obejmują drugiej strony, gdy paginacja jest włączona. Oto mój kod:

 <?php paginate_comments_links($args); ?>

 Chciałbym całkowicie ukryć nawigację komentarzy, jeśli komentarze nie obejmują drugiej strony. Czy jest do tego jakaś funkcja Wordpress, czy muszę wymyślić trochę niestandardowego kodu?


title: Mapy Geo Mashup pokazują tylko określone kategorie

text: Używam wtyczki geo Mashup do wyświetlania map w mojej witrynie. Zmieniłem szablon stron, więc teraz wyświetla on tylko strony z określonych kategorii, zamiast wymieniać je wszystkie, co teraz wpłynęło na moją globalną mapę, aby wyświetlać tylko mapy z pierwszych kategorii, które określiłem, powinny być wymienione. Używam: aby pokazać mapę, czy istnieje sposób, aby nadać mapie listę kategorii, które powinna wyświetlać? Nie mogę znaleźć niczego, co by zasugerowało, jak byś to zrobił.


title: Sprawdź, czy na Custom Post Type dla przycisków TinyMCE

text: Dodaję przyciski TinyMCE do mojej wtyczki i działają, ale chcę, aby te przyciski wyświetlały się tylko dla określonego niestandardowego typu postu. Skorzystałem z tego samouczka, jeśli to pomaga: http://www.tutorialchip.com/wordpress/wordpress-shortcode-tinymce-button-tutorial-part-2/ Jak mogę to sprawdzić, czy edytują/publikują post w niestandardowy typ posta, powiedzmy, „nowe strony”?


title: Jak wybrać szablon, który ma być użyty w zapytaniu o wiele taksonomii?

text: Od wersji 3.1 WordPress obsługuje wiele zapytań taksonomicznych. Pytanie brzmi: Jeśli mam zapytanie z dwoma taksonomiami, np.: http://localhost:8888/site/?lot-term=australia&story-type=note, jak mogę określić, który szablon ma być użyty w zapytaniu? Przy pierwszej próbie ładuje taxonomy-lot-term.php, ale po ponownym zainstalowaniu motywu ładuje zamiast tego taxonomy-story-type.php. Po pewnym eksperymencie znalazłem sposób, aby użyć mojego preferowanego pliku szablonu, używając najpierw pojedynczego zapytania taksonomicznego (preferowany plik szablonu taksonomii) i zmieniając go za pomocą query_posts. Ale uważam, że jest na to lepszy sposób, ponieważ dodaje kolejne zapytanie SQL. Z góry dziękuję.


title: Uzyskaj imię autora

text: Pewnie jestem tu trochę głupi, ale czy ktoś może wskazać mi właściwy kierunek. Próbuję po prostu wyświetlić imię autorów jako link w mojej pętli. Ale wydaje się, że nie ma żadnych opcji ze znacznikiem `get_author`. To jest to, co mam do tej pory. Opublikowane przez <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author"><?php printf( __( '%s' ), get_the_author() ) ; ?> Dzięki Josh


title: Warunkowe ładowanie Facebook PHP SDK w shortcode

text:
Od wersji 3.3 możemy warunkowo kolejkować skrypty bezpośrednio w naszych funkcjach shortcode, ale kiedy próbowałem to zrobić za pomocą jakiejś klasy PHP (używa `session_start()` w funkcji `__construct()`), jak można się domyślić, daje mi to `nagłówki już wysłany błąd. Problem polega na tym (to jest używanie Facebook PHP SDK w połączeniu z JS SDK), chcę tylko, aby ta klasa była tworzona tylko wtedy, gdy w poście znajduje się krótki kod i jeśli bieżący post ma już wypełnione 2 pola meta (klasa potrzebuje tych dwóch wartości [Identyfikator aplikacji i Sekret aplikacji]). Czy jest na to proste rozwiązanie? Jeśli tak, co mogę zmienić w poniższym kodzie, aby na to zezwolić? public function fb_connect_shortcode( $atts, $content = null ) { extract( shortcode_atts( array( ), $atts ) ); /**/ globalna $post; $app_id = get_post_meta( $post->ID, $this->meta_prefix . 'AppID', true ); $app_secret = get_post_meta( $post->ID, $this->meta_prefix . 'AppSecret', true ); if( $app_id !== '' && $app_secret !== '' ) { /** * To jest klasa, którą próbuję utworzyć warunkowo * ale ponieważ używa session_start(), nie może wysyłać nagłówków * / $facebook = nowy Facebook( array( 'appId' => $app_id, 'secret' => $app_secret, ) ); // Sprawdź, czy istnieje użytkownik z ciasteczka $user = $facebook->getUser(); if( $user ) { try { // Kontynuuj, wiedząc, że masz zalogowanego użytkownika, który jest uwierzytelniony. $user_profile = $facebook->api( '/ja' ); $app_id = $facebook->getAppId(); } catch( FacebookApiException $e ) { echo '
' . htmlspecialchars( print_r( $e, true ) ) . '
'; $użytkownik = null; } } wp_enqueue_script( 'jw-fbsdk', plugins_url( 'jw-fbsdk.js', __FILE__ ), array(), '3.3.1', prawda ); wp_localize_script( 'jw-fbsdk', 'jwuc', array( 'appId' => $app_id, 'channelUrl' => plugins_url( 'channel.php', __FILE__) ) ); if( is_null( $content ) ) $content = 'Połącz z Facebookiem'; if( isset( $user_profile ) && $user_profile ) { return $user_profile['name']; } else { return '
' . $treść . '
'; } } else { return "Zapomniałeś dodać swój identyfikator aplikacji i/lub klucz tajny aplikacji! Facebook ich potrzebuje. :)"; } }


title: zapytanie_posty dla stron podrzędnych

text: Mam problemy z szukaniem informacji w kodeksie na temat zapytań o strony podrzędne. Wydaje się, że brakuje odniesienia do dostępnych parametrów


title: Trzypoziomowa rozwijana nakładka taksonomii

text:
Mam kod w moim functions.php, który wyświetla 3-poziomową listę rozwijaną taksonomii: $brand_taxonomy = 'county'; $taxonomy_name = 'Vietovės pasirinkimas'; add_action('add_meta_boxes', 'my_custom_metabox'); function my_custom_metabox() { add_meta_box('custom-taxonomy-dropdown','Vietovės pasirinkimas','taxonomy_dropdowns_box','post','side','high'); } function taxonomy_dropdowns_box( $post ) { global $brand_taxonomy, $taxonomy_name; wp_nonce_field('niestandardowe rozwijane', 'rozwijane-nonce'); $terms = get_terms( $brand_taxonomy, 'hide_empty=0'); if ( is_a( $terms, 'WP_Error' )) { $terms = array(); } $object_terms = wp_get_object_terms($post->ID, $brand_taxonomy, array('fields'=>'ids')); if ( is_a( $object_terms, 'WP_Error' ) ) { $object_terms = array(); } // możesz przenieść poniższy skrypt java do admin_head ?>  <?php echo "Apskritis:"; echo "<wybierz id='custom_apskritis_options' name='custom_apskritis[]'>"; echo "<option value='0'>Nepasirinkta</option>"; foreach ( $terms as $term ) { if ( $term->parent == 0) { if ( in_array($term->term_id, $object_terms)) { $parent_id = $term->term_id; echo "<option value='{$term->term_id}' selected='selected'>{$term->nazwa}</option>"; } else { echo "<option value='{$term->term_id}'>{$term->name}</option>"; } } } echo "</select>
"; echo "
Atrenkamos...
"; echo "
"; echo "Savivaldybė:"; echo "<wybierz id='custom_savivaldybe_options' name='custom_apskritis[]'>"; if ( isset( $parent_id)) { $savivaldybes = get_terms($brand_taxonomy, 'hide_empty=0&parent='.$parent_id); foreach ( $savivaldybes as $savivaldybe ) { if ( in_array($savivaldybe->term_id, $object_terms)) { $parent_id_savivaldybe = $savivaldybe->term_id; echo "<option value='{$savivaldybe->term_id}' selected='selected'>{$savivaldybe->nazwa}</option>"; } else { echo "<option value='{$savivaldybe->term_id}'>{$savivaldybe->nazwa}</option>"; } } } echo "</select>
"; echo "
"; echo "
Atrenkami...
"; echo "<id div='miestas_container'"; if ( !isset( $parent_id_savivaldybe)) echo " style='display: none;'"; echo ">"; echo "Miesta:"; echo "<wybierz id='custom_miestas_options' name='custom_apskritis[]'>"; if ( isset( $parent_id_savivaldybe)) { $miestas = get_terms( $brand_taxonomy, 'hide_empty=0&parent='.$parent_id_savivaldybe); foreach ( $miestas as $miesta ) { if ( in_array($miesta->term_id, $object_terms)) { echo "<option value='{$miesta->term_id}' selected='selected'>{$miesta-> nazwa}</opcja>"; } else { echo "<option value='{$miesta->term_id}'>{$miesta->name}</option>"; } } } echo "</select>"; echo "
"; } add_action('save_post','save_my_custom_taxonomy'); function save_my_custom_taxonomy( $post_id ) { global $brand_taxonomy, $taxonomy_name; if ( define('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return; if (!wp_verify_nonce($_POST['dropdown-nonce'],'custom-dropdown')) return; $brands = array_map('intval', $_POST['custom_apskritis']); wp_set_object_terms ($post_id, $marki, $brand_taksonomia); } add_action('wp_ajax_get_apskrities_savivaldybes', 'get_apskrities_savivaldybes'); function get_apskrities_savivaldybes() { globalna $brand_taxonomy, $taxonomy_name; check_ajax_referer('custom-dropdown', 'dropdown-nonce'); if (isset($_POST['custom_apskritis'])) { $models = get_terms( $brand_taxonomy, 'hide_empty=0&parent='.$_POST['custom_apskritis']); echo "<option value='0'>Pasirinkti vieną</option>"; foreach ($models as $model) { echo "<option value='{$model->term_id}'>{$model->name}</option>"; } } die(); } add_action('wp_ajax_get_savivaldybes_miestai', 'get_savivaldybes_miestai'); function get_savivaldybes_miestai() { globalna $brand_taxonomy, $taxonomy_name; check_ajax_referer('custom-dropdown', 'dropdown-nonce'); if (isset($_POST['custom_savivaldybes'])) { $miestai = get_terms( $brand_taxonomy, 'hide_empty=0&parent='.$_POST['custom_savivaldybes']); echo "<option value='0'>Pasirinkti vieną</option>"; foreach ($miestai as $miesta) { echo "<option value='{$miesta->term_id}'>{$miesta->name}</option>"; } } die(); } Jak mogę sprawić, by ten kod działał w interfejsie (w searchform). Z góry dziękuję!


title: Śledzenie typu posta w Google Analytics

text: Czy istnieje prosty sposób filtrowania postów i stron w Google Analytics? Strona jest wymieniona jako wymiar podstawowy, gdy przechodzę do treści, ale nie jestem pewien, czy obejmuje to również posty.


title: utwórz pole niestandardowe dla serialu tv

text: Chcę utworzyć witrynę z serialami telewizyjnymi, ale nie wiem, jak wyświetlić wszystkie sezony i odcinki na jednej stronie, np.: Moja GRA Sezon 1 Odcinek 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 Mój GAME Sezon 2 Odcinek 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 lub na tej stronie : streamxd.com/series/mon-oncle-charlie-streaming/117 i po kliknięciu odcinka pobierz odtwarzacz


title: Polecany obraz na stronie postów

text: Stworzyłem motyw, który wykorzystuje wyróżniony obraz na każdej stronie. W ustawieniach ustawiłem moją "stronę postów" jako "wiadomości"... jak mogę wyświetlić wyróżniony obraz z "wiadomości"? Poniższe polecenie wyświetli identyfikator mojej strony postów: <?php $page_for_posts = get_option( 'page_for_posts' ); echo $page_for_posts; ?> Myślałem więc, że to wyświetli polecany obraz dla mojej strony postów: <?php $page_for_posts = get_option( 'page_for_posts' ); echo get_the_post_thumbnail($page_for_posts, 'duży'); ?> Ale jakoś tak nie jest :( Czy muszę dodać ten kod w pętli czy coś? Jakieś pomysły? Dzięki, Josh


title: Jak podzielić treść posta na strony?

text: Chciałbym wiedzieć, czy ktoś widzi fajną wtyczkę, która dzieli długie posty na wiele stron. posty mają około 20 stron. więc najlepiej jeśli nawigacja wygląda tak: **Poprzednia strona | Aktualnie przeglądana strona „Całkowitej strony” | Następna strona** gdyby ktoś mógł napisać wtyczkę, byłby to rodzaj Ciebie.


title: Wtyczka statystyk Google Adsense?

text: Czy ktoś wie, czy istnieje wtyczka WP, która pokazuje statystyki dotyczące Twoich reklam (takich jak kliknięcia, zarobki itp.)? Rozglądałem się i większość wtyczek, które znalazłem, pozwala tylko zarządzać rzeczywistym kodem reklamy. Znalazłem ten, ale nie działa. Z góry dziękuję!


title: chcesz użyć widżetu wordpress dwa razy

text: Mam widżet zainstalowany w wordpressie chcę użyć tego widżetu dwa razy z inną konfiguracją, ale po pierwszym użyciu znika z listy widżetów, jeśli ktoś ma rozwiązanie do wielokrotnego używania widżetu z inną konfiguracją na każdym. Widget: wordpress.org/plugins/mobile-app-showcase


title: Komunikaty o błędach podczas dodawania kodu do function.php lub próby usunięcia nieaktywnych plików wtyczek

text:
Komunikat o błędzie poniżej: Ostrzeżenie: Nie można zmodyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście rozpoczęte w /home/content/79/7603579/html/listings/wp-content/themes/OIB theme/functions.php:519) w /home /content/79/7603579/html/listings/wp-include/pluggable.php w wierszu 897 EDIT: Kod wokół `functions.php` w wierszu 519: <?php echo $value['desc']; ?>

 <?php przerwa; wielkość liter "sekcja": $i++; ?>

<img src="<?php bloginfo('template_directory')?>/functions/images/trans.gif" class="inactive " alt="""><?php echo $wartość['nazwa']; ?>
  <input name="zapisz<?php echo $i; ?>" type="submit" value="Zapisz zmiany" />

 <?php przerwa; } } ?> A poprawka, zgodnie z poniższym komentarzem, usunęła ten kod: function cpt_Search_category_Filter($query) { $post_type = array('post','business_sold'); if ($query->is_search || $query->is_category ) { $query->set('post_type', $post_type); }; return $query; }; add_filter('pre_get_posts','cpt_Search_category_Filter');