title: Regularne aktualizowanie stron internetowych klientów

text: Mam nadzieję, że poniższe pytanie jest tutaj do zaakceptowania, ponieważ jest w połowie związane z WordPressem, a w połowie z biznesem. Regularne aktualizowanie WP jest ważne ze względów bezpieczeństwa, ale może być czasochłonne, jeśli istnieje wiele witryn do zaktualizowania, a nawet więcej, jeśli niektóre aktualizacje wymagają aktualizacji wtyczek (aw niektórych przypadkach wtyczka przestaje działać po aktualizacji WP, co potencjalnie wymaga czasu rozwiązanie konsumujące). Jakie jest najlepsze rozwiązanie tego problemu? Czy na przykład regularne aktualizacje WP powinny być pobierane? Czy należy o tym wspomnieć w pierwotnej umowie?


title: Polldaddy nie pojawia się na własnym motywie

text:
Opracowuję własny motyw na stronie internetowej, na której korzystam z wtyczki polldaddy polls & ratings. Ustawiłem oceny tak, aby pojawiały się na stronie głównej i działa to m.in. temat dwudziestu dwunastu. Jednak z moim własnym motywem widzę div poldaddy, ale nic w nim nie ma:

 To jest mój `index.php`: <?php pobierz_nagłówek(); // Wczytuje szablon header.php. if ( have_posts() ): while ( have_posts() ): the_post(); ?>
 <h2 class="post_title" id="post-<?php the_ID();?>"><a href="<?php the_permalink();?>" rel= "zakładka" title="<?php the_title();?>"><?php the_title();?>
 <?php the_excerpt(); ?>
 <?php endwhile; else : get_template_part( 'błąd pętli' ); // Ładuje szablon loop-error.php. endif; pobierz_stopkę(); // Wczytuje szablon footer.php. ?> Pliki `header.php` i `footer.php` tworzą prosty model pudełkowy. Następnie odpowiednie kody wtyczki polldaddy `ratings.php` (na dole znajduje się filtr): <?php function polldaddy_show_rating_comments( $content ) { if ( !is_feed() && !defined( 'DOING_AJAX' ) ) { globalny $komentarz; globalny $post; if ( isset( $comment->comment_ID ) && $comment->comment_ID > 0 ) { $unique_id = ''; $tytuł = ''; $permalink = ''; $html = ''; $rating_pos = 0; if ( (int) get_option( 'pd-rating-comments' ) > 0 ) { $rating_id = (int) get_option( 'pd-rating-comments' ); $ unikalny_id = 'wp-comment-' . $komentarz->identyfikator_komentarza; $rating_pos = (int) get_option( 'pd-rating-comments-pos' ); $title = mb_substr( preg_replace( '/[\x00-\x1F\x80-\xFF]/', '', $comment->comment_content ), 0, 195 ) . „…”; $permalink = get_permalink( $post->ID ) . '#komentarz-' . $komentarz->identyfikator_komentarza; $html = polldaddy_get_rating_code( $rating_id, $unique_id, $title, $permalink, '_comm_' . $comment->comment_ID ); if ( $rating_pos == 0 ) $content = $html . „
” . $treść; w przeciwnym razie $treść .= $html; } } } return $treść; } funkcja polldaddy_show_rating ($zawartość) { globalny $wp_current_filter; if ( !in_array( 'get_the_excerpt', (tablica) $wp_current_filter ) ) { if ( !is_feed() && !is_attachment() ) { if ( is_single() || is_page() || is_home() || is_archive() || is_search() || is_category() ) { $html = polldaddy_get_rating_html( 'opcje wyboru' ); if ( !empty( $html ) ) { $rating_pos = 0; if ( is_page() ) { $rating_pos = (int) get_option( 'pd-rating-pages-pos' ); } elseif ( is_home() || is_archive() || is_search() || is_category() ) { $rating_pos = (int) get_option( 'pd-rating-posts-index-pos' ); } else { $rating_pos = (int) get_option( 'pd-rating-posts-pos' ); } if ( $rating_pos == 0 ) $content = $html . „
” . $treść; w przeciwnym razie $treść .= $html; } } } } return $content; } function polldaddy_get_rating_html( $warunek = '' ) { global $post; $html = ''; if ( $post->ID > 0 ) { $unique_id = ''; $tytuł = ''; $permalink = ''; $identyfikator_oceny = 0; $item_id = ''; $exclude_posts = explode( ',', get_option( 'pd-rating-exclude-post-ids' ) ); $exclude_pages = explode( ',', get_option( 'pd-rating-exclude-page-ids' ) ); if ( is_page() ) { if ( !in_array( $post->ID, $exclude_pages )) { $unique_id = 'wp-page-' . $post->ID; $item_id = '_strona_' . $post->ID; if ( $condition == 'check-options' ) { if ( (int) get_option( 'pd-rating-pages' ) > 0 ) { $rating_id = (int) get_option( 'pd-rating-pages-id' ) ; } } else { $rating_id = (int) get_option( 'pd-rating-pages-id' ); } } } elseif ( !in_array( $post->ID, $exclude_posts )) { $unique_id = 'wp-post-' . $post->ID; $item_id = '_post_' . $post->ID; if ( is_home() || is_archive() || is_search() || is_category() ) { if ( $condition == 'opcje wyboru' ) { if ( (int) get_option( 'pd-rating-posts-index ' ) > 0 ) { $rating_id = (int) get_option( 'pd-rating-posts-id' ); } } else { $rating_id = (int) get_option( 'pd-rating-posts-id' ); } } else { if ( $condition == 'check-options' ) { if ( (int) get_option( 'pd-rating-posts' ) > 0 ) { $rating_id = (int) get_option( 'pd-rating-posts -ID' ); } } else { $rating_id = (int) get_option( 'pd-rating-posts-id' ); } } } if ( $rating_id > 0 ) { $rating_title_filter = get_option( 'pd-rating-title-filter' ); if ( $rating_title_filter === false ) $title = apply_filters( 'the_title', $post->post_title, $post->ID, '' ); elseif ( strlen( $rating_title_filter ) > 0 ) $title = apply_filters( $rating_title_filter, $post->post_title, $post->ID, '' ); w przeciwnym razie $title = $post->post_title; $permalink = get_permalink( $post->ID ); $html = polldaddy_get_rating_code( $rating_id, $unique_id, $title, $permalink, $item_id ); } } return $html; } /** * Skonstruuj docelowy div Polldaddy dla danego rating_id i opcjonalnego item_id * Zdefiniuj zmienną ocen Polldaddy dla danego rating_id i opcjonalnego item_id * * @param int $rating_id * @param string $unique_id * @param string $title Post title * @param string $permalink Post permalink * @param string $item_id * @return fragment kodu HTML z kontenerem ocen i powiązanym blokiem JS definiującym nową zmienną */ funkcja polldaddy_get_rating_code( $rating_id, $unique_id, $title, $permalink, $item_id = '' ) { $html = sprintf( '[polldaddy rating="%d" item_id="%s" unique_id="%s" title="%s" permalink="%s"]', absint( $rating_id ), polldaddy_sanitize_shortcode ( $item_id ), polldaddy_sanitize_shortcode ( $unique_id ), polldaddy_sanitize_shortcode ( $title ), polldaddy_sanitize_shortcode ( $permalink ) ); return do_shortcode( $html ); } function polldaddy_sanitize_shortcode( $text ) { $text = preg_replace( array( '/\[/', '/\]/' ), array( '[', ']' ), $text ); return esc_attr( $text ); } if ( (int) get_option( 'pd-rating-pages' ) > 0 || (int) get_option( 'pd-rating-posts-index' ) > 0 || (int) get_option( 'pd-rating-posts ' ) > 0 ) { add_filter( 'zawartość', 'polldaddy_show_rating', 5 ); add_filter( 'fragment', 'polldaddy_show_rating' ); } add_filter( 'tekst_komentarza', 'polldaddy_show_rating_comments', 50 ); ?> Jak mogę sprawić, by oceny wyświetlały się prawidłowo?


title: Dostęp do wielu witryn przez FTP

text: Zainstalowałem wordpress MU i założyłem inną witrynę w mojej domenie/dev/sitename - ale chcę następnie zainstalować motyw na tej witrynie i edytować go bezpośrednio. Jednak mój FTP pokazuje tylko główną instalację Wordpress. Jak dostać się do podkatalogu /sitename?


title: Tylko nextpagelink na wp_link_pages

text: Czy ktoś ma rozwiązanie, aby wyświetlać tylko `nextpagelink` z `wp_link_pages` w pojedynczych postach? Próbowałem różnych rozwiązań, ale żadne z nich nie zadziałało. Kiedy dochodzę do ostatniej strony - `wp_link_pages` usuń `nextpagelink` i pokaż `previouspagelink`. Ale potrzebuję tylko link do następnej strony na wszystkich stronach z wyjątkiem ostatniej. A może rozwiązanie, aby dodać klasę do nextpagelink? **Znalezione rozwiązanie:** <?php global $multipage, $numpages, $page; if( $multipage && $page == $numpages ) { //Nie rób nic } else { wp_link_pages('before=&after=&next_or_number=next&previouspagelink=&nextpagelink=More'); } ?>


title: wtyczka, w której użytkownicy mogą zarządzać swoimi ocenami i opiniami na temat postów?

text: Czy istnieje wtyczka, dzięki której zalogowani użytkownicy mogą zarządzać ocenami i recenzjami postów? Widziałem wtyczki, w których użytkownicy mogą zostawiać komentarze z ocenami pod postami, ale nie widziałem takiego, w którym użytkownik może faktycznie zarządzać pozostawionymi komentarzami (edytować / usuwać). A jeśli to obsługuje niestandardowe typy postów, byłoby świetnie.


title: Maksymalny czas wykonania Xampp nie zmienia się przez php.ini

text: Mam WordPress zainstalowany na moim lokalnym hoście za pośrednictwem Xampp i kiedy próbuję użyć importera WordPress, otrzymuję następujący błąd: **Przekroczono maksymalny czas wykonania 30 sekund w C:\xampp\htdocs\wordpress\wp-includes\functions. php on line 1542** Teraz szukałem tego i prawie wszyscy mówią, że ustawienie max_execution_time w pliku xampp/php/php.ini z 30 na wyższą wartość rozwiąże ten problem. Zrobiłem powyższe i ponownie uruchomiłem Xampp, ale to nie rozwiązało problemu. Ponadto, kiedy przesyłam pliki na serwer na żywo, tak się nie dzieje, więc jestem prawie pewien, że ma to związek z ustawieniami Xampp. Czy ktoś może powiedzieć, jak mogę rozwiązać ten problem? Dziękuję!


title: Pole wyszukiwania wp_list_table nie wyświetla się

text:
Używam wordpress 3.8 i niestandardowej klasy wywodzącej się z `WP_List_Table`. Dlaczego nie ma formularza wyszukiwania? ![Moja strona administracyjna wtyczki \(przy użyciu WP_List_Table\)](http://i.stack.imgur.com/C3y1L.png) Mój kod w klasie wtyczki: function __construct() { register_activation_hook( __FILE__, array( $this, 'swb_plugin_install' ) ); register_deactivation_hook( __FILE__, array( $this, 'swb_plugin_deactivate' ) ); register_uninstall_hook( __FILE__, array( $this, 'swb_plugin_remove' ) ); add_action( 'wp_head', array( $this, 'swb_header') ); add_action( 'admin_menu', array( $this, 'swb_admin_page' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'swb_admin_script' ) ); } function swb_admin_resellers() { $list_obj = new SWB_Resellers_List_Table(); if( isset($_POST['s']) ){ $list_obj->prepare_items($_POST['s']); } else { $list_obj->prepare_items(); } echo '

Lista sprzedawców
'; ?> <metoda formularza="post"> <typ wejściowy="ukryty" nazwa="strona" wartość="<?php echo $_REQUEST['strona'] ?>" /> <?php $list_obj->pole_wyszukiwania( 'sprzedawcy wyszukiwania', 'search_id'); ?> <?php $list_obj->display(); ?> </form>
 <?php } function swb_admin_page() { add_menu_page( '', 'Smarts Web Builder', 'activate_plugins', 'swb_plugin_root', array( $this, 'swb_admin_settings') ); add_submenu_page( 'swb_plugin_root', 'Ustawienia ogólne SWB', 'Ustawienia ogólne', 'activate_plugins', 'swb_plugin_root', array( $this, 'swb_admin_settings' ) ); add_submenu_page( 'swb_plugin_root', 'Lista sprzedawców SWB', 'Sprzedawcy', 'activate_plugins', 'swb_resellers', array( $this, 'swb_admin_resellers' ) ); add_submenu_page( 'swb_plugin_root', 'Lista licencji SWB', 'Licencje', 'activate_plugins', 'swb_licenses', array( $this, 'swb_admin_licenses' ) ); add_submenu_page( 'swb_plugin_root', 'Lista klientów SWB', 'Klienci', 'activate_plugins', 'swb_customers', array( $this, 'swb_admin_customers' ) ); add_submenu_page( 'swb_plugin_root', 'Motywy SWB', 'Zarządzaj motywami', 'activate_plugins', 'swb_themes', array( $this, 'swb_admin_themes' ) ); add_submenu_page( 'swb_plugin_root', 'Wtyczki SWB', 'Zarządzaj wtyczkami', 'activate_plugins', 'swb_plugins', array( $this, 'swb_admin_plugins' ) ); } Klasa rozszerzająca WP_List_Table: if(!class_exists( 'SWB_Resellers_List_Table' )) { class SWB_Resellers_List_Table extends WP_List_Table { function __construct() { parent::__construct(array( 'singular' => '_urallink' => '_urallink'> wp_list_test_links', 'ajax' => fałsz )); } function get_columns() { return $column = array( 'col_name' => __('Prawdziwe imię'), 'col_username' => __('Username'), 'col_contact_no' => __('Contact No.') , 'col_email' => __('Email'), 'col_active' => __('Jest aktywny?'), 'col_registered_time' => __('Zarejestrowany'), 'col_modified_time' => __('Ostatnia modyfikacja' ) ); } public function get_sortable_columns() { return $sortable = array( 'col_name' => array( 'name', false ), 'col_username' => array( 'username', false ), 'col_email' => array( 'email ', false ), 'col_active' => array( 'active', false ), 'col_registered_time' => array( 'zarejestrowany_czas', false ), 'col_modified_time' => array( 'modified_time', false) ); } function Prepare_items($search='') { global $wpdb; $tabela = $wpdb->przedrostek . SWB_TABLE_RESELLER; $join1 = $wpdb->prefiks . "wlm_user_options"; $join2 = $wpdb->użytkownicy; $short_table = "T1"; $short_join1 = "T2"; $short_join2 = "T3"; $column = "{$short_table}.reseller_id reseller_id, {$short_table}.user_id user_id, {$short_table}.active active, {$short_table}.modified_time updated_time, (SELECT {$short_join1}.option_value FROM {$join1} { $short_join1} WHERE {$short_join1}.option_name='custom_real_name' AND {$short_join1}.user_id={$short_table}.user_id) nazwa, (SELECT {$short_join1}.option_value FROM {$join1} {$short_join1} $short_join1}.option_name='custom_contact_no' ORAZ {$short_join1}.user_id={$short_table}.user_id) contact_no, {$short_join2}.user_login nazwa użytkownika, {$short_join2}.user_email e-mail, {$shortuser_join2} zarejestrowany. ; $on1 = "{$short_join2}.ID={$short_table}.user_id"; $gdzie = ""; $gdzie .= !empty($_POST['nazwa']) ? „nazwa=” . przycinanie($_POST['nazwa']) : null; $gdzie .= !empty($_POST['nazwa użytkownika']) ? „nazwa_użytkownika=” . przycinanie($_POST['nazwa użytkownika']) : null; if(!empty($search)){ if( !empty($where) ) $where .= " AND "; $where = "(nazwa LIKE '%{$search}%' LUB nazwa użytkownika LIKE '%{$search}%')"; } if( !empty($where) ) $where = "GDZIE" . $gdzie; $ordercolumn = !empty($_GET['orderby']) ? trim($_GET['orderby']) : null; $orderdirection = !empty($_GET['zamówienie']) ? trim($_GET['order']) : null; $orderby = "{$ordercolumn} {$orderdirection}"; if( !empty($orderby)) $orderby = "ORDER BY" . $zamówienie; $query = "SELECT {$column} FROM {$table} {$short_table} JOIN {$join1} {$short_join1} JOIN {$join2} {$short_join2} ON {$on1}{$where}{$order_by}" ; $totalitems = $wpdb->zapytanie($zapytanie); $na stronę = 10; $stronicowany = !pusty($_GET["stronicowany"]) ? intval($_GET["stronicowany"]) : ''; if (puste($stronicowane) || !is_numeric($stronicowane) || $stronicowane <= 0) { $paged = 1; } $totalpages = ceil($totalitems / $perpage); if (!empty($paged) && !empty($perpage)) { $offset = ($paged - 1) * $perpage; $zapytanie .= 'LIMIT ' . (int) $przesunięcie. ','. ( int ) $na stronę; } // Zarejestruj stronę $this->set_pagination_args( array( "total_items" => $totalitems, "total_pages" => $totalpages, "per_page" => $perpage ) ); // Zarejestruj kolumnę $columns = $this->get_columns(); $ukryte = tablica(); $sortowalne = $this->get_sortable_columns(); $this->_column_headers = array( $kolumny, $ukryte, $sortowalne ); // var_dump($to); // echo $zapytanie; // Pobierz elementy $this->items = $wpdb->get_results($query); } } function display_rows() { $records = $this->items; $kolumny = null; $ukryty = null; lista($kolumny, $ukryte) = $this->get_column_info(); if (!empty($records)) { foreach ($records as $rec) { echo '
reseller_id . '">'; foreach ($columns as $column_name => $column_display_name) { $class = "class='{$column_name} column-{$column_name}'"; $styl = ""; if (in_array($column_name, $hidden)) $style = ' style="display:none;"'; $atrybuty = $klasa . $styl; switch ($column_name) { case "col_name": echo '' . stripslashes($rec->name) . '	'; przerwanie; case "nazwa_użytkownika_kolumny": echo '' . stripslashes($rec->nazwa użytkownika) . '	'; przerwanie; case "col_contact_no": echo '' . stripslashes($rec->contact_no) . '	'; przerwanie; case "col_email": echo '' . stripslashes($rec->e-mail) . '	'; przerwanie; case "col_active": $active = ( intval($rec->active) == 1 ) ? 'Tak nie'; echo '' . $aktywny . '	'; przerwanie; case "col_registered_time": echo '' . date("F j, Y g:i a", stripslashes($rec->registered_time)) . '	'; przerwanie; case "col_modified_time": echo '' . date("F j, Y g:i a", stripslashes($rec->modified_time)) . '	'; przerwanie; } } echo '
'; } } } } Nie wiem, dlaczego nie pojawia się pole wyszukiwania. Czego brakuje?


title: Zmienić adres URL domeny?

text: Więc mam dwa adresy URL. www.url.com i www.urlb.com Nie chcę ręcznie przenosić plików na inną witrynę, zamiast tego chcę zmienić domenę tak, aby w polu adresu URL była napisana www.urlb.com. czy to możliwe? Czy jest to uważane za zduplikowane treści?


title: Archiwa dat dla niestandardowego typu postu

text: Widziałem wiele pytań/postów na ten temat, ale jeszcze nie znalazłem przyzwoitego rozwiązania. Zasadniczo próbuję zrobić to, co robi `wp_get_archives`, ale dla niestandardowego typu postu (osobiście nie jestem pewien, dlaczego `wp_get_archives` nie obsługuje niestandardowych typów postów!). Kod, którego aktualnie używam, wygląda następująco: **functions.php** function Cpt_getarchives_where_filter($where, $r) { $post_type = 'events'; return str_replace( "post_type = 'post'" , "post_type = '$post_type'" , $where ); } **sidebar-events.php** add_filter( 'getarchives_where' , 'Cpt_getarchives_where_filter' , 10 , 2 ); wp_get_archives(); remove_filter('getarchives_where' , 'Cpt_getarchives_where_filter' , 10 ); Ten kod wyświetla daty (np. kwiecień 2014, marzec 2014) itp., co jest świetne, ale kliknięcie linku powoduje przejście do 404. URL, który jest tworzony przy każdym linku do daty to /2014/04/, jednak powinno to być coś polub /wydarzenia/2014/04/. Czy jest jakiś sposób na umieszczenie „zdarzeń” w adresie URL, aby można było użyć szablonu archive-events.php i czy istnieje jakiś powód, dla którego linki generują obecnie błąd 404? Wielkie dzięki za jakąkolwiek pomoc


title: Zmiana nazwy bazy danych

text: Przeczytałem, że bezpieczniej jest używać czegoś innego niż wp_ jako prefiksu bazy danych, więc pobrałem mój plik .sql, zamieniłem wszystkie wystąpienia wp_ na tsi_, a następnie upuściłem tabele wp_ i zaimportowałem mój plik .sql. Prefiks jest teraz poprawny, więc poszedłem do mojego pliku wp_config i zmieniłem tabelę prefiksów z wp_ na tsi_ i pomyślałem, że wszystko jest w porządku. Cóż, wszystkie moje posty nadal tam były, ale brakuje zdjęć. Mówię, że brakuje, ponieważ kiedy zajrzysz do folderu przesłanego, są tam, poprawnie posortowane i tak dalej, ale w bibliotece multimediów pojawiają się jako szare ikony zamiast podglądów i brakuje ich we wszystkich moich postach. Czy istnieje sposób na prawidłowe wyświetlanie obrazów? *Nazwa domeny nie zmieniła się ani żadne z moich ustawień, po prostu zmieniłem prefiks bazy danych i to wszystko. Szare ikony w bibliotece multimediów: ![tu wpisz opis obrazka](http://i.stack.imgur.com/1Jsi2.png) Posty bez obrazków: ![tu wpisz opis obrazka](http://i .stack.imgur.com/vYlpf.png) Dzięki, Josh


title: Jak filtrować posty za pomocą wartości pola niestandardowego w najkrótszym i najdłuższym czasie trwania?

text: Pracuję nad wideoblogiem. Na pierwszej stronie mam sortowanie według opcji. Możesz wypróbować tę opcję pod następującym linkiem http://cricketclips.net/ Nie mogę dowiedzieć się, jak sprawić, by najkrótsza i najdłuższa opcja wideo działała. W db mam niestandardowe pole o nazwie "kompletne" z wartością dziesiętną (tj. 4.23,0.26,1.28 itd. Gdzie 4.23 = 4 minuty i 23 sekundy) Dla najkrótszego filmu; Chcę wyświetlać filmy w kolejności rosnącej z uwzględnieniem wartości dziesiętnych wymienionych powyżej. A dla najdłuższego filmu: chcesz wyświetlać filmy malejąco. Każda pomoc w tym zakresie będzie mile widziana.


title: Jak zapisać datę/godzinę ostatniej aktualizacji dodatkowego pola profilu użytkownika?

text:
Posiadam funkcję, która bardzo dobrze dodaje i zapisuje dodatkowe pole do profilu użytkownika. Ale ponieważ zawartość tego pola bardzo szybko się starzeje, muszę wiedzieć, kiedy użytkownik odświeżył je ostatnim razem - **tylko to konkretne pole, a nie całe metadane użytkownika!** Muszę wiedzieć, czy użytkownik NAPRAWDĘ się zaktualizował (edytowano) zawartość tego pola, nie tylko po prostu nacisnąłem przycisk aktualizacji. Jak to zrobić? /* Dodaj dodatkowe pola do profilu użytkownika */ add_action( 'show_user_profile', 'extra_user_profile_fields' ); add_action( 'edit_user_profile', 'extra_user_profile_fields' ); function extra_user_profile_fields( $user ) { ?>

<?php _e("Dzień konsultacji"); ?>	 <textarea rows="3" cols="30" name="consultations_day" id="consultations_day" style="margin-bottom: 0px;" /><?php echo esc_attr( get_the_author_meta( 'consultations_day', $user->ID ) ); ?></textarea>
 <?php _e("Umieść tutaj dzień i godziny konsultacji"); ?>

 <?php } /* Zapisz dodatkowe pola profilu użytkownika */ add_action( 'personal_options_update', 'save_extra_user_profile_fields' ); add_action( 'edit_user_profile_update', 'save_extra_user_profile_fields' ); function save_extra_user_profile_fields( $user_id ) { if ( !current_user_can( 'edit_user', $user_id )) { return false; } update_user_meta( $user_id, 'consultations_day', $_POST['consultations_day'] ); //Dzień konsultacji }


title: Uwierzytelnij zwracaną wartość

text: Próbuję podłączyć się do wartości zwracanej _authenticate_, aby wyświetlić komunikat o błędzie w niestandardowym formularzu logowania. Obiekt `$user` nie jest zwracany. add_action( 'uwierzytelnij', 'my_login_check' ); funkcja my_login_check($użytkownik){ if(is_wp_error($użytkownik)){ wyjście(); } }


title: Przekazywanie zmiennych przez link href z jednej strony do innej strony

text: Na mojej stronie rejestracyjnej mam CPT o nazwie "event". Na mojej stronie "Wydarzenia" wymieniam te zdarzenia i tworzę link "rejestr" dla każdego z nich w kierunku strony "Rejestracja": $events = new WP_Query( array( 'post_type' => 'event') ); while ( $events->have_posts() ): $events->the_post(); ?> <a href='<?php bloginfo("wpurl"); ?>/registration'>zarejestruj <?php endwhile; Na mojej stronie "Rejestracja" chcę pobrać wartość $events->post->ID odpowiadającą zdarzeniu, które zostało kliknięte. Jak to zrobić?


title: Karty jQuery / jQuery-UI nie będą wyświetlać nowej zawartości

text:
Z góry dziękujemy za wszelką pomoc, jaką możesz zaoferować! Używam przykładu zamieszczonego tutaj jako dowodu koncepcji na mojej stronie internetowej. Używam "Użyj bibliotek Google" do załadowania bibliotek jQuery i jQuery-UI i mam plik o nazwie all.js, który zawiera jQuery z przykładu. Uważam, że użyłem kodu jak w przykładzie, ale nadal nie jestem w stanie zmienić jednej karty na drugą ani załadować zawartości w div. Myślę, że ma to coś wspólnego ze sposobem, w jaki ładuję biblioteki, ale nie jestem pewien, w którym miejscu mam błąd. Jeszcze raz doceniam twoją pomoc! **EDYTUJ** Kod HTML ze strony internetowej

Karta nr 1

Karta 2

Karta 3

Karta #4

Tutaj jest zawartość karty #1!

Donec pulvinar neque sed semper lacinia. Curabitur lacinia ullamcorper stalówka; quis imperdiet velit eleifend ac. Donec blandit mauris eget aliquet lacinia! Donec pulvinar massa interdum risus ornare mollis.

Tutaj jest treść karty #2!

Donec pulvinar neque sed semper lacinia. Curabitur lacinia ullamcorper stalówka; quis imperdiet velit eleifend ac. Donec blandit mauris eget aliquet lacinia! Donec pulvinar massa interdum risus ornare mollis. W hac habitasse platea dictumst. Ut euismod tempus hendrerit. Morbi ut adipiscing nisi. Etiam rutrum sodales gravida! Aliquam tellus orci, iaculis vel.

Tutaj pojawia się zawartość karty #3!

Donec pulvinar neque sed semper lacinia. Curabitur lacinia ullamcorper stalówka; quis imperdiet velit eleifend ac. Donec blandit mauris eget aliquet lacinia! Donec pulvinar massa interdum ri.

Tutaj jest treść karty #4!

Donec pulvinar neque sed semper lacinia . Curabitur lacinia ullamcorper stalówka; quis imperdiet velit eleifend ac. Donec blandit mauris eget aliquet lacinia! Donec pulvinar massa interdum risus ornare mollis. W hac habitasse platea dictumst. Ut euismod tempus hendrerit. Morbi ut adipiscing nisi. Etiam rutrum sodales gravida! Aliquam tellus orci, iaculis vel.

 nagłówek strony (odpowiedni kod)   <typ skryptu ='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script>    <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://MYSITE.com/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://MYSITE.com/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 3.9.1" /> <l ink rel='shortlink' href='http://MYSITE.com/?p=1111' />  <typ stylu ="text/css" media="all">     <link rel="stylesheet" href="//ajax.googleapis. com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css" />    All.js $(document).ready(function() { $ ('.tabs .tab-links a').on('klik', function(e) { var currentAttrValue = $(this.attr('href'); // Pokaż/Ukryj karty $('.tabs ' + currentAttrValue).show().siblings().hide(); // Zmień/usuń bieżącą kartę na aktywną $(this).parent('li').addClass('active').siblings().removeClass( „aktywny”); e.preventDefault(); }); }); Próbowałem również użyć tego jako All.js na podstawie komentarzy: jQuery(document).ready(function(){ jQuery('.tabs .tab-links a').on('click', function(e) { var currentAttrValue = $(this).attr('href'); // Pokaż/ukryj karty jQuery('.tabs ' + currentAttrValue).show().siblings().hide(); // Zmień/usuń bieżącą kartę na aktywne jQuery(this).parent('li').addClass('active').siblings().removeClass('active'); e.preventDefault(); }); });


title: Pobierz ostatni post w miniaturze kategorii

text: Chcę utworzyć przycisk do filtrowania postów z określonej kategorii, ale również chciałbym, aby ten przycisk wyświetlał polecany obraz najnowszego posta w tej kategorii. Jestem całkowicie nowy w php i wordpress, ale pomyślałem, że użycie funkcji `get_category` i `get_thumbnail` może być dobrym sposobem. Co myślicie? Przepraszam za niejasność, ale trochę się tym zagubiłem. Z góry dziękuję za wszelkie wskazówki!


title: Zamieszanie dotyczące argumentów wysłanych do add_image_size

text: Patrząc na dokumentację dotyczącą przycinania miniaturek podczas dodawania nowych rozmiarów obrazów, wprawia mnie w zakłopotanie. > Ustaw rozmiar obrazu poprzez przycięcie obrazu i określenie pozycji kadru: > > add_image_size( 'niestandardowy-rozmiar', 220, 220, array( top, left ) ); // Twarde przycięcie > górny lewy > > Podczas ustawiania pozycji przycięcia, pierwsza wartość w tablicy to oś x > pozycja przycięcia, druga to pozycja przycięcia na osi y. > > x_crop_position akceptuje 'lewo' 'środek' lub 'prawo'. y_crop_position akceptuje > „góra”, „środek” lub „dół”. Przez to `array(top, left)` nie byłoby "dozwolone", ponieważ top jest dozwolone tylko przez pozycję y-crop ?


title: Czy Wordpress może być używany/rozszerzany jako średniej wielkości witryna e-commerce?

text: Czy wordpress jest wystarczająco niezawodny i czy można go używać z odpowiednią wtyczką jako średniej wielkości witryna e-commerce? Mówimy tu o około 1500 produktach, szacuje się, że około 5 do 10 klientów dziennie, zazwyczaj powracających. W niektóre dni brak. Mam klienta, który chce sprzedawać online. Znajdujemy się w kraju, w którym ludzie nie postrzegają sieci jako czegoś wystarczająco poważnego. Mimo to dosłownie mają budżet w wysokości prawie **żaden**. I 1500 produktów do sprzedaży online. Magento lub jakakolwiek inna platforma e-commerce typu open source nie wchodzi w rachubę, po prostu nie ma zasobów, aby zacząć coś takiego. Albo w dowolnym momencie. Jedynym sposobem jest coś **darmowego** , **małego** , absolutnie **nie zasobożernego** jak Wordpress. Muszę walczyć o to, żeby to działało tylko z tym, co mam do dyspozycji. Ponadto, jeśli możesz polecić jakąkolwiek wtyczkę Wordpress do pracy (WP-ecommerce?), Będę bardzo wdzięczny. Myślę, że coś płatnego, maksymalnie do 50 $ też by zadziałało.


title: Zezwalanie zalogowanym użytkownikom na komentowanie bez moderacji w instalacji wielostanowiskowej

text: Obecnie jestem administratorem sieci dla społeczności internetowej opartej na BuddyPress i Multi Site i używam ustawienia `Autor komentarza musi mieć wcześniej zatwierdzony komentarz`, aby ułatwić użytkownikom komentowanie i nie być moderowanym. Wszyscy użytkownicy są weryfikowani przed utworzeniem ich kont, więc wiem, że nie mamy robotów spamujących. Jednak nie do końca zachowuje się tak, jak sobie tego życzę i zastanawiam się, czy jest sposób na osiągnięcie tego, czego chcę. Idealnie chciałbym, aby: 1. Wszyscy zalogowani użytkownicy mogli komentować w dowolnym miejscu na wielu witrynach bez moderacji, do których mają prawo komentować, chyba że właściciel podwitryny zaznaczył „Administrator musi zawsze zatwierdzać komentarz' 2. Aby niezalogowane komentarze były zawsze zatwierdzane, jeśli kiedykolwiek zostały zatwierdzone w dowolnym miejscu w wielu witrynach. (Obecnie działa tylko wtedy, gdy nowy komentarz znajduje się pod postem tego samego autora w tej samej witrynie, w której został wcześniej zatwierdzony) Czy jest to możliwe przy użyciu istniejących ustawień lub wtyczek? Jeśli nie, czy można to osiągnąć w inny sposób, a jeśli tak to w jaki sposób?


title: Dodaj filtr do innej niestandardowej wtyczki

text: Ktoś zbudował niestandardową wtyczkę, która dodaje obszar tekstowy na stronie administratora/edycji i div na stronie pubu. Nie mam już dostępu do osoby, która zbudowała niestandardową wtyczkę. Utworzyłem filtr dla zawartości strony głównej, wykonując coś takiego: function getHappy($content) { //goofy przykład str_replace(":)", "=^..^=", $content); return (is_single()) ? $treść : $treść; } add_filter('the_content', 'getHappy'); Gdzie `the_content` jest hakiem na zawartość strony głównej. Jak mogę dowiedzieć się, co to jest haczyk na wtyczkę? Jeśli go nie ma, czy istnieje sposób, aby go dodać? Problem polega na tym, że pobieram zawartość na żywo za pomocą filtra, co oznacza, że nie mogę pobrać danych przechowywanych przez wtyczkę, a następnie je zmienić. Musi to być filtr „na żywo”. Czy patrzę na to w niewłaściwy sposób? W tym przypadku czy `the_content` nie jest nawet używane, ale `$content` jest? Jeśli to drugie, czy jest to tak proste, jak znalezienie zmiennej przechowującej niestandardową treść? To mogą być ogólne pytania, ale mam nadzieję, że odpowiedź jest dość prosta. Staram się to zrobić w sposób, który nie zepsuje się za każdym razem, gdy aktualizuję WP. Pozdrawiam, Bo


title: Co oznacza ten kod funkcji PHP?

text: Czy ktoś może mi pomóc zrozumieć każdą część tego kodu? Czy możesz skomentować każdą linijkę, abym mógł zrozumieć i dostosować kod zgodnie z moimi celami. Oto link w pastebin: class Towfiq_Person { funkcja statyczna on_load() { add_action('init',array(__CLASS__,'init')); add_action('wp_insert_post',array(__CLASS__,'wp_insert_post'),10,2); add_action('profile_update',array(__CLASS__,'profile_update'),10,2); add_action('user_register',array(__CLASS__,'profile_update')); add_filter('link_autora',tablica(__CLASS__,'link_autora'),10,2); add_filter('get_the_author_url',array(__CLASS__,'author_link'),10,2); } Reszta kodu pod tym linkiem :pastebin.com/30GCNhLv wielkie dzięki **UPDATE 1 :** Pierwsza część w górę zrozumiana, co z tą częścią.co każda linia ma na myśli w ludzkim języku; funkcja statyczna get_email_key() { return apply_filters( 'person_email_key', '_email' ); } funkcja statyczna profile_update($user_id,$old_user_data=false) { global $wpdb; $jest_nowa_osoba = fałsz; $user = get_userdata($user_id); $user_email = ($old_user_data ? $old_user_data->user_email : $user->user_email); $email_key = self::get_email_key(); $person_id = $wpdb->get_var($wpdb->prepare("SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key='%s' AND meta_value='%s'",$email_key,$user_email)); if (!is_numeric($person_id)) { $person_id = $is_new_person = wp_insert_post(array( 'post_type' => 'towfiq-person', 'post_status' => 'publish', // Może to powinno być w toku lub wersja robocza? 'post_title' => $user->display_name, )); } update_user_meta($user_id,'_person_id',$person_id); update_post_meta($person_id,'_user_id',$user_id); if ($is_new_person || ($old_user_data && $user->user_email!=$old_user_data- >user_email)) { update_post_meta($person_id,$email_key,$user->user_email); } }


title: Wtyczka Multisite - Opcje dostępu (wp_options) w witrynach podrzędnych

text: Czy istnieje sposób na uzyskanie dostępu do tabeli `wp_options` wszystkich witryn podrzędnych? Chcę utworzyć wtyczkę dla wielu witryn, którą można skonfigurować na poziomie sieci i która zapełni wtyczki witryn podrzędnych wartościami domyślnymi, które następnie mogą zostać nadpisane przez poszczególne witryny. Zdaję sobie sprawę, że w ten sposób mógłbym czytać/pisać z `wp_sitemeta`, ale w moim przypadku miałoby sens, gdybym mógł uzyskać dostęp do innych "lokalnych" tabel. Prawdopodobnie mógłbym napisać niestandardowe zapytanie za pomocą funkcji zapytania WP, ale zastanawiałem się, czy istnieje lepszy sposób?


title: Biblioteka PHP, która może łączyć arkusz stylów ze stylem wbudowanym

text:
Pracuję z dokumentem html wygenerowanym z programu Microsoft Word 2007/2010. Oprócz generowania niesamowicie brudnego html, słowo ma również tendencję do używania zarówno stylu blokowego, jak i wbudowanego. Szukam biblioteki php, która łączyłaby blok z już istniejącym elementem stylu inline. Mam html przekonwertowany z Worda i będę wysyłał go przez XMLRPC. Biblioteka php będzie musiała połączyć arkusz stylów ze stylem wbudowanym, aby zachować format. Chcę wykonać wywołanie tej biblioteki ** po odebraniu żądania przez XMLRPC** i przed dotarciem do filtru kses, aby blok stylu nie został usunięty. **Przykład** Jeśli oryginalny html to:
 Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ut erat id dui mollis faucibus. Mauris eu neque et eros tempus placerat. Nam in purus nisi, vitae dictum ligula. Morbi Mattis Eros Eget Diam Vulputate imperdiet. Liczba całkowita a metus eros. Sed iaculis porta imperdiet.
   Powinno wyglądać następująco:
 Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ut erat id dui mollis faucibus. Mauris eu neque et eros tempus placerat. Nazwa w purus nisi, vitae dictum ligula. Morbi Mattis Eros Eget Diam Vulputate imperdiet. Liczba całkowita a metus eros. Sed iaculis porta imperdiet.
   **Cel** Ostatecznym celem jest możliwość zachowania całego stylu i formatowania z pliku HTML wygenerowanego w programie Word i wysłania go do wordpress, gdzie może być edytowany przez TinyMCE. Jeśli istnieje ** alternatywa ** do tego, co opisuję (musi być zrobione po stronie serwera), chętnie przyjmę ją również jako odpowiedź.


title: Jak znaleźć pierwszy element w tablicy post?

text:
Wyszedłem ????? gdzie potrzebuję odpowiedzi. <?php globalna $post; $the_post_ID = $post->ID; $n = get_posts(); ?> <?php foreach ( $n jako $post ): ?>
 <li<?php if (?????) echo ' class="current"'; ?>> <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink do %s', 'dwadzieścia`wprowadź kod tutaj`' ), the_title_attribute( 'echo= 0') ); ?>" rel="zakładka"><?php the_title(); ?>

 <?php endforeach; ?>


title: Modyfikowanie pętli, aby pokazać więcej

text:
Ta pętla pokazuje jeden polecany post nad 4 tytułami postów z określonej kategorii określonej w opcjach motywu. Chciałbym pokazać wszystkie 4 posty z 4 tytułów, nad 4 tytułami. 4 tytuły pochodzą z tego fragmentu kodu <a class="listtitle" href="<?php the_permalink() ?>" rel="zakładka" title="<?php printf( esc_attr__( 'Permalink do %s', 'wpnewspaper' ), the_title_attribute( 'echo=0' ) ); ?>" ><?php the_title(); ?> Pełny kod pętli jest tutaj.
 <?php gab_dynamic_sidebar('Subnews1');?> <?php $postnr = of_get_option('of_wn_nr8') + of_get_option('of_wn_nr8a'); if (intval($postnr) > 0 ) { ?> <a href="<?php echo get_category_link(of_get_option('of_wn_cat8'));?>"><?php echo get_cat_name( of_get_option('of_wn_cat8')); ?> <?php $liczba = 1; $args = array( 'post__not_in'=>$do_not_duplicate, 'posts_per_page' => $postnr, 'cat' => of_get_option('of_wn_cat8', 1) ); $gab_query = nowe WP_Query();$gab_query->zapytanie($args); while ($gab_query->have_posts()) : $gab_query->the_post(); if (of_get_option('of_dnd') == 1) { $do_not_duplicate[] = $post->ID; } ?> <div class="featuredpost<?php if($count == of_get_option('of_wn_nr8') or $count == $postnr) { echo ' lastpost'; } ?>"> <?php if ($count <= of_get_option('of_wn_nr8')) { ?>
 <a href="<?php the_permalink() ?>" rel="zakładka" title="<?php printf( esc_attr__( ' Permalink do %s', 'wpnewspaper' ), the_title_attribute( 'echo=0' ) ); ?>" ><?php the_title(); ?>

 <?php gab_media(array( 'imgtag' => 1, 'link' => 1, 'name' => 'wn-subnews', 'enable_video' => 0, 'catch_image' => of_get_option('of_catch_img', 0), 'enable_thumb' => 1, 'resize_type' => 'c', 'media_width' => 120, 'media_height' => 103 , 'thumb_align' => 'alignleft', 'enable_default' => 0 )); ?>

<?php echo string_limit_words(get_the_excerpt(),27); ?>…
 <?php gab_postmeta(); ?> <?php } else { ?> <a class="listtitle" href="<?php the_permalink() ?>" rel="zakładka" title="<?php printf( esc_attr__( 'Permalink do %s' , 'wpnewspaper' ), the_title_attribute( 'echo=0' ) ); ?>" ><?php the_title(); ?> <?php } ?>
 <?php $count++; koniec; wp_reset_query(); ?> <?php } ?>


title: Jak wyświetlić frontend CSS tylko dla administratora

text: Poproszono mnie o zmianę stylu CSS frontendu witryny WordPress. Witryna nie może być w trybie konserwacji podczas pracy nad nią, ponieważ musi działać cały czas. Wychodzę z założenia, że gdybym mógł dodać w nagłówku mały i dyskretny warunek pozwalający administratorowi zobaczyć inny plik css niż użytkownicy, mógłbym edytować css i testować wynik, podczas gdy użytkownicy nadal widzą oryginalną wersję strony. W ten sposób mogłem pracować nad projektem, nie zauważając nikogo. Czy ktoś może mi powiedzieć, którą funkcję WordPress powinienem wywołać w nagłówku, aby przełączyć plik css wtedy i tylko wtedy, gdy użytkownik jest administratorem? Najlepiej byłoby nie edytować pliku "functions.php" ani nie aktywować żadnej wtyczki, ponieważ naprawdę nie chcę zadzierać ze stroną taką, jaka jest (mało szans, ale i tak szans). Wolałbym edytować plik „header.php” w folderze motywu, aby mieć pewność, że nic złego się nie stanie. Dziękuję Ci.


title: Wordpress plik css

text: Zrobiłem stronę internetową przez wordpress i przesłałem ją do pliku ftp> publiczny html mój problem polega na tym, że stworzyłem plik css, który zawiera wszystkie inne pliki css, ale kiedy przetestowałem witrynę, okazało się, że wordpress nie widział, widział tylko pierwszy co powinienem zrobić, aby strona internetowa widziała moje pliki to jest to, co jest zawarte w pliku css, czy powinienem dodać url ('wordpress/webcontent/....') czy jest inny sposób? > style.css @import url('/style/forms.css'); @import url('/style/tables.css'); @import url('/style/homepage.css'); @import url('/style/reset.css'); @import url('/style/stimenu.css'); @import url('/style/layout.css'); @import url('/style/demo.css');


title: dodanie niestandardowego HTML css z js nie działa

text: Używam najnowszego Wordpressa 3.6. Chciałbym dodać kod HTML do strony za pomocą js. Umieszczam <script> $('p.content').addClass('highlight'); </script> w głowie są, ale to nie działa. Więc chcę dodać wyróżnienie klasy do elementu p z calss=content. powodem, dla którego chcę go użyć, jest zmiana wyjścia the_content w wordpressie. Chcę tylko tekst w środku ... Chciałabym też zrozumieć, jak mogę to zmienić m.in. funkcje.php... dzięki.


title: Ukryj niektóre strony / posty na wp-admin, pokaż niestandardowy filtr

text: Integruję oddzielny CMS e-commerce z motywem Wordpress, używając szablonów stron dla niektórych stron, takich jak koszyk, strony wyszukiwania i kasy. Jak na razie to działa całkiem nieźle. Istnieje jednak kilka dynamicznych stron, dla których normalnie stworzyłbym szablon single-posttype.php, ale nie mogę, ponieważ w tym przypadku nie mogę, ponieważ Wordpress nie „wie” o nich, ponieważ dane pochodzi z CMS e-commerce. Na przykład strona szczegółów produktu lub strona wyszukiwania kategorii produktów. Moje rozwiązanie polegało na stworzeniu szablonu o nazwie product-details i zrobieniu dla niego strony. W tym szablonie rzeczywiste dane strony wordpress są ignorowane, a dane są odczytywane z CMS e-commerce. Moje przeczucie jest takie, że nie jest to najlepsza praktyka, jednak poza napisaniem pełnej integracji wtyczki wordpress z systemem e-commerce, jest to najlepsze, co mogłem wymyślić. **TL;DR** Pozostaje mi problem, że jeśli administrator usunie tę stronę lub cofnie przypisanie szablonu, sklep się zepsuje. Dlatego chciałbym ukryć te strony, aby zapobiec przypadkowemu usunięciu lub edycji (zawartość strony nie ma dla nich znaczenia). Czy istnieje sposób na ukrycie niektórych stron z menu „Wszystkie strony” w wp-admin, chyba że zostanie kliknięty niestandardowy filtr (np. „Strony systemowe”)?


title: Jak zatrzymać bezpośrednie HTTP POST do skryptu PHP?

text: Mam na swojej stronie formularz utworzony za pomocą Contact Form 7 z Captcha. Zawartość formularza, gdy POST jest wysyłana do skryptu PHP, atrybut "action" formularza jest ustawiony na `themes/<themename>/<filename>.php` Otrzymujemy dużo spamu, wygląda na to, że ktoś może wykonać formularz i użyć go do rozsyłania spamu. W skrypcie przetwarzania sprawdzam `HTTP_REFERRER`, `HTTP_SERVER`, aby sprawdzić, czy żądanie przyszło za pośrednictwem naszej witryny, ale te nagłówki można również wprowadzić ręcznie. Jakie kroki muszę podjąć, aby powstrzymać napływ spamu? Pomoc jest doceniana. **EDYTUJ** : Trochę więcej przejrzystości. CF7 POST dane formularza do mojego skryptu na http://www.example.com/wp-content/themes/themename/script.php, ten skrypt jest dostępny. Ktoś może przejść do strony, na której znajduje się mój formularz i skopiować kod HTML, ponownie utworzyć formularz na swoim komputerze lokalnym i rozpocząć przesyłanie formularza do mojego skryptu. Jak to powstrzymać?


title: site_url nie honoruje schematu

text: Używam site_url() dla mojego href dla kotwic. Chcę kontrolować, co, gdy wysyłam użytkownika na stronę bezpieczną lub niezabezpieczoną. Pomyślałem, że mogę to zrobić z site_url('/foo', 'http') i site_url('/bar', 'https'), ale schemat się nie zmienia. Jeśli jestem na bezpiecznej stronie i ustawiono site_url('/foo', 'http'), kliknięta strona jest nadal bezpieczna, a nie niezabezpieczona.


title: Importuj posty z Tumblr do Wordpress

text: > **Możliwy duplikat:** > Przenoszenie blogów z Tumblr do Wordpress Czy znasz jakiś sposób na importowanie postów z tubmlr do Wordpress? Próbowałem tego http://www.tumblr2wp.com/, ale zaimportowałem tylko 1 post i mam około 20 plus postów. Potrzebujesz twojej pomocy w tej sprawie tak szybko, jak to możliwe, proszę Dzięki


title: Gdzie powinienem przechowywać globalne dane dla mojej wtyczki WordPress dla wielu witryn?

text: Napisałem wtyczkę do WordPressa, która ma kilka konfigurowalnych przez użytkownika ustawień, które są przechowywane za pomocą sugerowanej przez WordPress metody. Wiem, że są one zapisane w tabeli wp_options, ale jest to abstrakcyjne przez API opcji WordPress. Teraz próbuję dodać „globalne nadpisanie” ustawień, które można skonfigurować w sekcji Administrator sieci instalacji wielostanowiskowej. Znalazłem odpowiednie haki do zaprojektowania strony ustawień, jednak nie mogę znaleźć żadnych informacji o tym, gdzie zapisać dane. Jeśli zapiszę go za pomocą normalnego API opcji, ustawienia zostaną zapisane indywidualnie dla każdej witryny. Szukam miejsca, w którym można by je zapisać globalnie dla wszystkich witryn, więc wtyczka może najpierw sprawdzić, czy ustawienia zostały globalnie nadpisane przez administratora serwera. Mogę po prostu napisać kod do pisania bezpośrednio do tabeli wp_options jednej z witryn (na przykład witryny nr 1) lub nawet utworzyć własną tabelę. Wiem, jak to wszystko zrobić, ale nie chcę tego robić, jeśli istnieje preferowany sposób pisania wtyczek dla wielu witryn. Dzięki za jakąkolwiek radę.


title: ID rodzica Menu

text:
Próbuję przypisać inny identyfikator do każdego podmenu generowanego przez wordpress za pomocą funkcji wp_nav_menu. W obecnej sytuacji wordpress przypisuje tę samą klasę (podmenu) do każdego wygenerowanego podmenu.

 Chciałbym, aby wygenerował coś takiego:

 Mam niestandardowy chodzik w mój plik funkcji motywu w celu modyfikacji wyjścia, ale nie mam pojęcia, jak uzyskać, powiedz identyfikator elementu menu nadrzędnego i przypisz go do wyjścia UL. Każda pomoc jest mile widziana! _edit_ Walker poniżej: /**Custom walker**/ class description_walker extends Walker { var $tree_type = array( 'post_type', 'taksonomia', 'custom' ); var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' ); function start_lvl(&$wyjście, $głębokość) { $wcięcie = str_repeat("\t", $głębokość); $output .= "\n$indent
\n"; } function end_lvl(&$output, $depth) { $indent = str_repeat("\t", $depth); $output .= "$wcięcie
\n"; } function start_el(&$output, $item, $depth, $args) { global $wp_query; $wcięcie = ( $głębokość ) ? str_repeat( "\t", $depth ): ''; $nazwy_klasy = $wartość = ''; $klasy = puste( $item->klasy ) ? array() : (tablica) $item->classes; $classes[] = 'pozycja-menu-' . $pozycja->ID; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); $class_names = 'class="'.esc_attr($class_names).'"'; $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args ); $id = strlen( $id ) ? 'id="' .esc_attr($id) '"' : ''; $wyjście .= $wcięcie . '
'; $atrybuty = ! pusty( $item->attr_title ) ? ' title="' .esc_attr( $item->attr_title) .'"' : ''; $atrybuty .= ! pusty( $item->target) ? ' target="' .esc_attr( $item->target) .''"' : ''; $atrybuty .= ! pusty( $item->xfn ) ? 'rel="' .esc_attr( $item->xfn) .'"' : ''; $atrybuty .= ! pusty( $item->url ) ? ' href="' .esc_attr( $item->url) .'"' : ''; $item_output = $args->przed; $item_output .= ''; $item_output .= $args->link_before . Apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= ''; $item_output .= $args->po; $wyjście .= zastosuj_filtry( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } function end_el(&$output, $item, $depth) { $output .= "
\n"; } }


title: Udostępniasz szablony za pomocą JSON API?

text: Czy istnieje sposób na udostępnianie „szablonów” między JS a Wordpressem? Na przykład tego rodzaju skromne szablonowanie spodni jest w porządku: var AJAXSuccessFunc = function(data){ // wywołanie tego na ajax.success var title = data.page.title; var treść = dane.strona.treść; var string = '<h1>' + tytuł + '</h1>' + treść; targetDiv.html(ciąg).fadeIn(); } Ale biorąc pod uwagę, że treść może pojawiać się w ten sposób lub za pośrednictwem konwencjonalnych szablonów WordPress PHP, trochę niepokojące jest to, że będę musiał utrzymywać dwa zasadniczo identyczne szablony dla JS i PHP. Zwłaszcza, gdy obecnych jest więcej niż kilka tagów HTML. Chcę wszystko ujednolicić i scentralizować! Jakie mam opcje?


title: Korzystanie z WordPressa jako frameworka

text: Jestem dość zaznajomiony z WordPressem, ale mam niewielkie doświadczenie z frameworkami PHP, takimi jak Codeigniter. Czy podczas tworzenia niestandardowej aplikacji, na przykład systemu fakturowania lub aplikacji do zarządzania czasem dla mojej firmy, sensowne jest korzystanie z WordPressa jako frameworka, czy też bardziej wskazane byłoby użycie czegoś takiego jak Codeigniter? Jakie są główne różnice w tych dwóch podejściach?


title: Archiwum kategorii według roku z obsługą permalinków /category/RRRR

text: Obecnie zastanawiam się nad utworzeniem nowego typu archiwum witryn w WordPressie, które umożliwia użytkownikom filtrowanie według kategorii ORAZ według roku, zamiast domyślnej kategorii LUB roku. Mam nadzieję, że zbuduję widżet paska bocznego, który tworzy interfejs, ale szukam pomysłów i porad dotyczących tworzenia niestandardowej konfiguracji permalink. W idealnym przypadku archiwum będzie działać z adresami URL w następujący sposób: /kategoria/rok/ /kategoria-1/rok/ itd. Nie muszę filtrować głębiej niż rok. Odkryłem ten fragment kodu, ale nie działa on zgodnie z oczekiwaniami. Dziękuję


title: dlaczego wtyczki są ładowane przed wtyczkami

text: ![Wywołanie adresu URL WP](http://i.stack.imgur.com/YmJTI.png) Otrzymałem ten obraz z jednego e-booka do tworzenia wtyczek WP. Czy mógłbyś mi wyjaśnić, dlaczego wtyczki są ładowane przed Pluggables.


title: Ustawić szablon dla niestandardowego typu posta?

text: Czy istnieje sposób na dodanie listy rozwijanej wyboru szablonu do niestandardowego typu posta? Może pod atrybutami strony?


title: Program obsługi wp_ajax z wieloma instancjami klas

text: Osiem miesięcy temu zadałem tam prawie to samo pytanie. Ale problem wciąż nie został rozwiązany. Ale mam dodatkowy pomysł, dlaczego to się nie udaje. W międzyczasie mój kod się rozwinął. Mam wiele klas, które mają tę samą strukturę: <?php class McCustomPost { ... } $wpMcCustomPost = new McCustomPost(); ?> ... <?php class McAdmin { ... } $wpMcAdmin = new McAdmin(); ?> a potem mam plik "starter", który wymaga wszystkich plików i ma nagłówek wtyczki: <?php /* Nazwa wtyczki: MC 2.0 URI wtyczki: ... Opis: ... Wersja: 0.0.75 Autor: . .. URI autora: ... Licencja: GPL2 */ define( 'MC_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); require_once( MC_PLUGIN_DIR . 'class.mc.php' ' ); require_once( MC_PLUGIN_DIR . 'class.mc-admin.php' ' ); ... require_once( MC_PLUGIN_DIR . 'class.mc-custom-post.php' ' ); register_activation_hook( __PLIK__, array( 'Mc', 'wtyczka_aktywacja' ) ); register_deactivation_hook( __FILE__, array( 'Mc', 'plugin_deactivation' ) ); $wpMc = nowy Mc(); ?> Podczas `require_once` admin i niestandardowe klasy postów są poprawnie tworzone. Ale kiedy odpalam żądanie ajax z klasy admin, żądanie jest zwracane nowsze. Dochodzi do pliku JS, ale po tym callback nie jest wywoływany, myślę, że nie został znaleziony. <?php class McAdmin { protected $pluginPath; prywatny $dbHandler; funkcja publiczna __construct() { $this->pluginPath = dirname(__FILE__); add_action( 'admin_enqueue_scripts', array( $this,'add_admin_scripts') ); add_action( 'wp_ajax_blubb', array( $this, 'add_vehicle') ); } public function add_admin_scripts(){ wp_enqueue_script( 'admin_scripts', plugins_url( 'js/functions.admin.js', __FILE__ ), array('jquery') ); // wp_localize_script('admin_scripts', 'ajax_var', array( // 'nonce' => wp_create_nonce( 'ajax-nonce' ) // ) ); } public function add_vehicle() { // $nonce = $_POST['nonce']; // if ( ! wp_verify_nonce( $nonce, 'ajax-nonce' ) ) // die ( 'Busted!'); $tytuł = $_POST['id']; wp_die("Identyfikator posta: " . $title); Wyjście; } ... } $wpMcAdmin = nowy McAdmin(); ?> Mój plik JS - callback powodzenia nie jest wykonywany... $('.add-vehicle').click(function(){ var data = { action: "blubb", // nonce: ajax_var.nonce, id : 1 }; $.post( ajaxurl, data, function( odpowiedź ) { //on success alert('Odpowiedź serwera z adresu URL AJAX' + odpowiedź; }); }); Zakładam, że podczas instytucji klasy `McAdmin()` wewnątrz `Mc()` callback nie wie dokąd wrócić. Jak mogę uzyskać wywołanie zwrotne we właściwej instancji klasy (`McAdmin()`)? Dzięki i BR, mybecks


title: jak mogę ustawić autora posta, który właśnie utworzyłem za pomocą php?

text: Używam php do dynamicznego tworzenia niestandardowego posta i potrzebuję autora, aby był kimś innym niż zalogowany użytkownik. Znalazłem ten http://stackoverflow.com/questions/5759359/wordpress-manually-set-the-author-of-a-post-in-php ale zastanawiam się czy jest na to sposób po poście jest już włożony. Myślę, że mógłbym po prostu zrobić zapytanie do bazy danych ...


title: Jak wyświetlić przyklejony post z niestandardowym kodem HTML?

text:
Chciałbym wyświetlić 9 postów i móc wstawić przyklejony post z niestandardowym szablonem html pomiędzy 4 i 5 postem. Obecnie przyklejony post jest wyświetlany zarówno w „przyklejonym kontenerze”, jak i w zwykłych postach. have_posts() : $moje_zapytanie->the_post(); ?> <?php if ($liczba <= 9 ){ ;?> <artykuł> <?php echo get_the_content(); ?>
 <?php if ($count == 3) { $sticky = get_option('sticky_posts'); $args = array( 'posts_per_page' => 1, 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ); zapytanie_posty($args); if ( have_posts() ): while ( have_posts() ): the_post(); if($sticky[0]) { ?> <artykuł>
NIESTANDARDOWY HTML
 <?php echo get_the_content(); ?>
 <?php } endwhile; w przeciwnym razie: endif; wp_reset_query(); }?> <?php } $liczba++; ?> <?php koniec; ?>


title: Instalacja wielostanowiskowa na istniejącej instalacji pojedynczej

text: Jak stworzyć bloga w katalogu rodzeństwa już zainstalowanego katalogu WordPress? Domena to `example.com` i istnieje instalacja w katalogu `blog`, a katalog główny `example.com/` jest bezpłatny. Czy możliwe jest utworzenie bloga pod adresem `example.com/anotherblog/` przez wiele witryn zamiast `example.com/blog/anotherblog/`? W nowej instalacji w katalogu głównym można to osiągnąć po prostu instalując WordPress w katalogu głównym i mając dwa wielostronne blogi w dwóch katalogach. Jest to jednak w sumie 3 blogi (w tym ten w katalogu głównym). Czy to samo można osiągnąć bez trzeciego bloga i pozostawić wolny root?


title: Widżet odliczania

text: Czy ktoś może mi polecić fajną wtyczkę widgetu odliczania dla Wordpressa? Korzystam z widżetu Countdown w Bloggerze i jest to dokładnie to, czego potrzebuję. Prosty numer od teraz do daty lub od daty. Nie mogę znaleźć bardzo prostego i łatwego odliczania, które robi to samo w Wordpress.


title: Zapobiegaj duplikowaniu postów w wp_insert_post przy użyciu niestandardowych pól

text: Moje linki źródłowe to coś, co łączy to: http://sample.com/entertainment/default.aspx?tabid=2305&conid=102950 http://sample.com/entertainment/default.aspx?tabid=2418&conid=104330 http://sample.com/entertainment/default.aspx?tabid=2418&conid=104330 sample.com/entertainment/default.aspx?tabid=2429&conid=104264 http://sample.com/entertainment/default.aspx?tabid=2305&conid=102949 . . . Buforuję linki formularza treści. Używam wp_insert_post do publikowania buforowanej treści z witryny źródłowej do wordpress: $my_post = array( 'post_title' => "$title", 'post_content' => "$content", 'post_status' => ' wersja robocza', 'post_author' => 1, 'post_category' => tablica(1), ); wp_insert_post( $moja_post ); Chcę umieścić każdy link w polach niestandardowych i w następnej pamięci podręcznej , przed wysłaniem do WP , sprawdzić nowe linki z linkami w polach niestandardowych. Jeśli łącze się powtarza , zapobiegaj wstawianiu treści. Przepraszam za mój zły opis.


title: WP Page Navi nie działa w moim niestandardowym zapytaniu - tylko strona zdarzeń

text:
Używam tego samego niestandardowego formatu wpquery na mojej stronie NEWS. A moja paginacja używa wtyczki `WP PAGE NAVI`. Działa na mojej „STRONIE WIADOMOŚCI”, ale nie działa na mojej „STRONIE WYDARZEŃ”. Użyte wtyczki: 1. WP PAGE NAVI 2. EVENTS MANAGER **Problem:** Kiedy klikam na stronę 2 lub następną. Strona staje się `404`: Oto mój kod: <?php global $wp_query; $old_query=$wp_query; $paged = ( get_query_var('paged')) ? get_query_var('stronicowane') : 1; ?> <?php $wp_query = new WP_Query(array( 'post_type' => 'event', 'posts_per_page' => 3, 'paged' => $paged)); ?> <?php while($wp_query->have_posts()) : $wp_query->the_post(); ?> <?php $EM_Event = em_get_event($post->ID, 'post_id'); ?>

<?php echo get_the_date('d'); ?>

<?php echo get_the_date('M Y'); ?>

<a href="<?php the_permalink(); ?> "> <?php the_title( '
', '
' ); ?>

 Czas: 10:00 do 12:00

 Lokalizacja: <?php echo do_shortcode('[lista_lokalizacji]'); ?>

 <?php endwhile; ?> <?php wp_pagenavi(); ?> <?php wp_reset_postdata(); wp_reset_query(); ?> <?php $wp_query=$old_query;?> Również nie jestem pewien, czy muszę to zadać jako osobne pytanie. Wygląda na to, że nie mogę wyciągnąć czasu rozpoczęcia i zakończenia mojego wydarzenia w mojej pętli: od teraz ma tam statyczny czas rozpoczęcia i zakończenia.


title: Jak modyfikować pliki CSS za pomocą panelu administracyjnego?

text: Wszystkie style motywów znajdują się w pliku style.css. Powiedzmy, że pierwsza linia wygląda tak: body { background-color: #fff; } Teraz stworzyłem opcję w panelu administracyjnym o nazwie body_bg. Użytkownik wpisuje tam #000 i chcę zmienić wartość w style.css. Jak to osiągnąć? Najłatwiejszy dla mnie sposób wygląda na to, że muszę zmienić nazwę style.css na .php i po prostu zrobić: <?php header("Content-type: text/css"); ?> body { kolor tła: <?php echo get_option('body_bg');?> ; } A potem po prostu link style.php w pustym pliku style.css. Jest całkowicie poprawny i działa, ale nigdy nie widziałem motywu z plikiem style.php, więc jak ludzie mogą dynamicznie modyfikować swoje arkusze stylów?


title: Ogranicz CSS na jednej stronie

text: Mam swoją witrynę: http://theapkstore.com . Na stronie głównej dodałem suwak. I zmniejszono górny margines widżetu z napisem „Witamy na mojej stronie”. Strona główna wygląda dobrze, ale kiedy otwieram dowolny link z paska nawigacyjnego, na tej stronie widzę, że górny margines działa na wszystkich stronach, co powoduje, że widżet niszczy projekt. Czy możesz powiedzieć, jak mogę umieścić tylko górny margines tego widżetu na stronie głównej?


title: Wynik stronicowania get_posts w funkcji

text: Stworzyłem funkcję do wykorzystania jako shortcode, aby umożliwić mi wyświetlanie określonego typu postu na mojej stronie. Funkcja działa dobrze, ale chciałbym, aby wyniki były stronicowane, a nawigacja pojawiała się tylko w razie potrzeby. jej jest mój aktualny fragment kodu(shortcode_atts(array("kraj" => '' ), $atts)); $country = preg_replace('~ *([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $country ); $argsq = array ('post_type' => 'cytat', 'kraj' => $kraj, 'orderby' => 'meta_value' ); $test= get_posts($argsq ); $wyjście = ''; foreach ($testim as $testim_post){ $output .= ""; $output .= " **".$testim_post->post_content."** "; $output .= $testim_post->post_title; $wyjście .= ""; } return $wyjście;


title: Facebook wyświetla tylko miniatury podglądu, które mają 100 pikseli z moich postów?

text:
Używam generatora Facebook i Digg Thumbnail oraz [FaceBook Share (nowe)], 2 Jak widać, jeśli obraz ma 100 pikseli, miniatura wyświetla się po naciśnięciu przycisku udostępniania: ![tu wpisz opis obrazu](http:/ /i.stack.imgur.com/mNxA8.png) Ale z obrazem o szerokości 300px: ![tu wpisz opis obrazu](http://i.stack.imgur.com/Dkr1X.png) Podgląd kciuka nie pojawia się: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/ERsY9.png) **front-page.php:** <?php /** * Nazwa szablonu: Strona główna * @package WordPress * @subpackage Prominent * @since Prominent 1.0 */ get_header(); ?>

 <?php while ( have_posts() ): the_post(); ?>
 <?php the_content(); ?>
 <?php endwhile; ?> <?php /* Wyświetl nawigację do następnych/poprzednich stron, jeśli ma to zastosowanie */ ?> <?php if ( $wp_query->max_num_pages > 1 ) : ?>
<?php next_posts_link( __ ( '← Starsze posty', 'dwadzieścia' ) ); ?>

<?php previous_posts_link( __( 'Nowsze posty →', 'dwadzieścia' ) ); ?>
 <?php endif; ?>

 <?php get_footer(); ?> Jakieś sugestie rozwiązania tego problemu?


title: Filtr WP do zmiany stylów CSS administratora?

text: Chcę zmienić definicję tła CSS dla #wpadminbar w nowych motywach administracyjnych WordPress 3.8. Mogę (i mam) zaktualizować plik /wp-admin/css/colors/theme/colors.min.css, ale zastanawiam się, czy istnieje czystszy sposób? Czy istnieje filtr, którego mógłbym użyć w functions.php, aby zaktualizować ten konkretny styl? Znalazłem to podejście, ale jest to tępy instrument, zastępujący cały plik CSS: http://wp-snippets.com/custom-admin-css/ Jeśli to ma znaczenie, wizualnie znajduję pojedynczy kolor dla górnego paska i lewej kolumny dziwne, więc ręcznie zaktualizowałem #wpadminbar, aby używał średniego odcienia koloru przypisanego do tła stylu #adminmenu.wp-submenu. To sprawia, że górny pasek jest nieco ciemniejszy niż lewa kolumna. Dzięki za wszelkie pomysły, jak mogę to zrobić czyściej.


title: Strona zapytana zamiast niestandardowej taksonomii

text:
Kiedy próbuję uzyskać archiwum dla niestandardowej taksonomii, WP szuka strony i niczego nie znajduje. ## Konfiguracja Mój kod z functions.php: add_action( 'init', 'register_store_taxonomy' ); function register_store_taxonomy() { $args = array ( 'hierarchical' => TRUE , 'label' => 'Store' , 'public' => TRUE , 'query_var' => 'store' , 'rewrite' => TRUE , ' show_in_nav_menus' => PRAWDA , 'show_ui' => PRAWDA ); register_taxonomy( 'store' , array ( 'post', 'page' ) , $args ); } Teraz mam post oznaczony tagiem store **itunes**. Kliknięcie linku do `/store/mac-store/` powinno wyświetlić wszystkie posty w tej taksonomii. I tak się dzieje! Na serwerze lokalnym (Win7). Jednak na serwerze pomostowym (Debian z większością identycznych ustawień) otrzymuję stronę 404 (i nagłówek stanu 404). Nie ma stron o podobnych nazwach lub ślimakach, nawet w koszu. Kilka razy odświeżyłem permalinki. Brak aktywnych wtyczek. Próbowałem Google, ale nie mogłem znaleźć niczego przydatnego. ## Debugowanie Dodałem następujący kod do pliku functions.php, aby śledzić błąd: add_action( 'wp_footer', 'dump_query' ); function dump_query() { if ( current_user_can( 'edit_posts' ) ) { pre_dump( $GLOBALS['wp_query'] ); } } function pre_dump( $var, $print = TRUE ) { $out = '
' . htmlspecialchars( var_export( $zmienna, TRUE) ) . '
'; if ( ! $print ) return $out; wypisz $out; } ### Wyprowadź lokalne, działające zapytanie WP_Query::__set_state(array( 'query_vars' => array ( 'store' => 'itunes', 'error' => '', 'm' => 0, 'p' => 0, 'post_parent' => '', 'subpost' => '', 'subpost_id' => '', 'attachment' => '', 'attachment_id' => 0, 'name' => '' , 'static' => '', 'pagename' => '', 'page_id' => 0, 'second' => '', 'minute' => '', 'hour' => '', 'day ' => 0, 'numnum' => 0, 'rok' => 0, 'w' => 0, 'category_name' => '', 'tag' => '', 'kot' => '', 'tag_id' => '', 'author_name' => '', 'feed' => '', 'tb' => '', 'paged' => 0, 'comments_popup' => '', 'meta_key' => '', 'meta_value' => '', 'podgląd' => '', 's' => '', 'zdanie' => '', 'fields' => '', 'category__in' =>array ( ), 'category__not_in' => array ( ), 'category__and' => array ( ), 'post__in' => array ( ), 'post__not_in' => array ( ), 'tag__in' => array ( ), ' tag__not_in' => tablica ( ), 'tag__and' => tablica ( ), 'tag_slug__in' => tablica ( ), 'tag_slug__and' => tablica ( ), 'meta_query' => tablica ( ), 'ignore_sticky_posts' => false , 'suppress_filters' => false, 'cache_results' => true, 'update_post_term_cache' => true, 'update_post_meta_cache' => true, 'post_type' => '', 'posts_per_page' => 10, 'nopaging' => false , 'comments_per_page' => '50', 'no_found_rows' => false, 'taxonomy' => 'store', 'term' => 'itunes', 'order' => 'DESC', ' orderby' => 'wp_posts.post_date DESC', ), 'tax_query' => WP_Tax_Query::__set_state(array( 'queries' => array ( 0 => array ( 'taksonomia' => 'store', 'terms' = > array ( 0 => 'itunes', ), 'include_children' => true, 'field' => 'slug', 'operator' => 'IN', ), ), 'relation' => 'AND', )), 'post_count' => 1, 'current_post' => -1, 'in_the_loop' => false, 'comment_count' => 0, 'current_comment' => -1, 'found_posts' => '1', ' max_num_pages' => 1, 'max_num_comment_pages' => 0, 'is_single' => fałsz, 'is_preview' => fałsz, 'is_page' => fałsz, 'is_archive' => prawda, 'is_date' => fałsz, 'is_rok ' => fałsz, 'is_month' => fałsz, 'is_day' => fałsz, 'is_time' => fałsz, 'is_author' => fałsz, 'is_category' => fałsz, 'is_tag' => fałsz, 'is_tax' => prawda, 'is_search' => fałsz, 'is_feed' => fałsz, 'is_comment_feed' => fałsz, 'is_trackback' => fałsz, ' is_home' => false, 'is_404' => false, 'is_comments_popup' => false, 'is_paged' => false, 'is_admin' => false, 'is_attachment' => false, 'is_singular' => false, 'is_robots ' => false, 'is_posts_page' => false, 'is_post_type_archive' => false, 'parsed_tax_query' => true, 'query' => array ( 'store' => 'itunes', ), 'request' => ' SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_posttaxonomy_id IN,1132,1138, ' ', \"załącznik\") ORAZ (wp_posts.post_status = \"opublikuj\" LUB wp_posts.post_auth or = 7 AND wp_posts.post_status = \'private\') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date LIMIT DESC 0, 10', 'posts' => array ( /* wyciąć */), 'queried_object' = > stdClass::__set_state(array( 'term_id' => '124', 'name' => 'iTunes', 'slug' => 'itunes', 'term_group' => '0', 'term_taxonomy_id' => ' 125', 'taxonomy' => 'store', 'description' => '', 'parent' => '0', 'count' => '1', )), 'queried_object_id' => 124, )) ### Serwer pomostowy wyjścia, uszkodzone zapytanie WP_Query::__set_state(array( 'query_vars' => array ( 'page' => 0, 'pagename' => 'itunes', 'error' => '', 'm' => 0, 'p' => 0, 'post_parent' => '', 'subpost' => '', 'subpost_id' => '', 'attachment' => '', 'attachment_id' => 0, 'name' => 'itunes', 'static' => '', 'page_id' => 0, 'sekunda' => '', 'minuta' => '', 'godzina' => '', 'dzień' => 0, 'numer miesiąca' => 0, 'rok' => 0, 'w' => 0, 'category_name' => '', 'tag' => '', 'cat' => '', 'tag_id' => '', 'author_name' => '', 'feed' => '', 'tb' => '', 'paged' => 0, 'comments_popup' => '', 'meta_key' => '', 'meta_value' => '', 'preview' => '', 's' => '', 'zdanie' => '', 'pola' => '', 'kategoria__in' => tablica ( ), 'kategoria__nie_w' => tablica ( ), 'kategoria__i' => tablica ( ), 'post__in ' => tablica ( ), 'post__not_in' => tablica ( ), 'tag__in' => tablica ( ), 'tag__not_in' => tablica ( ), 'tag__and' => tablica ( ), 'tag_slug__in' => tablica ( ) , 'tag_slug__and' => array ( ), 'ignore_sticky_posts' => false, 'suppress_filters' => false, 'cache_results' => true, 'update_post_term_cache' => true, 'update_post_meta_cache' => true, 'post_type' => '', 'posts_per_page' => 10, 'nopaging' => false, 'comments_per_page' => '50', 'no_found_rows' => false, 'order' => 'DESC', 'orderby' => 'wp_posts. post_date DESC', ), 'tax_query' => WP_Tax_Query::__set_state(array( 'queries' => array ( ), 'relation' => 'AND', )), 'post_count' => 0, 'current_post' = > -1, 'in_the_loop' => false, 'comment_count' => 0, 'current_comment' => -1, 'found_posts' => 0, 'max_num_pages' => 0, 'max_num_comment_pages' => 0, 'is_single' => fałsz, 'is_preview' => fałsz, 'is_page' => fałsz, 'is_archive' => fałsz , 'is_date' => false, 'is_year' => false, 'is_month' => false, 'is_day' => false, 'is_time' => false, 'is_author' => false, 'is_category' => false, 'is_tag' => false, 'is_tax' => false, 'is_search' => false, 'is_feed' => false, 'is_comment_feed' => false, 'is_trackback' => false, 'is_home' => false, ' is_404' => prawda, 'is_comments_popup' => fałsz, 'is_paged' => fałsz, 'is_admin' => fałsz, 'is_attachment' => fałsz, 'is_singular' => fałsz, 'is_robots' => fałsz, 'is_posts_page ' => false, 'is_post_type_archive' => false, 'parsed_tax_query' => true, 'query' => array ( 'page' => '', 'pagename' => 'store/itunes', ), 'request' => ' SELECT wp_posts.* FROM wp_posts WHERE 1=1 AND (wp_posts.ID = \'0\') AND wp_posts.post_type = \'page\' ORDER BY wp_posts.post_date DESC ', 'posty' => array ( ), 'queried_object' => NULL, 'queried_object_id' => 0, )) Czuję, że brakuje mi czegoś oczywistego, ale teraz jestem zagubiony. Więc moje pytania to: Jak mogę zmusić WP do przeszukiwania archiwum taksonomii? Dlaczego działa na jednym serwerze, a nie na drugim? ## Update Permalinks są ustawione na `/%year%/%postname%/` na obu serwerach i opróżniłem reguły przepisywania na `init` per: $GLOBALS['wp_rewrite']->flush_rules(); ## Aktualizacja 2 za pomocą wtyczki Rewrite Analyzer od @_Jan Fabry_ Porównałem reguły na mojej lokalnej instalacji i na serwerze pomostowym. Na tym ostatnim zasady są nieobecne. ### Przepisz reguły lokalny sklep/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$ store: ([^/]+) feed: (feed|rdf|rss| rss2|atom) store/([^/]+)/(feed|rdf|rss|rss2|atom)/?$ store: ([^/]+) feed: (feed|rdf|rss|rss2|atom) sklep/([^/]+)/strona/?([0-9]{1,})/?$ sklep: ([^/]+) paged: ([0-9]{1,}) sklep /([^/]+)/?$ store: ([^/]+) Czy naprawdę muszę dodawać reguły ręcznie? Zwykle powinno to robić `register_taxonomy()`, czyż nie? ## Obejście Bah! Użyłem obejścia, aby dodać brakujące reguły przepisywania na functions.php: add_action( 'init', 'add_taxrules_manually' ); funkcja add_taxrules_manually() { $tax = 'sklep'; $rewrite_rules = get_option( 'rewrite_rules' ); if ( isset ( $rewrite_rules[ $tax . '/([^/]+)/?$' ] ) ) { return; } $new_rules = array ( $tax . '/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?' . $tax . '= $matches[1]&feed=$matches[2]', $tax . '/([^/]+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?' . $tax . '=$matches[1]&feed=$matches[2]', $tax . '/([^/]+)/strona/?([0-9]{1,})/?$ ' => 'index.php?' .$tax . '=$matches[1]&paged=$matches[2]', $tax . '/([^/]+)/?$' => 'indeks. php?” .$tax . '=$matches[1]', ); $aktualizacja = scalanie_tablic( $nowe_zasady, $przepisywanie_reguł ); update_option( 'przepisz_reguły', $update ); } **Ważne:** Nowe reguły muszą poprzedzać reguły strony. Zmiana kolejności argumentów w `array_merge()` nie naprawi tego. Pytanie jest wciąż otwarte, ponieważ po prostu muszę zrozumieć, co się tutaj dzieje.


title: Dodaj funkcję Action Hook do WP-User-Frontend w niestandardowym polu postu

text: Używam wtyczki WP-User-Frontend w mojej witrynie Wordpress, aby umożliwić użytkownikom przesyłanie postów z interfejsu. Zezwalam tylko użytkownikom na przesyłanie adresów URL. Stworzyłem więc nowy formularz w WP-User-Frontend i nadałem mu 2 pola: tytuł i adres URL. Wszystko, co chcę zrobić, to pobrać tytuł, opis i miniaturę wszystkich przesłanych linków. WP-User-Frontend umożliwia dodawanie pola „haki akcji” do formularzy w celu wykonywania niestandardowych zadań. To jest dokumentacja WP-User-Frontend na temat dodawania haków akcji. http://docs.wedevs.com/wp-user-frontend-pro/#developer-dokumentacja add_action('HOOK_NAME', 'twoja_nazwa_funkcji', 10, 3 ); function your_function_name( $form_id, $post_id, $form_settings ) { // rób, co chcesz } Znalazłem również funkcję, która pobiera dane zewnętrzne z adresów URL za pomocą tagów cURL i OG. https://github.com/slv/PoOr.Scraper To, co chcę zrobić, to zintegrować funkcję Scraper z hakiem akcji WP i wyświetlić wyniki w zgrabnym poście wordpress. Najpierw muszę zmienić metodę $_GET['id'] na $_POST['link'], aby móc pobrać dane za pomocą formularza. Ale tak naprawdę nie wiem, jak to zrobić. Lub jak zintegrować funkcję w haczyku akcji.


title: Jak zmapować subdomenę w wordpressie na domenę podstawową w konfiguracji wielostanowiskowej?

text: Mamy konfigurację wielostanowiskową, domena podstawowa musi mieć zmapowane w wordpressie domeny domain.com, www.domain.com i secure.domain.com, aby zawartość witryny głównej była na nich ładowana. Problem, przed którym stoimy, to wszystko, z wyjątkiem działania secure.domain.com. secure.domain.com zawsze kończy się na: http://www.domain.com/wp-signup.php?new=secure.domain.com Nagłówki zwracane z serwera są następujące: Status: HTTP/1.1 302 Moved Tymczasowa data: wtorek, 16 października 2012 19:55:53 GMT Serwer: Apache Lokalizacja: http://www.domain.net/wp-signup.php?new=secure.domain.net Długość zawartości: 0 Połączenie: zamknij Content-Type: text/html; charset=utf-8


title: Jak wylistować the_tags() w atrybucie danych HTML?

text: Jestem nowy w wordpressie i próbuję stworzyć motyw. Używam skryptu filtru jQuery na stronie postów, które filtrują posty zagnieżdżone na liście nieuporządkowanej przy użyciu atrybutu danych HTML jako haka w elementach listy. Chcę używać tagów każdego posta jako haka atrybutu danych. Wyszukałem odmiany funkcji the_tags(), ale nie mogę utworzyć takiej, która po prostu wyświetli listę tagów oddzielonych przecinkami bez dodatkowych tagów kotwicy itp. Jest to najbliżej, jak mogę uzyskać to, czego chcę : <li class="griditemleft" data-="<?php $posttags = get_the_tags(); if ($posttags) { foreach($posttags as $tag) { echo $sep . $tag->name; $sep = ', '; } } ?>"> Wygląda jak w pierwszym elemencie listy, ale kolejne elementy listy mają dodatkowy przecinek na początku ciągu atrybutu danych.


title: $.browser Nieokreślony Pozornie powodujący wadliwe wyświetlanie strony

text: Na tej stronie wystąpił błąd podczas używania `jquery.PrettyPhoto.js' motywu nadrzędnego. Powoduje to, że karty nie ładują się dobrze, a galeria nie działa dobrze. Stan błędu TypeError: $.browser is undefined http://www.domain.com/wp-content/themes/decondo/lib/scripts/pretty/jquery.prettyPhoto.js?ver=2.5 Wiersz 59 Umieściłem w kolejce jQuery Migrate - v1.0.0 - 2013-01-14 z następującym kodem (dodana cała funkcja): http://pastebin.com/EC3XrTiq do pliku function.php motywu nadrzędnego, ponieważ myślałem, że będzie to związane z przestarzałą funkcją jQuery - patrz http: //stackoverflow.com/questions/14524289/browser-is-undefined-error -. Znalazłem inny wątek w SE, który sugerował dodanie funkcji $.browser, wspominając, że ta funkcja nie była już używana od 1.3. Wersja załadowana na tych stronach to 1.8.3, więc może to być wtedy problem. Dziwne, że wcześniej nie miałem problemu, ale i tak. ~~Zdałem sobie sprawę, że jQuery migrate nie jest ładowany sprawdzając te strony w Firebugu. Na pewno znajduję się tutaj i powiedziałbym, że ścieżka jest poprawna.~~ Dzięki dalszym badaniom i sprawdzeniu safari za pomocą inspektora zdałem sobie sprawę, że skrypty migracji jQuery są już załadowane przez WordPress. Teraz problem pozostaje, dlaczego galeria witryny (problemy w Safari z układem), menu (rozwijane menu uszkodzone w Firefoksie) i karty (nie załadowane w Firefoksie) nie ładują się prawidłowo i czy przyczyną tego jest przestarzała funkcja przeglądarki.


title: Integracja niestandardowej bazy danych z Wordpress

text: Mam witrynę Wordpress z kilkoma użytkownikami, którzy są moimi studentami, którzy zarejestrowali się, używając swoich numerów RollNumbers / HallTicket jako swoich nazw użytkownika w witrynie Wordpress Teraz mam inną bazę danych z ich danymi osobowymi, takimi jak znaki, ranga itp. Teraz chcę zintegrować tę bazę danych z Wordpress tak, że kiedy uczeń/użytkownik się loguje, może zobaczyć swoje oznaczenia i inne szczegóły Chcę tylko twoich sugestii/pomysłów, aby to wdrożyć, Nie pytam o kompletne rozwiązanie Dziękuję


title: Galeria miniatur według daty i taksonomii

text: Mam problem ze stworzeniem czegoś takiego jak galeria obrazów. To, co chcę zrobić, to na pasku bocznym strony głównej pojawi się pole o nazwie galeria zdjęć, które będzie zawierać miniaturę 2 lub 4 zdjęć (tak jak mała ikona). Następnie, jeśli ktoś kliknie link tytułowy galerii zdjęć, wyświetli się strona galerii zdjęć, a strona pokaże zdjęcie z tytułem . Tytuł będzie według daty i kategorii taksonomii , tak jak poniżej


title: Jednostki HTML w tytule posta

text: Wstawiam posty do wordpressa za pomocą skryptu, który jest ładowany przez CRON. Przed wstawieniem każdego posta sprawdzam, czy post o tym samym tytule istnieje, czy nie. Poniżej znajduje się fragment, którego używam: if( is_null(get_page_by_title( $page_title, 'OBJECT', $post_type )) ) { // Utwórz obiekt postu $my_post = array( 'post_title' => "Jedzenie i wino", / / to jest przykład i faktycznie wstawia $page_title 'post_content' => 'Dumpmy content', 'post_status' => 'draft', 'post_author' => 1, 'post_type' => $post_type, ); // Wstaw post do bazy danych wp_insert_post( $my_post ); } else { echo 'Wpis już istnieje.'; } Teraz ta część wstawiania działa całkiem dobrze, ale przechowuje '&' jako encję html ('&') w bazie danych. W bazie danych tytuł posta wygląda tak: „Jedzenie i wino”. Na ekranie administratora listy wpisów tytuł wygląda dobrze z „&”, a kiedy przejdę do ekranu edycji, wyświetla się „&”. Powoduje to, że pierwszy warunek 'if' zwraca TRUE i wstawia zduplikowany post. Mój typ sortowania bazy danych to „utf8_general_ci”. Cóż, to działa na mojej lokalnej instalacji MAMP, ale nie działa na moim współdzielonym hoście. Chciałbym wiedzieć, co jest nie tak w kodzie i jak należy załatwić tę sytuację. Czy sugeruje się również uniknięcie encji HTML dla „post_content”? Dziękuję.


title: Wtyczka fragmentu kodu nie działa poprawnie z programem Windows Live Writer i Wordpress

text: Pobrano wtyczkę kodu źródłowego programu Live Writer dla blogów WordPress.com. Podgląd wygląda dobrze, ale opublikowana wersja wygląda na naprawdę pomieszaną. Czy ktoś mógłby mi powiedzieć, co może być poprawką. W podglądzie w szablonie wtyczki Code snippet plugin():- ![tu podaj opis obrazka](http://i.stack.imgur.com/vT9Zu.gif) Po opublikowaniu :- ![tu podaj opis obrazka](http://i.stack.imgur.com/vT9Zu.gif) ://i.stack.imgur.com/RTZnu.gif)


title: wyklucz post z pętli wp_query

text: 0 głosowanie w dół na ulubione Pokazuję mój ostatni post na stronie z następującym kodem: $query1 = new WP_Query(); $zapytanie1->post_(); i dalej: $id = $query->ID; aby pobrać ostatni identyfikator postu, więc napisałem nowy wp_query i chcę wykluczyć ten identyfikator z wyników: napisałem to, ale to nie działa: $query2-> new WP_Query('p=-$id'); jaki jest problem?


title: Ekran widżetów wordpress zniknął

text: Mam dziwny problem. Ekran, na którym zarządzasz widżetami (przeciągnij i upuść od lewej do prawej) nagle zniknął. Jak mogę uzyskać do niego dostęp? Powinien być dostępny poprzez admin>themes>widgets, ale nie mam tej opcji w podmenu. Mam tylko "motywy" "menu" "edytor" Btw, używam wtyczki do tworzenia motywów ithemes. Ponieważ mam dostęp do edytora i mogę edytować php, zakładam, że mam uprawnienia administratora.


title: Metawyszukiwanie CPT

text: Zajmuję się tworzeniem wtyczki WP, która wykorzystuje niestandardowe typy postów i metadane. To, co próbuję osiągnąć, to możliwość przeszukiwania metadanych. Oto kod, który znalazłem, który dobrze przeszukuje metadane, jednak nie mogę go wyświetlić, aby wyświetlić ciąg wyszukiwania na stronie CPT. ![Błąd wyszukiwania CPT](http://i.stack.imgur.com/5ZAs4.png) add_filter( "pre_get_posts", "custom_search_query"); function custom_search_query( $query ) { $custom_fields = array( "pctracker_company", "pctracker_customer", "pctracker_phone1", "pctracker_phone2", "pctracker_mobile", "pctracker_email" ); $searchterm = $query->query_vars['s']; $query->query_vars['s'] = ""; if ($searchterm != "") { $meta_query = array('relation' => 'LUB'); foreach($custom_fields as $cf){ array_push($meta_query, array( 'key' => $cf, 'value' => $searchterm, 'compare' => 'LIKE' )); } $query->set("meta_query", $meta_query); }; } Wiem, że w kodzie jest rozbrojenie 'S', jednak jeśli go nie rozłączysz, nie wyświetla żadnych wyników. Czy ktoś może wskazać mi właściwy kierunek? Dziękuję bardzo, Jason EDIT: Właśnie bawiłem się i mam to działa! function my_search_results($query){ if(isset($_GET['s'])){ if($_GET['post_type'] == "pctracker_customers") { $mySearch = $_REQUEST['s']; $query = 'wybierz * z wp_posts,wp_postmeta GDZIE wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = "pctracker_phone1" AND wp_postmeta.meta_value LIKE "%'.$mySearch.'%" AND(wp_sta_posts. )”; } } return $zapytanie; } add_filter( 'posts_request', 'my_search_results'); EDYCJA 2: Mam wiele pól meta, które muszę przeszukać, pctracker_phone1 i pctracker_phone2 to tylko kilka. Zmodyfikowałem kod SQL, więc wyszukuje oba. Jednak kod SQL będzie ogromny, gdy zostaną dodane wszystkie inne metapola. Czy wiesz, jak mógłbym to uprościć: $query = 'SELECT * FROM'. $wpdb->przedrostek .'posty'. $wpdb->prefiks .'postmeta WHERE'. $wpdb->prefiks .'posts.ID = '. $wpdb->prefiks .'postmeta.post_id AND '. $wpdb->prefiks .'postmeta.meta_key = "pctracker_phone1" AND '. $wpdb->prefiks .'postmeta.meta_value LIKE "%'.$mySearch.'%" OR '. $wpdb->prefiks .'posts.ID = '. $wpdb->prefiks .'postmeta.post_id AND '. $wpdb->prefiks .'postmeta.meta_key = "pctracker_phone2" AND '. $wpdb->prefiks .'postmeta.meta_value LIKE "%'.$mySearch.'%" AND('. $wpdb->prefix .'posts.post_status = "opublikuj") ORDER BY '. $wpdb->prefiks .'posts.post_date DESC';


title: Wordpress AJAX w pliku header.php

text: Obecnie studiuję Wordpress AJAX, ale ciągle otrzymuję komunikat o błędzie (więc funkcja sukcesu nie jest wykonywana) Obecnie zmieniłem plik header.php (z motywu dwudziestego trzynastu), aby zawierał JavaScript, który wysyła żądanie AJAX. <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script> <![endif]--> <?php wp_head(); ?> <script type="text/javascript"> jQuery(document).ready(function($){ //AJAX $.ajax({ type: "GET", dataType: "json", url: "<?php echo admin_url('admin-ajax.php'); ?>;", data: { akcja: 'xn_get_event' }, sukces: function(odpowiedź){ alert("Tak"); }, błąd: function(odpowiedź){ alert("omg!"); } }); //KONIEC AJAX (WYŚLIJ ŻĄDANIE) }); //KONIEC GOTOWEJ FUNKCJI </script> A potem w folderze motywu umieściłem inny plik PHP o nazwie json-feed.php wewnątrz folderu funkcji (więc nazwa_motywu/functions/json-feed.php) i tutaj dodałem następujące code: header('Content-Type:application/json'); //Wymaga dołączenia pliku wp-load.php! if(file_exists('../../../../wp-load.php')): dołącz '../../../../wp-load.php'; else: //Podwójne sprawdzanie w przypadku błędnej ścieżki. dołącz '../../../../../wp-load.php'; endif; //Program obsługi AJAX add_action('wp_ajax_nopriv_xn_get_event', 'xn_get_event'); add_action ('wp_ajax_xn_get_event', 'xn_get_event'); funkcja xn_get_event(){ echo "Wow!"; } A potem, kiedy wchodzę na stronę, ciągle wyświetla komunikat „Omg!” do mnie i nie wiem, dlaczego ciągle zwraca błąd odpowiedzi!


title: Program do przesyłania multimediów został zastąpiony i przesłany plik php

text: Przepraszam, jeśli ten post już istnieje, ale jestem nowy w tym obszarze :) Więc właśnie wdrożyłem jakąś aplikację wordpress na rok. A kiedy dowiedziałem się, że mój serwer wysyła niechcianą pocztę do nieznanych użytkowników, zacząłem śledzić przesłane pliki i znalazłem ten plik php https://gist.github.com/anonymous/efbdd9cff5fe631ef376 Proszę spojrzeć na to i proszę odpowiedzieć, jeśli są znajome.


title: Paginacja niestandardowa kategoria taksonomii z wp_custom_pagination

text:
Próbuję podzielić na strony taksonomię `cities`, z niestandardowym typem wpisu `city`, kategoriami, które są wyświetlane, ale nie rozumiem, jak to zrobić za pomocą funkcji wp_custom_pagination. funkcja wp_custom_pagination ($before = '', $after = '') { global $wpdb, $wp_query,$wp_rewrite; $wp_rewrite->flush_rules(); $custom_pagination = tablica(); $custom_pagination['pages_text'] = (''); $custom_pagination['current_text'] = '%PAGE_NUMBER%'; $custom_pagination['page_text'] = '%PAGE_NUMBER%'; $custom_pagination['first_text'] = ('Pierwsza strona'); $custom_pagination['last_text'] = ('Ostatnia strona'); $custom_pagination['next_text'] = 'Dalej'; $custom_pagination['prev_text'] = 'Poprzednia'; $custom_pagination['dotright_text'] = '...'; $custom_pagination['dotleft_text'] = '...'; $custom_pagination['num_pages'] = 3; //ciągły blok numerów stron $custom_pagination['always_show'] = 0; $custom_pagination['num_larger_page_numbers'] = 0; $custom_pagination['larger_page_numbers_multiple'] = 1; //Jeśli NIE jest wyświetlany żaden post /*http://codex.wordpress.org/Function_Reference/is_single)*/ if (!is_single()) { $request = $wp_query->request; //intval � Pobierz wartość całkowitą zmiennej /*http://php.net/manual/en/function.intval.php*/ $posts_per_page = intval(get_query_var('posts_per_page')); //$posts_per_page = 1; //Pobierz zmienną w klasie WP_Query. /*http://codex.wordpress.org/Function_Reference/get_query_var*/ $paged = intval(get_query_var('paged')); $numposts = $wp_query->found_posts; $max_page = $wp_query->max_num_pages; //puste � Określ, czy zmienna jest pusta /*http://php.net/manual/en/function.empty.php*/ if(empty($paged) || $paged == 0) { $paged = 1; } $currently_showingfrom = ($paged-1)*$posts_per_page; $currently_showingto = $paged*$posts_per_page; if($currently_showingto > $numposts) { $currently_showingto = $numposts; } $pages_to_show = intval($custom_pagination['num_pages']); $larger_page_to_show = intval($custom_pagination['num_larger_page_numbers']); $larger_page_multiple = intval($custom_pagination['larger_page_numbers_multiple']); $pages_to_show_minus_1 = $pages_to_show - 1; $half_page_start = floor($pages_to_show_minus_1/2); //ceil � Zaokrąglaj ułamki w górę (http://us2.php.net/manual/en/function.ceil.php) $half_page_end = ceil($pages_to_show_minus_1/2); $start_page = $paged - $half_page_start; if($start_page <= 0) { $start_page = 1; } $strona_końcowa = $stronicowana + $half_page_end; if(($end_page - $start_page) != $pages_to_show_minus_1) { $end_page = $start_page + $pages_to_show_minus_1; } if($end_page > $max_page) { $start_page = $max_page - $pages_to_show_minus_1; $strona_końcowa = $max_strona; } if($start_page <= 0) { $start_page = 1; } $larger_per_page = $larger_page_to_show*$larger_page_multiple; //funkcja niestandardowa round_num() — zaokrągla do najbliższej wartości. $larger_start_page_start = (round_num($start_page, 10) + $larger_page_multiple) - $larger_per_page; $larger_start_page_end = round_num($start_page, 10) + $larger_page_multiple; $larger_end_page_start = round_num($end_page, 10) + $larger_page_multiple; $larger_end_page_end = round_num($end_page, 10) + ($larger_per_page); if($larger_start_page_end - $larger_page_multiple == $start_page) { $larger_start_page_start = $larger_start_page_start - $larger_page_multiple; $larger_start_page_end = $larger_start_page_end - $larger_page_multiple; } if($larger_start_page_start <= 0) { $larger_start_page_start = $larger_page_multiple; } if($larger_start_page_end > $max_page) { $larger_start_page_end = $max_page; } if($larger_end_page_end > $max_page) { $larger_end_page_end = $max_page; } if($max_page > 1 || intval($custom_pagination['always_show']) == 1) { /*http://php.net/manual/en/function.str-replace.php */ /*number_format_i18n (): Konwertuje liczbę całkowitą na format w oparciu o ustawienia regionalne (wp-includes/functions.php*/ $pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $custom_pagination['pages_text']); $pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text); echo $before.'

'."\n"; if(!empty($pages_text)) { echo '
'.$pages_text.'
'; } $ppl = explode('"',get_previous_posts_link()); if (count($ ppl) > 1) { $ppl_url =$ppl[1]; } //Wyświetla link do poprzedniego wpisu, który istnieje w porządku chronologicznym od bieżącego wpisu. /*http://codex.wordpress.org/Function_Reference/previous_post_link*/ if( $paged > 1 ) {?> <a href="<?php echo $ppl_url ?>" class="prev" style='font -size:12px'> <img src="<?php bloginfo('template_directory'); ?>/images/previouspostslink.png" style="szerokość:14px; wysokość:13px;margin-bottom:-2px;"> Poprzedni | <?php } ?> <?php //previous_posts_link($custom_pagination['prev_text']); echo " $paged z $max_page "; if ($start_page >= 2 && $pages_to_show < $max_page) { $first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $custom_pagination['first_text']); //esc_url(): Koduje < > & " ' (mniejsze niż, większe niż, ampersand, podwójny cudzysłów, pojedynczy cudzysłów). /*http://codex.wordpress.org/Data_Validation*/ //get_pagenum_link():( wp-includes/link-template.php)-Pobierz linki do numerów stron. //echo '
1
'; if(!empty($custom_pagination['dotleft_text'])) { // echo '
'.$custom_pagination['dotleft_text'].'
'; } } if($larger_page_to_show > 0 && $larger_start_page_start > 0 && $larger_start_page_end <= $max_page) { for($i = $larger_start_page_start; $i < $larger_start_page_end; $i+=$larger_page_mu ltiple) { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $custom_pagination['page_text']); //echo '
'.$page_text.'
'; } } for($i = $start_page; $i <= $end_page; $i++) { if($i == $paged) { $current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $custom_pagination ['bieżący_tekst']); // echo '
'.$current_page_text.'
'; } else { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $custom_pagination['page_text']); // echo '
'.$page_text.'
'; } } if ($end_page < $max_page) { if(!empty($custom_pagination['dotright_text'])) { //echo '
'.$custom_pagination ['dotright_text'].'
'; } $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $custom_pagination['last_text']); //echo '
'.$max_page.'
'; } $npl=explode('"',get_next_posts_link()); if (count($npl) > 1) { $npl_url=$npl[1]; } else { $npl_url=$npl[0]; } if( $max_page > $paged ) { //echo '
'; ?> <a href="<?php echo $npl_url ?>" style='font-size:12px'>| Dalej < img src="<?php bloginfo('katalog_szablonu'); ?>/images/nextpostslink.png" style="szerokość:14px; wysokość:13px;margin-bottom:-2px;"> <?php }?> <?php //next_posts_link($custom_pagination['next_text'], $max_page); if( $max_page < $paged ) echo '
'; if($larger_page_to_show > 0 && $larger_end_page_start < $max_page) { for($i = $larger_end_page_start; $i <= $larger_end_page_end; $i+=$larger_page_multiple) { $page_text = str_replace( "%PAGE_NUMBER%", number_format_i18n($i), $custom_pagination['page_text']); echo '
'.$page_text.'
'; } } echo '

'.$after."\n"; } } } Próbowałem w i za, ale nie udało się iść naprzód. Proszę o pomoc, jestem noobem w wordpressie. Przeszukałem około 10 postów stackoverflow, ale nie udało mi się go uruchomić. Oto co mam: <?php global $wpdb; $category_ids = get_categories('taxonomy=cities&orderby=order&hide_empty=0'); foreach($category_ids as $cat) { $term_include = $wpdb->get_var($wpdb->prepare("SELECT term_include FROM $wpdb->terms WHERE term_id = %d", $cat->term_id)); $link = get_term_link( $kot->slug, 'miasta' ); $obraz = z_taxonomy_image_url($cat->term_id, 'duży'); $kategoria_nagłówek = $kot->nazwa; $wyciąg = smart_excerpt(category_description($cat->term_id), 20); $category_post = kategoria_kategoria(' / '); } wp_custom_pagination(); ?>


title: Wyświetlać zarówno standardowe posty w określonej kategorii, jak i niestandardowy typ posta w jednej pętli?

text: Tworzę suwak treści, który musi pokazywać posty z niestandardowego typu posta o nazwie „Funkcje”, a także pokazywać standardowe posty na blogu, które są przypisane do kategorii „Polecane”. Chciałbym to zrobić w ramach jednej pętli. Czy ktoś może mi pomóc w zestawieniu zapytania, które poradzi sobie z tym?


title: nie mogę uzyskać dostępu do niektórych funkcji worpress z mojej wtyczki

text:
Próbuję napisać stosunkowo prostą wtyczkę. Mam dwa pliki php, jeden jest zawarty w drugim w następujący sposób: define( 'PLUGIN_DIR', dirname(__FILE__).'/' ); include_once(PLUGIN_DIR . '/included_file.php'); Wszystko wygląda dobrze. Jednak otrzymuję błędy, gdy próbuję wywołać niektóre funkcje wordpress z dołączonego pliku: > Błąd krytyczny: Wywołanie niezdefiniowanej funkcji xxx() ... Dziwne jest to, tylko w przypadku niektórych funkcji, ale nie innych. Na przykład, jeśli umieszczę ten kod na początku dołączonego pliku: if (!function_exists('add_action')) echo "
nie znaleziono add_action
"; if (!function_exists('check_admin_referer')) echo "
nie znaleziono check_admin_referer
"; if (!function_exists('wp_verify_nonce')) echo "
nie znaleziono wp_verify_nonce
"; if (!function_exists('wp_nonce_field')) echo "
nie znaleziono pola wp_nonce_field
"; Otrzymuję następujące dane wyjściowe: nie znaleziono check_admin_referer wp_verify_nonce nie znaleziono, więc tylko dwie z tych czterech funkcji są dostępne w dołączonym pliku ... Prawdopodobnie brakuje mi czegoś bardzo podstawowego, ale trochę utknąłem. AKTUALIZACJA: Próbowałem stworzyć bardzo prostą wtyczkę: <?php /* Nazwa wtyczki: Przetestuj ten URI wtyczki: http://www.gingerlime.com Opis: test Autor: Yoav Aner Wersja: 1.0 Wymaga co najmniej: 3.1 URI autora: http://blog.gingerlime.com Licencja: GPL 2.0, @see http://www.gnu.org/licenses/gpl-2.0.html */ if (!function_exists('add_action')) echo "
 nie znaleziono add_action
"; if (!function_exists('check_admin_referer')) echo "
nie znaleziono check_admin_referer
"; if (!function_exists('wp_verify_nonce')) echo "
nie znaleziono wp_verify_nonce
"; if (!function_exists('wp_nonce_field')) echo "
nie znaleziono pola wp_nonce_field
"; if (function_exists('add_action')) echo "
znaleziono add_action
"; if (function_exists('check_admin_referer')) echo "
Znaleziono check_admin_referer
"; if (function_exists('wp_verify_nonce')) echo "
znaleziono wp_verify_nonce
"; if (function_exists('wp_nonce_field')) echo "
znaleziono wp_nonce_field
"; ?> jak tylko wtyczka zostanie aktywowana, drukuje > nie znaleziono check_admin_referer > > nie znaleziono wp_verify_nonce > > znaleziono add_action > > znaleziono wp_nonce_field Wypróbowałem to na dwóch instalacjach Wordpress. Może spróbuję zupełnie świeżego wordpressa i zobaczę, o co chodzi. Dziwny.


title: osadzanie wideo vimeo/youtube z miniaturami

text: Czy istnieje sposób, aby wordpress osadzić filmy Vimeo, YouTube, takie jak tumblr, z miniaturą, a następnie grać bez przycisków odtwarzacza? przykłady - * http://ascender.tumblr.com/ * http://swell-theme.tumblr.com/


title: [Plugin: Posts 2 Posts] Zmiana kolejności wyświetlania połączeń

text: Czy mogę zmienić kolejność wyświetlania połączeń? Jeśli utworzę powiedzmy trzy połączenia, a następnie wyświetlę je na dole mojego artykułu, otrzymam je w odwrotnej kolejności. Jak mogę to zmienić? Próbowałem użyć 'orderby' i 'order', ale to nie przynosi żadnego efektu: $connected_titles = new WP_Query( array( 'post_type' => 'as_title', 'nopaging' => true, 'orderby' => 'title' , 'order' => 'DESC', 'suppress_filters' => false, 'connected_from' => get_queried_object_id() ));


title: Znajdź najnowszych autorów

text: Co chcę zrobić, to zdobyć 16 najnowszych postów od 16 różnych autorów. Innymi słowy, byłoby 16 najnowszych postów, ale żaden autor nie miałby więcej niż 1 posta na stronie. Sposób, w jaki myślałem o tym, to przeglądanie wszystkich autorów, usuwanie duplikatów, a następnie ograniczanie tego do 16 i używanie tego do generowania postów w pętli dla każdej, ale wyobrażam sobie, że byłoby to ciężkie dla serwer. Jakieś sugestie?


title: Struktura linków bezpośrednich według wartości Post Meta

text: Mam następujący problem: dwa niestandardowe typy postów, nazwijmy je **cpt1** i **cpt2**. W **cpt2** , mam niestandardowe pole meta, w którym możesz wybrać post z **cpt1** , jego `identyfikator posta` jest przechowywany w wartości meta o nazwie `postid`. Struktura linku bezpośredniego w **cpt2** to `/%post_type%/%post_name%/`. To, co próbuję osiągnąć, to: 1. Kiedy `postid` ma `identyfikator posta` o wartości **cpt1** (co zawsze tak będzie, ponieważ jest to pole wymagane), struktura permalink tego konkretnego posta będzie stać się `/selected_post_slug/%post_type%/%post_name%/`. 2. Strona archiwum **cpt2** musi być dostępna przez `/selected_post_slug/cpt2/`, więc wygląda na to, że każda strona **cpt1** ma swoje własne archiwum **cpt2**. Udało mi się uruchomić punkt 1, dodając następujący kod w moim pliku `functions.php`: $wp_rewrite->add_rewrite_tag( '%selected_meta%', '([^&]+)', '?meta=' ) ; function extra_post_link( $permalink, $post, $leavename ) { if ( stripos( $permalink, '%selected_meta%' ) == false ) return $permalink; if ( is_object( $post ) && $post->post_type == 'ervaring' ) { $_selected_post_slug = ''; $_selected_post_id = get_post_meta( $post->ID, 'rating-post', true ); if ( $_selected_post_id ) $_selected_post_slug = get_page_uri( $_selected_post_id ); if ( ! $_selected_post_slug ) return str_replace( '%selected_meta%', '', $permalink ); return str_replace( '%selected_meta%', "$_selected_post_slug/", $permalink ); } return $permalink; } add_filter( 'post_type_link', 'extra_post_link', 10, 3 ); Przeszedłem przez krótki samouczek na temat dodawania znaczników przepisywania w strukturze permalinka, który pokazał mi, jak znaleźć pierwszą rzecz. Ale niestety wciąż pracuję nad rozwiązaniem punktu 2. Czy mógłbym zastanowić się nad tym problemem, aby pomóc mi trochę dalej? Pomoc będzie bardzo mile widziane.


title: Dlaczego moja witryna wp zawsze przekierowuje do starej ścieżki witryny...?

text: Mam problem z migracją mojej witryny Wordpress z podfolderu do katalogu głównego. Mój obecny adres URL witryny nie działa podczas przesyłania projektu do katalogu głównego. Jest przekierowywany do istniejącej ścieżki Moja obecna witryna wordpress znajduje się w katalogu głównym > http://www.macil.com.au/ Ale zawsze jest przekierowywana do starej istniejącej ścieżki witryny, która jest > http://www.macil .com.au/Welcome/Home.html Sprawdziłem plik htaccess, jest pusty jaki może być problem?


title: Jak ograniczyć jeden adres IP, aby publikować tylko komentarz na post?

text: Tworzę stronę z recenzjami. Jak mogę ograniczyć jeden adres IP, aby móc opublikować tylko jeden komentarz do tego samego posta?


title: Tworzysz stronę opcji motywu?

text: Mam stronę szablonu w Wordpress, aby administrator mógł zmienić tekst na tej stronie. Chciałbym nauczyć się tworzyć wtyczkę (wiem, jak zrobić wtyczkę, aby pojawiła się w WP, zainstaluje się, gdy użytkownik ustawi ją na aktywację, a następnie utworzy panel administratora), która pokazuje tylko jedno pole tekstowe, a dane wprowadzone przez osobę są przekazywane do strony szablonu. Jeśli mógłbym mieć pomoc w znalezieniu samouczka lub prostej porady, jak to zrobić, byłoby to bardzo mile widziane.


title: Zmień format RSS dla określonych kategorii

text: Czy istnieje sposób, aby **w jednym kanale RSS** mieć różne formaty dla różnych kategorii? Na przykład, jeśli post jest bardzo długi i techniczny, chciałbym mieć tylko fragment (lub niestandardowy tekst z linkiem), a jeśli jest krótki, chciałbym umieścić całość w kanale.


title: Jak stworzyć sposób, w jaki użytkownicy mogą przypisywać kategorie do postów z poziomu frontendu?

text: Podstawowym założeniem jest dla każdego posta na stronie, chciałbym, aby użytkownicy mogli przypisać mu kategorię, wybierając z zestawu pól wyboru na interfejsie. Byłby to rodzaj kategoryzacji treści opartej na crowdsourcingu. Jakieś pomysły, jak najlepiej do tego podejść?


title: Niestandardowy typ posta i body_class: Usuń klasę „blog”

text: Używam `body_class();` do stylizowania różnych sekcji witryny Wordpress według ich klasy ciała. Style stron pochodzą od `.page-template`, style blogów pochodzą od `.single-post` i/lub `.blog` itp. Stworzyłem niestandardowy typ postu "Produkty" dla sekcji produktów na stronie i chcę ostyluj tę sekcję specjalnie, używając jej klasy treści, ale niestety `body_class();` nadaje również pojedynczym stronom niestandardowego typu postu klasę `.blog`, co powoduje, że wiele stylów bloga zastępuje style produktu - bardzo frustrujące. Czy istnieje sposób na usunięcie klasy „blog” dla moich pojedynczych stron typu post niestandardowy? Dziękuję!


title: Jak zrobić szablon strony, aby administrator mógł wybrać galerie NextGen jako część układu?

text: Staram się stworzyć szablon strony produktu, edytowalny przez klienta, który będzie miał 3 różne galerie NextGen na stronę. W obszarze administracyjnym strony produktu chcę, aby klient mógł wybrać, które 3 galerie NextGen wyświetlić iw jakiej kolejności. Co mam umieścić na mojej stronie szablonu i (zakładam) functions.php? Oto makieta pojedynczej strony produktu tak, jak chcę, więc możesz zobaczyć, o co mi chodzi: https://dl.dropbox.com/u/10452828/LRG/a-project-page-mockup.jpg I' m dostosowując motyw, w którym wszystkie pola „O produkcie” itp. są już w szablonie strony, chcę tylko dodać wybieralne galerie NextGen. Próbowałem to wygooglować, ale nie jestem pewien, jakiej terminologii powinienem szukać, więc każda porada byłaby mile widziana. Dziękuję Ci!


title: Scal wiele witryn/sieci (co najmniej 2) w jedną witrynę/sieć

text: Jakie istnieją metody łączenia co najmniej dwóch witryn WordPress, które już znajdują się w jednej instancji Multi Site? Np. Witryny wp_2 i wp_3 stają się wp_4 lub są połączone w wp_2. Podejrzewam, że nie różni się to niczym od migracji lub konwersji istniejącej witryny/danych WordPress do sieci, która została tutaj opisana i obejmuje wszystkie zastrzeżenia mapowania 301, aktualizowania opcji witryny i istniejących adresów URL znalezionych w opcjach i treści.


title: Wyświetlaj posty stylizowane dokładnie tak, jak posty domyślne

text: Jakie byłyby parametry, aby shortcode wyświetlał kategorię postów dokładnie tak, jak pojawiłyby się na głównej stronie bloga? Wydaje się dość proste, ale po prostu nie widzę, który parametr by to zrobił? Dziękuję,