title: Zdegraduj użytkownika z roli, która umożliwia tworzenie postów

text: Jestem administratorem bloga wieloautorskiego. Wdrażam system monitorowania, który będzie wymagał ode mnie zmiany statusu użytkownika z „autora” (ta rola pozwala mu na stworzenie niestandardowego posta) z powrotem do roli „czytelnika”, jeśli uważam, że jest to konto spamowe lub jeśli są łamanie zasad serwisu. Po zmianie ich roli za pomocą ekranu administratora, jak mogę sprawić, by wszystkie posty, które utworzyli, zostały automatycznie usunięte, bez konieczności przewijania i samodzielnego ich znajdowania? Wielkie dzięki **EDYTUJ korzystając z porad z poniższych odpowiedzi** : add_action( 'set_user_role', 'wpse98904_remove_demoted_user_posts', 10, 2 ); function wpse98904_remove_demoted_user_posts( $demoted_author_id, $role ) { // Tutaj szukałbyś wszystkich postów użytkownika $args = array( 'numberposts' => -1, 'author' => $demoted_author_id, 'post_type' = > 'custom_post', // Więc jeśli twój niestandardowy typ posta nazywa się 'xyz_book', użyj: // 'post_type' => 'xyz_book', ); $demoted_author_posts = get_posts( $args ); foreach( $demoted_author_posts as $p ) { // usuń post (właściwie to wyrzuć go) if($role == 'subscriber') { wp_trash_post( $p->ID); // Aby wymusić usunięcie (tzn. ominąć Kosz): // wp_delete_post( $p->ID, true ); } } } Użyłem wp_trash_post do skasowania zdarzeń, ponieważ dodanie 'false' do wp_delete_post nie działało dla mnie.


title: Viddler oEmbed nie działa z określoną szerokością

text: Pracuję nad widżetem, który osadza filmy za pomocą oEmbed i testuję go przy użyciu domyślnych dostawców w WordPress. Jak dotąd wszystkie działają dobrze, z wyjątkiem Viddlera. Film jest wyświetlany, ale nie ma określonej przeze mnie szerokości i wysokości. Aby oembeds działały poprawnie w widgecie, używam funkcji wp_oembed_get(), która wymaga adresu URL wideo i opcjonalnie tablicy o szerokości i wysokości. // Dane testowe: $url = 'http://www.viddler.com/v/bdce8c7'; $szerokość = '250'; $wysokość = '140'; echo wp_oembed_get( $url, array( 'szerokość' => $szerokość, 'wysokość' => $wysokość) ); Daje to wideo o wymiarach 620 x 349. Zhakowałem to, ale wp_oembed_get() ma być w stanie zrobić to wszystko dla mnie, prawda? Oto, co ułożyłem: require_once( ABSPATH .WPINC . '/class-oembed.php' ); // $usługa jest wykrywana przez parsowanie adresu URL hosta if ( $service == 'viddler' ) { $oem = _wp_oembed_get_object(); $json = 'http://www.viddler.com/oembed/?format=json&url=' . kod_url ( $url ); $return = $oem->fetch( $json, $url, array( 'width' => $width, 'height' => $height ) ); $oembed = $return->html; } else { $oembed = wp_oembed_get( $url, array( 'width' => $width, 'height' => $height ) ); } return $oembed; To działa, ale zastanawiam się, czy jest to błąd, który powinienem zgłosić do WP lub Viddler. W WP Core (wp-includes/class-oembed.php) format adresu URL dla Viddlera to: http://lab.viddler.com/services/oembed/ Czy należy to zmienić na to, co mam powyżej? http://www.viddler.com/oembed/ Czy ktoś jeszcze ma ten problem?


title: Użytkownicy wybierają wewnątrz niestandardowego metabox

text: Używam niestandardowych ram meta box stworzonych przez człowieka (https://github.com/humanmade/Custom-Meta-Boxes). Chcę dodać rozwijane menu wyboru w moim metaboksie, który jest wypełniany przez użytkowników z wieloma rolami w mojej witrynie WP. Odnosząc się do tego postu : Uzyskaj wiele ról z get_users, które wymyśliłem: add_filter( 'cmb_meta_boxes', 'users_metabox' ); function eusers_metabox( array $meta_boxes ) { $prefix = 'user_'; globalny $wpdb; $blog_id = get_current_blog_id(); $user_query = new WP_User_Query( array( 'meta_query' => array( 'relation' => 'OR', array( 'key' => $wpdb->get_blog_prefix( $blog_id) . 'capabilities', 'value' => 'Administrator', 'compare' => 'like' ), array( 'key' => $wpdb->get_blog_prefix( $blog_id) . 'capabilities', 'value' => 'Editor', 'compare' => ' tak jak'                   )               )           )          ); $fields = array( array( 'id' => $prefix . 'user_sub', 'name' => 'Użytkownik subskrybenta', 'type' => 'select', 'use_ajax' => false, 'options' => $user_query, // tutaj wypełniasz pole wyboru w metabox ), ); $meta_boxes[] = array( 'title' => 'Informacje o lokalizacji', 'pages' => 'em_users', 'context' => 'normalny', 'priority' => 'high', 'fields' => $ pola ); zwróć $meta_boxes; } Działa trochę, ale wydaje się, że zwraca tylko wielkie litery. Jakieś pomysły? Konieczność wyprowadzenia (UserID) jako zmiennej stałej


title: sprawdź krótki kod w postach/stronach ORAZ widżetach ORAZ plikach szablonów

text: Dla następnej wersji mojej wtyczki www.mapsmarker.com chciałbym wyprowadzać pliki css i js wtyczki tylko wtedy, gdy używany jest shortcode [mapsmarker ...]. W przypadku postów/i stron znalazłem już działający kod: function lmm_detect_shortcode() { global $post; $wzór = get_shortcode_regex(); preg_match_all( '/'. $wzór .'/s', $post->post_content, $matches ); if( is_array( $matches ) && array_key_exists( 2, $matches ) && in_array( 'mapsmarker', $matches[2] ) ) { echo 'skrócony kod'; } } add_action( 'wp', 'lmm_detect_shortcode' ); Problem polega na tym, że mapy można również osadzać w widżetach (za pomocą shortcode) lub pliku szablonu bezpośrednio za pomocą funkcji do_shortcode() (http://www.mapsmarker.com/docs/how-to-add-maps-to- twoja-witryna-za pomocą-szablonów-tagów/) i powyższy kod nie sprawdza, czy to prawda - w wyniku czego mapa nie jest wyświetlana. Jako obejście mógłbym dodać opcję w ustawieniach wtyczki, jeśli pliki js/css- powinny być dodawane tylko wtedy, gdy krótki kod jest dodawany do posta lub strony i dodaj opis, aby wyłączyć to ustawienie, jeśli mapa jest dodawana do widżetów za pomocą shortcode lub do plików szablonów poprzez do_shortcode(). Ponieważ nie jest to całkiem użyteczne rozwiązanie (co na dłuższą metę skutkowałoby niektórymi prośbami o wsparcie), szukam rozwiązania, w którym mogę domyślnie włączyć tę funkcję i nie muszę dodawać opcji do ustawień , ponieważ kod sprawdza również, czy krótki kod jest dodany w widżetach lub poprzez do_shortcode() w jednym z plików szablonów, na przykład: .... if( ( is_array( $matches ) && array_key_exists( 2, $matches ) && in_array ( 'mapsmarker', $matches[2] ) ) || ( SPRAWDŹ JEŚLI KRÓTKI KOD UŻYWANY W WIDŻETACH == TRUE ) || ( SPRAWDŹ JEŚLI KRÓTKI KOD UŻYWANY W PLIKACH SZABLONU == TRUE ) ) { echo 'skrócony kod jest używany'; } ..... Moim pierwszym podejściem do tego problemu było sprawdzenie zmiennych globalnych i sprawdzenie, czy jakoś uda mi się odfiltrować ten dodany kod, np. by $wp_filter (array) - wielowymiarowa tablica wszystkich funkcji, które zostały dodane do filtrów/hooków. Niestety nie znalazłem jeszcze rozwiązania. Każda pomoc jest mile widziana!


title: Jak sprawdzić, kiedy zmienia się język wtyczki qtranslate?

text: Użyłem qtranslate, aby moja strona internetowa była wielojęzyczna. W rzeczywistości ta wtyczka po prostu udostępnia opcję, aby moja treść miała inne tłumaczenie, ale jak mogę go użyć w moim kodzie? na przykład: if ( $język == "ar" ) { // coś }


title: Usuń określone menu pozycji po dezaktywacji wtyczki (rozwiązane)

text: Kiedy aktywuję moją wtyczkę (register_activation_hook), dodaję nową konkretną stronę i odpowiednie menu pozycji w menu niestandardowym. Tutaj nie ma problemu. Kiedy dezaktywuję moją wtyczkę (register_deactivation_hook), usuwam określoną stronę, ale nie wiem, jak usunąć odpowiednie menu pozycji z menu niestandardowego ? Dowolny pomysł ? Dzięki


title: Zezwalaj na przesyłanie wszystkich typów plików

text: Używam Wordpress 3.4.2 do prowadzenia prywatnego bloga, czyli takiego, na którym tylko ja mogę publikować. Teraz Wordpress uniemożliwia mi przesyłanie niektórych typów plików (takich jak pliki źródłowe C#). O ile rozumiem, istnieje biała lista, która określa, co można przesłać. Czy istnieje wtyczka, która może rozszerzyć – lub lepiej, nawet wyłączyć – tę białą listę? Wszystkie inne odpowiedzi mówią mi, że powinienem edytować mój motyw, ale wolałbym mieć do tego wtyczkę (aby nie musiał edytować wszystkich moich motywów). Również znalazłem tę wtyczkę, ale znowu wymaga to edycji jakiegoś pliku na moim serwerze (prawdopodobnie jest on nadpisywany po aktualizacji wtyczki). Czy jest coś jeszcze?


title: Pobierz tablicę identyfikatorów załączników dołączonych do danego identyfikatora posta

text: Zastanawiam się, czy istnieje funkcja do pobierania tablicy zawierającej identyfikatory załączników obrazów, które są dołączone do danego postu. Niektóre funkcje, takie jak get_post_arry($pid); Tablica powinna być uporządkowana w następujący sposób: ['0':'image1', '1':'image2', '2':'image3', .... itd.] Każda pomoc będzie mile widziana. Dziękuję Florianie


title: Zmień awatar na tematycznej stronie profilu

text:
Używam wtyczki Theme My Login i próbuję umożliwić subskrybentom zmianę profilu na profil przesłany z ich komputera. Wypróbowałem następujące wtyczki: * Proste lokalne awatary * Awatar użytkownika * Awatar użytkownika WP * Menedżer awatarów Mogę wyświetlić formularz przesyłania plików, ale po kliknięciu prześlij lub zaktualizuj profil awatar się nie zmienia. Czy mogę to osiągnąć? Oto cały mój kod profilu „Motywuj mój login” z „Prostymi lokalnymi awatarami” <div class="profil logowania" id="theme-my-login<?php $template->the_instance(); ?>"> <?php $template->the_action_template_message( 'profil' ); ?> <?php $szablon->błędy(); ?> <form id="twój-profil" action="<?php $template->adres_url_działania( 'profil' ); ?>" method="post" class="validate"<?php do_action( 'user_new_form_tag' ) ;?>> <?php wp_nonce_field( 'aktualizacja-użytkownik_' . $bieżący_użytkownik->ID ); ?>
 <typ wejściowy="ukryty" nazwa="z" wartość="profil" /> <typ wejściowy="ukryty" nazwa="identyfikator_kontroli" wartość="<?php echo $bieżący_użytkownik->ID; >" />
 <?php if ( has_action( 'opcje_osobiste' ) ) : ?>
<?php _e( 'Opcje osobiste' ); ?>

 <?php do_action( 'opcje_osobiste', $profileuser ); ?>
 <?php endif; ?> <?php do_action( 'profile_personal_options', $profileuser ); ?>
<?php _e( 'Nazwa' ); ?>

 <?php _e( 'Nazwa użytkownika' ); ?>	 <input type="text" name="user_login" id="user_login" value="<?php echo esc_attr( $profileuser->user_login ); ?>" wyłączone ="disabled" class="regular-text" /> <?php _e( 'Twoja nazwa użytkownika nie może zostać zmieniona.', 'theme-my-login' ); ?>

 <?php _e( 'Imię' ); ?>	 <input type="text" name="pierwsze_imię" id="pierwsze_imię" value="<?php echo esc_attr( $profileuser->first_name ); ?>" class ="zwykły tekst" />

 <?php _e( 'Nazwisko' ); ?>	 <input type="text" name="last_name" id="last_name" value="<?php echo esc_attr( $profileuser->last_name ); ?>" class ="zwykły-tekst" />

 <?php _e( 'Pseudonim' ); ?> <?php _e( '(wymagane)' ); ?>	 <input type="text" name="pseudonim" id="pseudonim" value="<?php echo esc_attr( $profileuser->pseudonim ); ?>" class="regular-text" />

 <?php _e( 'Wyświetlaj nazwę publicznie jako' ); ?>	  <select name="display_name" id="display_name"> <?php $public_display = array(); $public_display['display_nickname'] = $profileuser->nick; $public_display['display_username'] = $profileuser->user_login; if ( ! empty( $profileuser->first_name ) ) $public_display['display_firstname'] = $profileuser->first_name; if ( ! empty( $profileuser->last_name ) ) $public_display['display_lastname'] = $profileuser->last_name; if ( ! empty( $profileuser->first_name ) && ! empty( $profileuser->last_name ) ) { $public_display['display_firstlast'] = $profileuser->first_name . ' ' . $profileuser->nazwisko; $public_display['display_lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name; } if ( ! in_array( $profileuser->display_name, $public_display ) )// Dodaj to tylko, jeśli nie jest zduplikowane gdzie indziej $public_display = array( 'display_displayname' => $profileuser->display_name ) + $public_display; $public_display = array_map( 'przytnij', $public_display ); $public_display = array_unique( $public_display ); foreach ( $public_display as $id => $item ) { ?> <option <?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option> <?php } ?> </select>

<?php _e( 'Informacje kontaktowe' ); ?>

 <?php _e( 'E-mail' ); ?> <?php _e( '(wymagane)' ); ?>	 <input type="text" name="email" id="email" value="<?php echo esc_attr( $profileuser->user_email ); ?>" class="regular-text" />

 <?php _e( 'Witryna' ); ?>	 <input type="text" name="url" id="url" value="<?php echo esc_attr( $profileuser->user_url ); ?>" class ="kod zwykłego tekstu" />
 <?php foreach ( _wp_get_user_contactmethods() as $name => $desc ) { ?>
 <label for="<?php echo $nazwa; ?>"><?php echo apply_filters( 'użytkownik_'.$nazwa.'_label', $desc ); ?>	 <input type="tekst" nazwa="<?php echo $nazwa; ?>" id="<?php echo $nazwa; ?>" wartość="< ?php echo esc_attr( $profileuser->$name ); ?>" class="zwykły-tekst" />
 <?php } ?>

<?php _e( 'O sobie' ); ?>

 <?php _e( 'Informacje biograficzne' ); ?>	 <textarea name="opis" id="opis" rows="5" cols="30"><?php echo esc_html( $profileuser->opis ); ?></textarea>
 <?php _e( 'Podziel się małą informacją biograficzną, aby wypełnić swój profil. Może to być pokazywane publicznie.' ); ?>
 <?php $show_password_fields = apply_filters( 'show_password_fields', true, $profileuser ); if ( $show_password_fields ) : ?>
 <?php _e( 'Nowe hasło' ); ?>	 <input type="hasło" name="pass1" id="pass1" size="16" value="" autocomplete="off" /> <?php _e( 'Jeśli chcesz zmienić hasło, wpisz nowe. W przeciwnym razie pozostaw to pole puste.' ); ?>
 <input type="hasło" name="pass2" id="pass2" size="16" value="" autocomplete="off" /> <?php _e( 'Wpisz ponownie nowe hasło.' ); ?>

<?php _e( 'Wskaźnik siły', 'theme-my-login' ); ?>

<?php _e( 'Wskazówka: Hasło powinno mieć co najmniej siedem znaków. Aby je wzmocnić, używaj dużych i małych liter, cyfr i symboli jak ! " ? $ % ^ & ).' ?>

 <?php endif; ?>
 <?php globalny $bieżący_użytkownik; get_bieżącyużytkownikinfo(); $myAv = new simple_local_avatars(); $myAv-> edit_user_profile($current_user); ?>
 <input type="ukryty" name="akcja" value="profile" /> <input type="ukryty" name="instance" value=" <?php $szablon->instancja(); ?>" /> <input type="ukryty" name="user_id" id="user_id" value="<?php echo esc_attr( $current_user->ID ); ?>" /> <input type="wyślij" class="button-primary kopa-button niebieski-button mały-button" value="<?php esc_attr_e( 'Aktualizuj profil' ); ?>" name="prześlij" />
 </form>


title: Wywołanie funkcji członkowskiej get_row() na obiekcie niebędącym obiektem, nie można użyć globalnego $wbdp wewnątrz wtyczki

text: Tworzę niestandardową wtyczkę do mojej witryny WordPress. Stworzyłem plik php o nazwie "checkrank", który pobiera dane z niestandardowej tabeli o nazwie "cranking". $uid = $GET['id']; funkcja checkExists($id){ global $wpdb; $table_name = $wpdb->prefiks . "rozruch"; $exists = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table_name WHERE id = %d" ) ); $error = $wpdb->print_error(); if(count($exists) > 0){ echo 'Istnieje!'; } else { echo 'Nie istnieje!'; } zwraca $błąd; } checkExists($uid); Kod służy tylko do sprawdzenia, czy stół rozruchowy ma użytkownika o podanym identyfikatorze. Problem polega na tym, że za każdym razem, gdy uruchamiam ten plik php, otrzymuję ten błąd: > Błąd krytyczny PHP: Wywołanie funkcji członkowskiej `get_row()` na obiekcie niebędącym obiektem Gdzie popełniłem błąd? Myślę, że `$wbdp` nie jest zainicjowany.


title: Białe tło, czarny tekst - najprostszy na ziemi: "błąd"!

text: Dlaczego w mojej witrynie na lokalnym hoście zwykły „błąd” w ogóle nie przepuszcza/nie pozwala na zrobienie czegokolwiek? ![WordPress site "error"](http://i.stack.imgur.com/HWWFm.png) Przeglądałem stronę domową projektu `localhost/creative/`, jest OK. Potem wpisałem `localhost/creative/wp-admin` i pojawia się "błąd". Potem ponownie spróbowałem strony głównej: to też jest nie tak: „błąd”. Spróbowałem ponownie: * Wyczyszczenie pamięci podręcznej przeglądarki i historii * Używanie różnych przeglądarek itp. * Czekanie 5 minut, a potem 10... I NAGLE znów się włącza. :) Ale pytanie brzmi: **_DLACZEGO?_** Bo to nie pierwszy raz, już kilka razy się zdarzyło. :(


title: Moja witryna otrzymuje zbyt wiele bezpośrednich archiwów domowych, co zwiększa mój współczynnik odrzuceń

text: Moja witryna otrzymuje codziennie prawie 800 bezpośrednich archiwów domowych, w wyniku czego zwiększył się współczynnik odrzuceń mojej witryny. Zwykle otrzymuję tylko około 30 domowych archiwów dziennie Te hity nie pochodzą od Google, więc jak mogę je powstrzymać. Właściwie w moich statystykach Wordpress Jetpack, moje domowe archiwa mają około 800 dziennie, co kiedyś było tylko około 30 dziennie, więc myślę, że ktoś daje fałszywe kliknięcia na moją witrynę. Tak więc współczynnik odrzuceń mojej witryny rośnie z dnia na dzień, ponieważ te hity nie pochodzą z żadnej z wyszukiwarek, a większość domowych archiwów pochodzi z Indii i USA. Więc pomóż mi, prosząc o jakieś wyjście.


title: Jak uzyskać link do ostatniego komentarza

text:
Dostaję 5 ostatnich komentarzy na mój pasek boczny przy użyciu następującego kodu: <?php $recent_comments = get_comments('status=approve&number=5'); ?> <?php foreach ($recent_comments jako $comment) { ?>
 <?php echo get_avatar( $comment, '60' ); ?>
 <a href="<?php echo get_permalink($comment->ID); ?>" title="on <?php echo $comment->post_title; ?>"><? php echo strip_tags($comment->comment_author); ?>
 <?php echo wp_html_excerpt( $comment->comment_content, 35 ); ?>...

 <?php } ?> Ale problem, z którym się spotykam, to: Kiedy klikam link komentarza, przekierowuje mnie to na bieżącą stronę zamiast na stronę to jest skomentowane. Z drugiej strony, kiedy klikam link komentarza (czyli na pasku bocznym) na stronie głównej, przekierowuje mnie to na stronę z najnowszym postem. Użyłem `wp_reset_query()`, ale problem nadal występuje. Również użyciet `get_comment($comment->ID);` zamiast `get_permalink` nie działa.


title: Wymagaj wyróżnionego obrazu, aby opublikować post

text: Mam wieloautorski blog WordPress. Chcę zezwolić na publikację posta tylko wtedy, gdy jest ustawiony polecany obraz. Jak to zrobić?


title: Jeśli post istnieje w bazie - za każdym razem idzie `else`

text: Po pierwsze, jestem nowicjuszem, jeśli chodzi o php. Mam wtyczkę, która okresowo importuje posty do mojej witryny. Zwykle powinien sprawdzić, czy post już istnieje, a jeśli tak, aktualizuje go. W przeciwnym razie tworzy nowy. Teraz z jakiegoś powodu zawsze podąża ścieżką „inaczej” bez względu na wszystko. `if` wygląda tak: if ( nmp_post_exists( $cam->username ) ) { a funkcja to: function nmp_post_exists($title) { global $wpdb; return $wpdb->get_row("SELECT * FROM wp_posts WHERE post_title = '" . $title . "'", 'ARRAY_A'); }


title: Problem z przekierowaniem adresu URL

text: Mam 2 strony w mojej witrynie Wordpress 3.0.1 z 2 adresami URL www.mysite.co.uk/sub-page/child-of-sub-page/accommodation/ i www.mysite.co.uk/accommodation/ jednak dowolny link w mojej witrynie do www.mysite.co.uk/accommodation/ przechodzi do www.mysite.co.uk/sub-page/child-of-sub-page/accommodation/ zamiast tego jest to błąd w wordpressie 3.0.1? czy można to obejść?


title: Wprowadzanie ślimaka do zmiennej, jak wywołać tę zmienną?

text: slug strony dla każdego z naszych artykułów wordpress jest unikalnym zestawem siedmiu cyfr i używamy tego ciągu liczb jako slug strony. Próbując dowiedzieć się, jak jeszcze bardziej dostosować naszą witrynę, chciałbym dowiedzieć się, jak odtworzyć ten slug w plikach szablonów (poza pętlą - w rzeczywistości byłby on używany na pasku bocznym). Oto, czego próbowałem do tej pory (i nie powiodło się żałośnie): Na górze pliku szablonu postu mam następujący kod: <?php $doi = get_page_template_slug( $post_id ); ?> Więc próbuję utworzyć zmienną $doi, która ma slug strony. W dalszej części pliku szablonu próbuję odtworzyć tę zmienną: <?php echo $doi; ?> To też się nie udaje. Czy ktoś ma czas, aby pomóc nowicjuszowi PHP?


title: Automatyczne publikowanie w wielu witrynach, takich jak Posterous?

text: Chciałbym mieć możliwość autopostowania z mojej witryny wordpress (prywatnej wordpress.org, nie na wordpress.com) do wielu witryn za pomocą jednej wtyczki/hacka z poziomu wordpress. Chciałbym, aby moje posty mogły być automatycznie publikowane (z linkami) na facebook, identi.ca, twitter, posterous itp. bez wielu wtyczek. Szukałem wszędzie dobrej wtyczki i wszystkie wydają się być specyficzne dla witryny (na przykład po prostu wtyczka do Twittera). Potrzebuję punktu kompleksowej obsługi, takiego jak posterous, ale ponieważ mam własną witrynę, nie chcę, aby linki trafiały do posterous, gdy mogłyby wracać na moją oficjalną stronę. czy na razie jest to w ogóle możliwe? jeśli nie, ktoś powinien przyspieszyć i zakodować to. Dziękuję!


title: Ostatni raz, kiedy użytkownik był zalogowany

text: Tworzę witrynę, w której użytkownicy logują się, aby przeglądać zawartość specyficzną dla nich. Chciałbym wyświetlić datę i godzinę ostatniego logowania. Jak mogę uzyskać te informacje z wordpress? Jeśli nie istnieje, jak mogę to dodać? Przykład: Witamy ponownie! Twoja ostatnia wizyta miała miejsce 25.10.2010 o godzinie 15:14. Dziękuję!


title: Jak wstawić aktualną datę/godzinę w treści posta?

text: Tworzę tutaj listę sugestii. Do każdej z moich sugestii muszę wstawić aktualną datę/godzinę - są one dodawane narastająco. Jeśli masz pomysł, jak to zrobić, podziel się nimi.


title: Który blog jest najpopularniejszy w środowisku multisite?

text: W wielostronnym środowisku wordpress - self-hosted: - jak sprawdzić, który blog ma największą liczbę odwiedzających? jak sprawdzić, który blog ma najwięcej komentarzy i postów?


title: Filtruj pole niestandardowe na podstawie wyboru innego pola niestandardowego (ACF)

text: Mam 3 niestandardowe typy postów z zaawansowanymi polami niestandardowymi: * Uczeń * Klasa * Zadanie domowe **Praca domowa** ma niestandardowe pole, które jest „związkiem” z **Klasą**. Dzieje się tak, ponieważ konkretne zadania domowe są powiązane z określonymi zajęciami. **Uczeń** ma pole relacji z **Klasą**, ponieważ każdy uczeń należy do klasy. Teraz chcę utworzyć **Zadanie domowe** , więc ustawiam niestandardowe pole (związek) dla **studenta**. Po wybraniu ucznia chcę, aby drugie pole niestandardowe (również relacja) dało mi wybór dowolnego rekordu **Zadania domowe**, które mają tę samą **klasę** co **uczeń**. Więc w zasadzie, jak mam mieć instrukcję warunkową z zaawansowanymi polami niestandardowymi, która „filtruje” zamiast „pokazuje/ukrywa” drugie pole niestandardowe?


title: Zaktualizuj datę utworzenia posta po aktualizacji

text: Chcę mieć możliwość aktualizowania posta i wyświetlania go w moim głównym/głównym kanale tak, jakby został właśnie opublikowany. Na przykład, gdybym miał post zatytułowany „Mapa drogowa” lub „Planowane funkcje” itp. i byłaby to lista, za każdym razem, gdy aktualizowałem TEN post, aktualizowałby czas jego utworzenia, aby wyglądał, jakby został właśnie utworzony zaktualizowanych, aby pojawiły się w moich ostatnich postach. Jakieś pomysły, jak to zrobić?


title: Podczas sortowania WP_List_Table sortuje tabele, ale otrzymuję też błędy SQL

text: Oto moja urocza funkcja `prepare_items()`: function Prepare_items() { global $wpdb; $table_name = $wpdb->prefiks . „bla”; $za stronę = 100; $kolumny = $to->pobierz_kolumny(); $ukryte = tablica(); $sortowalne = $this->get_sortable_columns(); $this->_column_headers = array($kolumny, $ukryte, $sortowalne); $this->process_bulk_action(); $total_items = $wpdb->get_var("WYBIERZ COUNT(id) FROM $table_name"); $paged = isset($_REQUEST['paged']) ? max(0, intval($_REQUEST['stronicowany']) - 1) : 0; $orderby = (isset($_REQUEST['orderby']) && in_array($_REQUEST['orderby'], array_keys($this->get_sortable_columns()))) ? $_REQUEST['orderby'] : 'tytuł'; $order = (isset($_REQUEST['order']) && in_array($_REQUEST['order'], array('asc', 'desc'))) ? $_REQUEST['zamówienie'] : 'asc'; $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name ORDER BY $orderby $order LIMIT %d OFFSET %d", $per_page, $paged), ARRAY_A); $this->set_pagination_args(array( 'total_items' => $total_items, 'per_page' => $per_page, 'total_pages' => ceil($total_items / $per_page), )); } Teraz, gdy sortuję tabelę, adres URL wygląda następująco: `http://blah.dev/wp-admin/admin.php?page=mvc_events&orderby=start_date&order=asc` [13-Aug-2013 20:55:21 UTC] Błąd bazy danych WordPress Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada Twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'asc LIMIT 0, 10' w wierszu 1 dla zapytania SELECT `Zdarzenie`.* FROM `wp_atb_events` `Zdarzenie` ORDER BY asc LIMIT 0, 10 made przez do_action('toplevel_page_mvc_events'), call_user_func_array, MvcDispatcher->admin_events_index, MvcDispatcher->__call, __lambda_func, MvcDispatcher::dispatch, AdminEventsController->injectObler_events_index, Mvcbase->MvcbaseData-> get_results [13-Aug-2013 20:55:21 UTC] Błąd bazy danych WordPress Wystąpił błąd w składni SQL; sprawdź w instrukcji obsługi, która odpowiada Twojej wersji serwera MySQL, jaka jest poprawna składnia w pobliżu 'asc' w wierszu 1 dla zapytania SELECT COUNT(*) AS count FROM `wp_atb_events` `Zdarzenie` ORDER BY asc wykonane przez do_action('toplevel_page_mvc_events') , call_user_func_array, MvcDispatcher->admin_events_index, MvcDispatcher->__call, __lambda_func, MvcDispatcher::dispatch, AdminEventsController->index, MvcAdminController->set_objects, Mvc-Model_varDane, MvcDispatcher-> Pomysł, dlaczego pojawia się ten błąd? Wszystko działa, tylko te dwa komunikaty o błędach ciągle się pojawiają.


title: Zapytanie o zawartość strony i zapytanie o posty na tej samej stronie?

text:
Mam problem z utworzeniem strony z listą blogów, mam stronę w Wordpress o nazwie Blog. W tym jest jakaś treść napisana i to wszystko. Używam następującego zapytania, aby wyprowadzić zawartość tej strony: <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
Inteligentne myślenie

<?php the_content(); ?>
 <?php endwhile; ?> To wszystko działa dobrze. Poniżej próbuję utworzyć zapytanie do wszystkich moich ogólnych postów, z paginacją, wyświetlającą cztery posty na stronie.  <?php // Zapytanie o 4 posty $query = new WP_Query( 'posts_per_page=4' ); // Wyświetl wyniki zapytania if ( $query->have_posts() ) : while ( $query->have_posts() ) : $the_query->the_post(); ?>
<?php the_title(); ?>
 <?php endwhile; ?>   <?php wp_reset_postdata(); // Jeśli nie pojawią się żadne wyniki : ?>
<?php _e( 'Przepraszamy, żadne posty nie spełniają twoich kryteriów.' ); ?>
 <?php endif; ? Nie mogę zrozumieć, dlaczego to zapytanie nie działa.


title: Dodaj podmenu do wp_nav_menu

text: Dosłownie nie wiem od czego zacząć. Jedyną dokumentacją wp_nav_menu(), którą znalazłem, była http://codex.wordpress.org/Function_Reference/wp_nav_menu, a wszystkie dokumenty podmenu odnoszą się do innej funkcji lub układu. Co mogę zrobić?


title: Masz problem z utworzeniem lokalnej instancji witryny Wordpress

text: Próbuję zrobić kopię witryny Wordpress na moim hoście na moim lokalnym komputerze. Używam EasyPHP. Pobrałem wszystkie pliki w treści i dodałem je do folderu w EasyPHP\data\localweb\projects. Wszedłem na myPHPadmin i stworzyłem użytkownika oraz bazę danych i połączyłem się z nią za pomocą wp-config.php. Następnie, aby upewnić się, że wszystko działa do tej pory, przeszedłem do adresu URL localhost witryny i poprosił mnie o instalację. Po wykonaniu instalacji działa poprawnie, widzę mój niestandardowy motyw i go aktywuję, a także widzę wszystkie moje wtyczki, które są zainstalowane na stronie na żywo. Jednak cała zawartość strony znajduje się oczywiście w bazie danych. Upuszczam wszystkie tabele, importuję żywą bazę danych (którą eksplorowałem również przez myPHPadmin). Mówi „Nie można połączyć się z bazą danych”. Przeprowadzam badania i stwierdzam, że muszę wykonać następujące zapytanie, ponieważ adres URL jest inny: UPDATE wp_posts SET guid = replace(guid, old url, new url); AKTUALIZACJA wp_posts SET post_content = replace(post_content, stary adres URL, nowy adres URL);. AKTUALIZACJA wp_postmeta SET meta_value = replace(meta_value, stary adres URL, nowy adres URL); AKTUALIZACJA wp_options SET wartość_opcji = replace(wartość_opcji, stary adres URL, nowy adres URL); Więc robię to i pobieram dane z bazy danych, ale nie działa poprawnie. Strona główna zawiera błąd 404 i zawiera linki do artykułów znajdujących się w aktywnej witrynie, ale jeśli nie, to tylko czarno-biały tekst. Żadnego motywu ani nic. Po kliknięciu czegokolwiek otrzymuję następujący błąd: Nie znaleziono obiektu! Żądany adres URL nie został znaleziony na tym serwerze. Link na stronie odsyłającej wydaje się być błędny lub nieaktualny. Poinformuj autora tej strony o błędzie. Jeśli uważasz, że to błąd serwera, skontaktuj się z webmasterem. Również gdy dodaję wp-admin do logowania otrzymuję ten sam błąd. Pomoc!


title: Podświetlanie bieżącej strony w menu nawigacyjnym, które linki są generowane za pomocą niestandardowej pętli?

text:
To jest drugie menu nawigacyjne, którego używam:
 <?php $custom_posts = new WP_Query(); ?> <?php $custom_posts->zapytanie('post_type=bbp_forum'); ?> <?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink do %s', 'dwadzieścia' ), the_title_attribute( 'echo=0' ) ?>" rel="zakładka"><?php the_title(); ?>
 <?php endwhile; ?>
 To niestandardowa pętla, która wyświetla niestandardowy typ posta o nazwie Forum. Chciałbym wyróżnić obecny link do forum w następujący sposób: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/ryBto.png) Jakieś sugestie?


title: Linki Następna strona i Poprzednia strona – pomijanie pojedynczej strony – jak?

text: Na mojej stronie Wordpress mam kilka stron. Teraz chcę wyświetlić linki „Następna strona” i „Poprzednia strona”. Wiem, że istnieje kilka sposobów, aby to zrobić, ale wszystkie zawodzą, ponieważ chcę pominąć jedną stronę za pomocą tego systemu linków. Istniejące funkcje Wordpress do tego mogą wykluczać strony, ale jeśli następna strona jest stroną, która powinna zostać wykluczona, nie jest wyświetlany żaden link. Potrzebuję rozwiązania, aby po prostu pominąć wykluczoną stronę. Ponieważ mój angielski nie jest najlepszy, oto przykład tego, czego potrzebuję: Bieżący identyfikator strony to 3. Strona, którą chcę wykluczyć, ma identyfikator strony 4. Tak więc link „Następna strona” powinien wskazywać na identyfikator strony 5, Link „Poprzednia strona” do id strony 2. Jak to możliwe? Właściwie próbowałem tego sam i udało mi się uzyskać identyfikator następnej strony za pomocą `get_pages` i niektórych funkcji PHP, ale nie udało mi się wykluczyć strony. W razie potrzeby mogę wysłać kod do tego. Proszę pomóż mi!


title: Zapisywanie kategorii do posta przed opublikowaniem posta

text: Utworzyłem link z dashboardu, który idzie do dodania nowego posta, ale z kategorią już wybraną dla posta - ale post nie będzie należał do tej kategorii przed opublikowaniem - to jest problem, bo mam kilka niestandardowych pól, które przypisałem do kategorii i nie będą widoczne przed opublikowaniem wpisu. Czy istnieje sposób na przypisanie kategorii do postu przed jego opublikowaniem, co umożliwi to, co staram się osiągnąć?


title: Duży rozmiar przesyłanego obrazu (przy użyciu timthumb.php

text: Wygląda na to, że mam ten problem ze wszystkimi obrazami w mojej witrynie. Najpierw optymalizuję plik .jpg w Photoshopie do około 100 tys. Oto kod, którego używam do wyświetlania obrazu w moim pliku szablonu: <?php if (has_post_thumbnail( $post->ID)): ?> <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full ' ); ?> <img src="<?php bloginfo('katalog_szablonu'); ?>/thumbs.php?src=<?php echo $image[0]; ?>&w=660&h=246&zc=1" alt="< ?php tytuł(); ?>" /> <?php endif; ?> **Problem:** Kiedy oglądam obraz w przeglądarce, wydaje się, że ma on rozmiar około 900k. 9 razy większy od oryginalnego pliku! Co powoduje ten wzrost rozmiaru pliku po przesłaniu przez Wordpress? Czy to media uploader WP czy skrypt timthumb.php?


title: Tworzysz tablicę ogłoszeń za pomocą WordPressa (za darmo)?

text: Znalazłem kilka wtyczek/motywów do tworzenia tablicy ogłoszeń za pomocą WordPressa, ale tylko jedno rozwiązanie, które jest bezpłatne (patrz tutaj) Czy istnieją inne **darmowe** rozwiązania, które to umożliwiają? Dziękuję.


title: Jak przekazać zmienne do krótkich fragmentów postów w Wordpress 3.0?

text: Używam wtyczki o nazwie Post Snippets. Zgodnie z dokumentacją może zastępować zmienne, takie jak {url}, we fragmentach kodu. http://wordpress.org/extend/plugins/post-snippets/ Nie wiem, jak przypisać wartości z konkretnego posta do zmiennej. Próbowałem użyć exec-PHP i użyłem następującego: [exec]url = "domain.com";[/exec] Ale fragment nie zarejestrował wartości dla {url}. **Jak mogę przypisać wartość do zmiennej z poziomu posta, aby móc z niej korzystać zgodnie z opisem?**


title: Gdzie w MU przechowywane są pliki przesłane przez Media Managera?

text: Standardowe witryny WordPress, przynajmniej te wersje WP, które testowałem, przechowują pliki przesłane przez Media Managera w wp-content/uploads/ Gdzie te same pliki są przechowywane w witrynach MU i jak uzyskać odniesienie do tego folderu za pomocą skryptu z functions.php? Czy lokalizacja różni się w zależności od zainstalowanej wersji WP lub WPMU?


title: Zastąp Gravatar zdjęciem użytkownika w widoku kolumny Wszyscy użytkownicy

text: Używam wtyczki UserPhoto, która pozwala użytkownikom wgrać zdjęcie, które można wykorzystać na wiele sposobów. (To niesamowite) Ale chciałbym również, gdy administratorzy spojrzą na listę użytkowników, kolumna wyświetla to zdjęcie użytkownika zamiast Gravatara. Czy jest haczyk? Jestem trochę bliżej... function change_user_avatar_col( $kolumna ) { $kolumna['awatar'] = 'awatar'; zwróć kolumnę $; } add_filter( 'manage_users_columns', 'change_user_avatar_col' ); function change_user_avatar( $val, $column_name, $user_id ) { $user = get_userdata( $user_id ); switch ($column_name) { case 'avatar' : return userphoto_thumbnail($user); przerwanie; domyślnie: } return $return; } add_filter( 'manage_users_custom_column', 'change_user_avatar', 10, 3 ); Otrzymuję obrazy, ale nie ma ich w kolumnie, a ponadto naprawdę chcę wymienić obecne gravatary, a to tworzy dodatkową kolumnę. Próbowałem zmienić „awatar” na „Nazwa użytkownika” w kolumnie, ale bez powodzenia.


title: Zastąpić domyślny adres URL stron autora?

text: Więc domyślny adres URL do wyświetlania listy postów konkretnego autora wygląda tak: `http://domain.com/author/{username}` Zastanawiam się, jak zmienić 'autora' w tym adresie URL na coś innego? Pracuję nad stroną internetową dla szkoły czarterowej i chcieliby, aby każdy nauczyciel miał listę postów według "klasy". Pożądany adres URL to `http://domain.com/classroom/{username}`


title: Wydrukuj wszystkie style inline do głowy

text: Obecnie pracuje nad projektem tutaj http://palanquin.shrimp-works.com. Kiedy próbuję zweryfikować to, co zrobiłem do tej pory, używając http://validator.w3.org/, otrzymuję wiele tego błędu **_Styl elementu nie jest dozwolony jako dziecko elementu div w tym kontekście. (Pomija kolejne błędy z tego poddrzewa.)_** , co zasadniczo oznacza, że istnieje div, który drukuje swoje style w tagu body mojego dokumentu. Oznacza to, że proste style, takie jak kolor tła, kolor tekstu itp., są drukowane w tagu body html, niwecząc wszelkie szanse na walidację html5. Czy istnieje filtr wordpress, który może wydrukować wszystkie **_style tagi_** z edytora tekstu lub tinymce do głowy zamiast do ciała? Wiem, jak umieścić w kolejce style inline w functions.php. Nie sądzę, że tego potrzebuję tutaj. Jakieś pomysły?


title: Żądania Ajax bez JQuery

text: Chcę tworzyć żądania Ajax bez JQuery i bez dołączania `wp_load.php`. Chcę użyć waniliowego obiektu `XmlHttpRequest`, który sam piszę. Jakieś linki, podpowiedzi, gotowe, zanim itp.?


title: Zobacz kategorię w podglądzie Theme Customizer

text: Tworzę motyw, w którym dostosowywanie motywów zmienia kolory, rozmiary itp., a także ma opcję wyboru kategorii i stylu dla tej kategorii. Jak wyświetlić tę kategorię w podglądzie (tylko wtedy, gdy użytkownik zmienia odpowiednie opcje) zamiast domyślnej strony głównej/głównej wyświetlanej domyślnie? **EDIT** Mogę uzyskać dostęp do okna podglądu za pomocą custom_preview_init, ale nie mogę zastosować wp_redirect, co, jak sądzę, może być sposobem.


title: Uprawnienia w lokalnym środowisku deweloperskim (OS X)

text: Chciałem włączyć automatyczne aktualizacje WordPressa bez FTP, więc dodałem: `define('FS_METHOD', 'direct');` do mojego `wp-config.php`. Aby więc nadać uprawnienia do zapisu autoaktualizacji WordPressa, uruchomiłem `chown -R _www:_www [wordpress-project-folder]`. Używam _www zamiast www-data, ponieważ przeczytałem, że jest to odpowiednik OS X. Jednak teraz za każdym razem, gdy modyfikuję plik za pomocą edytora tekstu lub zatwierdzam zmiany za pomocą git w tym folderze wordpress, muszę wykonać `sudo`, co mnie spowalnia. Czy istnieje złoty środek?


title: Wygenerowane obrazy są mniejsze niż określone

text: Więc mam obraz, który jest `1536x2048` i ustawiłem rozmiar obrazu, który mocno przycinałby do `460x600` za pomocą: add_image_size( 'hard-edge', 460, 600, true ); Kiedy to jest faktycznie wyprowadzane, otrzymuję rozmiar pliku `450x600`. To nie w porządku. Jest wystarczająco dużo miejsca na twarde przycięcie, aby uzyskać dokładny rozmiar, więc czego nie rozumiem w sposobie przycinania?


title: Częściowo przetłumaczony pulpit nawigacyjny w jednej ze stron sieci

text: Mam wielostanowiskową instalację WordPressa z domyślnym językiem dla wszystkich nowych witryn ustawionym na angielski. Do jednej z moich stron chciałem dodać obsługę innego (polskiego) języka. Skopiowałem wszystkie polskie pliki *.mo, które znalazłem w polskiej instalacji WordPressa. Po przejściu na ten język tylko tej jednej strony zauważyłem, że nie tylko frontend, ale także dashboard został przetłumaczony na język polski. Ponieważ był to niepożądany efekt, usunąłem wszystkie pliki *.mo z katalogu languages, z wyjątkiem pl_PL.mo. Szczególnie usunąłem pliki *.mo dla admina i administratora sieci. Mimo że to zrobiłem, teraz widzę, że mój Dashboard dla tej strony jest częściowo przetłumaczony na język polski. Tylko niektóre ciągi (sekcje deski rozdzielczej, ramki, przyciski) są tłumaczone, inne pozostają w języku angielskim. Co się dzieje? Skąd wychodzi to częściowe tłumaczenie? Zostawiłem tylko plik pl_PL.mo, który (jak rozumiem) służy wyłącznie do tłumaczenia frontendu i nie zmienia niczego w dashboardzie. Ten przypadek dotyczy mojego bloga testowego (strony sieciowej), więc mogę użyć ostatecznego rozwiązania - czyli usunąć całą witrynę i ponownie ją utworzyć. Ale mimo to jestem dość ciekawa, co się stało i co zrobić, jeśli podobny problem pojawi się w przyszłości na jednym z moich blogów produkcyjnych?


title: Nadchodzące wydarzenie: Jak posortować bazę danych według niestandardowego pola daty, ale zignorować przeszłe daty?

text: Używam wtyczki zdarzeń i staram się, aby moje zapytanie do bazy danych było idealne. Zapytanie znajduje się w szablonie event-single.php. Do czego potrzebuję zapytania: * Zapytanie o niestandardowy typ wpisu "wydarzenia" dla nadchodzących wydarzeń * Sortuj według `_event_start_date` meta_key, aby wyświetlić najwcześniejszą datę (najbliższe wydarzenie) * Nie wyświetlaj PRZESZŁOŚCI * Jeśli "bieżące wydarzenie", pokaż następne najbliższe event Oto moje aktualne $args. <?php $args = array( 'post__not_in' => array($donotrepeat), "post_type" => 'event', 'meta_key' => '_event_start_date', // nazwa niestandardowego pola 'orderby' => 'meta_value_num ', "zamówienie" => 'ASC', "posts_per_page" => 1 ); ?> Wcześniejsze zdefiniowanie `$donotrepeat` $donotrepeat = get_the_ID(); Jak dotąd zapytanie pomyślnie * Zapytania o niestandardowy typ wpisu * Ignoruje „bieżące” zdarzenie * Sortuje według najwcześniejszej daty. Nie wiem jednak, jak zignorować „przeszłe” daty. Istnieje inny metaklucz „zakres” stworzony przez tę wtyczkę, który zawiera wartości takie jak „przeszłość” i „przyszłość” – więc może to być obiecujące. Próbowałem użyć meta_query do sortowania problemu z przeszłą datą, ale po prostu nie mogę go uruchomić. Myślę, że to chyba właściwy kierunek, ale jestem otwarty na inne pomysły. Jestem pewien, że to nie jest TAKIE trudne... czy ktoś może pomóc?


title: WP e-commerce: otrzymywanie produktów według SKU

text: Pracuję nad stroną, która korzysta z wtyczki WP e-commerce (wersja Gold) i muszę wyświetlić listę produktów pasujących do listy SKU. Użytkownicy wypełniają formularz, a lista SKU produktów jest generowana w zależności od ich odpowiedzi. Muszę utworzyć stronę, która pobierze te produkty i wyświetli je, najlepiej w domyślnym stylu widoku siatki/widoku listy. Jakieś pomysły jak to zrobić? Przeglądając dokumentację, spodziewałem się funkcji „get_products()”, która mogłaby przyjąć SKU jako argument, ale wydaje się, że nic takiego nie istnieje. Jak mógłbym to zrobić? Wielkie dzięki, Will


title: Jak najlepiej usunąć sierotę wp_postmeta

text: Jestem w trakcie wykonywania dość złożonych zapytań dotyczących metadanych z niestandardowego typu wpisu. Niestety, jeśli jakiekolwiek posty zostaną usunięte, metadane pozostaną na swoim miejscu, co komplikuje sprawy, ponieważ je liczę. Zastanawiałem się, jak najlepiej usunąć osierocone metadane w przypadku usunięcia posta. Czy powinienem dołączyć funkcję, która usunie je z bazy danych za pomocą $wpdb? Znalazłem zapytanie SQL, które właśnie to robi, ale nie jestem pewien, jak je sformatować. USUŃ pm Z wp_postmeta pm DOŁĄCZ W LEWO wp_posts wp ON wp.ID = pm.post_id GDZIE wp.ID JEST NULL Próbowałem go w phpmyadmin na kopii zapasowej mojej bazy danych, ale bezskutecznie.


title: Komentarze pojawiają się w niewłaściwych postach

text: Tu paskudny problem! Komentarze nie są powiązane z właściwymi postami, ale z innymi! Przejście z disquss do komentarzy odrzutowych nie rozwiązuje tego. Jakie może być rozwiązanie? Strona jest http://www.zonasismica.sism.org/ Dzięki! AKTUALIZACJA! Wygląda na to, że problemem jest disqus... Mój zespół używa do publikowania postów w kawałkach. Wydaje się, że diqus nie potrafią odróżnić postów, gdy ich czas publikacji jest zbyt bliski. Wszystkie posty w jednym kawałku zawierają te same komentarze. Sprawdź zonasismica.sism.org/~ ~- lincaricato-locale-tra-deriva-dittatoriale-e-leader-demokrato-problematiche-dilemmi-e-psicodrammi-di-un-il - czy wiesz calcutta-village-project-e-noi-dove-siamo - i-cinque-segreti-dellarea-scopescore Jeśli wyłączę diqus, posty znów pojawią się tylko w jednym poście, ale oczywiście nie chciałem ich widzieć!


title: Jak sprawdzić, czy searchform.php jest dołączany jako widżet?

text: Chciałbym umieścić coś takiego w searchform.php: <?php if($widget){ ?> //załaduj formularz wyszukiwania dla paska bocznego... <?php }else{ ?> //załaduj inny formularz wyszukiwania dla zawartość strony (strona 404) <?php } ?> Jak przygotować zmienną `$widget`? A może powinienem użyć innej metody? Podoba Ci się filtr? Lub dostać część szablonu?


title: Jak zresetować wtyczki bez dezaktywacji wtyczki?

text: funkcja set_copyright_options() { usuń_option('ptechsolcopy_notice'); delete_option('ptechsolcopy_reserved'); add_option('ptechsolcopy_notice','Copyright ©'); add_option('ptechsolcopy_reserved','Wszelkie prawa zastrzeżone'); } register_activation_hook(__FILE__, 'set_copyright_options'); Cześć Używam kodu, aby ustawić wtyczkę jako domyślną podczas dezaktywacji i aktywacji wtyczki. Ale potrzebuję opcji, aby ustawić ją za pomocą przycisku resetowania po stronie administratora, aby ustawić ją domyślnie bez dezaktywacji wtyczki?


title: Jakie są wszystkie dostępne parametry dla query_posts?

text: Strona kodeksu WordPress dla query_posts stwierdza, że nie obejmuje wszystkich parametrów, które przyjmuje query_posts: > ## Parametry > > Nie jest to jeszcze wyczerpująca lista. Ma to na celu pokazanie kilku bardziej > powszechnych rzeczy możliwych przy ustawianiu własnych zapytań. Nie udało mi się znaleźć referencji wszystkich parametrów, które są akceptowane przez query_posts, chociaż nawet w prostej formie listy. Czy jest dostępna ściągawka lub coś podobnego z tymi danymi?


title: wypisz lub uzyskaj meta_klucz, gdzie meta_value to „coś”

text: Próbuję uzyskać za pomocą get_user_meta meta_key, gdzie meta_value to `'ive-read-this'` Ale nie otrzymuję wartości. Co powinienem zrobić?


title: Jak usunąć klucze osierocone w tabelach bazy danych WordPress?

text: W szczególności w tabeli `wp_options`. Po prawie 2 latach tworzenia bloga wydaje się, że bardzo się zwiększył, a nie wiem ile jest tam bzdur. Czy znasz wtyczkę, która współpracuje z WordPress 3.0 lub bezpieczne zapytanie do wyszukiwania kluczy/wierszy osieroconych?


title: WP_Query kategorii nie wyświetla pierwszego posta

text:
Mam następującą pętlę i tylko tę pętlę w moim pliku `home.php` (przepraszam, jeśli nie wkleiłem poprawnie kodu). Zapełniłem posty lorem ipsum i zauważyłem, że z pięciu postów tylko cztery pojawiają się na stronie. Wszelkie spostrzeżenia byłyby bardzo mile widziane.
 <?php // zapytanie $the_query = new WP_Query( 'category_name=news'); ?>  <?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <div itemprop="blogPost" id="post-<?php the_ID(); ?>" <?php post_class('snippet') ?>> <a itemprop="url" href="<?php the_permalink (); ?>" class="permalink">
<?php the_title(); ?>

<?php the_time('j M Y') ?>

<?php the_tags( '', ', ', '' ); ?>

 <?php the_excerpt(); ?>

 <?php endwhile; ?>

 < ?php posts_nav_link( ' ', '', '' ); ?>
 <?php else : ?>

Obecnie nie ma żadnych aktualizacji wiadomości.

 <?php endif; ?> <?php wp_reset_query(); ?>


title: Wtyczka do lokalizacji w jednym języku

text: Znalazłem dziesiątki wtyczek, które pomagają przetłumaczyć stronę Wordpress na różne języki. Jednak nie mogę znaleźć niczego, co pomogłoby mi zlokalizować Wordpress dla różnych regionów, z których wszystkie nadal używałyby języka angielskiego. Pozwól mi wyjaśnić. Mam witrynę internetową, która udostępnia GŁÓWNIE te same treści dla kilku różnych regionów (np. NYC, LA i Chicago). Chociaż struktura strony dla każdego regionu jest identyczna, niektóre małe bity różnią się między różnymi regionami. Na przykład strona kontaktowa będzie miała inny numer telefonu w zależności od regionu. To, co chciałbym zrobić, to móc ustawić domyślną zawartość i niestandardowe pola dla każdej strony, jednak mogę nadpisać wszystko, czego potrzebuję, dla regionalnych wersji każdej strony. Na przykład: http://example.com/nyc/contact i http://example.com/la/contact byłyby w większości identyczne, z wyjątkiem bitów ustawianych ręcznie. Istnieje kilka wtyczek, które to umożliwiają, ale są one bardzo skoncentrowane na wielojęzycznych witrynach internetowych, przez co mają mnóstwo nadprogramów i nie są zbyt wygodne (zwłaszcza, gdy trzeba je przekazać mniej technicznym kolegom lub klientom). Przykład wtyczki wielojęzycznej


title: Jak utworzyć szablon dla niestandardowego identyfikatora URI powiązanego z użytkownikiem

text: Pracuję w witrynie, w której używam wtyczki o nazwie Ulubione posty, dzięki czemu zalogowani użytkownicy mogą dodawać posty (niestandardowy typ postów) do swoich ulubionych. Stworzyłem stronę o nazwie `moje-ulubione`, która pozwala zalogowanemu użytkownikowi zobaczyć posty, które dodał do ulubionych. Teraz muszę stworzyć stronę, która pozwoli innemu użytkownikowi lub odwiedzającemu sprawdzić ulubione przez tego użytkownika. Więc muszę być w stanie zrobić trzy rzeczy: 1. Uzyskaj funkcję związaną z autorem, która zwraca link, taki jak `example.com/user/username`, który mogę dołączyć do /favorites, aby uzyskać link - `example.com/ user/username/favorites` (link `the_author_link()` i `get_the_author()` wydaje się prowadzić do strony internetowej, a `the_author_posts_url()` wyświetla tag z nazwą. dowolna funkcja, która po prostu pobiera adres URL lub może modyfikować autora wyświetlić użytkownika zamiast tego?) 2. Poproś WordPress, aby używał szablonu o nazwie `favorites.php` do wyświetlania tej strony. (Jeśli struktura się zgadza, to jak mam powiedzieć WordPressowi, którego szablonu użyć?) 3. Uzyskaj identyfikator użytkownika, aby pokazać odwiedzającym jego ulubione. W tej chwili używam krótkiego kodu `[favorite-post]` w moim pliku szablonu i mogę przekazać parametr o nazwie [favorite-post user_id = ""] Czy automatycznie otrzyma identyfikator użytkownika, jeśli strona jest rozgałęziona z /author? Znalazłem ten artykuł, ale nadal dotyczy on niestandardowych typów postów i `query_vars`, których nie używam. Jak sprawić, by działała na stronie ulubionych? Większość innych podobnych pytań zadawanych tutaj zostało rozwiązanych za pomocą slugu dla niestandardowego typu postu lub taksonomii.


title: Jak przeprowadzić migrację podwitryny z dev multisite do produkcyjnej multisite

text: Szukam najlepszego i najbezpieczniejszego sposobu na lokalne tworzenie wielu podwitryny przy użyciu multisite i przeniesienie ich do środowiska produkcyjnego, gdy będą gotowe. Przeprowadziłem już pełną migrację instalacji wielostanowiskowej z pierwszą podwitryną, która jest już dostępna. Wolałbym rozwijać inne witryny na serwerze lokalnym, więc zostawiam serwer produkcyjny w spokoju, ale oczywiście nie mogę ponownie przeprowadzić pełnej migracji. Szukałem rozwiązania, ale wszystko, co znalazłem, dotyczy przeniesienia pojedynczej witryny do wielu witryn lub odwrotnie, bez „przenoszenia podwitryny z wielu witryn do wielu witryn”. Chciałbym zachować wszystko: ustawienia, widżety i tak dalej.


title: Nie można dodać opcji do db

text:
Staram się stworzyć naprawdę prostą stronę opcji dla mojej witryny Wordpress, która zawiera tylko jedną opcję - kurs wymiany dla waluty. Mam następujący kod: add_action('admin_init', 'currency_options_set'); add_action( 'menu_admin', 'menu_admin' ); function admin_menu () { add_options_page( 'Opcje walutowe','Opcje walutowe','manage_options','options_currency', 'settings_page' ); } function currency_options_set(){ register_setting( 'currency_options_group', 'currency_options' ); } function settings_page () { $default_options = array( 'currency_eur' => "1.1" ); $opcje = get_option('currency_options', $default_options); ?> <forma metoda="post" action="options.php"> <?php settings_fields("currency_options_group"); ?>

 EUR:	  <input type="text" name="currency_options_group[currency_eur]" size=" 40" value="<?php echo stripslashes($options["currency_eur"]); ?>" />

 <input type=" submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
 </form> <?php } Pojawia się nowa strona opcji i widzę formularz ale kiedy go przesyłam, żadne opcje nie są zapisywane w tabeli wp_options. Czego mi tu brakuje?


title: Jak przekierować tagi ze starej witryny Joomla do nowej witryny WordPress?

text: Niedawno przekonwertowałem witrynę z Joomla na WordPress. Zajmuję się dopracowywaniem starych linków do stron Joomla, które nie pasują do struktury WordPressa, i napotkałem problem, w którym potrzebuję pomocy: tagi. Witryna Joomla miała blisko 500 tagów, a wszystkie tagi były indeksowane w Google i innych wyszukiwarkach. Linki do tagów Joomla mają strukturę taką jak „http://example.com/components/tag/apples.html” i „http://example.com/tags/apples.html”, podczas gdy linki tagów witryny WP wyglądają jak „ http://example.com/tag/jabłka/". To, co naprawdę chciałbym zrobić, to mieć przekierowanie 301, które wskazuje wszystkie stare tagi Joomla na ich odpowiedniki w nowej witrynie WP, zamiast robić kilkaset wpisów htaccess, po jednym dla każdego tagu („Przekieruj 301 http://example.com /komponenty/tag/jabłka.html http://example.com/tag/jabłka/" działa). Same tagi są takie same w obu witrynach, więc nie jest to kwestia zmiany nazwy tagów lub dopasowania tagów o różnych nazwach. Ale nie wiem, jak sprawić, by przekierowanie działało. Próbowałem robić rzeczy takie jak „Przekieruj 301 http://example.com/komponenty/tag/*.html http://example.com/tag/” lub „Przekieruj 301 http://example.com/komponenty/ tag/*.html http://example.com/tag/*/” lub http://example.com/tag/*/ lub http://example.com/tag/?/ dla celu przekierowania. Żadna z tych prac. Szczerze mówiąc, nie znam zbyt dobrze regexu, więc moje próby znalezienia rozwiązania byłyby głównie polowaniem na jajka wielkanocne, w których mogą lub nie mogą być żadnych jajek wielkanocnych. Więc mam nadzieję, że ktoś na forum WP będzie mógł mi pomóc lub wskazać mi rozwiązanie. Dzięki za pomoc Susan


title: Błąd generowania WP_Customize_Image_Control podczas używania

text: Dodaję kilka kontrolek dostosowywania do mojego motywu, ale trafiłem na szkopuł z klasą `WP_Customize_Image_Control`. Kontrolka jest wyświetlana, ale za każdym razem, gdy próbuję przesłać obraz, pojawia się następujący błąd -> TypeError: a.settings.data is undefined (`load-scripts.php`, wiersz 2) Czy ktoś natknął się na to wcześniej i nie tylko co najważniejsze, czy ktoś może mi powiedzieć, co muszę zrobić, aby to naprawić? Dziękuję. add_action('customize_register', 'register_costomisation_controls'); function register_costomisation_controls($wp_customize){ $wp_customize->add_section('header_section' , array( 'title' => __('Header', 'dd_theme'), 'priority' => 1000 )); $wp_customize->add_setting('header_image' ,array( 'default' => '', 'transport' => 'odśwież')); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'header_image', array( 'label' => __('Logo', 'dd_theme'), 'section' => 'header_section', 'settings' => 'header_image ', )) ); }


title: Zaktualizuj użytkownika ze skryptu zewnętrznego

text: Używam kodu API WordPress do aktualizacji niektórych pól profili użytkowników, ale mam pewne problemy. Kiedy próbuję zapisać informacje, nie aktualizują się, dopóki nie kliknę dwa razy. Na przykład dla użytkownika o nazwie user3465 **Na przykład :** $user=get_user_by('login',"user3465"); wp_set_password(''.$new_password.'',$user->ID); update_user_meta($user->ID, 'user_email', "".$new_email."" ); Uruchamiam formularz i ładuję nowe dane do bazy danych, ale muszę uruchomić innym razem, aby zobaczyć zmianę danych. Dlaczego to ?


title: Jaki jest najlepszy sposób wstawiania linków niezależnie od struktury permalinków?

text: ... czy jest sposób na wstawianie linków podobnie do Drupala za pomocą pathauto, czyli: Chcę ustawić linki w html w ten sposób: ?p=123 i Wordpress, aby przetwarzały je w czasie wykonywania i wyświetlały ładny url /page/title Nie podoba mi się też pomysł umieszczania pełnych adresów URL, ponieważ strona może działać na kilku serwerach (przynajmniej w czasie tworzenia)


title: Jak to możliwe, że widzę funkcję manage_categories, ale nie widzę możliwości manage_tags dla żadnego użytkownika?

text: Używając wtyczek takich jak "Members" lub "Capability Manager", nie widzę takiej możliwości `manage_tags`. Czy nie powinno być takiego, jak `manage_categories`? EDYCJA: Myślę, że to rozgryzłem. manage_terms dotyczy wszystkich taksonomii. Nie ma jednego specjalnie dla tagów, ale mógłbym go stworzyć, jeśli sobie tego życzę. Mogłoby to pozwolić mi na skonfigurowanie roli, która może edytować tylko kategorie, ale nie tagi i na odwrót. UWAGA: dostałem obniżoną ocenę. Jeśli oceniasz mnie niżej, _proszę podać dlaczego_. Dziękuję.


title: Jak uzyskać tytuł meta strony skonfigurowanej jako blog (pętla)

text: Używam funkcji do drukowania tytułów dla każdego rodzaju zawartości. Skonfigurowałem również nowy metabox w postach i na stronach, aby wprowadzić tag tytułu. Jest to część funkcji wypisującej tytuły: //... elseif (is_page() || is_single()) { //Tytuł strony i posta global $post; $metatytuł = get_post_meta($post->ID, 'metatitle_value_key', prawda); if ($metatytuł) { echo stripslashes($metatytuł); } inny { tytuł_(); } } //... else { wp_title(''); } Działa idealnie w przypadku postów i stron, z wyjątkiem sytuacji, gdy wybieram statyczną stronę główną i stronę bloga (jest to pusta strona utworzona wcześniej). Dzięki ostatniemu `else` wypisuje normalny tytuł strony 'Blog', ale nie drukuje metabox z metatytułem 'My metatitle box'. Myślałem, że to „z powodu identyfikatora posta, więc rozdzieliłem „is_page()” i „is_post()”, próbując wydostać identyfikator strony z pętli, za pomocą tego kodu „$page_id = get_queried_object_id();”, ale to jeden nie działał dla mnie. Poniższy kod jest tym, co mam: //... elseif (is_page()) { //Tytuł strony global $post; $page_id = get_queried_object_id(); $metatitle = get_post_meta($page_id, 'metatitle_value_key', prawda); if ($metatytuł) { echo stripslashes($metatytuł); } inny { tytuł_(); } } //... Co mogę spróbować to zrobić? Prawdopodobnie problem wynika ze sposobu wstawiania metaboksu, za każdym razem używa on `$post_id`. W każdym razie nie jestem pewien, bo to działa zarówno w przypadku postów, jak i stron.


title: Jak bezpieczne jest odnawianie $ wp_query podczas robienia stronicowania WP_Query w szablonie strony?

text: Przy wielu wyszukiwaniach i próbach i błędach nie mogę wykonać podziału na strony w niestandardowym szablonie strony. Właściwie nie jestem zmęczony, ale sfrustrowany, dlaczego najczęstszy problem z błędami nie jest wyjaśniony w taki sposób, aby ktoś mógł zagłębić się w rzeczywisty problem. W większości pytań i odpowiedzi jest rozwiązanie z dużą ilością kodu, które wcale nie jest rozwiązaniem kuloodpornym. Istnieje wiele filozofii, ale nie ma faktycznego dokopywania się do rozwiązania. W końcu natknąłem się na rozwiązanie Chrisa dotyczące paginacji niestandardowego typu postu. Nie mam do czynienia z CPT, ale rozwiązanie zadziałało dla mnie. Gdzie moje argumenty zapytania to: $wp_query->query('posts_per_page=3&post_type=post&order=DESC&orderby=date&post_status=publish'.'&paged='.$paged); Poza tą porcją wszystko jest tak, jak stwierdził Chris. Moja paginacja działa ładnie. Ale tak naprawdę niepokoi mnie kilka kwestii: 1. Po pierwsze, co właściwie robi kod? 2. _Myślę_, że teraz zajmuje to więcej czasu (problem z wydajnością) niż rozwiązanie domyślne — czy to _właściwie_ to prawda? 3. Czy to bezpieczne mieszanie z globalnym `$wp_query`?


title: Jak zaimplementować wyszukiwanie aspektowe w Wordpress 3.x?

text: Chciałbym umożliwić odwiedzającym witrynę wyszukiwanie postów w oparciu o różne atrybuty (kategorie, tagi, pola niestandardowe). Próbowałem używać Solr, ale to nie działa. Próbowałem użyć wtyczek MySolrServer dla lokalnej instancji Solr i hostowanej instancji, ale wtyczka nie działa. Próbowałem też używać Solr dla Wordpressa, ale wtyczka nie dawała się włączyć. Nie chcę używać czegoś takiego jak Analiza taksonomii. Mając to na uwadze, jak mogę teraz spróbować wdrożyć prawdziwe wyszukiwanie aspektowe, które umożliwi odwiedzającym witrynę wyszukiwanie postów na podstawie atrybutów?


title: Wtyczka umożliwiająca użytkownikom dodawanie artykułów do biblioteki

text: Obecnie przebudowujemy naszą stronę (obecnie na Joomla) na nową platformę Wordpress i obawiam się, że stracę ważną funkcję. Mam witrynę opartą na członkostwie, a jedną z funkcji, którą chcę zapewnić, jest umożliwienie członkom prowadzenia własnej biblioteki ulubionych artykułów z naszej listy artykułów. Mamy ponad 1000 artykułów online, więc ta funkcja pozwoliłaby członkom zapisać swoje ulubione, aby mieć do nich łatwy dostęp. Próbowałem szukać wtyczek dokumentów i bibliotek, ale nie mogę znaleźć niczego odpowiedniego. Czy ktoś zna wtyczkę, która zrobiłaby to skutecznie? Jakieś inne pomysły? Dziękuję bardzo za poświęcony czas.


title: Czym dokładnie jest „motyw wordpress”?

text: Co to znaczy, gdy w książce mówi się, że chodzi o temat wordpress?


title: orderby ignorowane przez wp_query

text: Z następującym kodem nie otrzymuję zestawu wyników uporządkowanego według tytułów. Bez względu na to, jakie wartości podaję 'orderby' i 'order', otrzymuję to samo zamówienie. Parametry wydają się być ignorowane (lub zastępowane?) Przez coś innego. Masz pomysł, jak rozwiązać ten problem? Czy jest jakiś konkretny filtr, na który powinienem patrzeć, przez który niektóre wtyczki mogą go zastąpić? Czy poniższy kod powinien działać po wyjęciu z pudełka? JEŚLI wygląda poprawnie, coś musi przeszkadzać. $args = Array( 'post_type' => 'post' 'category_name' => 'recenzji' 'posts_per_page' => '999' 'orderby' => 'title' 'order"' => 'ASC' 'post_status' = > 'publish' ) $customloop = new WP_Query(); $customloop->query($args); while ($customloop->have_posts()) { ... }


title: Comiesięczne linki do archiwum Wordpress dają wynik 404

text: Kiedy używam widżetu archiwum na pasku bocznym, tworzy on normalną miesięczną listę archiwum postów, taką jak: * Luty 2014 * Styczeń 2014 * Październik 2013 i tak dalej. Za każdym razem, gdy klikam te linki, otrzymuję stronę 404. Adresy URL generowane przez widżet archiwum dla list miesięcznych mają następujący format: > www.mojawitryna.com/pedestrian/2014/02/ Jednak ręczne wpisanie następującego stylu adresu URL działa: > www.mojawitryna.com/pedestrian/?post_type= news&year=2014&monthnum=02 Pokazuje dokładnie to, czego oczekiwałbym (wszystkie posty z lutego 2014). Wierzę, że poniższy kod rozwiąże mój problem, ale nie wiem, gdzie go umieścić. // Dodaj archiwum dnia (i stronicowanie) add_rewrite_rule("pieszy/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/? ([0-9]{1,})/?",'index.php?post_type=news&year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4] ','Top'); add_rewrite_rule("pieszy/([0-9]{4})/([0-9]{2})/([0-9]{2})/?",'index.php?post_type=news&year= $matches[1]&monthnum=$matches[2]&day=$matches[3]','top'); // Dodaj archiwum miesiąca (i stronicowanie) add_rewrite_rule("pieszy/([0-9]{4})/([0-9]{2})/page/?([0-9]{1,}) /?",'index.php?post_type=news&year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]','top'); add_rewrite_rule("pieszy/([0-9]{4})/([0-9]{2})/?",'index.php?post_type=news&year=$matches[1]&monthnum=$matches[2 ]','Top'); // Dodaj archiwum roku (i paginację) add_rewrite_rule("pieszy/([0-9]{4})/page/?([0-9]{1,})/?",'index.php?post_type= news&year=$matches[1]&paged=$matches[2]','top'); add_rewrite_rule("pieszy/([0-9]{4})/?",'index.php?post_type=news&year=$matches[1]','top'); Czy jestem na dobrej drodze, a jeśli tak, to gdzie mam umieścić ten kod? Dziękuję!


title: Jak usunąć strony menu administratora wstawione przez wtyczki?

text: Mam następujący kod, który czyści wiele rzeczy, które nie będą używane w obszarze administracyjnym: add_action( 'admin_menu', 'my_remove_menu_pages' ); function my_remove_menu_pages() { remove_menu_page( 'edit.php' ); //Posty remove_menu_page( 'upload.php' ); //Media remove_menu_page( 'edit-comments.php' ); //Komentarze remove_menu_page( 'themes.php' ); //Wygląd remove_menu_page( 'users.php' ); //Użytkownicy remove_menu_page( 'tools.php' ); //Narzędzia remove_menu_page( 'opcje-general.php' ); //Ustawienia }; Istnieją jednak dwa elementy menu, które zostały wstawione z wtyczek. Kiedy najeżdżam kursorem na każdy element menu, pojawia się informacja, że linki to: /wp-admin/edit.php?post_type=acf /wp-admin/admin.php?page=wpcf7 Czy istnieje również sposób na ukrycie tych stron menu?


title: Nie można nadpisać hooks.php

text: Tworzę motyw potomny do „Responsive Theme” od Cyberchimps. Chciałbym zmienić jeden haczyk. Więc chyba potrzebuję pliku hooks.php w moim motywie potomnym. Więc skopiowałem to od rodzica. Utworzyłem tę samą hierarchię (chyba to właściwe podejście). wp-content/[my_child_theme]/core/includes/hooks.php Kopiowanie pliku do katalogu głównego motywu nie pomogło. Próbowałem też po prostu odtworzyć ten krytyczny hak. Umieściłem kod w moim podrzędnym pliku functions.php, ale to też nie działa, ponieważ hooki zdarzają się po temacie (tylko moje założenie). Pytanie jest więc proste: jak nadpisać plik hook.php motywu nadrzędnego?


title: Czy istnieje funkcja PHP, która może dopasować wszystko po podanym adresie URL, więc moja instrukcja IF będzie działać w każdym przypadku?

text: Mam instrukcję IF pokazaną poniżej, która uruchamia jedno z 2 niestandardowych zapytań na podstawie adresu URL. Problem, z którym się zmagam, polega na tym, że jeśli adres URL zawiera podział na strony, taki jak `/page/2/`, moje zapytanie kończy się niepowodzeniem, ponieważ adres URL nie jest poprawnie dopasowany. Jestem bardzo nowy w php i podczas moich poszukiwań natknąłem się na kilka różnych funkcji php, które mogą pomóc w mojej sytuacji - po prostu nie jestem pewien, jak z nich korzystać i które są bardziej wydajne dla moich potrzeb. Są to: „preg_match”, „parse_url” i „dirname”. Na przykład `site.com/players` wyświetla listę graczy, a `site.com/players/type/pro` wyświetla profesjonalnych graczy. Ten ostatni został przepisany i jest właściwie `site.com/players/?type=pro`. Poniższa instrukcja if jest tym, co mam teraz i nie uruchomię pierwszego zapytania, jeśli adres URL zawiera coś po segmencie /plus/, na przykład stronicowanie w moim przypadku: if ( $_SERVER['REQUEST_URI'] == '/players/ type/pros/' ) { //uruchom zapytanie, aby wyświetlić listę zalet } else { //uruchom domyślne zapytanie dla graczy } Oto, co muszę zrobić, co działa, ale bez ręcznej pracy związanej z pisaniem OR dla każdą stronę. W tym miejscu zgaduję, że jedna z tych funkcji php wejdzie w grę. if ( $_SERVER['REQUEST_URI'] == '/gracze/typ/pros/' || $_SERVER['REQUEST_URI'] == '/gracze/typ/pro/strona/2/' || $_SERVER[' REQUEST_URI'] == '/players/type/pros/page/3/' || $_SERVER['REQUEST_URI'] == '/players/type/pros/page/4/' ) { //uruchom zapytanie lista profesjonalistów } else { //uruchom domyślne zapytanie dla graczy } **Aktualizuj** Dzięki tym, którzy odpowiedzieli. Zagłębiałem się w przepisywanie WordPressa i z pomocą kilku bardzo pouczających postów na tej stronie skończyło się na tym, że zrobiłem to w ten sposób. 1. Stworzyliśmy nowy szablon strony o nazwie player-types.php, który będzie obsługiwał przychodzące zapytania lub zapytania. Być może będę musiał wymienić graczy według innych typów. 2. Ustaw kilka reguł przepisywania umieszczonych w functions.php add_filter('init', 'add_page_rewrite_rules'); function add_page_rewrite_rules() { //pasuje do www.site.com/players/type/pro add_rewrite_rule('^players/type/([^/]*)/?$','index.php?pagename=player-types&type =$pasuje[1]','góra'); //pasuje do www.site.com/players/type/pro/page/2 add_rewrite_rule('^players/type/([^/]*)/page/([0-9]+)?$',' index.php?pagename=player-types&type=$matches[1]&paged=$matches[2]','top'); } 3. Dodałem zmienną `type` do `query_vars`, abym mógł jej użyć w nowym szablonie strony (umieszczonym w functions.php) add_filter( 'query_vars', 'add_query_vars' ); funkcja add_query_vars( $query_vars ) { $query_vars[] = 'typ'; //dodaj typ do zapytania vars return $query_vars; } 4. A szablon strony w swojej najbardziej podstawowej formie wygląda tak <?php /* Nazwa szablonu: Typy graczy */ ?> <?php if ( $wp_query->query_vars['type'] == 'pro' ) { //custom pro query } ?> Dzięki temu mogę mieć `www.site.com/players/type/pro` i mogę go rozwinąć do `www.site.com/players/type/whatever-else`. Normalni gracze są nadal wymienieni na `www.site.com/players/`. A dla tych, którzy się zastanawiają, nie zrobiłem tego za pomocą taksonomii, ponieważ wymieniam graczy na podstawie ich niestandardowej roli WordPress (wciągając identyfikator autora do zapytania), zamiast mieć pole wyboru, które ktoś musi ręcznie zaznaczyć .


title: Fragmenty automatycznie usuwają odstępy w akapicie

text: Używam fragmentów postów na mojej stronie głównej. W moim fragmencie podsumowanie wpisu wydaje się być zbite razem bez spacji wskazanych w poście (np. spacje akapitów są automatycznie usuwane). Rozumiem, że jest to zachowanie domyślne. Pytanie: Czy istnieje sposób na zachowanie akapitu we fragmentach? Aby wyświetlić fragment na przedniej stronie w loop.php motywu Dwadzieścia dziesięć, zmieniłem to (wokół wiersza #137: <?php if ( is_archive() || is_search() ) : // Wyświetlaj tylko fragmenty dla archiwów i wyszukiwania. ? > z tym: <?php if ( is_home() || is_front_page() || is_archive() || is_search() ) : // Wyświetlaj tylko fragmenty archiwów i wyszukiwania. ?> dzięki.


title: Jak wstawić kod śledzenia JS na stronę za pomocą edytora WP?

text: Mój klient musi dodawać unikalne bloki JavaScript do niektórych stron, aby śledzić odwiedzających. Jak mam to zrobić? Na początku próbowałem użyć niestandardowego pola, ale pole wyrzuciło wszystko przed wysłaniem go na stronę, więc otrzymałem pusty wynik. Następnie zainstalowałem rozszerzenie Zaawansowane pola niestandardowe, które pozwala dodać kod do strony, a następnie wywołać go w szablonie, ale umieszcza kod w tagach skryptu, co psuje kod śledzenia. Więc teraz jestem trochę zagubiony.


title: Konkretny sposób, aby umożliwić użytkownikom Wordpress przeglądanie ich aktualnego hasła? I edytować?

text: Wiem, że wbudowany menedżer użytkowników nie pozwala użytkownikowi zobaczyć, jaka jest jego aktualna przepustka, po prostu odzyskaj / zresetuj ją przez e-mail lub napisz nową w adminie, ale szukam wtyczki lub innej metody, aby to obejść i umożliwia utworzenie strony profilu użytkownika, która pozwala użytkownikowi zobaczyć swoje aktualne hasło w polu i zaktualizować go tam, jeśli sobie tego życzy. Zdaję sobie sprawę, że standardowy Wordpress na to nie pozwala, więc jestem otwarty na wtyczkę taką jak s2member - lub jakąkolwiek inną - ale nie jestem pewien, czy którykolwiek z nich to robi. Używam Amember na jednej stronie i integruje się z WordPress za pomocą wtyczki i możesz edytować i przeglądać hasła w Amember w sposób, o którym wspomniałem, ale nie mogę hostować Amember na hoście takim jak WPENGINE z dodatkowymi rygorystycznymi zabezpieczeniami. Dziękuję.


title: Jak usunąć opis meta lub inną zawartość <head>?

text: Mam wtyczkę, która generuje opis meta lub tytuł jako dwie z jego funkcji. Jednak napotykam problem związany z instalacją innych wtyczek SEO, co kończy się dwoma opisami meta lub zduplikowanymi tytułami. Idealnie, chciałbym wykryć, co jest już w sekcji `<head>` i jeśli jest obecny opis meta, przepisz go z danymi wyjściowymi z mojej wtyczki. Jeśli nie ma opisu meta, po prostu dodaję jeden (to łatwa część). Ta sama sytuacja dotyczy tytułów. Problem polega na tym, że nie mogę znaleźć żadnego sposobu na uzyskanie zawartości `<head>`, jak można to zrobić z `the_content` w haczyku filtra lub akcji. Nie można edytować motywu, ponieważ musi działać niezależnie od zainstalowanego motywu. Potrzebuję sposobu, aby to osiągnąć za pomocą haka lub innej metody z samej wtyczki. Propozycje? Dziękuję!


title: Złap wszystkie szablony taksonomii

text: Utworzyłem niestandardową taksonomię i staram się, aby Wordpress wyświetlał szablon taksonomii, gdy nie jest zdefiniowany żaden termin. Obecnie Wordpress pokazuje szablon tylko wtedy, gdy termin jest zdefiniowany w adresie URL. Moja taksonomia nazywa się `projekty` i jest zdefiniowana w następujący sposób: $args = array( 'labels' => array( 'name' => "Categories", 'singular_name' => "Category", 'search_items' => "Kategorie wyszukiwania ", 'popular_items' => "Popularne kategorie", 'all_items' => "Wszystkie kategorie", 'parent_item' => "Kategoria nadrzędna", 'parent_item_colon' => "Kategoria nadrzędna:", 'edit_item' => "Edytuj Kategoria", 'update_item' => "Aktualizuj kategorię", 'add_new_item' => "Dodaj nową kategorię", 'new_item_name' => "Nowa nazwa kategorii", ), 'hierarchical' => PRAWDA, 'label' => ' Categories', 'query_var' => TRUE, 'rewrite' => array( 'slug' => 'projekty' ), ); register_taxonomy('projekty', 'projekt', $args); Oprócz tego stworzyłem plik szablonu o nazwie `taxonomy-projects.php`. Obecnie, kiedy przeglądam adres URL `http://mysite.com/projects`, Wordpress wraca do `index.php`. Jak mogę sprawić, by kiedy nie zdefiniowano żadnego terminu, Wordpress wyświetlał mój szablon `taxonomy-projects.php`? **AKTUALIZACJA** : Powinienem był dodać to od razu, kasuję moje reguły przepisywania za każdym razem, gdy wprowadzam zmianę, aby spróbować ponownie.


title: Strony rodziców/dzieci

text: Uważam, że strony nadrzędne/podrzędne w obszarze „Strony” WordPressa stały się nieco mylące od czasu wprowadzenia nowego obszaru tworzenia menu. Korzystając z nowego systemu menu, o ile wiem, mogę ustawić stronę, która sama jest stroną podrzędną (w sekcji stron), aby była stroną nadrzędną strony, która sama jest stroną nadrzędną. Czy ktoś może mi powiedzieć, czy cały scenariusz stron nadrzędnych/podrzędnych jest teraz zastąpiony przez nowy system menu, i jeśli nie planujemy używania wp_list_pages w motywie, powinniśmy całkowicie unikać stron podrzędnych i zamiast tego po prostu decydować, gdzie się znajdują w obszarze menu. Co zwykle robi się w witrynie, która nie używa wp_list_pages ?


title: Przesunięcie dla pętli

text:
Chcę mieć przesunięcie o 4 posty dla moich powiązanych postów. Używam jQuery Tools Scrollable firmy Flowplayer, więc chcę, aby ludzie mogli przewijać 4 ostatnie posty, potem kolejne 4 posty itd. Próbowałem czegoś takiego, ale ciągle otrzymuję komunikaty o błędach:
Powiązane posty

  <?php $backup = $ Poczta; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args = array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'posts_per_page'=> 12 ); $my_query = nowe WP_Query( $args ); if( $my_query->have_posts() ): ?>
 <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?> <a href="<?php the_permalink() ?>" rel="zakładka"><?php the_post_thumbnail(array(120,80)); ?>
<a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>"> <?php tytuł_(); ?>

 // jeśli to nie jest ostatni post // a reszta bieżącego posta plus jeden to podzielona przez cztery daje zero // zamknij kontener i otwórz nowy <? php if( $moje_zapytanie->aktualny_post != ( $moje_zapytanie->liczba_postów - 1 ) && ( ( $moje_zapytanie->aktualny_post + 1 ) % 4 ) == 0 ): ?>

 <?php endif; koniec; ?>
 <?php endif; ?> <?php $post = $kopia zapasowa; wp_reset_query(); ?>

 <?php comments_template(); ?>

 <?php endwhile; else: ?>
Przepraszam, ale szukasz czegoś, czego tu nie ma.
 <?php endif; ?> Otrzymuję następujący błąd: > Błąd analizy: błąd składni, nieoczekiwany T_ENDWHILE w > /hermes/bosweb25a/b155/ipg.zoomingjapancom/wp-content/themes/alltuts- > child/single.php w wierszu 165 165: <?php koniec; else: ?> **EDYTUJ:** To jest moja oryginalna konfiguracja bez offsetu (tylko ta sama pętla dwa razy). Działa to dobrze bez żadnych błędów:
Powiązane posty

 <!- - Powiązane posty--> <?php $backup = $post; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'showposts'=>4, // Liczba powiązanych postów, które zostaną wyświetlone. 'caller_get_posts'=> 1); $ my_query = nowe wp_query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) { $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="zakładka"><?php the_post_thumbnail(array(120,80)); ?>
<a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>"> <?php tytuł_(); ?>

 <?php } echo ''; } } $post = $kopia zapasowa; wp_reset_query(); ?>

  <?php $backup = $post; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'showposts'=>4, // Liczba powiązanych postów, które zostaną wyświetlone. 'caller_get_posts'=> 1); $ my_query = nowe wp_query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) { $my_query->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="zakładka"><?php the_post_thumbnail(array(120,80)); ?>
<a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>"> <?php tytuł_(); ?>

 <?php } echo ''; } } $post = $kopia zapasowa; wp_reset_query(); ?>
 Oto cały singiel.php: http://pastebin.com/x2mbQUFM Nie wydaje mi się, abym zauważył błąd i mam nadzieję, że ktoś może mi tutaj pomóc. Z góry dziękuję!


title: Masz problem z widżetem

text: próbuję zbudować widżet, który wyświetlałby listę najlepszych autorów na pasku bocznym.. To nie jest mój pierwszy widget, ale jest to mój drugi, więc przepraszam, jeśli jestem daleko.. Problem polega na tym, że kiedy przeciągam widget na bok (oczywiście w adminie) i zapisuje to nie ma gdzie.. później, gdy sprawdzam, widzę po odświeżeniu strony z widżetami, że nie istnieje.. **oto mój kod widżetu:** --> http:/ /pastebin.com/Hf4xTUHG wiem, że to raczej leniwe, ale czy ktoś może pomóc / dać pomysł, dlaczego tak się dzieje?


title: Integracja Buddypress z wordpress

text: Potrzebowałem wskazówek, jak rozwiązać mój problem. Chciałbym mieć zainstalowany buddypress na mojej stronie, aby każdy użytkownik mógł zobaczyć link do bloga na swoim profilu, za pomocą którego może zamieszczać swój własny post na blogu. Czy można to zrobić z wordpressem i buddypressem? Każda pomoc jest mile widziana.


title: Pokaż niestandardowy post od zalogowanego autora

text:
Mam skonfigurowaną niestandardową stronę główną, aby po zalogowaniu użytkownicy zobaczyli przegląd swojego konta. Chcę pokazać im wszystkie własne posty, ale mam problemy i mogę tylko pokazać wszystkim aktualnie opublikowane posty. Muszę pokazać tylko zalogowanemu użytkownikowi jego własny post. Mam również problemy z kategoriami pokazującymi wszystkie kategorie w typie postu, a nie tylko to, co ma post. Czego muszę użyć zamiast wp_list_categories, aby po prostu wyświetlić listę kotów dołączonych do posta? <?php query_posts( array( 'post_author' => $current_user->ID, 'post_status' => 'publish' , 'post_type' => array( 'user_lists' ) ) ); ?> <?php if ( have_posts() ) while ( have_posts() ): the_post(); ?> <?php echo '

'; echo ''; the_time('F j, Y'); ?> w <?php the_time('g:i a'); echo ''; echo '

'; echo wp_list_categories('taxonomy=list_type&type=user_lists&title_li=&style='); echo '

'; echo wp_list_categories('taxonomy=stan_listy&type=listy_użytkowników&title_li=&style='); echo '

'; the_tags('', '', '', ''); echo '

'; ?> <form class="delete-coupon" action="" metoda="post"> <input type="ukryty" name="postid" value="<?php the_ID(); ?>" /> <input class="more-button" type="submit" value="Delete" /> </form> <?php echo '

'; ?> <?php koniec; ?> <?php wp_reset_query(); ?>


title: Transfer WAMP do XAMPP WordPress

text: Chcę zmienić witrynę WordPress z wamp localhost na xampp localhost. Korzystając z Narzędzia > Eksportuj, zapisałem zawartość WordPressa do pliku XML. Nie stworzyłem podobnej kopii zapasowej baz danych MySQL (i nie będę mógł), ale wszystkie pliki mam z wampa. Jak mogę dokonać tego transferu bez konieczności instalowania nowej wersji WordPressa? W widżetach i wtyczkach są ważne ustawienia, które muszę zachować. Chcę umieścić odpowiednie pliki wamp i WordPress w odpowiednich folderach xampp i WordPress. Z góry dziękuję.


title: Niestandardowy metabox nie działa

text:
Poranek! Mam wywołanie w moim pliku `functions.php`, aby umieścić niestandardowy plik php meta-box w katalogu mojego motywu o nazwie: `/metaboxes/home-meta.php` Kod wywołania wygląda następująco: add_action( 'add_meta_boxes_page ','load_home_meta' ); function load_home_meta() { $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ; if($post_id == '104'){ include( get_template_directory() . '/metaboxes/home-meta.php' ); } } Dołączanie już działa (miałem funkcję `add_meta_boxes` owiniętą wokół moich metaboksów w pliku `home-meta.php` poniżej (zaktualizowany kod)). Jednak otrzymuję błędy w każdym metaboksie umieszczającym pierwszy `przypadek` w `przełączniku` dla funkcji zwrotnych. Przykładowy błąd to: > Ostrzeżenie: Nieprawidłowy argument podany dla foreach() w > /Users/[my_mac]/Sites/[katalog_strony]/wp- > content/themes/[site_theme]/metaboxes/home-meta.php on-line 224 Kod `home-meta.php` to:<?php /** * Niestandardowa zawartość meta strony głównej * **/ add_meta_box( 'home_meta_box', // $id 'Zawartość strony głównej', // $title 'show_home_meta_box', // $callback 'page', // $page 'normalny', // $context 'wysoki'); // $priority add_meta_box( 'home_meta_box_lower_1', // $id 'Home dolny lewy', // $title 'show_home_meta_box_lower_left', // $callback 'page', // $page 'normal', // $context 'high '); // $priority add_meta_box( 'home_meta_box_lower_2', // $id 'Home Lower Center', // $title 'show_home_meta_box_lower_center', // $callback 'page', // $page 'normal', // $context 'high '); // $priority add_meta_box( 'home_meta_box_lower_3', // $id 'Home na dole po prawej', // $title 'show_home_meta_box_lower_right', // $callback 'strona',// $strona 'normalna', // $context 'wysoka'); // $priority // Tworzenie tablicy dla pól $prefix = 'home_'; $home_meta_fields = array( array( 'label' => 'Tytuł podpisu', 'desc' => 'Tytuł podpisu H2 górnej sekcji.', 'id' => $prefix.'title', 'type' => 'text ' ), array( 'label' => 'Tytuł podpisu', 'desc' => 'Tytuł podpisu H3 górnej sekcji.', 'id' => $prefix.'sub_title', 'type' => 'text' ), array( 'label'=> 'Caption', 'desc' => 'Blok tekstu podpisu.', 'id' => $prefix.'caption', 'type' => 'textarea' ), array( ' label' => 'Caption Image', 'desc' => 'Prześlij wstępnie przycięty obraz o szerokości 1140 pikseli i wysokości 530 pikseli zoptymalizowany pod kątem sieci.','id' => $prefix.'image', 'type' => 'image' ) );// end caption array $prefix2 = 'home_lower_left_'; $home_meta_fields_lower_left = array( array( 'label' => 'Tytuł kolumny', 'desc' => 'Tytuł H2 dla kolumny.', 'id' => $prefix2.'title', 'type' => 'text' ), array( 'label' => 'Obraz w kolumnie', 'desc' => 'Prześlij wstępnie przycięty obraz zoptymalizowany do internetu o szerokości 360 i wysokości 300 pikseli', 'id' => $prefix2.'image', ' type' => 'image' ), array( 'label' => 'Podtytuł kolumny', 'desc' => 'Podtytuł H3 nad blokiem tekstu.', 'id' => $prefix2.'sub_title' , 'type' => 'text' ), array( 'label'=> 'Blok tekstu', 'desc' => 'Blok tekstu podpisu.','id' => $prefix2.'caption', 'type' => 'textarea' ), array( 'label' => 'Etykieta przycisku', 'desc' => 'Etykieta linku przycisku (co użytkownik czyta na przycisku) .', 'id' => $prefix2.'btn_label', 'type' => 'text' ), array( 'label' => 'Tag tytuł przycisku', 'desc' => 'Po najechaniu i tekst SEO. ', 'id' => $prefix2.'btn_title_tag', 'type' => 'text' ), array( 'label' => 'URL przycisku', 'desc' => 'URL, do którego prowadzi link do przycisku. Wpisz http :// do pracy.', 'id' => $prefix2.'btn_url', 'type' => 'text' ) );// end lower left array $prefix3 = 'home_lower_center_'; $home_meta_fields_lower_center = array( array( 'label' => 'Tytuł kolumny', 'desc' => 'Tytuł H2le for column.', 'id' => $prefix3.'title', 'type' => 'text' ), array( 'label' => 'Obraz kolumny', 'desc' => 'Prześlij pre- przycięty 360px szeroki x 300px wysoki obraz zoptymalizowany do internetu.', 'id' => $prefix3.'image', 'type' => 'image' ), array( 'label' => 'Podtytuł kolumny', ' desc' => 'H3 podtytuł nad blokiem tekstu.', 'id' => $prefix3.'sub_title', 'type' => 'text' ), array( 'label'=> 'Blok tekstowy', ' desc' => 'Blok tekstu podpisu.', 'id' => $prefix3.'caption', 'type' => 'textarea' ), array( 'label' => 'Etykieta przycisku', 'desc' => 'Etykieta linku przycisku (co użytkownik czyta na przycisku).', 'id' => $prefix3.'btn_label', 'type' => 'text' ), array( 'label' => 'Tytuł przycisku', 'desc' => 'Po najechaniu kursorem i tekst SEO.', 'id' => $prefix3.'btn_title_tag', 'type ' => 'text' ), array( 'label' => 'URL przycisku', 'desc' => 'URL, do którego prowadzi link przycisku. Wpisz http://, aby działać.', 'id' => $prefix3. 'btn_url', 'type' => 'text' ) );// koniec dolnej środkowej tablicy $prefix4 = 'home_lower_right_'; $home_meta_fields_lower_right = array( array( 'label' => 'Tytuł kolumny', 'desc' => 'Tytuł H2 dla kolumny.', 'id' => $prefix4.'title', 'type' => 'text' ), array( 'label' => 'Obraz kolumny', 'desc' => 'Prześlij wstępnie przycięty obraz zoptymalizowany pod kątem internetu o szerokości 360 i wysokości 300 pikseli', 'id' => $prefix4.'image', 'type' => 'image' ), array( 'label' => 'Podtytuł kolumny', 'desc' => 'Podtytuł H3 nad blokiem tekstu.', 'id' = > $prefix4.'sub_title', 'type' => 'text' ), array( 'label'=> 'Blok tekstu', 'desc' => 'Blok tekstu podpisu.', 'id' => $prefix4. 'caption', 'type' => 'textarea' ), array( 'label' => 'Etykieta przycisku', 'desc' => 'Etykieta linku do przycisku (co użytkownik czyta na przycisku).', 'id' => $prefix4.'btn_label', 'type' => 'text' ), array( 'label' => 'Tag tytułu przycisku', 'desc' => 'Po najechaniu kursorem i tekst SEO.', 'id' => $ prefix4.'btn_title_tag', 'type' => 'text' ), array( 'label' => 'Przycisk URL', 'desc' => 'URL, do którego prowadzi link. Wpisz http:// do pracy.', 'id' => $prefix4.'btn_url', 'type' => 'text' ) );// end dolna prawa tablica //Funkcja Callback show_home_meta_box() { global $ home_meta_fields, $post; // Użycie wartości nonce do weryfikacji echo '<input type="hidden" name="home_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; //Rozpocznij tabelę pól i pętlę echo '
'; foreach ($home_meta_fields as $field) { // pobierz wartość tego pola, jeśli istnieje dla tej strony $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 ';switch($field['type']) { // wielkość liter pojawią się tutaj // wielkość liter 'text': echo '<input type="text" name="'.$field['id'].'" id="'.$pole['id'].'" value="'.$meta.'" size="30" />
'.$pole[' opis'].''; przerwanie; // textarea wielkość liter 'textarea': echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows=" 4">'.$meta.'</textarea>
'.$pole['desc'].''; przerwanie; case 'image': $image = get_template_directory_uri().'/library/images/img-preview-blank.png'; echo ''.$image.''; if ($ meta) { $ image = wp_get_attachment_image_src ($ meta, 'medium'); $obraz = $obraz[0]; } echo '<input name="'.$field['id'].'" type="hidden" class="custom_upload_image" value="'.$meta.'" />
 <input class="custom_upload_image_button button" type="button" value="Wybierz obraz" />  Usuń obraz
'.$field['opis'].''; przerwanie; } // koniec przełącznika echo '
'; } // koniec foreach echo '
'; // zakończenie tabeli } // Zapisz funkcję danych save_home_meta($post_id) { global $home_meta_fields; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['home_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 daneforeach ($home_meta_fields jako $field) { $old = get_post_meta($post_id, $field['id'], true); $nowy = $_POST[$pole['id']]; if ($nowy && $nowy != $stary) { update_post_meta($post_id, $field['id'], $new); } elseif ('' == $nowy && $stary) { delete_post_meta($post_id, $field['id'], $old); } } // koniec foreach } add_action('save_post', 'save_home_meta'); // zakończenie górnej zawartości strony głównej // dolna lewa //funkcja wywołania zwrotnego show_home_meta_box_lower_left() { global $home_meta_fields_lower_left, $post; // Użycie wartości nonce do weryfikacji echo '<input type="hidden" name="home_meta_box_left_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; //Rozpocznij tabelę pól i pętlę echo '
'; foreach ($home_meta_fields_lower_left as $field) { // pobierz wartość tego pola, jeśli istnieje dla tej strony $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 '; switch($field['type']) { // wielkość liter pojawią się tutaj // wielkość liter 'text': echo '<input type="text" name="'.$field['id'].'" id="'.$pole['id'].'" value="'.$meta.'" size="30" />
'.$pole[' opis'].''; przerwanie; // textarea wielkość liter 'textarea':echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows="4">'.$meta. '</textarea>
'.$pole['desc'].''; przerwanie; wielkość liter 'image': $image = get_template_directory_uri().'/library/images/img-preview-blank.png'; echo ''.$image.''; if ($ meta) { $ image = wp_get_attachment_image_src ($ meta, 'medium'); $obraz = $obraz[0]; } echo '<input name="'.$field['id'].'" type="hidden" class="custom_upload_image" value="'.$meta.'" />
 <input class="custom_upload_image_button" type="button" value="Wybierz obraz" />  Usuń obraz
'.$field['desc'].''; przerwanie; } // koniec przełącznika echo '
'; } // koniec foreach echo '
'; // zakończenie tabeli } // Zapisz funkcję danych save_home_meta_lower_left($post_id) { global $home_meta_fields_lower_left; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['home_meta_box_left_nonce'], basename(__FILE__))) return $post_id; // sprawdź autozapis jeśli (defined('DOING_AUTOSAVE')&& DOING_AUTOSAVE) zwróć $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 ($home_meta_fields_lower_left jako $field) { $old = get_post_meta($post_id, $field['id'], true); $nowy = $_POST[$pole['id']]; if ($nowy && $nowy != $stary) { update_post_meta($post_id, $field['id'], $new); } elseif ('' == $nowy && $stary) { delete_post_meta($post_id, $field['id'], $old); } } // koniec foreach } add_action('save_post', 'save_home_meta_lower_left'); // koniec dolnego lewegot // Środkowa dolna kolumna //Funkcja wywołania zwrotnego show_home_meta_box_lower_center() { global $home_meta_fields_lower_center, $post; // Użycie wartości nonce do weryfikacji echo '<input type="hidden" name="home_meta_box_center_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; //Rozpocznij tabelę pól i pętlę echo '
'; foreach ($home_meta_fields_lower_center as $field) { // pobierz wartość tego pola, jeśli istnieje dla tej strony $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 '; switch($field['type']) { // case itemy trafią tutaj // textcase 'text': echo '<input type="text" name="'.$field['id'].'" id="'.$field['id'].'" value="'.$ meta.'" size="30" />
'.$field['desc'].''; przerwanie; // textarea wielkość liter 'textarea': echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows=" 4">'.$meta.'</textarea>
'.$pole['desc'].''; przerwanie; wielkość liter 'image': $image = get_template_directory_uri().'/library/images/img-preview-blank.png'; echo ''.$obraz.''; if ($ meta) { $ image = wp_get_attachment_image_src ($ meta, 'medium'); $obraz = $obraz[0]; } echo '<input name="'.$field['id'].'" type="hidden" class="custom_upload_image" value="'.$meta.'" />
 <input class="custom_upload_image_button button" type="button" value="Wybierz obraz" />  Usuń obraz
'.$field['desc' ].''; przerwanie; } // koniec echa przełącznika '
'; } // koniec foreach echo '
'; // zakończenie tabeli } // Zapisz funkcję danych save_home_meta_lower_center($post_id) { global $home_meta_fields_lower_center; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['home_meta_box_center_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 ($home_meta_fields_lower_center jako $field) { $old = get_post_meta($post_id, $pole['id'], true); $nowy = $_POST[$pole['id']]; if ($nowy && $nowy != $stary) { update_post_meta($post_id, $field['id'], $new); } elseif ('' == $nowy && $stary) { delete_post_meta($post_id, $field['id'], $old); } } // koniec foreach } add_action('save_post', 'save_home_meta_lower_center'); // koniec dolnego środka // Prawa dolna kolumna //Funkcja wywołania zwrotnego show_home_meta_box_lower_right() { global $home_meta_fields_lower_right, $post; // Użycie wartości nonce do weryfikacji echo '<input type="hidden" name="home_meta_box_right_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; //Rozpocznij tabelę pól i pętlę echo '
'; foreach ($home_meta_fields_lower_right jako $field) { // pobierz wartość tego pola if istnieje dla tej strony $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 '; switch($field['type']) { // wielkość liter pojawią się tutaj // wielkość liter 'text': echo '<input type="text" name="'.$field['id'].'" id="'.$pole['id'].'" value="'.$meta.'" size="30" />
'.$pole[' opis'].''; przerwanie; // textarea wielkość liter 'textarea': echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows="4">'.$meta.'</textarea>
'.$pole ['opis'].''; przerwanie; wielkość liter 'image': $image = get_template_directory_uri().'/library/images/img-preview-blank.png'; echo ''.$image.''; if ($ meta) { $ image = wp_get_attachment_image_src ($ meta, 'medium'); $obraz = $obraz[0]; } echo '<input name="'.$field['id'].'" type="hidden" class="custom_upload_image" value="'.$meta.'" />
 <input class="custom_upload_image_button przycisk" type="button" value="Wybierz obraz" />  Usuń obraz
'.$field['desc'].''; przerwanie; } // koniec przełącznika echo '
'; } // koniec foreach echo '
'; // zakończenie tabeli } // Zapisz funkcję danych save_home_meta_lower_right($post_id) { global $home_meta_fields_lower_right; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['home_meta_box_right_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 ($home_meta_fields_lower_right jako $field) { $old = get_post_meta($post_id, $field['id'], true); $nowy = $_POST[$pole['id']]; if ($nowy && $nowy != $stary) { update_post_meta($post_id, $field['id'], $new); } elseif ('' == $nowy && $stary) { delete_post_meta($post_id, $field['id'], $old); } } // koniec foreach } add_action('save_post', 'save_home_meta_lower_right'); // koniec na dole po prawej ?>


title: Hasło chroniące stronę

text:
Próbuję zabezpieczyć stronę hasłem, ale wygląda na to, że nie działa. Ustawiłem hasło do strony, ale po przejściu do niej po prostu ładuje się jak zwykle i nie pyta o żadne hasła. To jest pętla, którą mam na mojej stronie: <?php /** * @package WordPress * @subpackage Default_Theme * Nazwa szablonu: Strona */ get_header(); ?> <?php global $post; if ( post_password_required( $post )) { ?> <?php $fields = get_acf(); ?>

 <?php } else { ?> Bez hasła <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php koniec; ?> <?php endif; ?> <? } // Strona nie jest chroniona hasłem ?> <?php get_footer(); ?> Chcę zabezpieczyć hasłem wszystko na stronie. AKTUALIZACJA: Mam niestandardową treść na stronie, więc jeśli to możliwe, muszę być w stanie otoczyć to wszystko kodem. Aktualizacja: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/cSsGc.png)


title: Ile niestandardowych typów postów należy zarejestrować?

text: Moja obecna witryna WordPress zawiera tylko strony. Struktura jest tak prosta, jak ta: example.com/hotels example.com/atractions example.com/restaurants Chcę używać niestandardowych typów wpisów, aby dodawać wykazy dotyczące poszczególnych hoteli, atrakcji i restauracji. Nowa struktura będzie wyglądać tak: example.com/hotele/mójhotel example.com/atrakcje/mojaatrakcja example.com/restaurants/mojarestauracja Z niestandardowym typem wpisu mojhotel/mojaatrakcja/mojarestauracja. Wszystkie aukcje mają dokładnie te same pola niestandardowe. Moje pytanie: Czy muszę utworzyć 3 niestandardowe typy postów (hotel/atrakcja/restauracja), czy też powinienem zarejestrować tylko 1 „globalny” niestandardowy typ posta – np. „Miejsce” – i określić, czy jest to hotel/atrakcja/restauracja przy użyciu hierarchii Taksonomie niestandardowe? Jakie są zalety/wady tych różnych podejść? Dziękuję!


title: Usuwanie metod kontaktu użytkownika działa z functions.php, ale nie z wtyczki

text: Chciałbym usunąć pola użytkownika i użyłem tego kodu: add_filter( 'user_contactmethods', 'newfields' ); funkcja nowe pola( $user_contact ) { unset($user_contact['facebook']); unset($user_contact['twitter']); zwróć $kontakt_użytkownika; } Jeśli używam tego kodu w `functions.php` mojego motywu, to działa, ale jeśli używam tego kodu we wtyczce, to nie działa. Czemu? Jak mogę to rozwiązać?


title: Jak mogę kontrolować kod HTML mojego posta?

text: Jak już wiesz, WordPress manipuluje postami, nawet jeśli piszesz wszystko w trybie **Tekst**. (zastępowanie łamania wierszy znakami `\r\n` , konwersja pojedynczych cudzysłowów na cudzysłowy itp.) Wiem, że jest to dobre, aby pomóc nam nie zepsuć rzeczy, jednak w moim przypadku chcę umieścić kody HTML wewnątrz moje posty -zarówno `<code>` jak i `</code>` , a także bezpośrednio część HTML-a. więc chcę się upewnić, co widzę w trybie tekstowym (lub jakoś zainstalować tryb HTML), aby _To, co widzę, jest tym, co dostaję_ , pod względem HTML :) Może lepszym wyjaśnieniem tego, czego chcę, jest to: Napisz w oknie "dodaj nowy post" powinien być **dokładnie** równy temu, co jest wydrukowane między `<div class='entry-content'>` i `</div>`. Jakieś wskazówki na ten temat? Czy powinienem zmienić motyw? Lub plugin do tinymce? ## p.s.: Wiem, że pojedyncze cudzysłowy powinny zostać zmienione dla bazy danych, ale chcę zachować łamanie wierszy, znaczniki html itp. Więc proszę powiedz mi, że jest inny sposób niż wpisywanie bezpośrednio do bazy danych.


title: Dlaczego wp_enqueue_script nie ładuje dołączonych skryptów interfejsu użytkownika jquery?

text: Używając Wordpress 3.4.2, dokumentacja wp_enqueue_script wydaje się wskazywać, że biblioteki interfejsu użytkownika jQuery można załadować po prostu odwołując się do ich uchwytów. Mam następujący kod bez wcześniejszego wp_register_script(): wp_enqueue_script('jquery'); wp_enqueue_script('jquery-ui-core'); Kolejka dla „jquery” działa dobrze, ale kolejka dla „jquery-ui-core” nie działa. Zdaję sobie sprawę, że mogę zarejestrować i załadować skrypt jawnie za pomocą Google CDN (lub zrobić wyraźne odniesienia do elementów biblioteki w instalacji Wordpress) ... ale znowu dokumentacja sprawia, że myślę, że nie powinienem tego robić z aktualną wersją Wordpress. Czy ktoś wie, dlaczego to nie działa?


title: Wymień 5 najnowszych stron podrzędnych

text: Stworzyłem hierarchiczny, niestandardowy typ postu dla galerii. Strony nadrzędne to galerie, a strony podrzędne to albumy. Chcę wyświetlać najnowsze albumy na moim pasku bocznym (a więc w zasadzie najnowsze strony podrzędne). 'post_parent' => 0 Znajduję to tylko w kodeksie, ale to jest przeciwieństwo, którego chcę, to wyświetli tylko strony nadrzędne. Oto mój dotychczasowy kod: $albums = new WP_Query(array( 'post_type' => 'gallery', 'posts_per_page' => 6 ));


title: Otrzymywanie błędu „nieprawidłowy tajny ciąg” poprzez ręczne uruchomienie wp-cron.php

text: Próbuję uruchomić wp-cron.php ręcznie, wywołując go w ten sposób: http://mysite.com/wp-cron.php?doing_wp_cron Wyłączenie funkcji auto cron za pomocą: define('DISABLE_WP_CRON', TRUE); powoduje ten sam błąd. Co może być problemem?