title: Opcja wyboru widżetu nie jest zapisywana

text: Robię ten widżet, ale wybrane opcje nie zapisują się po aktualizacji. Oto kod: /* CUSTOM POSTS LIST */ class Posts_list extends WP_Widget { function Posts_list() { /* Ustawienia widżetu. */ $widget_ops = array( 'classname' => 'posts_list', 'description' => __('Wyświetl listę różnych postów.', 'fabulous') ); /* Ustawienia kontroli widżetów. */ $control_ops = array( 'width' => 200, 'height' => 350, 'id_base' => 'posts_list' ); /* Utwórz widżet. */ $this->WP_Widget( 'posts_list', __('Wspaniała lista postów', 'fabulous'), $widget_ops, $control_ops ); } widget funkcji( $args, $instance ) { extract( $args ); /* Ustawienia wybrane przez użytkownika. */ $title = apply_filters('widget_title', $instance['title'] ); $id = $instancja['id']; $typ = $instancja['typ']; $liczba = $instancja['liczba']; $img = $instancja['img']; $meta = $instancja['meta']; /* Przed widżetem (zdefiniowanym przez motywy). */ echo $before_widget; /* Tytuł widżetu (przed i po zdefiniowaniu przez motywy). */ if ( $title ) echo $before_title . $tytuł . $po_tytule; ?> <div id="<?php echo $id ?>"> <?php if ( $type == 'Ostatnie wpisy' ) { echo fab_recent_posts($num, $img, $meta); } elseif ($type == 'Popularne wpisy') { echo fab_popular_posts($num, $img, $meta); } elseif ($type == 'Najwyżej oceniane posty') { echo fab_top_rating($num, $img, $meta); } ?> </div> <?php /* Po widżecie (zdefiniowanym przez motywy). */ echo $after_widget; } aktualizacja funkcji( $nowa_instancja, $stara_instancja) { $instancja = $stara_instancja; /* Usuń tagi (w razie potrzeby) i zaktualizuj ustawienia widżetu. */ $instance['title'] = strip_tags( $nowa_instance['title'] ); $instancja['id'] = $nowa_instancja['id']; $instance['typ'] = $nowa_instancja['typ']; $instancja['num'] = $nowa_instance['num']; $instance['img'] = isset( $nowa_instance['img'] ); $instance['meta'] = isset( $nowa_instancja['meta'] ); zwróć $instancję; } function form( $instance ) { /* Ustawia kilka domyślnych ustawień widżetu. */ $defaults = array( 'title' => '', 'id' =>'posts-list-widget', 'type' => 'recents-posts', 'num' => '5', 'img ' => 1, 'meta' => 1); $instancja = wp_parse_args( (tablica) $instancja, $defaults ); $typ = isset( $nowa_instancja['typ'] ); ?> <p> <label for="<?php echo $this->get_field_id( 'tytuł' ); ?>"> <?php _e('Tytuł:', 'fantastyczny') ?> </label> < input id="<?php echo $this->get_field_id( 'tytuł' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="szerokość:100%;" /> </p> <p> <label for="<?php echo $this->get_field_id( 'id' ); ?>"> <?php _e('Name:', 'fabulous') ?> < /label> <input id="<?php echo $this->get_field_id( 'id' ); ?>" name="<?php echo $this->get_field_name( 'id' ); ?>" value=" <?php echo $instance['id']; ?>" style="szerokość:100%;" /> </p> <p> <label for="<?php echo $this->get_field_id('typ'); ?>"> <?php _e('Wybierz typ listy postów:', 'fabulous') ; ?> </label> <select name="<?php echo $this->get_field_name('type'); ?>" id="<?php echo $this->get_field_id('type'); ?>" class="widefat"> <?php $types = array ('Ostatnie posty', 'Najwyżej oceniane posty', 'Popularne posty'); foreach ($types as $option) { echo '<wartość opcji="' . $opcja . '" id="' . $opcja . '"', $type == $opcja ? ' selected="wybrane"' : '', '>', $opcja, '</option>'; }?> </select> </p> <p> <label for="<?php echo $this->get_field_id( 'num' ); ?>"> <?php _e('Liczba postów:', 'fabulous') ?> </label> <input id="<?php echo $this->get_field_id( 'num' ); ?>" name="<?php echo $this->get_field_name( 'num' ) ; ?>" value="<?php echo $instance['num']; ?>" style="szerokość:100%;" /> </p> <p> <input class="pole wyboru" type="pole wyboru" <?php sprawdzone(isset( $instance['img']) ? $instance['img'] : 0 ); ?> id="<?php echo $this->get_field_id( 'showrecents' ); ?>" name="<?php echo $this->get_field_name( 'img' ); ?>" /> <label for= "<?php echo $this->get_field_id( 'img' ); ?>"> <?php _e('Wyświetl obraz', 'fantastyczny') ?> </label> </p> <p> <klasa wejściowa ="pole wyboru" type="pole wyboru" <?php sprawdzone(isset( $instancja['meta']) ? $instancja['meta'] : 0 ); ?> id="<?php echo $this->get_field_id( 'meta' ); ?>" name="<?php echo $this->get_field_name( 'meta' ); ?>" /> <etykieta for= "<?php echo $this->get_field_id( 'meta' ); ?>"> <?php _e('Wyświetl meta', 'fantastyczne') ?> </label> </p> <?php } } Nikt może mi pomóc proszę? Dziękuję!


title: Opublikuj fragment w niestandardowym metaboxie ... pomoc w prawidłowym formacie php

text:
Mam niestandardowe pole meta dołączone do typu posta, które wyświetla sposoby zgłaszania przez klientów nowych pomysłów. Klienci mają streścić swój pomysł w 30 lub mniej znaków, co wydaje się dobrym zastosowaniem post_excerpt. Nie jestem dobry w php (nadal się uczę), więc każda pomoc w uzyskaniu poprawnego polecenia echo byłaby mile widziana. Poniżej znajduje się moje niestandardowe meta box w obecnej formie. Dla uproszczenia pozbyłem się wszystkiego innego. Fragment posta zostanie wyświetlony w polu meta, ale żadne zmiany nie zostaną tam zapisane. Co ja robię źle? function idea_information() { global $post; // Noncename potrzebne do sprawdzenia, skąd pochodzą dane echo '<input type="hidden" name="ideameta_noncename" id="ideameta_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ).'" />'; // Pobierz dane lokalizacji, jeśli zostały już wprowadzone $quicknote = get_post_meta($post->ID, '_ideas_quicknote', true); // Wyprowadź echo pól echo '
Podstawy
 <input type="text" name="wyciąg" id="wyciąg" value="' . $post->post_excerpt . '"/>'; } // Zapisz funkcję danych metaboksu whiteout_save_idea_meta($post_id, $post) { // sprawdź, czy pochodzi z naszego ekranu i z odpowiednią autoryzacją, // ponieważ save_post może zostać wywołany w innym czasie, jeśli ( !wp_verify_nonce( $_POST[' ideameta_noncename'], plugin_basename(__FILE__) )) { return $post->ID; } // Czy użytkownik może edytować post lub stronę? if ( !current_user_can( 'edit_post', $post->ID )) return $post->ID; // OK, jesteśmy uwierzytelnieni: musimy znaleźć i zapisać dane // Umieścimy je w tablicy, aby ułatwić pętlę. $station_meta['_ideas_quicknote'] = $_POST['_ideas_quicknote']; // Dodaj wartości $station_meta jako pola niestandardowe dla każdego ($station_meta as $key => $value) { // Przejdź przez tablicę $station_meta! if( $post->post_type == 'weryfikacja' ) return; // Nie przechowuj niestandardowych danych dwa razy $value = implode(',', (array)$value); // Jeśli $value jest tablicą, przekształć ją w CSV (mało prawdopodobne) if(get_post_meta($post->ID, $key, FALSE)) { // Jeśli niestandardowe pole ma już wartość update_post_meta($post->ID , $klucz, $wartość); } else { // Jeśli niestandardowe pole nie ma wartości add_post_meta($post->ID, $key, $value); } if(!$wartość) delete_post_meta($post->ID, $klucz); // Usuń jeśli puste } } add_action('save_post', 'whiteout_save_idea_meta', 1, 2); // zapisz pola niestandardowe Powiązane posty: Zastąp Meta Box fragmentu posta polem w My Custom Meta Box


title: get_posts wyświetla niepoprawny permalink dla linku „kontynuuj czytanie”

text:
Usunąłem funkcję linku „kontynuuj czytanie” z motywu Twenty Eleven i w większości działa (działa w kanałach RSS). Stworzyłem krótki kod do wyświetlania najnowszego posta na pierwszej stronie statycznej za pomocą `get_posts`, jednak link „kontynuuj czytanie” po prostu linkuje do strony głównej zamiast do strony posta. function gavsiu_continue_reading_link() { return ' ' . __( 'Więcej informacji »' ) . ''; } function gavsiu_auto_excerpt_more( $więcej ) { return '…' . gavsiu_continue_reading_link(); } add_filter( 'excerpt_more', 'gavsiu_auto_excerpt_more' ); function gavsiu_custom_excerpt_more( $output ) { if ( has_excerpt() && ! is_attachment() ) { $output .= gavsiu_continue_reading_link(); } return $wyjście; } add_filter( 'get_the_excerpt', 'gavsiu_custom_excerpt_more' ); Shortcode: function gavsiu_recent_posts( $atts ) { extract( shortcode_atts( array( 'cat' => 3, 'max_posts' => 1 ), $atts ) ); $recent_posts = get_posts( array( 'category' => "{$cat}", 'numberposts' => "{$max_posts}" ) ); foreach($recent_posts jako $recent_post) : setup_postdata($recent_post); $post = '
' . $recent_post->post_title . '
'; $post .= '
' . pobierz_wyciąg() . '
'; return $post; na każdym kroku; } add_shortcode( 'recent_posts', 'gavsiu_recent_posts' );


title: pobierz nazwę bieżącego pliku szablonu

text: Znalazłem to, aby wyświetlić bieżącą nazwę pliku używanego w szablonie: function get_template_name () { foreach ( debug_backtrace() jako $ wywołany_plik ) { foreach ( $ wywołany_plik jako $index ) { if ( !is_array($index[0 ]) AND strstr($index[0],'/themes/') AND !strstr($index[0],'footer.php') ) { $template_file = $index[0] ; } } } $treść_szablonu = file_get_contents($plik_szablonu) ; preg_match_all("Nazwa szablonu:(.*)\n)siU",$treść_szablonu,$nazwa_szablonu); $nazwa_szablonu = przyciąć($nazwa_szablonu[1][0]); if ( !$nazwa_szablonu ) { $nazwa_szablonu = '(domyślnie)' ; } $plik_szablonu = array_pop(explode('/themes/', basename($template_file))); zwróć $plik_szablonu . ' > '. $nazwa_szablonu ; } źródło: http://wordpress.org/support/topic/get-name-of-page-template-on-a-page Działa całkiem nieźle, z wyjątkiem tego, że w backendzie, w polu wyboru szablonu, dostaję to brzydkie dodatkowy wpis: http://cl.ly/361q221Q0n0f1g473R3l Czy ktoś ma pomysł jak to naprawić? Nie wiem nawet, dlaczego ta funkcja jest wywoływana w backendzie (czy istnieje funkcja warunkowa typu `is_frontend()` - może to rozwiązałoby problem).


title: Jak przenieść blogi Wordpress do Multisite bez korzystania z funkcji GUI-Import/Export?

text: Chciałbym przenieść kilka całkiem dużych blogów Wordpress do jednej instalacji wielostanowiskowej. Kreator eksportu i kreator importu są powiązane z limitami PHP (pamięć, czas wykonania) i dlatego eksport i import często kończą się niepowodzeniem. Musi być sposób na zrobienie tego ręcznie (tylko za pomocą MySQL i/lub wiersza poleceń).


title: Utwórz nową kategorię po zapisaniu na podstawie informacji o poście

text: Po znalezieniu kilku wskazówek, jak to zrobić, nie mam nic. To, co próbuję osiągnąć, to dodać post do nowej kategorii na podstawie nazwy aparatu. Jeśli kategoria nie istnieje, to utwórz ją i dodaj. Zasadniczo to, co mam poniżej, pobiera metainformacje załącznika i zapisuje informacje o kamerze w $camera. Od tego momentu trochę się rozpada. funkcja add_post_camera_category() { global $post; globalny $wpdb; // Załaduj tablicę z informacjami o załączniku if (is_null($imgID)) { $images = get_children(array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'numberposts' => 1, 'post_mime_type' => 'obraz', 'orderby' => 'ID', 'zamówienie' => 'ASC' )); if ($obrazy) { foreach ($obrazy jako $obraz) { $imgID = $obraz->ID; } } } $imgmeta = wp_get_attachment_metadata($imgID); if ($imgmeta) { if ($imgmeta['image_meta']['camera']) $camera = $imgmeta['image_meta']['camera']; // Dodaj do własnej kategorii if(!has_term('','category',$post_ID)){ $category = get_term_by( 'slug', $camera, 'category' ); $cat = array($kategoria->slug); wp_set_object_terms ($post_ID, $cat, 'kategoria'); } } } add_action('save_post', 'add_post_camera_category');


title: wp_remote_get nie działa z bezpiecznymi połączeniami https?

text: Pytam o twitter api, gdy używam niezabezpieczonego połączenia http://, działa dobrze bez wp_error (ale twitter przekracza błąd limitu), ale kiedy używam https://, działa w mojej przeglądarce, widzę json i xml formaty, ale jest błąd z wp_remote_get, próbowałem użyć drugiej tablicy argumentów ('sslverify' => false) i to też nie działa? więc robię coś złego lub wp_remote_get nie działa z https ? oto kod: $response = wp_remote_get('https://twitter.com/statuses/user_timeline/$username.json'); if ( is_wp_error($response)) { echo 'błąd wp'; } kiedy używam http jak ten adres URL wp_remote_get('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=$username'); działa bez błędu. Próbowałem też wp_remote_get na innym interfejsie API, ale zawsze przy użyciu https nie działa. Z góry dziękuję. EDYCJA: Otrzymuję to z var_dump($response): wp errorobject(WP_Error)#359 (2) { ["błędy"]=> array(1) { ["http_request_failed"]=> array(1) { [ 0]=> string(146) "Problem z certyfikatem SSL, sprawdź, czy certyfikat CA jest OK. Szczegóły: error:14090086:SSL Procedures:SSL3_GET_SERVER_CERTIFICATE:certificate weryfikacja nie powiodła się" } } ["error_data"]=> array(0) { } } i po użyciu `array('sslverify' => false)` otrzymuję od var_dump($response) wp errorobject(WP_Error)#359 (2) { ["errors"]=> array(1) { [ "http_request_failed"]=> array(1) { [0]=> string(23) "Pusta odpowiedź z serwera" } } ["dane_błędu"]=> array(0) { } }


title: Uzyskaj niestandardową tabelę do tablicy

text: Jak mogę wziąć moją tabelę, którą stworzyłem w ten sposób: global $wpdb; //Pobierz całą bazę danych Wordpress $table_prefix = $wpdb->base_prefix; //Pobierz globalny prefiks dla wszystkich witryn (w przypadku instalacji wielostanowiskowej) $table_name = $table_prefix.'wpaa';//Dodaj wpaa za prefiksem $sql = "UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE `".$table_name."` ( ....) "; //Utwórz tabelę i jej wiersze. (Wiersze są ...' usunięte) require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); //Wymagaj czegoś, co musisz dołączyć dbDelta( $sql ); //Utwórz aktualne zapytanie i pobierz z niego wszystkie dane w postaci tablicy. * * * Wiem jak bym sobie poradził w zwykłym PHP (bez wordpress): $sql = 'SELECT id,foo,bar FROM wp_wpaa'; $result = mysql_query($sql) or die('Błąd wyszukiwania w bazie danych'); $tablica = mysql_fetch_array($wynik);


title: Włącz komentowanie na stronie podglądu frontonu dla oczekujących postów

text: Jesteśmy w trakcie zezwalania autorom na wspólne uczestnictwo w procesie redakcyjnym. Będą mieli dostęp do wszystkich oczekujących stron podglądu postów ( _nie_ strony edycji postów). Chcę zezwolić tym użytkownikom na publikowanie normalnych komentarzy za każdym razem, gdy post jest w _pending_ `post_status`. Po zbadaniu zamieszczono tutaj kompleksowe rozwiązanie, chociaż to rozwiązanie umożliwia komentowanie tylko przez stronę postedycji, a nie stronę podglądu, której szukam.


title: Szybkie przeniesienie mojej witryny Wordpress na inny serwer

text: Przenoszę moją witrynę WordPress. Muszę przenieść całą zawartość ze starego na nowy serwer. Nie mam wystarczającej przepustowości, aby móc najpierw FTP do mojego lokalnego komputera, a następnie FTP do nowego serwera. Więc proszę ludzi tutaj, aby pomogli mi odkryć jakąś wyrafinowaną technikę. Wszystkie pomocne sugestie będą naprawdę mile widziane.


title: 404 — Paginacja kategorii dla niestandardowego typu postu

text: **--Edit** Udało mi się zawęzić, że zmienna stronicowana nie działa tutaj poprawnie, `(get_query_var('paged')) ? get_query_var('paged') : 1;` zawsze zwraca `0` chociaż może jest to spowodowane formatowaniem linku. Przypuszczam więc, że to pytanie powinno brzmieć `zmienna stronicowana nie działa dla kategorii/niestandardowego archiwum postów`. **--End Edit** Mam problem z uruchomieniem paginacji w archiwach kategorii dla niestandardowego typu postu. Liczba stron/linków jest dokładna, ale kliknięcie linku 404s. (Tylko w archiwum kategorii, paginacja działa w innym miejscu witryny) Adres URL jest sformatowany w następujący sposób: `http://domain.com/projects/category/category_name` Struktura Permalink to: `/%category%/%postname ` Moja pętla wygląda następująco (w szablonie `archive-project.php` dla niestandardowego typu postu `project`) $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; $queryArgs = array( 'post_type' => 'project', 'posts_per_page' => 10, 'paged' => $paged ); if (isset($project_cat)) { $queryArgs = array_merge($queryArgs, array( 'category_name' => $project_cat )); } $projectQuery = nowe WP_Query($queryArgs); Druga strona jest generowana jako `http://domain.com/projects/category/category_name/page/2`, która zwraca **404**. Kod dla mojej paginacji jest następujący (może nie jest to najlepsza trasa, ale działa w każdej innej części witryny, również po wielu bólach głowy) global $projectQuery; $total_pages = $projectQuery->max_num_pages; if ($total_pages > 1){ $current_page = max(1, get_query_var('paged')); echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'show_all' => true, 'format' => '/page/%#%', 'prev_next' => false, ' bieżąca' => $bieżąca_strona, 'ogółem' => $suma_stron, )); } Jak wspomniano, linki do stron wydają się być dokładne, ale odwiedzenie linku `Strona 2` daje 404. Wszelkie pomysły byłyby bardzo mile widziane, spędziłem godziny na samej paginacji, jest to zaskakująco złożony problem z Wordpressem. -- Dodatkowe krótkie uwagi: `http://domain.com/projects/page/2` <-- Działa `http://domain.com/projects/category/category_name` <-- Działa `http://domain .com/projects/category/category_name/page/2` <-- 404 Ustawienia czytania: `Strony bloga wyświetlają maksymalnie 1 posty`


title: Jak wtyczka może uruchomić skrypt po aktualizacji w MultiSite?

text: Wyobraź sobie WordPress MultiSite Network z wtyczką Foo (ale aktywną tylko w niektórych witrynach). Podczas aktualizacji wtyczki Foo z wersji 1.0 do 2.0, Foo chciałby popracować w bazie danych. (Na potrzeby tego ćwiczenia załóżmy, że chce przestać przechowywać dane w 10 różnych wierszach wp_options i przechowywać je wszystkie w szeregowanej tablicy). Jak Foo może uruchomić swój skrypt foo_db_update dla każdej witryny, gdy Foo jest aktualizowane? Częstą odpowiedzią jest to, że Foo powinien podłączyć się do admin_init i sprawdzić bieżącą wersję Foo z wersją przechowywaną w bazie danych i sprawdzić, czy musi uruchomić ten skrypt. Podstawowym problemem jest to, że nie jest to coś, co można łatwo zrobić w środowisku MultiSite. Takie podejście mogłoby zadziałać, gdybym mógł łatwo wywołać zdarzenia admin_init we wszystkich witrynach w sieci - _z załadowanymi bieżącymi wtyczkami każdej witryny_ - ale nie wiem, jak to zrobić. Próbowałem podłączyć się do wpmu_upgrade_site i uruchomić Upgrade Network po aktualizacji Foo do wersji 2.0. Jednak używa to tylko switch_to_blog do działania jako każda witryna i nie ładuje w pełni wtyczek dla każdej witryny, na którą się przełącza. Oznacza to, że jeśli Foo doda funkcję do wpmu_upgrade_site, ta funkcja nie uruchomi się po kliknięciu Aktualizuj sieć z poziomu administratora sieci. Jaki jest więc najlepszy sposób, aby wtyczka uruchamiała taki skrypt w środowisku MultiSite?


title: Otrzymać post związany z konkretnym metaboxem?

text: Stworzyłem kilka metaboksów i chciałbym pokazać post związany z tą konkretną wartością metaboksu. Tak jak dostajemy post związany z tagami lub kategoriami.


title: pokaż div tylko wtedy, gdy masz w środku powiązany post

text:
Chcę, aby pojawiło się powiązane pole - ale tylko wtedy, gdy powiązany post znajduje się w div. Jeśli nie ma posta, cały div "related_box" nie powinien być pokazywany. Dowolny pomysł? Oto kod do tej pory.

Pokrewne

 <?php global $post; $terms = get_the_terms( $post->ID , 'movies', 'string'); $do_not_duplicate[] = $post->ID; if(!empty($terms)){ foreach ($terms as $term) { query_posts( array( 'movies' => $term->slug, 'showposts' => 4, 'caller_get_posts' => 1, 'post__not_in ' => $nie_nie_duplikuj)); if(have_posts()){ while ( have_posts() ): the_post(); $do_not_duplicate[] = $post->ID; ?>

<?php if ( has_post_thumbnail()) the_post_thumbnail('movie-thumb'); ?>

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

 <?php endwhile; wp_reset_query(); } } } ?>

 dzięki! OGŁOSZENIE


title: Jak sprawdzić, czy jest tytuł obrazu, podpis, opis?

text: Używam tego kodu do wyświetlania tytułu, podpisu (fragmentu), opisu (treści): `echo get_post(get_post_thumbnail_id())->post_title; echo get_post(get_post_thumbnail_id())->post_excerpt; echo get_post(get_post_thumbnail_id())->post_content;` Ale jak najpierw sprawdzić, czy jest któreś z tych pól? Na przykład, jak sprawdzić, czy jest podpis, a czy jest pusty, aby pokazać inny tekst? Z poważaniem.


title: Wyświetl wszystkie witryny w wielu witrynach

text:
Cześć, nie jestem programistą i zastanawiałem się, czy ktoś mógłby edytować ten kod, aby wyświetlić wszystkie witryny w sieci wielostanowiskowej w kolejności alfabetycznej? bo teraz kod wyświetla się według daty rejestracji <?php // Zapytanie o pobranie blogów $blogs = $wpdb->get_results( $wpdb->prepare("SELECT blog_id, domena, ścieżka FROM $wpdb->blogi WHERE site_id = % d AND public = '1' AND zarchiwizowany = '0' AND dojrzały = '0' AND spam = '0' AND usunięty = '0' ORDER BY zarejestrowany DESC, $wpdb->siteid), ARRAY_A ); // umieść go w tablicy foreach ( (tablica) $blogs as $details ) {$blog_list[ $details['blog_id'] ] = $details;} unset( $blogs ); $blogi = $blog_list; // if jest poprawną tablicą if (is_array( $blogs ) ){ echo '
'; $tablica= tablica(); // zmień kolejność $array= array_slice( $blogs, 0, count( $blogs ) ); for($i=0;$i<count($tablica);$i++){ // pobierz dane dla każdego identyfikatora $blog = get_blog_details( $array[$i]['blog_id'] ); // wydrukuj to echo '
siteurl.'">'.$blog->nazwa bloga.'
'; } echo '
'; } ?>


title: Jak zrobić wordpress MU z subdomenami na domenie wskaźnikowej z bezpośrednim administratorem?

text: Mam domenę domain.com, która jest hostowana przez inną firmę. dlatego robię wskaźnik (domain.otherdomain.com), aż strona będzie gotowa. Domena.com ma poddomeny sub1.domain.com sub2.domain.com. ale potrzebuję teraz, dopóki witryna nie będzie gotowa do przeniesienia, przejdź do subdomen z domeną wskaźnika, taką jak sub.domain.otherdomain.com. Próbuję to zrobić w bezpośrednim administratorze, ale to nie działa, jak mam to zrobić?


title: Wstaw dane z niestandardowej strony PHP do tabeli wp_postmeta

text: Pracuję z witryną Wordpress i stworzyłem niestandardową stronę w `/home/planmyme/public_html/php/` o nazwie `response.php`. Na tej stronie otrzymuję wartość do wstawienia w tabeli `wp_postmeta` (przykłady wartości: identyfikator transakcji, identyfikator zakupu, identyfikator zamówienia lub nazwa przedmiotu), ale nie mogę jej wstawić. Używam poniższego kodu jako testu. Nie rozumiem, jak to osiągnąć ani czy istnieje potrzeba połączenia z bazą danych do uruchomienia zapytania. $metakey = "_menu_item_type"; $metavalue = "Interfejs bazy danych WordPress jest jak Sunday Morning: Easy."; $wpdb->query( $wpdb->prepare( "WSTAW W $wpdb->wp_postmeta ( post_id, meta_key, meta_value ) VALUES ( %d, %s, %s ) ", 10, $metay, $metavalue ) ); Pojawianie się tego błędu > Błąd krytyczny: Wywołanie funkcji składowej query() na obiekcie niebędącym obiektem w > /home/planmyme/public_html/php/response.php w wierszu 56. Jeśli ktoś ma pomysł, jak to zrobić, proszę o informację wiedzieć.


title: Przepisz regułę dla niestandardowego typu postu archiwum miesięcznego i rocznego

text: Mam niestandardowy typ posta „contest_recipe”. Mogę przeglądać posty z przepisami konkursowymi według roku i według daty za pomocą następujących adresów URL: > > http://example.com/2011/?post_type=contest_recipe — pokazuje wszystkie 2011 > przepisy konkursowe > http://example.com/2011/ 7/?post_type=contest_recipe — pokazuje wszystkie przepisy konkursowe z lipca > 2011 > Chciałbym uprościć adres URL do > > http://example.com/2011/recipes > http://example.com/2011/7/recipes > Czy to możliwe? Nie znam koncepcji przepisywania reguł. Czy ktoś może polecić samouczek, jak się o tym dowiedzieć lub podać przykład?


title: Niestandardowe zapytanie Select z niestandardowymi typami postów

text:
Próbowałem rozwiązać ten problem przez ostatnią godzinę, ale uderzałem w ścianę. Zasadniczo próbuję tylko zapytać o mój niestandardowy typ postu na podstawie niektórych niestandardowych pól daty, a następnie wyświetlić je. Czy ktoś ma pomysł, gdzie się mylę? <?php // - zapytanie - globalne $wpdb; $wczoraj = strtotime("-1 dzień"); $querystr = " SELECT * FROM $wpdb->posts INNER JOIN {$wpdb->postmeta}postmeta m1 ON ( {$wpdb->posts}posts.ID = m1.post_id ) INNER JOIN {$wpdb->postmeta}postmeta m2 ON ( {$wpdb->posts}posts.ID = m2.post_id ) GDZIE $wpdb->posts.post_type = 'tf_events' AND $wpdb->posts.post_status = 'publish' AND ( m1.meta_key = 'tf_events_startdate ' AND m1.meta_value > $yesterday ) AND ( m2.meta_key = 'tf_events_starttime') ZAMÓW WG m1.meta_key ASC, m2.meta_key ASC LIMIT 30 "; $wydarzenia = $wpdb->get_results($querystr, OBJECT); if ($zdarzenia): global $post; foreach ($events jako $post): setup_postdata($post); // - zmienne - $custom = get_post_custom(get_the_ID()); $sd = $niestandardowe["tf_events_startdate"][0]; $ed = $custom["tf_events_enddate"][0]; $st = $custom["tf_events_starttime"][0]; $et = $custom["tf_events_endtime"][0]; $post_image_id = get_post_thumbnail_id(get_the_ID()); if ($post_image_id) { $thumbnail = wp_get_attachment_image_src( $post_image_id, 'post-thumbnail', false); if ($thumbnail) (string)$thumbnail = $thumbnail[0]; } // - wyjście - ?>
Pokaż gadżety
 <?php endforeach; ?> <?php else : ?>
Nie znaleziono

Przepraszam, ale szukasz czegoś, czego tu nie ma.
 < ?php endif; ?> Z góry dziękuję :)


title: Jak dodać biografię użytkownika podczas importu?

text: Importujemy dane użytkownika z Lithium do Wordpress za pomocą aplikacji java, która generuje plik XML. Muszę znać klucz do biografii, abyśmy mogli dołączyć go do pliku XML. Czy ktoś może pomóc?


title: Wtyczka umożliwiająca użytkownikom tworzenie własnych reklam, takich jak Google Adsense

text: Czy ktoś wie o wtyczce umożliwiającej użytkownikom tworzenie reklam w formacie takim jak Google Adsense (tytuł, tekst i link). ? Coś, co może wymagać pewnego dostosowania, może wykonać zadanie. Z góry dziękuję.


title: Jak stworzyć dwie oddzielne strony rejestru?

text: Szukam sposobu na zrobienie dwóch oddzielnych stron rejestru. Jeden automatycznie przypisze użytkowników jako **subskrybent** , a drugi jako **współtwórca**. Jedyne, o czym pomyślałem do tej pory, to zduplikowanie funkcji *register_new_user* w pliku wp-login.php i nieco jej dostosowanie. Jakieś pomysły? Z góry dziękuję.


title: htaccess lub przekierowanie do zamaskowania części linku?

text: Mam zainstalowaną wtyczkę rotacji reklam do wyświetlania kilku reklam w mojej witrynie, ale wtyczka jest zakodowana w taki sposób, że korzysta z pełnego katalogu w łączu do liczby reklam. Chciałbym wiedzieć, czy jest coś łatwego do umieszczenia w moich htacces, aby zamaskować link. Na przykład: http://mysite.com/wp-content/plugins/ad-rotating-plugin/rotate.php?trackerid=1 musi wyglądać tak: http://mysite.com/rotate.php?trackerid= 1 (właściwie każda odmiana tego jest w porządku, po prostu nie chcę, aby pełny katalog wp-content/plugins/ był pokazany w łączu). Wypróbowałem kilka wtyczek, ale nie uzyskałem oczekiwanych rezultatów. Podsumowując, chcę, aby link SHOW był dolnym linkiem, ale po kliknięciu został przeniesiony do linku górnego i potrzebuję tego trackerid=#, aby pozostać wygenerowanym identyfikatorem, więc chcę zamaskować tylko część linku. Czy jest coś, co mogę umieścić w moim htaccess, aby to zrobić? Dziękuję!


title: SSO / integracja uwierzytelniania z zewnętrzną „usługą katalogową”

text: Zaraz zaczynam pracę nad prototypem dla klienta - a jedną z wymaganych funkcji jest integracja z wewnętrznym systemem uwierzytelniania/rejestracji użytkowników. Ten system będzie działał jako autorytatywna baza danych użytkowników i zapewni interfejs RESTful do tworzenia nowych użytkowników i uwierzytelniania prawidłowych użytkowników. 1. Muszę być w stanie tworzyć nowych użytkowników w WP i jako część tego procesu wykonać wywołanie zewnętrznego API uwierzytelniania, aby utworzyć / zweryfikować tego użytkownika. 2. Osoba, która jest prawidłowym użytkownikiem, ale nie jest znana WP, powinna mieć możliwość zalogowania się w celu komentowania, bez konieczności samodzielnej rejestracji na stronie WP. 3. Osoba zalogowana do całego serwisu powinna być również automatycznie zalogowana do WordPressa. > Myślę, że następująca droga jest do zrobienia. > > * Dla (1) - czy istnieje haczyk rejestracyjny, którego mogę użyć? > > * Dla (2) - zakładam, że podpinam filtr uwierzytelniający - tzn. gdy ktoś > próbuje się zalogować, przechwytuję to, dzwonię do systemu zewnętrznego, a potem > albo przetwarzam login WP, albo przekierowuję go na proces rejestracji > gdzie (1) ma oer. > > * Dla (3) - odczytaj plik cookie logowania ustawiony przez stronę główną i kontynuuj > (2) ? >> Myślę, że będę musiał również wstawić rekord do tabeli users i usermeta. Czy więc powyższe ma sens - czy o czymś nie pomyślałem. Każdy dostał jakieś dobre środki, żeby w tym pomóc (@hakre - widziałem, że trochę nad tym popracowałeś !!). ## Aktualizacja Więc nadal trochę się tym wali, zasadniczo próbuję podłączyć się do filtra uwierzytelniania i używać go do: 1. Sprawdź, czy jest ustawione ciasteczko logowania dla witryny „master” i jeśli tak, przeprowadź ponowną walidację w odniesieniu do ich interfejsu API uwierzytelniania, a jeśli jest prawidłowy, wymuś logowanie WP za pomocą `wp_signon()`, wykorzystując informacje zawarte w pliku cookie witryny głównej (e-mail i zaszyfrowane hasło) jako dane uwierzytelniające dla WP 2. Jeśli plik cookie jest nie ustawiaj, przekieruj do strony logowania do witryny głównej i uzyskaj login / rejestrację, a następnie wróć do kroku 1. 3. Jeśli nie ma użytkownika WP, gdy istnieje uwierzytelniony użytkownik witryny głównej, utwórz go, a następnie „przezroczysty” signon (tj. aby użytkownik nie widział formularza logowania WP) Zasadniczo chcę całkowicie ukryć formularz logowania WP dla użytkowników, którzy będą głównie komentować, a później znaleźć sposób, aby umożliwić autorom i administratorowi dostęp do niego bezpośrednio. Przebiega to dość wolno, oto, w czym mógłbym się przydać: * czy filtr uwierzytelniania jest odpowiedni do użycia? Wygląda na to, że nie jest wywoływany we wszystkich sytuacjach, jakich bym się spodziewał - np. meta widżet wyświetla linki logowania/wylogowania bez uruchamiania przechwycenia uwierzytelnienia * mogę uzyskać `wp_signon()` aby zwrócić obiekt `WP_User` (wskazujący na sukces ). Każda pomoc otrzymana z wdzięcznością :)


title: Obraz przycinania Wordpress nie działa

text: Mam następujący CSS: .crop { wysokość: 40px; przelew: ukryty; margines-dolny: 20px; }, aby przyciąć obraz, gdy ekran się kurczy. Działa w normalnym pliku HTML, ale w Wordpress rezultatem jest skompresowany obraz, a nie przycięty. Jak mogę to naprawić?


title: Mapa witryny Google xml nie działa podczas instalacji katalogu

text: Zainstalowałem wordpress w katalogu powyżej katalogu głównego o nazwie "wp". Mam problemy z generatorem map witryn Google xml. Nie mogę odbudować kodu xml i zapisać go w pliku sitemap.xml. Rozmawiałem przez telefon z moją firmą hostingową i zapewniają, że plik ma pełną kontrolę nad uprawnieniami do plików. Czy ktoś ma jakieś rady na ten temat?


title: Pobieranie wartości pól niestandardowych w trybie szybkiej edycji

text:
Próbowałem dodać pole do szybkiej edycji. Jakoś to działa: jest wyświetlany i jeśli wprowadzisz wartość w polu wejściowym, wartość zostanie zapisana w polu niestandardowym. Jednak wydaje się, że nie można znaleźć sposobu na pobranie wartości pola niestandardowego. Oto, co mam do tej pory: add_action('quick_edit_custom_box', 'ilc_quickedit_show', 10, 2); function ilc_quickedit_show( $col, $type ) { if( $type != 'event' ) return; ?> <fieldset class="inline-edit-col-left">

 Data zdarzenia  <input type="text" name="eventdate" id="eventdate" size="10" value="">

 </fieldset> <?php } wprowadzone wartości są zapisywane za pomocą: add_action('save_post','ilc_quickedit_save',10,3); function ilc_quickedit_save($post_id, $post) { if( $post->post_type != 'event' ) return; update_post_meta($post_id, 'Data zdarzenia', $_POST['eventdate']); } Jak na pewno zauważyłeś, jest to post niestandardowy typu „event”. Nie mogę jednak pobrać wartości i wypełnić pól. AFAIK, dotyczy to inline-edit-post.js, ale nie mogę znaleźć żadnego sposobu na użycie inlineEditPost do pobrania wartości pola niestandardowego. Nawet identyfikator posta jest dostępny w zakresie JavaScript add_action('admin_head-edit.php', 'ilc_quickedit_get'); function ilc_quickedit_get() { ?>  <?php } Pobrałem wtyczkę Custom Field Template, aby przeanalizować kod i odkryłem, że redefiniują one części funkcji inlineEditPost, więc pomyślałem o zrobieniu tego samego. Wydaje się jednak, że robią to za pomocą tablicy opcji, w której przechowywany jest duplikat. Jeśli udało Ci się rozwiązać ten problem, czy możesz udostępnić to, czego używasz do pobierania wartości dla każdego pola niestandardowego?


title: filtruj posty bez obrazów lub polecanego obrazu

text:
Używam wordpressa MU 3.3.1. Chcę dodać funkcję w pętli, która wyświetla tylko posty z obrazem lub wyróżnionym obrazem. pomóż mi, jak filtrować posty. <?php get_header(); ?>
 <?php global $post; $categories = get_categories('child_of=7694'); foreach ($categories as $category) { $cat_id = $category->cat_ID; $games = get_posts('numberposts=6&orderby=rand&category='.$cat_id); if ($games) : ?>

<a href="<?php echo get_category_link($cat_id); ?>"><?php echo $category->name; ?>
 <?php foreach ($gry jako $post) : $do_not_duplicate = $post->ID; ?>
 <a href="<?php the_permalink() ?>" rel="zakładka" title="<?php echo get_post_meta($post->ID, 'mabp_description', $single = true); ?>" > <?php if ( (strlen($post->post_title) > 10) ) { echo substr($post->post_title, 0, 10).".."; } inny { tytuł_(); } ?>
 <a href="<?php the_permalink() ?>" class="thumb_link" rel="zakładka" title="<?php echo get_post_meta($post->ID, 'mabp_description', $single = true); ?>"><?php gab_media(array( 'name' => 'gab_featured', 'enable_video' => 'true', 'catch_image' => 'true', 'enable_thumb ' => 'true', 'resize_type' => 'c', 'media_width' => '60', 'media_height' => '34', 'thumb_align' => 'featured_thumb', 'enable_default' => get_option( 'of_nw_enfea2'), 'default_name' => 'featured_thumb.jpg' )); ?>
 <?php endforeach; ?>
<a href="<?php echo get_category_link($cat_id); ?>">Więcej gier

 <?php endif; }?>
 <?php // Zakończ zawartość div ?> <?php get_sidebar(); ?> <?php get_footer(); ?>


title: wordpress wstawia posty programowo przez adres URL

text: Muszę programowo wstawiać posty w Wordpress. Chcę, żebym mógł publikować posty za pośrednictwem adresu URL. Coś takiego jak www.mypage.com/insertnewpost.php?title=blah&content=blahblahblah&category=1,2,3 Poniższy kod działa tylko wtedy, gdy używam go w pliku functions.php motywów. dołącz '../../../wp-includes/post.php'; globalny $ID_użytkownika; $new_post = array( 'post_title' => 'Mój nowy post', 'post_content' => 'Lorem ipsum dolor sit amet...', 'post_status' => 'publish', 'post_date' => date('Y-m-d H:i:s'), 'post_author' => $user_ID, 'post_type' => 'post', 'post_category' => array(0) ); $post_id = wp_insert_post($nowy_post); Jednak gdy próbuję stworzyć nową stronę, taką jak insertnewposts.php i użyć powyższego kodu, otrzymuję błędy, takie jak Błąd krytyczny: Wywołaj niezdefiniowaną funkcję add_action() w Z:\www\wordpress\wp-includes\post.php on-line 144 Proszę o pomoc.


title: Jak uzyskać ostatnie 5 postów w moim pasku tytułu?

text: Zainstalowałem wtyczkę ostatnich postów w mojej witrynie Wordpress. Pokazuje poprawną odpowiedź, ale w pozycji nagłówka wyświetla „Ostatni post”. Nie chcę tego tekstu. Niestety nie mogę tego usunąć. Pomóż mi ... Czy jest dostępne inne kodowanie php?


title: Problem z utworzeniem linku do edycji dla niestandardowego typu postu

text: W moim ostatnim pytaniu zadałem pytanie Jak zbudować formularz edycji postów i komentarzy na stronie?. Ale aby edytować niestandardowy typ postu (nazywany pytaniem), muszę odwołać się do **edycji strony** i **ID** niestandardowego typu postu. Utworzyłem plik o nazwie **edit-question.php** (znajdujący się w folderze motywu). Utworzyłem stronę o nazwie **Edytuj pytanie** w panelu administracyjnym Wordpress (i przypisałem do niej plik szablonu **edit-question.php**). I umieściłem następujący kod, aby wyświetlić link do edycji tuż przed zakończeniem pętli ( **loop-question.php** ): <?php endif; // To była instrukcja if, która rozbiła pętlę na trzy części w oparciu o kategorie. ?> <?php if ($post->post_author = $current_user->ID) : ?> <a href="<?php bloginfo('url'); ?>/edit-question.php?qpost_id=<? php $post->ID ?>">Edytuj! <?php endif; ?> <?php koniec; // Zakończ pętlę. Uff. ?> Kiedy klikam link **Edytuj!**, na pasku adresu pojawia się następujący tekst: `http://localhost/qaf/edit-question.php?qpost_id=`. Patrząc na domyślny link edycji Wordpressa wygląda to tak: http://localhost/qaf/wp-admin/post.php?post=61&action=edit Myślę, że muszę zrobić coś podobnego z wyjątkiem części `action=edit` ( nie bardzo pewny). Jaki jest najlepszy sposób na zrobienie tego?


title: Czy mogę używać ShortCode w szablonie?

text: Używam bloga Wordpress.Tutaj chcę użyć wtyczki Tweetmeme.Chcę pokazać dane wyjściowe wtyczki Tweetmeme w miejscu dostosowywania (strona postu [Nie przed ani po]). Twórcy wtyczek udostępniają Shortcode. w szablonie? Chyba nie jest to możliwe. Musimy więc zmienić Shortcode jako funkcję. Jak utworzyć funkcję z Shortcode? Pomóż mi.


title: Dobra rekomendacja do tworzenia motywów WordPress

text: Szukam dobrej rekomendacji na książkę o tworzeniu motywów wordpress. Mam pewne doświadczenie w budowaniu motywów, ale chcę dowiedzieć się więcej i czasami mam problemy z czytaniem lub zrozumieniem kodeksu. Nie znam tak dużo php, więc rekomendacja php też byłaby miła. Z góry dziękuję.


title: Usuwanie strony administratora dodanej przez wtyczkę innej firmy. Formy grawitacyjne w tym przykładzie

text: Staram się ukryć stronę pomocy przed redaktorami, dodaną przez wtyczkę formularzy grawitacyjnych. Wydaje mi się, że wcześniej napotkałem ten sam problem z innymi wtyczkami, więc chciałbym wiedzieć, jak to zrobić w przypadku wtyczek innych firm. To co mam do tej pory co nie działa. To oczywiście działa dla innych menu WP, więc zastanawiam się, czy funkcja jest ograniczona tylko do menu WP? function remove_menu_links() { if( !bieżący_użytkownik_can('opcje_zarządzania') ) { remove_menu_page('admin.php?page=gf_help'); // to jest adres URL strony } } add_action( 'admin_menu', 'remove_menu_links');


title: Dlaczego edytor wizualny tinymce pokazuje tło z mojego motywu?

text: W moim motywie mam ustawiony styl tła ciała na konkretny obraz (w pliku style.css). Podczas edycji treści w edytorze wizualnym mam to samo tło, które ustawiłem w motywie. Czy można to wyłączyć?


title: Dlaczego plik cookie PHP za pośrednictwem wtyczki jest ustawiany tylko wtedy, gdy jest zalogowany jako administrator, a nie zwykły użytkownik? i inne pytania

text: Na początku myślałem, że to problem z przeglądarką, ale wygląda na to, że mój kod ustawia ciasteczko tylko wtedy, gdy użytkownik jest zalogowany jako administrator. Jeśli nie jesteś zalogowany na koncie Administratora to nie ustawia ciasteczka. Przetestowałem to w 3 różnych przeglądarkach za pomocą systemu Windows 8. Tylko w celach informacyjnych, oto link do pytania, kiedy myślałem, że jest to problem z różnymi przeglądarkami: * http://stackoverflow.com/questions/19624858/setting-cookie-via- php-works-in-chrome-but-nie-firefox-or-ie Mój kod znajduje się w aktywowanej niestandardowej wtyczce, którą stworzyłem, w pliku o nazwie custom_functions.php (jedyny plik w mojej wtyczce). To moja pierwsza wtyczka, ale jak na razie inne funkcje, które tam umieściłem, działają poprawnie. Oto kod, którego używam: add_action( 'init', 'visitor_cookie', 1); function visitor_cookie() { if (!isset($_COOKIE['returning_visit'])) { $traffic_type = 'hd'; $ciąg czasu = mikroczas(); $pieces = explode(" ", substr($timestring, 2)); $pieces[0] = "1".substr($pieces[0],0,3); $visitor_id = $traffic_type.dechex($sztuk[1]) . dechex($pieces[0]); $wygasa = czas()+60*60*24*360; $ścieżka = '/'; $domena = parse_url(get_option('siteurl'), PHP_URL_HOST); setcookie( 'returning_visit', $visitor_id, $expire, $path, $domain, false ); } } **Uwagi:** 1. Chcę ustawić plik cookie tylko dla każdego odwiedzającego/użytkownika, który nie jest administratorem. Więc ustaw tylko dla przypadkowych użytkowników i zwykłych użytkowników. Ale nie jest to konieczne, jeśli jest zbyt trudne. 2. Wygaśnięcie powinno wynosić 1 rok. 3. Plik cookie powinien działać w mojej domenie, w tym w subdomenach. W tej chwili moja domena to development.mydomain.com 4. W add_action , nie jestem pewien, czy powinno tam być „1”. W linku do mojego drugiego pytania zostałem poinformowany, że "parse_url(get_option('siteurl'), PHP_URL_HOST);" jest zdeprecjonowany i powinienem użyć site_url(). Jednak kiedy użyłem " $domain = site_url() ", ciasteczka w ogóle się nie ustawiały, więc nie jestem pewien, czego dokładnie użyć, aby poprawnie ustawić zmienną domeny. Chociaż powyższy kod działa tylko wtedy, gdy jestem zalogowany jako administrator, jestem nowy w zakresie wtyczek i ustawień plików cookie i nie jestem pewien, czy mój kod jest aktualny lub najbardziej wydajny/poprawny sposób, aby się do tego zabrać. **Aktualizacja:** Właśnie zauważyłem, że inne funkcje strony działają tylko jako administrator.. takie jak pobieranie parametrów GET z potężnej wtyczki pro. Próbowałem wyłączyć prawie wszystkie moje wtyczki i nadal ten sam problem. Coś powoduje, że niektóre rzeczy działają tylko wtedy, gdy jesteś zalogowany jako administrator i nie wiesz co.


title: czy mój motyw jest kompatybilny z wieloma witrynami?

text: Mam motyw Wordpress, który działa „OK” jako pojedynczy użytkownik i bezskutecznie próbowałem zmusić go do pracy w trybie wielu użytkowników. Brakuje funkcji po stronie wielu użytkowników, które są niezbędne, aby działała tak, jak tego potrzebuję, na przykład „opcje motywu”. Oto migawka opcji motywu http://screencast.com/t/5sx0umfYQs6 Myślę, że to musi być problem z bazą danych, a także inne rzeczy... Nie mam pojęcia, od czego zacząć.


title: Korzystanie z niestandardowych typów postów w podmenu + niestandardowy tytuł

text: Planuję użyć kilku niestandardowych typów postów dla mojej wtyczki. Cała wtyczka powinna znajdować się w 1 pozycji menu najwyższego poziomu. Dlatego wolałbym strukturę menu taką jak: * Pulpit nawigacyjny * Posty * [...] * Moja wtyczka * Niestandardowy typ posta #1 * Niestandardowy typ posta #2 * [...] Jest to możliwe dzięki dodaniu `'show_in_menu' => 'my_plugin_toplevel_menu_item_slug'` w `register_post_type` podczas rejestracji moich niestandardowych typów postów. Jednak jest kilka problemów, na które natknąłem się przy użyciu tej metody. * Nie mam nic do powiedzenia, jak tytuł powinien być wyprowadzany. Wolałbym użyć `<h2 class="nav-tab-wrapper"> ... </h2>`, ale teraz post.php wyświetla dla mnie wynik h2 i nie znam łatwego sposobu na nadpisanie ten. Można to zrobić za pomocą javascript zaraz po załadowaniu strony, ale moim zdaniem jest to trochę brzydkie. * Używając `'show_in_menu'`, nie można zmienić kolejności stron podmenu. Niestandardowe typy postów są automatycznie umieszczane na górze, ponieważ wydaje mi się, że Wordpress po prostu dociera do nich szybciej niż ja. * Ikona h2 z jakiegoś powodu znika (chociaż tak naprawdę nie zajrzałem do tego jeszcze, może być bardzo łatwe do rozwiązania). Czy ktoś ma pomysł, jak elegancko podejść do tych problemów? **Aktualizacja** Zobacz rozwiązanie tymczasowe w mojej odpowiedzi poniżej.


title: Użycie WP_Query do pobrania załącznika zwraca pusty zestaw

text: Chciałbym, aby pierwszy plik audio w bibliotece multimediów został przefiltrowany przez niestandardowe pole, ale zawsze zwraca pusty zestaw postów. Wiem, że muszę przekazać `'post_status' => 'inherit'` i `'post_type' => 'attachment'`, ale to niczego nie zmienia. <?php // Argumenty $args = array( 'post_type' => 'attachment', 'post_status' => 'dziedzicz', 'post_mime_type' => 'audio', 'meta_key' => 'my_meta_key', 'meta_value' => 'moja_meta_wartość', 'posts_per_page' => 1 ); // Utwórz zapytanie $audio_files = new WP_Query( $args ); // Wyjście var_dump( $audio_files ); // liczba znalezionych postów jest zawsze równa 0 ?> Więc próbowałem zminimalizować to przez wypuszczenie wszystkich meta-kluczy i wyszukanie jakiegokolwiek załącznika (jak wspomniano tutaj) <?php // Argumenty $args = array( ' post_type' => 'załącznik', 'post_status' => 'dziedziczy' ); // lub "dowolne", ale bez efektu // Utwórz zapytanie $any_files = new WP_Query( $args ); // Wyjście var_dump( $dowolne_pliki ); // to samo: liczba znalezionych postów jest zawsze równa 0 ?> Kiedy robię `var_dump( $any_files );`, żądanie nie zawiera wybranego statusu posta' (co jest dziwne): ["request"]=> string(237) "SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'załącznik' AND ((wp_posts.post_status = 'opublikuj' OR wp_posts.post_status = 'przyszłość')) ZAMÓWIENIE BY wp_postdate DESC LIMIT 0, 10" Więc spróbowałem tego w staromodny sposób przez niestandardową instrukcję SQL: <?php // Pobierz wiersz przez niestandardową instrukcję SQL $wpdb->get_row( 'SELECT * FROM' . $wpdb->prefix 'posts p,' .$wpdb->prefix .'postmeta m WHERE p.post_mime_type LIKE "audio/%" AND p.ID = m.post_ID AND m.meta_key = "my_meta_key" AND m.meta_value = "my_meta_value" ORDER BY p.post_date DESC' ); ?> I tataaaa! Dostaję mój pierwszy plik audio. Wiem, że są podobne pytania: * Zepsute? WP_Query i „załącznik” jako typ postu * WP_Query nie działa zgodnie z oczekiwaniami w przypadku załączników i niestandardowego meta_query Ale żadne z nich nie pomogło mi, mimo że dotyczyło tego samego tematu. Czego mi tu brakuje? Dlaczego dany status nie jest rozpoznawany? Chciałbym użyć `WP_Query`. **Rozwiązałem to:** Miesiące temu dodałem domyślny post_status' do zapytania w haczyku akcji `pre_get_posts`. O stary! @Milo: Dzięki za podpowiedź!


title: Problemy z permalinkami na Ubuntu Server — nieskończona pętla i złe strony

text: Mam duży problem z Permalinkami na naszej instalacji Wordpress. Obecnie działa na nim Ubuntu 10.4 i kiedy dodaję stronę do witryny, dzieją się dziwne rzeczy: 1. Otrzymujemy nieskończoną pętlę i ostrzeżenia o „zbyt wielu przekierowaniach” z różnych przeglądarek 2. Inne linki na stronie są przekierowywane do nowo utworzonego Na przykład, po utworzeniu strony o adresie URL „/promolanding/”, gdy ktoś kliknie link do strony „/about-us/”, przekierowuje go do „/promolanding/” To działa dobrze na moim rozwoju CentOS serwer i dzieje się tylko na serwerze Ubuntu. Permalinki są ustawione na: /%year%/%monthnum%/%postname%/ a plik .htaccess wygląda następująco: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # KONIEC WordPress Czy ktoś miał kiedyś ten problem? Jeśli tak, wszelka pomoc byłaby mile widziana. Dziękuję!


title: Problemy z kadrowaniem obrazu WordPress

text: Tworzę motyw portfolio na WordPress 3.2.1, więc stworzyłem nowy post_type o nazwie 'portfolio'. Moim celem jest pokazanie na froncie siatki złożonej z prac, które zrealizowałem w ciągu ostatnich lat. Ten gris zostanie wypełniony miniaturą post_type portfolio (polecany obraz), gdy dowolny użytkownik na nie kliknie, system wyświetli (poprzez fancybox) wyskakujące okienko z dużym obrazem. Oczekiwany przeze mnie kod HTML to:    Chodzi o to, aby: wgrać zdjęcie z sekcji portfolio (za pomocą przycisku dodaj zdjęcie), a następnie zapisać i zamknąć tę sekcję. Następnie przechodzę do biblioteki multimediów, otwieram obraz, aby go przyciąć. Następnym krokiem jest zapisanie wszystkich multimediów, powrót do sekcji portfolio, ponowne otwarcie posta i ustawienie przyciętego obrazu jako obrazu polecanego. Dzieje się tak, że „uprawa” nie działa. Muszę dwukrotnie przyciąć obraz, aby uzyskać wynik, ale nie zawsze wpływa to na obraz. Czy macie w tym jakieś doświadczenie? Oprócz kodu php, którego używam do wyświetlania miniatury, nie mogę stać przy wordpressie i przycinać, nie rób tego, czego potrzebuję (pamiętaj, że chcę przyciąć obraz, nie potrzebuję programowego przycinania, które oferuje wordpress) . dzięki


title: Archiwum kategorii prowadzi do strony 404?

text: Mam kategorię o nazwie „Trenerzy do gry w golfa”, z pokrętłem „Trenerzy do gry w golfa”. Kliknięcie tej kategorii prowadzi do strony 404. Ale jeśli zmienię ślimaka w cokolwiek, działa dobrze…. http://performbettergolf.com


title: WordPress w podkatalogu, ale nie w obrazach

text: Śledziłem ten samouczek z WordPressa i udało mi się wszystko uruchomić. Zainstalowałem wordpress w podfolderze o nazwie /wordpress/. Problem polegający na tym, że przesłane przeze mnie obrazy pokazują nazwę katalogu /wordpress/ w adresie URL. Czy można to usunąć bez przenoszenia folderu przesyłania?


title: Jak utworzyć kopię posta

text: Muszę utworzyć licznik głosów dla posta, gdy dowolny użytkownik go kliknie. Załóżmy, że jestem nowym użytkownikiem. Widzę reklamy/komentarze na stronach internetowych. Klikam na dowolny, aby go wesprzeć. Następnie powinien automatycznie dodać do mojego konta, a także zwiększyć licznik głosów dla tego posta. Dziękuję za wsparcie. Pozdrawiam, Deepak


title: Próbuję uzyskać niestandardową meta postu za pomocą interfejsu API Jetpack JSON

text: Używam Jetpack dla Wordpress do tworzenia API JSON dla mojego niestandardowego typu postu **Events**, który działa dobrze: `https://public-api.wordpress.com/rest/v1/sites/MYSITE/posts /?type=events&number=100` Jednak ten CPT zawiera również sporo pól Post Meta generowanych przez niestandardowe pola meta i pola dla Wordpress. Pola te obejmują takie rzeczy jak: * `_ecmb_supporting_bands` * `_ecmb_tickets_avail` * `_ecmb_event_agelim` I domyślnie te pola nie są zwracane przez API JSON... Próbowałem uruchomić zapytania typu: `https://public- api.wordpress.com/rest/v1/sites/MYSITE/posts/?type=events&number=100&meta_key='_ecmb_supporting_bands'` Lub bez cudzysłowów wokół metaklucza: `https://public-api.wordpress.com/rest/ v1/sites/MYSITE/posts/?type=events&number=100&meta_key=_ecmb_supporting_bands` Niestety to nie działa. Czy ktoś wie, jak mogę zwrócić te niestandardowe pola meta w mojej odpowiedzi JSON?


title: pętla foreach wewnątrz pętli tworząca duplikaty na wyjściu

text:
Mam pętlę foreach wewnątrz pętli, która pobiera informacje z osobnej tabeli. Tabela ma kolumnę, która ma identyfikator, który odzwierciedla identyfikator typu posta, więc zawsze powinien być unikalny. Kiedy patrzę na wyniki, utworzona zmienna ($fullname) jest wyświetlana wielokrotnie w wierszach z postami, które nie mają tego samego identyfikatora, co identyfikator zdarzenia $fullname. **Oto kod z całą akcją zapętlania** <?php // pętla if (have_posts()) : $output.='
'; $output.='
'; $output.='Agencja	'; $output.='Opis projektu	'; $output.='Ramy czasowe	'; $output.='Lider zespołu	'; $output.='Limit wolontariuszy	'; $wyjście.='
'; while (have_posts()) : the_post(); //Pobierz kwotę uczestnika posta $project_id = get_the_ID(); $attendees = $wpdb->get_var("WYBIERZ COUNT(user_id) FROM ".$wpdb->prefix."mro_attendees WHERE event_id = ".$project_id."); //Pobierz nazwę lidera zespołu $leader = $wpdb->get_results("SELECT user_first_name, user_last_name FROM ".$wpdb->prefix."mro_attendees WHERE event_id = ".$project_id." AND user_role = 'team_leader' LIMIT 0,1 ”); foreach ($lidera jako $lead) { $leaderfirst = $lead->user_first_name; $leaderlast = $lead->user_last_name; $pełne imię = $pierwszy lider . ' ' . $liderostatni; } //Tytuł i link $temp_title = get_the_title($post->ID); $temp_link = get_permalink($post->ID); // wyświetl wszystkie wyniki - DOSTOSUJ DO SWOICH UPOBÓW $output.='
'; $output.=''.$temp_title.'	'; $output.=''.get_custom_field('project_description').'	'; $output.=''.get_custom_field('project_timeframe').'	'; $output.=''.$pełna nazwa.'	'; $output.=''.$attendees.'/'.get_custom_field('project_limit').'	'; $wyjście.='
'; koniec; $output.='

'; //linki do stronicowania $output.= wp_pagenavi(); $output.=''; $output.=''; else: $output.='nic nie znaleziono.'; endif; ?> Lider zespołu $fullname powinien pokazać się tylko raz, zgodnie z identyfikatorem posta, który jest równy identyfikatorowi zdarzenia w pętli, jednak wyniki wyjściowe kończą się umieszczeniem tych osób w innych wierszach dla projektów (identyfikatory postów), które nie są udostępniane ten sam identyfikator zdarzenia z osobą. Więc oni (imiona liderów zespołu) pojawiają się w dodatkowych rzędach w pętli i nie mogę zrozumieć, dlaczego tak jest. Powyższe zapytanie count, które nie powoduje tego samego problemu. Dzięki i wielkie uznanie dla każdego, kto może mi pomóc!


title: Nie można zapisać listy rozwijanej wybierz datę w meta polach

text: Chcę zaktualizować moje opcje wyboru (rozwijane), ale nie wiem, gdzie popełniłem błąd. Oto mój kod. <?php funkcja display_post_options(){ wp_nonce_field( basename( __FILE__ ), 'post_options_nonce' ); ?> <form action='' id='post-options-form' method='post'> Wybierz układ swojego posta: <select name='post_options_select'> <option id='right-sidebar' value='right' name='right_sidebar' <?php selected('post_options_select', 'right'); ?> >Prawy pasek boczny</option> <option id='left-sidebar' value="left" name='left_sidebar' <?php selected('post_options_select', 'left'); ?>>Lewy pasek boczny</option> <option id='no-sidebar' value="no" name='no_sidebar' <?php selected('post_options_select', 'nie'); ?>>Brak paska bocznego</option> </select> </form> <?php } function post_options(){ add_meta_box( 'opcje posta', 'Opcje posta', 'display_post_options', 'post', 'zaawansowane' , 'wysoki', $callback_args ); } function save_post_options($post_id){ if (if_user_can_save($post_id, 'post_options_nonce')) { update_post_meta($post_id, 'post_options_select', $_POST['post_options_select']); } } function if_user_can_save($post_id, $nonce){ //Sprawdź, czy post jest automatycznie zapisywany $is_autosave = wp_is_post_autosave($post_id); //Sprawdź, czy jest to wersja $is_revision = wp_is_post_revision($post_id); //Czy jednorazowa wartość jest poprawna $is_valid_nonce = ( isset( $_POST[ $nonce ] ) && wp_verify_nonce( $_POST[ $nonce ], basename( __FILE__ ) ) ); return !($is_autosave || $is_revision) && $is_valid_nonce; } add_action('add_meta_boxes', 'post_options'); add_action( 'save_post', 'save_post_options', 10, 2 ); ?> UPDATE:(Patrz komentarz nr 3) Tutaj przypisałem mój html do zmiennej. Ale wyświetla (selected='selected'Wybierz układ swojego posta: [lista wyboru]) function display_post_options(){ global $post; wp_nonce_field( nazwa podstawowa( __PLIK__ ), 'post_options_nonce' ); $post_options_select_value = get_post_meta($post->ID,'post_options_select',true); $html = 'Wybierz układ swojego posta: '; $html .= '<select name="post_options_select">'; $html .= '<option id="right-sidebar" value="right" name="right_sidebar"' . wybrane($post_options_select_value, 'prawo') . '">Prawy pasek boczny</option>'; $html .= '<option id="left-sidebar" value="left" name="left_sidebar"' . selected($post_options_select_value, 'left') .'" > Lewy pasek boczny</option>'; $html .= '<option id="no-sidebar" value="no" name="no_sidebar"' . wybrane($post_options_select_value, 'nie') . '">Bez paska bocznego</option>'; $html .= '</select>'; echo $html; }


title: Czy WP jest zagrożony podczas aktualizacji wtyczek lub motywów?

text: Kiedyś miałem problem, że jakoś udało się komuś zmienić pliki mojej strony bez poświadczeń FTP lub SSH. Prawdopodobnie dostał się przez WP (prawdopodobnie nie był to „on”, ale „to”, bot), powiedzieliśmy po śledztwie. W każdym razie od tego czasu korzystam z wtyczki WordPress File Monitor, która wysyła do mnie e-maila, gdy pliki są zmieniane. Teraz, gdy aktualizuję wtyczki lub motywy, najpierw wykonuję skanowanie za pomocą monitora plików, następnie aktualizuję, a następnie ponownie skanuję. Monitor wyświetla alert z powodu aktualizacji, a ja go usuwam, bo „to z powodu aktualizacji”. Teraz zastanawiam się, _jeśli_ WP jest szczególnie podatny na aktualizację (na przykład, gdyby możliwe było, że aktualizacja nie pochodzi z serwerów WP, ale od hakera), to z tym otwieram przeciek w zabezpieczeniach moja strona. Z drugiej strony, jeśli zaktualizowane wtyczki/motywy działają (co zawsze sprawdzam), a zmieniane są tylko pliki wtyczek (co też zawsze sprawdzam), to jest -moim zdaniem- mało prawdopodobne, że ktoś zhakował moją witrynę podczas aktualizacji. Czy robię tutaj właściwie, czy powinienem lepiej sprawdzić po aktualizacji?


title: Przekonwertować również stronę opcji motywu do użycia w custom.php?

text: Opracowałem stronę opcji motywu, która jest stroną podmenu wyglądu. Ale teraz lubię wiedzieć, co muszę zrobić, aby opcje motywu były również edytowalne w interfejsie motyw-> dostosuj. (dostosuj.php). Wypróbowałem prosty test, dodając to do functions.php, aby sprawdzić, czy menu dostosowywania zostało zmienione, ale bez powodzenia //dla funkcji dostosowania.php myteme_customize_register( $wp_customize ) { //Wszystkie nasze sekcje, ustawienia i elementy sterujące zostaną dodane tutaj //1. Zdefiniuj nową sekcję (w razie potrzeby) w konfiguratorze motywów $wp_customize->add_section( 'mytheme_options', array( 'title' => __( 'MyTheme Options', 'ppr' ), //Widoczny tytuł sekcji 'priority' => 35, //Określa kolejność pojawiania się w 'capability' => 'edit_theme_options', //Możliwość potrzebna do dostosowania 'description' => __('Pozwala na dostosowanie niektórych przykładowych ustawień dla MyTheme.', 'ppr' ), //Opisowa etykietka ) ); //2. Zarejestruj nowe ustawienia w bazie danych WP... $wp_customize->add_setting( 'link_textcolor', //Nie ma potrzeby używania nazwy SERIALIZED, ponieważ ustawienia `theme_mod` już znajdują się w jednej tablicy rekordów db( 'default' => '# 2BA6CB', //Domyślne ustawienie/wartość do zapisania 'type' => 'theme_mod', //Czy to jest 'opcja' czy 'theme_mod'? 'capability' => 'edit_theme_options', //Opcjonalne Specjalne uprawnienia dla dostęp do tego ustawienia 'transport' => 'postMessage', //Co powoduje odświeżenie ustawienia 'refresh' czy 'postMessage' (instant)? ) ); // } add_action( 'customize_register', 'mytheme_customize_register' ); //koniec cutomize.php pozdrawiam,


title: Filtruj posty według niestandardowych terminów taksonomii

text: Próbuję filtrować posty według autora. „post_author” jest niestandardową taksonomią i umieściłem ją w moich argumentach, a posty są wyświetlane z nazwiskami autorów, do których prowadzą linki, ale kiedy klikam link z nazwiskiem autora, uzyskuję wszystkich autorów. Jak wyświetlić tylko klikniętego autora? Dołączyłem odpowiednie fragmenty kodu: //DODAJ TAKSONOMIĘ 'post_authors' DO MOJEGO NIESTANDARDOWEGO TYPU POSTU function add_custom_taxonomies() { register_taxonomy('post_authors', 'my-post-type', array( 'hierarchical' => true , 'labels' => array( 'name' => _x( 'Autorzy', 'nazwa ogólna w taksonomii' ), 'singular_name' => _x( 'Autor', 'imię w liczbie pojedynczej' ), 'search_items' => __ ( 'Szukaj autorów' ), 'all_items' => __( 'Wszyscy autorzy' ), 'parent_item' => __( 'Autor nadrzędny' ), 'parent_item_colon' => __( 'Autor nadrzędny:' ), 'edit_item' => __( 'Edytuj autora' ), 'update_item' => __( 'Aktualizuj autora' ), 'add_new_item' => __( 'Dodaj nowego autora' ), 'new_item_name' => __( 'Nowa nazwa autora' ) , 'menu_name' => __( 'Autorzy' ), ), // Kontroluj ślimaki używane w tej taksonomii 'rewrite' => array( 'slug' => 'post-authors', // Kontroluje ślimak podstawowy, który wyświetli się przed każdy termin 'with_front' => false, // Nie wyświetlaj bazy kategorii przed "/authors/" 'hierarchical' => true // Pozwoli to na adresy URL typu "/authors/lorem/ipsum/" ), )) ; } add_action( 'init', 'add_custom_taxonomies', 0 ); // i na mojej stronie archiwum...... //ARGS $args = array( 'post_type' => 'my-post-type', 'order' => 'DESC', 'tax_query' => array( array( 'taxonomy' => 'post_authors', 'field' => 'slug', 'terms' => 'Jill Jones', ), ), ); //POBIERANIE NAZWISKO AUTORA Z NIESTANDARDOWEJ TAKSONOMII $terms = get_the_terms( $post->ID, 'post_authors' ); if ($terms) { $terms_name = array(); foreach ( $terms as $term ) { // $term jest obiektem, więc nie musimy określać $taksonomii. $term_link = get_term_link( $term ); $terms_name[] = $term->nazwa; // Jeśli wystąpił błąd, przejdź do następnego terminu. if ( is_wp_error ( $term_link ) ) { kontynuuj; } } $nazwa_autora = $nazwa_terms[0]; } //POBIERANIE NAZWISKO AUTORA W PĘTLI if ( $post_typed == ('mój-typ-post') && $author_name != '' ) { echo '' . $nazwa_autora . ''; }


title: Jak dostosować fragment WordPressa?

text: Przeszukałem sieć i dostępne wtyczki, ale nie mogłem znaleźć niczego, co byłoby łatwe do zrozumienia dla takiego nooba, jak ja: nauczyłem się tworzyć link „Kontynuuj czytanie” i jak ustawić fragment postu na zdefiniowana długość słów. Ale chciałbym otrzymać mój link "Kontynuuj czytanie", jeśli podano następujące informacje: 1. Jeśli post zawiera więcej niż 45 słów, pokaż link do fragmentu. Jak dotąd jest to łatwe. 2. Jeśli post ma mniej niż 45 słów i zawiera galerię/wideo, ustaw link „Kontynuuj czytanie” tuż za tekstem. To nie jest dla mnie łatwe. Jak wyglądałby kod do tego? Po moich badaniach wymyśliłem następujące. (Wiem, że to nie zadziała, ale niektóre części działają samodzielnie, ale nie jestem w stanie zebrać wszystkiego w całość.) Może ktoś pomoże mi wskazać właściwy kierunek? Najlepiej, aby kod działał tylko z functions.php i nie trzeba dotykać szablonów motywu. Jeśli to nie zadziała, z przyjemnością stworzę wtyczkę, która wykona pracę. function individual_excerpt_more( $more ) { if { function word_count() { $content = get_post_field( 'post_content', $post->ID ); $liczba_słów = liczba_str_słów( tagi_pasków( $zawartość ) ); zwróć $liczba_słów; <45 // (mniej niż 45 słów) } && $content = $post->post_content; if( has_shortcode( $content, 'gallery', 'video' ) ) { // Treść ma krótki kod [galeria] i [video], więc to sprawdzenie zwróciło wartość true. } return '… Czytaj więcej'; } else { function theme_excerpt_length( $długość ) { return 45; } add_filter( 'długość_wypisu', 'długość_wyciągu_motywu' ); } } add_filter( 'excerpt_more', 'individual_excerpt_more' );


title: Sortowanie postów według meta_zapytania z dwoma kluczami nie działa, gdy jest rozdzielone jako pojedyncze zapytania

text: Mam listę kursów, które staram się posortować. Do sortowania chcę użyć dwóch zaawansowanych pól niestandardowych. Najpierw wybierz pole `class_day` zawierające dni: 1:Pon 2:Wt 3:Śr 4:Czw 5:Pt 6:Sob 7:Nd Pierwsza wartość jest celowo ustawiona na liczbę, aby ułatwić jej sortowanie, podczas gdy druga wartość etykiety to ta, która zostanie powtórzona w celu wyświetlenia na interfejsie użytkownika. Drugie pole to proste pole tekstowe `class_start` z liczbą taką jak np. `19:00`. Teraz chcę posortować moje posty według pola `class_day` i w przypadku zdarzeń tego samego dnia posortować je według wartości liczbowej pola tekstowego `class_start`. Problem polega na tym, że sortuję posty tylko według `class_day`: $args = array( 'post_type' => 'courses', 'posts_per_page' => -1, 'meta_key' => 'class_day', 'orderby' => ' meta_value_num', 'order' => 'ASC' ); $the_query = nowe WP_Query( $args ); lub przez `class_start`: $args = array( 'post_type' => 'courses', 'posts_per_page' => -1, 'meta_key' => 'class_start', 'orderby' => 'meta_value_num', 'order' = > „ASC” ); $the_query = nowe WP_Query( $args ); Za każdym razem posty są odpowiednio sortowane. Raz po dniu, raz po raz. Ale jeśli spróbuję połączyć te dwa za pomocą `meta_query`, to w ogóle nie zadziała. $args = array( 'post_type' => 'kursy', 'meta_query' => array( 'relation' => 'LUB', array('key' => 'class_day'), array('key' => ' class_start') ), 'meta_key' => 'meta_value', 'orderby' => 'meta_value_num', 'order' => 'ASC' ); $the_query = nowe WP_Query( $args ); Z `'relation' => 'LUB'` posty są sortowane tylko według dnia, ale posty z tego samego dnia nie są poprawnie sortowane według czasu w drugim kroku. Jeśli używam `'relation' => 'AND'`, nie działam w ogóle dla zapytania, ponieważ wpadam w `else` przypadku pętli: if ( $the_query->have_posts() ) : while ( $ the_query->have_posts() ): $zapytanie->post(); Moim celem byłoby uzyskanie posortowanej listy, takiej jak: Pon 13:00 Tue 12:30 Tue 16:00 Sat 12:00 Ale nie: Pon 13:00 Tue 16:00 Tue 12:30 Sob 12:00 **Aktualizacja: ** Poniższe niestandardowe zapytanie, bez użycia funkcji wp_query, załatwiło sprawę: $querystr = " SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta1, $wpdb->postmeta wpostmeta2 WHERE wposts. ID = wpostmeta1.post_id AND wposts.ID = wpostmeta2.post_id AND wpostmeta1.meta_key = 'class_day' AND wpostmeta2.meta_key = 'class_start' AND wposts.post_type = 'courses' AND wposts.post_status = 'publish' ORDER.meta1 BY wpostmeta ASC, wpostmeta2.meta_value ASC "; **Aktualizacja 2:** Mała aktualizacja kodu pierwszej aktualizacji. Dodałem `ORAZ wposts.post_status = 'opublikuj'`. Aby zapobiec wyświetlaniu wersji roboczych i innych stanów. W ten sposób wyświetlane i sortowane są tylko opublikowane posty.


title: Filtruj drugie menu (podatek) na podstawie pierwszego menu (cpt)

text:
Googluję i próbuję tego od ponad tygodnia bez powodzenia. Mam kilka niestandardowych typów postów (książki, filmy, muzyka itp.) oraz niestandardową taksonomię (lokalizacja). Na mojej stronie głównej mam dwie listy rozwijane, które filtrują wyszukiwanie, takie jak: Poszukaj: <typ posta niestandardowego> w <taksonomii> To, co próbuję zrobić, to filtrowanie drugiego menu rozwijanego (lokalizacja) na podstawie pierwszego menu rozwijanego (cpt ). Tak więc, jeśli wybiorę "książka", a są tylko książki w mieście X i mieście Y, to pokaż tylko miasta X i Y jako opcje w drugim menu rozwijanym. Jeśli ktoś może mi pomóc to zrobić dobrze, przeżyjesz cały rok! Poniżej znajduje się mój kod dla dwóch list rozwijanych (które działają, ale nie są filtrowane): <form action="<?php bloginfo('url'); ?>" method="get"> <?php $args = array( 'public' => prawda, '_builtin' => fałsz ); $wyjście = 'obiekty'; // nazwy lub obiekty, nazwy nut są domyślnie $operator = 'and'; // 'i' lub 'lub' $post_types = get_post_types($args, $output, $operator); echo '<select class="selectboxSingle" name="post_type">'; foreach ( $post_types as $post_type ) { $exclude = array('custom_type'); if(TRUE === in_array($post_type->name,$exclude)) kontynuuj; echo '<option value="'.$post_type->slug.'">' . ucfirst($post_type->nazwa) . '</option>'; } echo "</select>"; ?>
in
 <?php // Ustaw własną taksonomię $taxonomy = "lokalizacja"; // Pobierz wszystkie warunki wybranej taksonomii $terms = get_terms($taxonomy, array('orderby' => 'name')); // nasza zmienna treści $list_of_terms = '<select id="location" class="selectboxSingle" name="location">'; foreach($terms as $term){ $select = ($current_selected = $term->slug) ? "wybrany" : ""; if ($term->parent == 0 ) { // pobierz dzieci bieżącego rodzica. $tchildren = get_term_children($term->term_id, $taksonomia); $dzieci = tablica(); foreach ($tchildren as $child) { $cterm = get_term_by( 'id', $child, $taksonomia ); $dzieci[$cterm->nazwa] = $cterm; } ksort($dzieci); // GRUPA OPCJI DLA RODZICÓW if (count($children) > 0 ) { $list_of_terms .= '<optgroup label="'. $term->name .'">'; if ($term->count > 0) $list_of_terms .= '<option value="'.$term->slug.'" '.$select.'>All '. $term->nazwa .' </option>'; } else $list_of_terms .= '<option value="'.$term->slug.'" '.$select.'>'. $term->nazwa .' </option>'; //$i++; // teraz DZIECI. foreach($children as $child) { $select = ($current_selected == $cterm->slug) ? "wybrany" : ""; $list_of_terms .= '<wartość opcji="'.$child->slug.'" '.$select.'>'. $dziecko->imię.' </option>'; } //koniec foreach if (count($children) > 0 ) { $list_of_terms .= "</optgroup>"; } } } $list_of_terms .= '</select>'; echo $list_of_terms; ?>

<button class="submit-button" type="submit">Szukaj</button>
 </form>


title: Jak sprawić, by liczba postów i komentarzy była nieklikalna dzięki haczykowi dashboard_glance_items

text: Mam witrynę wielu autorów i użyłem już kilku haczyków, aby uniemożliwić im przeglądanie postów i mediów innych autorów. Teraz w Wordpress Dashboard w sekcji „na pierwszy rzut oka” pokazuje im wszystkie posty i komentarze. W tej chwili mogą na nie kliknąć i chciałbym, żeby nie mogli tego zrobić. Tak więc znalazłem hak, który ma na celu to, chociaż dopiero zaczynam się uczyć, jak dostosowywać za pomocą haków, więc potrzebuję pomocy. Oto, co mam teraz, po prostu powtarzam identyfikator bieżącego użytkownika, aby sprawdzić, czy jest to właściwy hak: add_filter('dashboard_glance_items', 'make_unclickable'); function make_unclickable( $items = array() ) { global $current_user; echo $bieżący_użytkownik->ID; zwróć $items; } A więc, jak mogę sprawić, by linki nie były klikalne?


title: Ogranicz funkcję do określonej kategorii postów

text:
Mam funkcję, która zawija obrazy w niestandardowy div. Jest umieszczany w functions.php i modyfikuje wszystkie posty. Chciałbym wiedzieć, czy istnieje sposób, aby _tylko_ zastosować go do postów w określonej kategorii. Oto funkcja: function my_image_tag($html, $id , $alt, $title) { $html = "
" . $html . "
"; zwróć $html; } add_filter('get_image_tag','my_image_tag',10,4); ## Aktualizacja: Metoda Roberta Hue nie działała z tą funkcją, ale działała z następującą funkcją, która moim zdaniem jest lepsza (przynajmniej dla mojego użytku): function wrapImagesInDiv($content) { if ( in_category( 'prosjekter' ) ) { $pattern = '/(]*class=\"([^>]*?)\"[^>]*>)/i'; $replacement = '
$1
'; $zawartość = preg_zamień($wzór, $zastąpienie, $zawartość); } return $treść; } add_filter('the_content', 'wrapImagesInDiv');


title: Jak ograniczyć wybór taksonomii dzieci?

text: Mam nazwę taksonomii „Miasto” . Użyłem słowa „miasto” w ten sposób. Miasto 1 Podmiasto 1 Podmiasto 2 Miasto 2 Podmiasto 3 Podmiasto 4 Tutaj problem polega na tym, że jeśli administrator/użytkownik wybierze Miasto 1 , może nawet wybrać podmiasto 3 lub podmiasto 4 , które nie znajdują się pod miastem 1 . Chcę ograniczyć użytkownikowi, że nie może wybrać taksonomii podrzędnej, dopóki nie wybierze taksonomii nadrzędnej . Czy jest jakiś inny sposób , że po wybraniu taksonomii nadrzędnej taksonomia podrzędna pojawi się jako menu rozwijane .


title: Wyświetlaj posty według niestandardowych postów w menu rozwijanym

text:
W moim zapleczu WordPress mam kilka niestandardowych postów, a w jednym z nich chcę wyświetlić w polu rozwijanym niektóre posty związane z, ale uporządkowane według typu posta. Chcę coś takiego wyświetlić. <select multiple="multiple" style="height:200px; width:300px"> <optgroup label="Produkty"> <option>Produkt 1</option> <option>Produkt 2</option> <option>Produkt 3 </option> <option>Produkt 4</option> <option>Produkt 5</option> <option>Produkt 6</option> </optgroup> <optgroup label="Pas 1"> <option>Podstrona 1< /option> <option>Podstrona 2</option> <option>Podstrona 3</option> </optgroup> </optgroup> <optgroup label="Paso 2"> <option>Podstrona 1</option> <option> Podstrona 2</option> <option>Podstrona 3</option> </optgroup> </optgroup> <optgroup label="Paso 3"> <option>Podstrona 1</option> <option>Podstrona 2</option> <option>Subpagina 3</option> </optgroup> </select> Oto kod, który wyświetla wszystkie posty, które chcę, ale bez kolejności. Rozumiem, że muszę użyć identyfikatora niestandardowego typu posta, ale nie wiem, jak: { // Dodać funkcję Meta Box add_custom_meta_box_related() { add_meta_box( 'custom_meta_box_related', // $id 'Informacje pokrewne', / / $title 'show_custom_meta_box_related', // $callback 'related', // $page 'normal', // $context 'high'); // $priority } add_action('add_meta_boxes', 'add_custom_meta_box_related'); // Tablica pól $prefix_related = 'custom_'; $custom_meta_fields_related = array( array( 'label' => 'Powiązane elementy', 'desc' => 'Wybierz powiązane elementy', 'id' => $prefix_materiales.'post_id', 'type' => ' post_list', 'post_type' => array('products','paso1','paso2','paso3','paso4','compra'), ) ); // Funkcja wywołania zwrotnego show_custom_meta_box_related() { global $custom_meta_fields_related, $post; // Użyj wartości nonce do weryfikacji echo '<input type="hidden" name="custom_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; // Rozpocznij tabelę pól i wykonaj pętlę echo '
'; foreach ($custom_meta_fields_related as $field_related) { // pobierz wartość tego pola, jeśli istnieje dla tego postu $meta_related = get_post_meta($post->ID, $field_related['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field_related['label'].'	 '; switch($field_related['type']) { // case itemy trafią tutaj // post_list case 'post_list': $items = get_posts( array ( 'post_type' => $field_related['post_type'], 'posts_per_page' = > -1 )); echo '<select multiple name="'.$field_related['id'].'" id="'.$field_related['id'].'"> <option value="">Wybierz jeden lub więcej</option >”; // Wybierz jeden foreach($items as $item) { echo '<option value="'.$item->ID.'"',$meta_related == $item->ID ? ' selected="selected"' : '','> '.$item->tytuł_postu.'</option>'; } // koniec foreach echo '</select>
'.$field_related['desc'].''; przerwanie; } //zakończ echo przełącznika '
'; } // koniec foreach echo '
'; // zakończenie tabeli } // Zapisz funkcję danych save_custom_meta_related($post_id) { global $custom_meta_fields_related; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['custom_meta_box_nonce'], basename(__FILE__))) return $post_id; // sprawdź autozapis if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // sprawdź uprawnienia if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) return $post_id; } elseif (!current_user_can('edit_post', $post_id)) { return $post_id; } // przejdź przez pola i zapisz dane foreach ($custom_meta_fields_related jako $field_related) { $old = get_post_meta($post_id, $field_related['id'], true); $nowy = $_POST[$field_related['id']]; if ($nowy && $nowy != $stary) { update_post_meta($post_id, $field_related['id'], $new); } elseif ('' == $nowy && $stary) { delete_post_meta($post_id, $field_related['id'], $old); } } // koniec foreach } add_action('save_post', 'save_custom_meta_related'); }


title: Puste kanały RSS

text: Kiedy próbuję uzyskać dostęp do kanałów dla tagów, kategorii i autorów, otrzymuję pustą listę. Jeśli próbuję otworzyć kanały dla witryny, otrzymuję komunikat „Nie znaleziono strony” **Pusty kanał:** http://thinkzarahatke.com/category/advertisement/video/feed http://thinkzarahatke.com/author/amty /feed **Nie znaleziono strony :** http://thinkzarahatke.com/feed Próbowałem naprawić wtyczkę RSS. Ale to też nie rozwiązało mojego problemu. Proszę pomóż.


title: Jak załadować nową stronę szablonu zgodnie z określonym adresem URL?

text: Chcę załadować niektóre strony (nie stronę wordpress, plik szablonu inny niż domyślny plik szablonu wordpress) zgodnie z adresem URL podanym na pasku adresu. na przykład mam stronę w moim pliku szablonu, tj. my_account.php, aby pokazać moje zdjęcie profilowe i inne informacje z mojego pliku wordpress. i jest on umieszczony w moim domyślnym folderze motywu /themes/mytheme/my_account.php Gdy adres URL to `http://mysite/MyAccount/` muszę załadować powyższą stronę. Coś takiego jak `http://mysite/register/` to załaduj register.php z mojego folderu motywów. Używam opcji custome permalinks. `http://mysite/hello_world_post/` Więc jak mogę skonfigurować i załadować szablon zgodnie z adresem URL, jak to kontrolować za pomocą wtyczki.


title: szablon strony - niezdefiniowana struktura w kodzie źródłowym

text:
hej, mam następujący szablon strony dla mapy witryny. <?php /** * Nazwa szablonu: Mapa witryny */ ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Strony

 <?php wp_list_pages('title_li=&depth=0&exclude='); ?>

Posty
 <?php $first = 0;?>
 <?php $myposts = get_posts('numberposts=-1&offset=$first'); foreach($myposts as $post) : ?>
<a href="<?php the_permalink(); ?>#b"><?php the_title(); ?>
 <?php endforeach; ?>

Kategorie

 <?php wp_list_categories('title_li=&orderby=name'); ?>

Tagi

 <?php $tags = get_tags(); foreach ($tags as $tag){ $tag_link = get_tag_link($tag->term_id); $html .= "
name} Tag' class='{$tag->slug}'>"; $html .= "{$tag->nazwa}
"; } echo $html; ?>

 <?php endwhile; endif; ?> Moim zamiarem jest nie definiowanie nagłówka za pomocą lub czegoś podobnego, ponieważ ta rzecz jest używana tylko do ładowania przez wywołanie ajax. Jednak wynik tego działania wygląda tak:

Strony

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www. w3.org/TR/REC-html40/loose.dtd">
Konto

Forum

 Mapa Google

Kontakt

Zaloguj się

Zarejestruj się

Wpisy

Wpis testowy

Strona testowa Lorem Ipsum

Witaj

Kategorie

 <!DOCTYPE html PUBLIC "-/ /W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 Coś

 Jakikolwiek pomysł, dlaczego w każdym `ul` znajduje się dziwna deklaracja typu doctype i `<html><body>`. Z wyjątkiem postów `ul`. Po prostu dziwne. Dlaczego tak się mogło stać i co to powoduje? Właściwie używam doctype html5 na mojej stronie. Dziękuję za pomoc w edycji: add_filter('wp_list_pages', 'add_hash'); /*Dodaj #hash do funkcji wp_list_pages()*/ add_filter('wp_list_categories', 'add_hash'); /*Dodaj #hash do funkcji wp_list_categories()*/ function add_hash($output) { $dom = new DOMDocument(); $dom->loadHTML($wyjście); $a_tags = $dom->getElementsByTagName('a'); foreach($a_tags as $a) { $value = $a->getAttribute('href'); $a->setAttribute('href', $value . '#b'); } return $dom->saveHTML(); } Nowy DOMDocument dodaje tę deklarację doctype, a and


title: Nowa stylizacja menu wp

text: Ok, nie jestem wielkim fanem menu WP, ale teraz radzi sobie z tym w środku całkiem ok, muszę stworzyć motyw, który używa tego menu. Teraz do stylizacji jestem trochę wyzwaniem... tutaj jest problem... menu powinno wyglądać jak | strona1 | strona 2 | strona 3 | Czy widzisz problem, obramowanie, powiedzmy, że każdy * będzie stylem z obramowaniem po prawej stronie 1px, które działają, ale pierwszy element będzie wymagał specjalnej klasy dla obramowania lewego pytania. Skąd mam wiedzieć, że jest to pierwsza lub ostatnia pozycja w menu, aby odpowiednio ją wystylizować... lub jaki jest twój sposób na stylizowanie tego typu menu...


title: Jak zastąpić nagłówek dwudziestu obrazów moim banerem flash?

text: Obecnie po raz pierwszy buduję witrynę z motywem potomnym. Zasadniczo mam baner flashowy, który klient już wykonał i chcę zastąpić dwadzieścia dziesięć banerów graficznych flashem. Wiem, jak to zrobić, edytując plik header.php (chyba!), ale zastanawiałem się, czy istnieje lepszy sposób na zrobienie tego - być może za pomocą function.php w moim motywie potomnym? Byłoby miło, gdyby klient mógł samodzielnie zaktualizować motyw i nie martwić się o zmianę nagłówka. Dzięki za wszelki wkład.


title: Publikowanie rozwiązania internetowego VS2010 na WordPress

text: Zastanawiam się, czy możliwe jest opublikowanie stworzonej przeze mnie strony internetowej na WordPressie? Jeśli tak to jak? Witryna została stworzona przy użyciu VS2010. Zrobiłem trochę wyszukiwania w Internecie i wszystko, co wymyśliłem, to samouczki na temat WordPressa na temat publikowania witryny Visual Studio na innych rzeczach niezwiązanych z WordPressem. Dziękuję Ci


title: Jak włączyć opcje komentarzy?

text: 1. Na stronie --> Opcje ekranu --> zaznacz Dyskusja --> Dyskusja --> Zezwól na komety --> Sprawdziłem opcje dyskusji. 2. Ustawienia --> Dyskusja --> Sprawdziłem _Zezwalaj innym na komentowanie nowych artykułów_. 3. W motywie mam również następujący kod: `<?php comments_template(); ?>` Ale formularz komentarza nadal nie jest widoczny. Co jeszcze muszę zrobić?


title: Udostępnianie bazy danych do wspólnego rozwoju

text: Czy istnieje prosty sposób udostępniania/synchronizowania wielu instancji WP z jedną bazą danych? Współpracuję z kilkoma programistami nad niestandardowymi witrynami tematycznymi. Używamy git, aby utrzymać nasze pliki w porządku i na wczesnych etapach wszystko jest w porządku, ale gdy zawartość, wtyczki itp. zaczną się pojawiać, mamy problemy z utrzymaniem synchronizacji z zawartością. Czy istnieje przyzwoite rozwiązanie niż przerzucanie pliku SQL? To starzeje się dość szybko i nie działa zbyt dobrze.


title: Sieć WordPress (MU): Skopiuj główną witrynę do podwitryny

text: Chciałbym skopiować wszystkie posty, użytkowników i strony z mojej głównej witryny do podwitryny. Próbowałem eksportować i importować, ale strona główna ma tysiące wpisów i setki użytkowników, a import wydaje się nie powieść przy około 250 postach bez błędu. Wszelkie pomysły na migrację byłyby bardzo mile widziane.


title: Autouzupełnianie lub autosugestia z listy tytułów postów

text: Chcę mieć funkcję autouzupełniania lub autosugestii w formularzu (wyszukiwania): gdy użytkownik zaczyna pisać, sugeruje tytuły postów z pasującym tekstem. Chciałbym również, aby wyświetlał niektóre metadane (liczbę), które zapisałem w związku z każdym niestandardowym postem. Przykład: Jeśli wpiszę „A”, zasugeruję „Jabłka (13), Aardvarks(51), Astronauci (21)” itp.


title: Jak sprawić, by nawigacja wordpress działała?

text:
Używam tego kodu do wyświetlania nawigacji wordpress i zadziałało;
 <?php wp_list_pages('sort_column=menu_order&title_li='); ?>
 Jednak chcę użyć register_nav_menus, abym mógł zorganizować moje menu z backendu wp. Mam ten kod i nie działa zgodnie z oczekiwaniami; <?php wp_nav_menu( array( 'theme_location' => 'menu', 'fallback_cb' => 'wp_page_menu', ) ); ?> HTML mojego menu powinien wyglądać tak

Strona główna

 Strony

 Portfolio

 Interfejs administracyjny

 Funkcje

 Skróty Wp 3.3

Typografia

Suwaki

Kolumny

Przyciski

Typografia

Suwaki

Typografia

Suwaki

Kolumny

Przyciski

Kolumny

 Blog

 Słodkie


title: Czy w tym scenariuszu powinienem używać postów lub stron?

text: Rozważam użycie WordPressa jako CMS dla strony małej kliniki. Istnieją tylko dwie sekcje z podrozdziałami: zespół i metody. Zespół zawiera każdego z członków zespołu, a Metody zawiera wszystkie metody leczenia, które oferuje klinika. Każda metoda jest połączona z co najmniej jednym członkiem zespołu, a każdy członek zespołu jest połączony z co najmniej jedną metodą. Na przykład, jeśli odwiedzający kliknie na Zespół, powinien otrzymać listę przeglądową wszystkich członków zespołu, każdy z małym portretem i krótką wersją ich biografii. Odwiedzający następnie klika konkretnego członka zespołu i zostaje przeniesiony do jego pełnej biografii. Bio zawiera pełnowymiarowy portret, pełny biotekst oraz linki do każdej metody, którą praktykuje członek zespołu (np. fizjoterapia, akupunktura, shiatsu itp.). Jak najlepiej to zorganizować? Czy każdy członek zespołu powinien być postem kategorii Zespół czy stroną podrzędną zespołu? A co z metodami? Czy w takim przypadku należy używać tagów?


title: Jak rewizja działa wewnętrznie?

text: Ciekawi mnie funkcja korekty wordpress. Chcę zaimplementować tę funkcję wersji we własnej aplikacji php. Jaka jest logika tej funkcji wersji? Dziękuję.


title: Cofnij publikację wszystkich postów w kategorii

text: Mam kategorię z około 3.500 postami. 2500 nie jest publikowanych, ale zapisywanych jako wersje robocze. Chcę cofnąć publikację wszystkich pozostałych 1000 postów z tej jednej kategorii. Może będę chciał później usunąć wszystkie posty. W jaki sposób mogę to zrobić?


title: Jak ukryć terminy, jeśli post jest odpowiednikiem wersji roboczej?

text: Problem polega na tym, że jeśli wyświetlasz gdzieś listę terminów, pokaże ona również terminy powiązane z wersjami roboczymi postów. Jak mogę sprawić, by wersje robocze nie były rejestrowane w taksonomii, dopóki nie zostaną opublikowane?


title: Jak mogę zamówić metaboksy w moich postach w WordPressie?

text:
cześć, dodałem plik niestandardowy i to jest mój kod add_action('add_meta_boxes', 'cd_meta_box_add'); function cd_meta_box_add() { add_meta_box( 'my-meta-box-id', 'المعلومات الرئيسية لفلل مشروع', 'cd_meta_box_cb', 'post', 'normal', 'high' ); } function cd_meta_box_cb( $post ) { $values = get_post_custom( $post->ID , true); $text1 = get_post_meta( $post->ID, 'my_meta_box_text1', true ); $text2 = get_post_meta( $post->ID, 'my_meta_box_text2', true ); $text3 = get_post_meta( $post->ID, 'my_meta_box_text3', true ); $text4 = get_post_meta( $post->ID, 'my_meta_box_text4', true ); $text5 = get_post_meta( $post->ID, 'my_meta_box_text5', true ); $text6 = get_post_meta( $post->ID, 'my_meta_box_text6', true ); $textarea = get_post_meta( $post->ID, 'my_meta_box_textarea', true ); $text7 = get_post_meta( $post->ID, 'my_meta_box_text7', true ); $text8 = get_post_meta( $post->ID, 'my_meta_box_text8', prawda ); $text9 = get_post_meta( $post->ID, 'my_meta_box_text9', true ); $text10 = get_post_meta( $post->ID, 'my_meta_box_text10', true ); $text11 = get_post_meta( $post->ID, 'my_meta_box_text11', true ); $textarea2 = get_post_meta( $post->ID, 'my_meta_box_textarea2', true ); $text12 = get_post_meta( $post->ID, 'my_meta_box_text12', true ); $text13 = get_post_meta( $post->ID, 'my_meta_box_text13', true ); $text14 = get_post_meta( $post->ID, 'my_meta_box_text14', true ); $text15 = get_post_meta( $post->ID, 'my_meta_box_text15', prawda ); wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?>
 <etykieta for="my_meta_box_text1">حالة المشروع <input type="text" name="my_meta_box_text1" id="my_meta_box_text1" value="<?php echo $text1; ?>" / >

 الموقع <inputtype="tekst" name="my_meta_box_text2" id="my_meta_box_text2" value="<?php echo $text2; ?>" />

 مساحة الأرض <input type="tekst" name="moje_meta_box_text3" id="moje_meta_box_text3" value="<?php echo $text3; ?>" />

 ماحة البناء  <input type="tekst" name="my_meta_box_text4" id="my_meta_box_text4" value="<?php echo $text4; ?>" />

 عدد الادوار <input type="text" name="moje_meta_box_text5" id="moje_meta_box_text5" value="<?php echo $text5; ?>" />

 عدد الغرف <input type="text" name="my_meta_box_text6" id="my_meta_box_text6" value="<?php echo $text6; ?>" />

 المواتات <textarea name="my_meta_box_textarea" id="my_meta_box_textarea"><?php echo $textarea; ?></textarea>

 نوع الفيلا <input type="text" name="my_meta_box_text7" id="my_meta_box_text7" value="<?php echo $text7; ?>" />

 التشطيب ونوعية التصميم <input type="text" name="my_meta_box_text8" id="my_meta_box_text8" value= "<?php echo $text8; ?>" />

 تأسيس المصاعد مل <input type="text" name="my_meta_box_text9" id=" my_meta_box_text9" value="<?php echo $text9; ?>" />

 <etykieta for="my_meta_box_text10">تأسيس مديدات التكييف مل <input type="text" name=" my_meta_box_text10" id="my_meta_box_text10" value="<?php echo $text10; ?>" />

المسبح <input type="text" name="my_meta_box_text11" id="my_meta_box_text11" value="<?php echo $text11; ?>" />

 الضمانات <textarea name="my_meta_box_textarea2" id="my_meta_box_textarea2"><?php echo $textarea2; ?></textarea>

 ضمان المبنى – سنوات <input type="text" name="my_meta_box_text12" id="my_meta_box_text12" value="< ? my_meta_box_text13" value="<?php echo $text13; ?>" />

 <etykieta for="my_meta_box_text14">ضما مديدات السباكة - ات <input type="text" name= „moja_meta_box_text14" id="my_meta_box_text14" value="<?php echo $text14; ?>" />

 ضمان المسابح – ات <input type="text" name="my_meta_box_text15" id="my_meta_box_text15" value="<? php echo $text15; ?>" />
 <?php } add_action( 'save_post', 'cd_meta_box_save' ); function cd_meta_box_save( $post_id ) { // Zwolnij kaucję, jeśli robimy autozapis if( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; 'my_meta_box_nonce' ) ) return;// jeśli nasz obecny użytkownik nie może edytować tego posta, kaucja if( !current_user_can( 'edit_post' ) ) return;// teraz możemy faktycznie zapisać dane $allowed = array( 'a' => array( // na zezwól na tags 'href' => array() // a te kotwice mogą mieć tylko atrybut href ) ); // Prawdopodobnie dobrym pomysłem jest upewnienie się, że dane są ustawione if( isset( $_POST['my_meta_box_text1'] ) ) update_post_meta( $post_id, 'حالة المشروع', wp_kses ( $_POST['my_meta_box_text1'], $dozwolone) ); if( isset( $_POST['my_meta_box_text2']) ) update_post_meta( $post_id, 'الموقع', wp_kses( $_POST['my_meta_box_text2'], $allowed ) ); if( isset( $_POST['my_meta_box_text3'] ) ) update_post_meta( $post_id, 'ماحة الأرض', wp_kses( $_POST['my_meta_box_text3'], $dozwolone) ); if( isset( $_POST['my_meta_box_text4'] ) ) update_post_meta( $post_id, 'مساحة البناء', wp_kses( $_POST['my_meta_box_text4'], $allowed ) ); if( isset( $_POST['my_meta_box_text5'] ) ) update_post_meta( $post_id, 'عدد الغرف', wp_kses( $_POST['my_meta_box_text5'], $allowed ) ); if( isset( $_POST['my_meta_box_text6'] ) ) update_post_meta( $post_id, 'Praca', wp_kses( $_POST['moje_meta_box_text6'], $dozwolone) ); if( isset( $_POST['my_meta_box_textarea'] ) ) update_post_meta( $post_id, '
', esc_attr( $_POST['my_meta_box_textarea']) ); if( isset( $_POST['my_meta_box_text7'] ) ) update_post_meta( $post_id, 'نوع الفيلا', wp_kses( $_POST['my_meta_box_text7'], $allowed ) ); if( isset( $_POST['my_meta_box_text8'] ) ) update_post_meta( $post_id, 'التشطيب ونوعية التصميم', wp_kses( $_POST['my_meta_box_text8'], $dozwolone) ); if( isset( $_POST['my_meta_box_text9']) ) update_post_meta( $post_id, 'تأسيس المصاعد ويشمل', wp_kses( $_POST['my_meta_box_text9'], $allowed ) ); if( isset( $_POST['my_meta_box_text10'] ) ) update_post_meta( $post_id, 'تأسيس مديدات التكييف ويشمل', wp_kses( $_POST['my_meta_box_text10'], $allowed ) ); if( isset( $_POST['my_meta_box_text11'] ) ) update_post_meta( $post_id, 'المسابح', wp_kses($_POST['my_meta_box_text11'], $dozwolone) ); if( isset( $_POST['my_meta_box_textarea2'] ) ) update_post_meta( $post_id, '
', esc_attr( $_POST['my_meta_box_textarea2'] ) ); if( isset( $_POST['my_meta_box_text12'] ) ) update_post_meta( $post_id, 'ضمان المبنى - سنوات', wp_kses( $_POST['my_meta_box_text12'], $allowed ) ); if( isset( $_POST['my_meta_box_text13'] ) ) update_post_meta( $post_id, 'ضمان تمديدات الكهرباء - سنوات', wp_kses( $_POST['my_meta_box_text13'],$dozwolone)); if( isset( $_POST['my_meta_box_text14'] ) ) update_post_meta( $post_id, 'ضمان تمديدات السباكة - سنوات', wp_kses( $_POST['my_meta_box_text14'], $allowed )) ; if( isset( $_POST['my_meta_box_text15'] ) ) update_post_meta( $post_id, 'ضمان المسابح - سنوات', wp_kses( $_POST['my_meta_box_text15'], $allowed ) ); } mam 2 problemy, pierwszy z nich nie może być edytowany, ponieważ po zapisaniu staje się pustą wartością i pojawia się problem z sekodem, który pojawił się przy sposobie kolejności w kodzie, kolejność stała się baaaardzo zła w postach pierwsza meta staje się druga, a 5 staje się 10, a kolejność baaaardzo zła?przepraszam za mój zły angielski, ale naprawdę potrzebuję pomocy w tym proszę: (i wariuję, nie wiem, jak naprawić meta kolejność w postach


title: Wymienić niestandardową taksonomię jako nawigację — strony taksonomii ze wszystkimi jej postami?

text: Nie mam pojęcia, jak to zrobić i naprawdę potrzebuję twojej pomocy… Najpierw stworzyłem niestandardowy post-szablon o nazwie „wr_event” - następnie dodałem niestandardową taksonomię (jak kategorie) do tego post-szablonu! register_taxonomy( 'Typ zdarzenia', 'wr_event', array( 'taxonomy' => 'event_type', 'label' => 'Typy', 'singular_label' => 'Typ', 'hierarchical' => true, 'przepisz ' => prawda) ); Wszystko to zrobiłem w moim pliku `functions.php`. „Typy”, które stworzyłem w mojej taksonomii w backendzie wp to „Wykłady”, „Warsztaty”, „Festiwale”. Jeśli tworzę post (wydarzenie) i przypisuję go do „kategorii” (taksonomii), otrzymuję ten adres URL `localhost.com/lectures/my-post-title` i używany jest szablon `single-wr_event.php`. To już duży krok w kierunku tego, czego w końcu chcę. Czego nie wiem, to w jaki sposób mogę teraz tworzyć `strony` dla moich taksonomii, tak jakby automatycznie działały dla postów i kategorii? np. Powiedziałem, że mam to w tej chwili: `localhost.com/lectures/my-post-title` ale kiedy po prostu wchodzę w `localhost.com/lectures/` chcę wypisać wszystkie posty przypisane do tej taksonomii. I chciałbym dodać nawigację w moim nagłówku, która zawiera listę wszystkich utworzonych przeze mnie taksonomii, podobnie jak „wp_list_categories”. Jakieś pomysły jak to zrobić?


Muszę otrzymać specjalne parametry $_GET dla tworzonej przeze mnie strony niestandardowej. Wiem, jak otrzymać to za pomocą prostego $_GET, takiego jak mysite.net/products/?id=1 , ale chciałem użyć stylu adresu URL mój WordPress, taki jak mysite.net/products/1. Jak pobrać zmienne $_GET z przepisanych adresów URL?


title: Czy możliwe jest pominięcie niektórych określonych stron podczas korzystania z linków <poprzednia i następna>?

text: dzięki za poświęcenie minuty na przeczytanie mojego pytania. Zrobiłem trochę googla i nie mogę znaleźć nigdzie odpowiedzi na to pytanie. Wybaczcie, jeśli już gdzieś tu jest na wymianie stosów. Używam tej wtyczki, aby zezwolić na linki "<prev" i "next>" w moim zestawie stron. Mogę zmienić kolejność stron za pomocą menu administratora wordpress, więc jest to prawie idealne. Mam jednak kilka stron, które chciałbym pominąć w pętli „poprzedniej” i „następnej”. Na przykład - używam statycznej strony głównej. W pewnym momencie link „następny” prowadzi do strony głównej. Chciałbym wykluczyć z tej pętli stronę główną i kilka innych. czy to możliwe? Jak najlepiej to zrobić? Dziękuję! Tim P. S. Wtyczka działa w podobny sposób, jak działa wbudowana funkcjonalność postów Next/Prev. Zakładam, że jeśli istnieje sposób na wykluczenie postów z tej pętli, to będzie działać tak samo dla stron z wtyczką. Dziękuję


title: elastyczne przepisywanie „wędrownych” adresów URL za pomocą Wordpress

text: Chcę uzyskać dostęp do mojego posta z identyfikatorem 17 w ten sposób: http://localhost/archives/17/moot-bla-foo-ramble Innymi słowy, identyfikator powinien decydować, wszystko później może (lub nie) być ślimakiem lub coś jeszcze. Podobnie jak te linki prowadzące do tej samej strony (wiele innych witryn robi to samo): * http://www.amazon.de/pair-of-blue-suede-shoes/dp/B005EFYRF0 * http://www.amazon .de/nice-fancy-coffee-maker/dp/B005EFYRF0 Próbowałem zdefiniować taką regułę przepisywania w górnej części mojego pliku .htaccess: RewriteRule ^archives/(\d{1,12})(?:/. *) archives/$1 [NC] To _prawie_ działa, tj. przechodzi na właściwą stronę, ale wtedy wyświetla mi stronę-nie-znalezioną, ponieważ wordpress patrzy ponownie na PATH_INFO (tak sądzę) i stwierdza `$query_string` teraz jest `string załącznik=moot-bla-foo-ramble` Nie chcę robić przekierowania 301. Mój ulubiony lub kurs, jeśli coś takiego istniało w Permalink Settings: Custom Structure /archives/%post_id%/%wildcard% Chociaż to spowodowałoby, że „włóczęga” byłaby obowiązkowa, więc jeszcze lepiej... /archives/%post_id%(/% dzika karta%)? chyba myślenie życzeniowe.


title: Wyświetlaj posty w kolejności alfabetycznej dla określonej kategorii

text: Szukam rozwiązania, aby wyświetlać posty w kolejności alfabetycznej, jeśli kategoria to „Słownik”, w przeciwnym razie wyświetlaj posty w kolejności rosnącej. Kiedy wypróbowałem poniższy kod, działa on idealnie dla kategorii Słowniczek, ale kolejność innych wpisów poszła nie tak. <?php globalny $query_string; if(is_category('Glossary')) { query_posts($query_string . "&orderby=title&order=ASC"); while ( have_posts() ): the_post(); tytuł(); koniec; } else{ query_posts($query_string . "&order = ASC"); ?> <?php while ( have_posts() ): the_post(); ?> <?php tytuł_(); ?> <?php koniec; ?> <?php } ?> Mam nadzieję, że ktoś pomoże mi rozwiązać problem.


title: Galerie zdjęć dołączonych do postów

text: Mam kilka "kategorii" i tzw. "projektów" (post o treści typu "projekt"). Każdemu projektowi odpowiada kategoria. To, co nazywam „galerią”, to kilka obrazów, do każdego obrazu dołączonych jest kilka napisów (opis, autor). Do każdej kategorii i do każdego projektu powinna być dołączona galeria. Jeżeli do projektu nie jest dołączona galeria, na stronie projektu powinna być pokazana galeria kategorii. (Zauważ, że to, co nazywam tutaj „kategoriami” może, ale nie musi być tym samym, co to, co nazywa się „kategoriami” w podręcznikach WordPressa.) Jak to zrobić w WordPressie?


title: Zbyt duży błąd rekurencji podczas wybierania obrazu z biblioteki obrazów dla dwóch różnych metaboxów w jednym poście

text: Musi być na to rozwiązanie. Używam tego rozwiązania do wybierania obrazów z biblioteki multimediów. http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/ PROBLEM: Używam dwóch metapól dla niestandardowego typu posta „ produkty”. Pierwszy składa się z dwóch metapól co służy do dodania dwóch dodatkowych zdjęć produktu Drugie służy do stworzenia prostej galerii dla tego produktu. Każdy z nich ma swoje własne rzeczy tb_show i window.send_to_editor. Rzecz w tym, że wszystko działa dobrze, gdy zarejestrowany jest tylko jeden metabox – pierwszy lub drugi. Jeśli są zarejestrowane oba z nich, ostatni zarejestrowany przez add_meta_box , powoduje błąd w firebugu „ **zbyt duża rekurencja”** po naciśnięciu przycisku „Wstaw do posta”. Jak to rozwiązać? To bardzo ważne dla misji, aby mieć dwie metaboksy w poście, aby dodać różne rodzaje obrazów? Również domyślny Wstaw obraz do posta powinien działać. Może ktoś ma do tego klasę bo widzę problem w tym, że na jednej stronie posta są zarejestrowane dwie funkcje original_send_to_editor.


title: Jak zmienić sformułowanie w zapleczu wp-admin?

text: Nie chcę edytować podstawowych plików w celu zmiany strony, na której użytkownik wprowadza nowe posty, więc czy jest sposób na zrobienie tego w ramach motywu, na przykład w functions.php ..? W szczególności próbuję zmienić sformułowanie tekstu „Ustaw wyróżniony obraz” na coś w rodzaju „Ustaw wyróżniony obraz — 50 pikseli na 50 pikseli”