title: Używanie instrukcji warunkowych do ładowania wtyczek

text: Mam pewne konflikty, myślę, że z kilkoma wtyczkami, które napisałem, które używają ajax. Ponieważ ładują swoje zasoby na każdej stronie, a nie tylko wtedy, gdy są potrzebne, myślę, że powoduje to problemy. Jaki jest najlepszy sposób na załadowanie wtyczki, gdy jej potrzebujesz? Obie wtyczki, o których mowa, muszą działać tylko wtedy, gdy użytkownik przechodzi do pojedynczej strony. Chciałem po prostu zawinąć wtyczkę w coś takiego: if (is_page( 'slug-name') ) { //kod wtyczki } Ale to oczywiście nie działa, ponieważ jest poza wszelkimi hakami Wordpress. WooCommerce ma następujące elementy, które ładują twoją wtyczkę WooCommerce tylko wtedy, gdy sam WooCommerce jest aktywny, czy mogę to jakoś dostosować? /** * Sprawdź, czy WooCommerce jest aktywny **/ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' )) ) ) { // Tutaj wpisz kod wtyczki }


title: Posty z archiwum Wordpress powodują powrót użytkownika do strony głównej

text: Próbuję dodać archiwa do paska bocznego na moim blogu Wordpress. Używam: `<?php wp_get_archives('cat=1'); ?>` aby wyświetlić archiwa. Teraz widzę na ekranie kilka ostatnich miesięcy, kiedy publikowałem treści, ale kiedy klikam miesiąc, aby zobaczyć te posty, po prostu wracam do strony głównej, zamiast je otwierać. Gdyby ktoś mógł wyjaśnić, dlaczego tak się dzieje i jak to rozwiązać, byłoby świetnie.


title: Lista taksonomii niestandardowej: jak ustawić opcję „wybierz z najczęściej używanych” jako domyślną do otwierania, lista kontrolna

text: Robię stronę dla importera win. Wina mają wiele niestandardowych taksonomii (rodzaj wina, import/kraj itp.) Podczas dodawania wina taksonomie pojawiają się w prawej kolumnie, ale nie tak, jak bym chciał. Domyślnie jest to pole wejściowe formularza z linkiem pod którym mówi: "Wybierz z najczęściej używanej _nazwataksonomii_" Chciałbym, aby taksonomie były wyświetlane jako lista kontrolna. Lub przynajmniej z klikalną chmurą tagów domyślnie otwieraną. Chodzi o to, że chciałbym oszczędzić mojemu klientowi konieczności klikania, aby za każdym razem tworzyć chmurę tagów. Jakiś sposób, żeby to zrobić? Dzięki, Jim


title: Czy można mieć więcej „poziomów” statusów wersji roboczej/opublikowanej?

text: Czy jest jakiś sposób, aby mieć więcej statusów postów niż tylko wersja robocza lub opublikowana? Na przykład, jeśli piszesz dużo postów, możesz chcieć wpisać całą treść i ustawić status tych postów jako "Treść - Drafted" Następnie możesz zmienić ich styl, pogrubić tekst, dodać podświetlenie kodu itp. , i ustaw na "Stylizowane - Szkicowane" Następnie jako ostateczną recenzję możesz ustawić status na "Zrecenzowano" Następnie opublikuj je. Czy w obecnej wersji 3 wordpress jest możliwe osiągnięcie takich scenariuszy?


title: Umieszczenie treści jednego posta w dwóch kolumnach obok siebie, styl gazety

text:
Staram się umieścić dwie kolumny obok siebie, tak jak robi to gazeta, i wyświetlić treść jednego posta w obu. ![artykuł w gazecie z wieloma kolumnami](http://i.stack.imgur.com/amqBY.jpg) Próbowałem rozbić treść w moich słowach h4/90 i powtórzyć resztę treści wraz z jej własnymi znaczniki, ale się nie wyświetlają. W tym momencie kwestionuję nawet moją metodę. Wszelkie porady byłyby mile widziane. if (have_posts()) : while (have_posts()) : the_post(); $treść = pobierz_treść(); add_filter('treść', 'multi_treść'); function multi_content($content){ $kolumny = explode('
', $treść); $i = 0; foreach ($columns as $column){ $return .= "
" . "\n"; if ($i > 1) $return .= "
"; $zwrot .= $kolumna; $return .= '
'; $i++; } if(isset($kolumny[1])) echo $return; // $treść = wpautop($return); // jeszcze // $zawartość = wpautop($zawartość); // zwróć $treść; }


title: Porady dotyczące wdrażania jednokrotnego logowania?

text: Nasza organizacja korzysta z Google Apps (wersja standardowa) i właśnie wdrożyliśmy witrynę WP. Chętnie wstawiam się za każdym, kto korzystał z zaimplementowanych Google Apps (w ciągu ostatniego miesiąca) jako usługi dla OpenID. Wypróbowałem wtyczkę Janrain, ale trochę nie wiem, co należy zrobić poza WordPressem?


title: Utworzyć stronę „Wszystkie posty” lub „Archiwum” za pomocą WordPress 3.0?

text: Chciałbym utworzyć stronę _"Wszystkie posty"_ na blogu **Ocean Bytes**, która zawiera nieuporządkowaną listę wszystkich tytułów postów do tej pory, z hiperłączami do każdego wpisu na blogu. Wygląda na to, że istnieje kilka wtyczek, które robią coś takiego, ale większość nie podaje jeszcze obsługi Wordpress 3.0+ lub chcą podzbierać wpisy na blogu według roku, a następnie miesiąca, co nie jest pożądane. Jakieś sugestie dotyczące „najlepszego sposobu”? Dzięki.


title: Wyszukaj niestandardowy typ posta z dołączonymi wszystkimi metatagami?

text:
Obecnie mam pole wyszukiwania, które ma przeszukiwać określony typ posta. Ma to na celu sprawdzenie zapytania pod kątem wszystkich standardowych treści cpt, tagów i powiązanych metadanych. Zastanawiam się, jak zmodyfikowałbym mój kod, aby umożliwić przeszukiwanie wszystkich danych związanych z postem w CPT. Oto, co aktualnie mam (obecnie wyszukuje tylko 'memberFirstName'): <?php /** * @package WordPress * @subpackage nazwa motywu */ get_header(); $search = get_search_query(); ?>

<?php printf( __( 'Szukaj Wyniki dla: %s', 'themename' ), '' .get_search_query() . '' ); ?>
 <?php // ARGUMENTY PĘTLI $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; $args = array( 'post_type' => 'cbd_team_members', 'posts_per_page' => -1, 'paged' => $paged, 'orderby' => 'title', 'order' => 'ASC', 'meta_query ' => array( array( 'key' => 'memberFirstName', 'value' => $search, 'compare' => 'LIKE' ), )); // -1 Pokazuje WSZYSTKIE posty $loop = new WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); // TREŚĆ NIESTANDARDOWA $memberFirstName = get_post_meta($post->ID,"memberFirstName",true); $memberPosition = get_post_meta($post->ID,"memberPosition",true); $memberPhone = get_post_meta($post->ID,"memberPhone",true); $memberEmail = get_post_meta($post->ID,"memberEmail",true); $ kciuk = wp_get_attachment_image_src(get_post_thumbnail_id(), 'nazwa_miniaturki'); $imgURL = (isset($thumb[0]) ? $thumb[0] : get_template_directory_uri() . "/images/member_placeholder.jpg"); $identyfikator = get_the_ID(); $terms = get_the_terms( $postID, 'typ-usługi' ); foreach($terms as $term) { if($term->parent == 14 ) { $memberDivision = $term->name; } if($term->parent == 8 ) { $memberDivision = $term->name; } if($term->parent == 3 ) { $memberCity = $term->name; } } ?>
 <img src="<?php echo get_template_directory_uri(); ?>/thumb.php?src=<?php echo urlencode($imgURL); ?>&h=79&w= 79&zc=2">
 <?php echo $memberFirstName; ?> <?php the_title(); ?>, <?php echo $memberPosition; ?>
 <?php echo $memberDivision; ?>, <?php echo $memberCity; ?>
 <?php echo $memberTelefon; ?> <a href="mailto:<?php echo $memberEmail; ?>">E-mail

 <?php /* ZAKOŃCZ PODCZAS I ZRESETUJ ZAPYTANIE */ endwhile ; wp_reset_query(); ?>
 <?php $total_pages = $pętla->max_num_pages; if ($total_pages > 1){ $current_page = max(1, get_query_var('paged')); echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'format' => '/page/%#%', 'current' => $current_page, 'total' => $total_pages , )); } ?>

 <?php if ( dynamic_sidebar('team-sidebar') ) : else : ?><?php endif; ?>

 <?php get_footer(); ?>


title: Zmień nazwę karty profilu Buddypress

text: Bez używania pliku językowego, do którego pliku powinienem się udać, gdybym chciał zmienić nazwy kart profilu? Na przykład zamiast zakładki „Aktywność” chcę powiedzieć „Moja aktywność”. Zamiast „Grupy” chciałbym powiedzieć „Moje grupy” itp. Dzięki


title: filtruj wyszukiwanie niestandardowego pola zapytania

text: Szukam sposobu na filtrowanie wyników wyszukiwania. To jest to, co mam do tej pory * niestandardowy typ „lekarzy” * w każdym poście „lekarza”, istnieje wiele niestandardowych pól (mężczyzna lub kobieta, lokalizacja, specjalność, itp.) Chcę, aby formularz wyszukiwania filtrował te pola- na przykład wyświetl wszystkie dokumenty w określonej lokalizacji, które są płci żeńskiej. Oto kod, którego używam, który obecnie działa tylko na jednym polu (klikam na lekarki w tigard i otrzymuję wszystkich lekarzy w tigard). <?php $args = array( 'post_type' => 'Lekarze', 'posts_per_page' => 1000, 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_query' => array( ' relacja' => 'ORAZ', array( 'klucz' => 'płeć', 'wartość' => 'tak', ), array( 'klucz' => 'obsługiwane-grupy-wiekowe', 'wartość' => 'tak', ), array( 'klucz' => 'języki', 'wartość' => 'tak', ), array( 'klucz' => 'lokalizacja', 'wartość' => 'tak', ), array( 'klucz' => 'specjalności', 'wartość' => 'tak', ), array( 'klucz' => 'testy', 'wartość' => 'tak', ) ) ); $zapytanie = nowe WP_Query( $args ); if (have_posts()) : while (have_posts()) : the_post(); ?> FYI- używam wtyczki "przeszukaj wszystko", aby móc wyświetlać niestandardowe pola w wyszukiwaniu. Oto link, jeśli ktoś jest zainteresowany http://western.art4orm-dev2.com/staff-directory/ Dzięki za wszelką pomoc.


title: wyświetlanie postów z niestandardowych tagów typu post

text: Stworzyłem niestandardowy post o nazwie projekty i taksonomię o nazwie tagportfolio , w panelu administracyjnym utworzyłem 3 tagi w ramach tej taksonomii, aby filtrować stronę portfolio moich projektów, trzy tagi to 1. Urbanistyka i modernizacja 2. Urbanistyka i krajobraz 3. Architektura i Projektowanie wnętrz pod każdym tagiem jest post , teraz muszę wiedzieć jak mogę wyświetlić posty pod każdym tagiem na przykład: posty pod tagiem Architektura i Projektowanie Wnętrz w szablonie strony Dzięki N.B to jest niestandardowy post i funkcje taksonomii git ://gist.github.com/3066834.git gist-3066834 tak powinien być wyświetlany podatek podrzędny {jak podatek główny} git://gist.github.com/3061479.git gist-3061479


title: kiedy należy dodać akcję do init, a kiedy do wp_head

text: Skąd wiesz, kiedy dodać swoją akcję do init lub wp_head. W szczególności w odniesieniu do skryptów i stylów, ale także wszelkich innych działań.


title: Jak sprawić, by obraz fragmentu był pełnowymiarowy zamiast miniatury?

text: Teraz, gdy mam fragmenty na stronie głównej, obraz jest małym kwadratem, ale chciałbym go zmienić tak, aby wypełniał całą szerokość obszaru zawartości. (jakby obraz był w poście.) Mój motyw jest responsywny, więc zakładam, że będę musiał użyć procentów zamiast pikseli. Jakieś pomysły? Dziękuję!


title: Jak zezwolić na usunięcie posta tylko wtedy, gdy pole niestandardowe nie istnieje?

text: Przyjrzałem się zarówno delete_post, jak i before_delete_posts. Żaden z tych haczyków nie pozwala mi sprawdzić, a następnie powiedzieć wordpressowi, aby nie usuwał posta. Czy ktoś ma jakieś pomysły?


title: Problem z pojedynczą stroną dla mojego niestandardowego postu

text: Pracuję nad witryną internetową z sekcją portfolio i prawie skończyłem pracę z tą sekcją, ale mam problem z pojedynczą stroną, czyli: * za każdym razem, gdy kliknę link do portfolio, pojedyncza strona otwiera się, ale się nie wyświetla wszelkie szczegóły z wyjątkiem poprzedniego i następnego linku i to działa poprawnie. * Również używa single.php i nie mogę go zmienić. Biorąc pod uwagę mój główny link do posta to ( **nasze-portfolio** ) oraz post niestandardowy **(slug = portfolio)**. Wypróbowałem ten krok: * Utworzyłem nową pojedynczą stronę o nazwie (single-portfolio.php) i umieściłem ją w tym samym miejscu, w którym mój (single.php) jest, ale nie działa. **_UPDATE_** moje argumenty niestandardowego posta: $args = array( 'labels' => $labels, 'public' => true, 'menu_icon'=> 'dashicons-groups', 'show_ui' => true, 'capability_type ' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => 'portfolio', 'with_front' => true), 'query_var' => true, 'show_in_nav_menus'=> false, 'exclude_from_search' => true, 'supports' => array('title', 'excerpt', 'page-attributes') ); register_post_type( 'port', $args ); Mam nadzieję, że niczego nie przegapiłem.


title: wyświetl moje strony html

text: Jestem nowy w wordpressie mam duży problem, stworzyłem wtyczkę zawierającą folder „pages”, który zawiera wszystkie moje strony html, które chcę wyświetlić w mojej witrynie, ale nie wiem, jak zrobić to, co odkryłem, jak utworzyć stronę dodatku, ale wyświetlane w menu administracyjnym. Szukałem tutoriali, ale nie znalazłem Proszę o pomoc!


title: Wielu użytkowników o dziwnych nazwach rejestruje się, ale nie zostawiaj komentarzy. Czy mam się bać?

text: Wielu użytkowników o dziwnych nazwach rejestruje się na moim blogu, ale nie zostawiaj komentarzy. Powinienem się obawiać, że to może być jakiś atak. Może ktoś znalazł jakiś błąd w Wordpressie, który pozwala przeniknąć zabezpieczenia? Czy są jakieś działania, które powinienem podjąć?


title: przekierowanie strony administratora

text: Czy można przekierować użytkowników na stronę administratora, jeśli uzyskają dostęp do innej strony administratora? Na przykład, jeśli użytkownik kiedykolwiek trafi "wszystkie strony" /wp-admin/edit.php?post_type=page, zostanie przekierowany do "dodaj nową stronę" /wp-admin/post-new.php?post_type=page


title: Jak zmienić przekierowanie po przeniesieniu strony do kosza?

text: Jak mogę zmienić lokalizację przekierowania, gdy użytkownik wyrzuci stronę do kosza? W tej chwili przechodzą do wszystkich stron tutaj:....wp-admin/edit.php?post_type=page Chcę, aby przeszli tutaj:......wp-admin/edit.php?post_type=page&page=custom_page_order


title: Niestandardowy post typu post w niestandardowym menu

text: Stworzyłem **Niestandardowy typ posta** o nazwie **Zwykłe strony**. W tym niestandardowym typie posta utworzyłem dwie strony **O nas** i **Usługi**. Czy jest jakiś sposób, aby dodać te posty do mojego niestandardowego menu utworzonego w Wygląd->Menu? Idealne dla mnie, jeśli wszystkie posty utworzone w **Zwykłe strony** pojawiają się automatycznie w menu. Nie można ich dodać tak jak Link niestandardowy.


title: Wartości meta pola nie wyświetlają się na ekranie po edycji po zapisaniu

text:
Dodałem niestandardowy typ posta i pola. Ale kiedy wprowadzam wartości i zapisuję, nie pojawiają się one na ekranie edycji Wordpress. <?php add_action( 'init', 'create_post_type' ); function create_post_type() { $supports = array('title', 'editor', 'thumbnail'); register_post_type( 'acme_property', array( 'labels' => array( 'name' => __( 'Properties' ), 'singular_name' => __( 'Property' ), 'search_items' => __( 'Właściwości wyszukiwania' ), 'not_found' => __( 'Nie znaleziono właściwości' ) ), 'public' => true, 'has_archive' => true, 'supports' => $supports ) ); } add_action('add_meta_boxes', 'add_property'); function add_property(){ add_meta_box("meta-właściwości", "Informacje o nieruchomości", "meta_options", "acme_property", "side", "low"); } funkcja meta_options(){ global $post; $wartości = get_post_custom($post->ID); $Prop_ID = isset( $values['property_id']) ? esc_attr( $wartości['property_id'][0] ): ''; $adres = isset( $wartości['adres'] ) ? esc_attr( $wartości['adres'][0] ): ''; ?>
 Właściwość nr:
<input name="property_id" value="<?php echo $Prop_ID; ?>" />

 Adres:
<textarea name="address" cols="22" rows="3" value="<?php echo $address; ?>"></textarea>
 <?php } add_action( 'save_post', 'property_save' ); function property_save( $post_id ) { // Zwolnij kaucję, jeśli robimy autozapis if( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // jeśli nie ma naszej jednorazówki lub nie możemy jej zweryfikować, wpłać kaucję if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' )) zwrócić; // jeśli nasz obecny użytkownik nie może edytować tego posta, zwolnij kaucję if( !current_user_can( 'edit_post' ) ) return; // teraz możemy faktycznie zapisać dane $allowed = array( 'a' => array( // zezwól na tagi 'href' => array() // a te kotwice mogą mieć tylko atrybut href ) ); // Upewnij się, że dane są ustawione przed próbą ich zapisania if( isset( $_POST['property_id'] ) ) update_post_meta( $post_id, 'property_id', wp_kses( $_POST['property_id'], $allowed ) ); if( isset( $_POST['adres'] ) ) update_post_meta( $post_id, 'adres', esc_attr( $_POST['adres'] ) ); }


title: Aktualizacje strony pojawiają się w podglądzie, ale nie w wersji opublikowanej?

text: Wprowadziłem pewne zmiany na stronie bloga i wykluczyłem niektóre kategorie. Jednak za każdym razem, gdy przeglądam bloga online, wykluczone posty nadal się pojawiają. Ale kiedy wszedłem na stronę bloga i kliknąłem „podgląd”, wykluczone kategorie nie pojawiły się, tak jak chciałem. Wyczyściłem pamięć podręczną przeglądarki, ale to nic nie daje. Nie są używane żadne wtyczki pamięci podręcznej. Czy ktoś wie o co chodzi? Strona testowa: http://crankit.com.au/~dentalwe/blog/ function genesis_do_loop() { if ( is_page_template( 'page_blog.php' ) ) { $include = genesis_get_option( 'blog_cat' ); $exclude = genesis_get_option( 'blog_cat_exclude' ) ? explode( ',', str_replace( ' ', '', genesis_get_option( 'blog_cat_exclude' ) ) ) : ''; $paged = get_query_var( 'stronicowane' ) ? get_query_var( 'stronicowane' ) : 1; //* Pisanka $query_args = wp_parse_args( genesis_get_custom_field( 'query_args' ), array( 'cat' => $include, 'category__not_in' => $exclude, 'showposts' => genesis_get_option( 'blog_page_numd' => $stronicowany, ) ); genesis_custom_loop( $query_args ); } else { genesis_standard_loop(); } }


title: Jaki jest właściwy sposób zarządzania wersjami (za pomocą svn) tworzonego przez nas motywu?

text: Rozwijam motyw i chcę kontrolować jego wersje. Oto mój proces rozwoju, ale nie jestem pewien, czy jest właściwy, czy nie. Pomóż mi dać sugestie. 1. Trunk to główna i najnowsza stabilna (wydanie). 2. Gdy chcę dodać nowe funkcje lub naprawić zestaw błędów, tworzę nową gałąź np. branch_v1_01 (=wersja 1.01) 3. Kiedy gałąź 1.01 jest przetestowana i stabilna, łączę ją z powrotem do trunka. 4. Powtórz kroki 2 i 3 i tak dalej. W końcu możemy mieć coś takiego jak trunk, branch1.01, branch1.02, branch1.03, a to oznacza, że trunk jest najnowszą stabilną wersją (w tym przypadku 1.03) i wszystkie starsze wersje są nadal dostępne dla klientów do pobrania również (z innych starszych oddziałów). Czy jest to odpowiednie do kontrolowania wersji?


title: Przepisz regułę dla ciągu zapytania

text: Mam formularz wyszukiwania taksonomii, a wynik linku to http://localhost/wp/?cityid=16 Ale chcę, aby został przepisany jako http://localhost/wp/cityid/16 .htaccess # POCZĄTEK WordPress <IfModule mod_rewrite .c> RewriteEngine On RewriteBase /wp/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wp/index.php [L] </IfModule> # KONIEC WordPress To nie zadziałało: RewirteRule ^wp/cityid/([0-9]+)$ ?cityid=$1 [L] To też nie zadziałało (od Kodeks wp): add_action('generate_rewrite_rules', 'geotags_add_rewrite_rules'); function geotags_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'cityid/(.+)' => 'index.php?cityid=' . $wp_rewrite->preg_index(1) ); // Dodaj nową regułę przepisywania na górę globalnej tablicy reguł $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } Proszę o pomoc?


title: Czy jest jakiś sposób na użycie get_template_part() z folderami?

text: Zastanawiam się, czy istnieje sposób na użycie get_template_part() z folderami? Mój główny folder ma teraz dużo plików, ponieważ każdy element wielokrotnego użytku umieszczam w osobnym pliku. Chciałbym je wtedy umieścić w folderach. Brak informacji na ten temat w Kodeksie: http://codex.wordpress.org/Function_Reference/get_template_part


title: Usunięcie terminu taksonomii niestandardowej tylko zwiększa tag_ID

text: Używam funkcji, która łączy się z wp_trash_post i która powinna usunąć termin taksonomii niestandardowej, który jest dopasowany do niestandardowego wpisu. Opis terminu to identyfikator niestandardowego posta. function trash_custom_terms($post_id) { if ( 'custom_post' != get_post_type($post_id)) { return; } $this_post_ID = get_post( $post_id )->ID; $existing_terms = get_terms('', array( 'hide_empty' => false ) ); foreach($existing_terms as $term) { if ($term->description == $this_post_ID) { if (wp_delete_term($term->term_id, 'custom_taxonomy')){ write_log('należy usunąć'); }else{ write_log('nie usunięto'); } } } } add_action('wp_trash_post', 'trash_custom_terms'); Jak widać w moim kodzie, używam funkcji do zapisu w dzienniku debugowania WP. Po uruchomieniu kodu i usunięciu pasującego wpisu niestandardowego termin taksonomii identyfikatora zwiększa się o 1! To tak, jakby został usunięty, a następnie zastąpiony identycznym terminem. Nie mogę dowiedzieć się, co się dzieje i sprawdziłem i dwukrotnie sprawdziłem, czy vars są poprawne i są. Czy ktoś mógłby rzucić trochę światła, dlaczego tak się dzieje? Pozdrawiam Noel


title: Jak sprawdzić, jakie wtyczki znajdowały się w instalacji WordPressa?

text: Łatwo jest zobaczyć, które wtyczki są obecnie wyłączone przez `/wp-admin` — ale jak mogę sprawdzić, które wtyczki _używane_ były w instalacji WordPressa i zostały usunięte?


title: Pracuj nad dwoma różnymi tematami jednocześnie w wordpressie

text: Mam stronę internetową, na której używam motywu Responsive dla komputerów stacjonarnych i motywu „Mobilize” dla urządzeń mobilnych. Używam wtyczki Any theme Switcher, aby przełączać się między motywami w zależności od urządzenia, z którego uzyskuje się dostęp do witryny. Panel administracyjny wordpress nie pozwala na modyfikację motywu, który nie jest aktualnie aktywny. Czy jest jakiś sposób/wtyczka, która pozwoli mi pracować nad obydwoma motywami jednocześnie z panelu administracyjnego WP? Wielkie dzięki, Sarah


title: dostęp do zmiennych rodzica w konstrukcji potomnej bez wykonywania akcji w rodzicu

text: Prawdopodobnie podchodzę do tego w niewłaściwy sposób, ale nie mogę wymyślić, jak to naprawić… byłoby wspaniale, gdyby ktoś wskazał mi właściwy kierunek. chętnie udzielimy więcej szczegółów, jeśli będzie to wymagane. Mój problem jest następujący: mam klasę nadrzędną, klasę podrzędną, która potrzebuje dostępu do niektórych zmiennych nadrzędnych i stronę z wywołaniem do_action, taką jak /****plugin ***/ class PARENT( protected $pluginVersion ; protected $pluginOptions; function __construct() { $this->pluginVersion='1.5'; $this->pluginOptions = get_option('option_name',0); add_action('choose_gateway', array( $this, 'choose_gateway') } function select_gateway(){ /**wyślij jakieś menu rozwijane, wybierz, cokolwiek*/ echo $str; } } class CHILD extends PARENT{ function __construct() { $this->gatewayName = 'Gotówka przy dostawie'; /* *plus kilka innych vars*/ /** problem: tutaj chcę mieć dostęp/używać zmiennych ustawionych w rodzicu (np. $this->plu ginOptions) początkowo myślałem, że mogę po prostu użyć parent::__construct(); problemem jest jednak - jeśli to zrobię - akcja "choose_gateway" w rodzicu jest wywoływana dwukrotnie.... ***/ if(!is_admin()){ add_action('some_child_action', array($this,'some_child_action') ); } } function some_child_action(){ } /**kilka dodatkowych funkcji**/ } ?> /**** page***/ <?php /*echo inne rzeczy */ do_action('choose_gateway'); /*więcej innych rzeczy */ ?> problem, który mam, jest taki, jak skomentowałem w powyższym kodzie. Zakładam, że musiałbym przenieść wywołanie „add_action” z konstrukcji nadrzędnej, ale nie jestem pewien, a jeśli tak, to nie wiem, gdzie je umieścić, aby było nadal dostępne za pośrednictwem wywołania „do_action” ...


title: Adres URL zawierający obszar dla firmy z wieloma lokalizacjami

text: W przypadku firmy z wieloma lokalizacjami, w jaki sposób (oprócz replikacji treści) można by uwzględnić nazwę geograficzną w domenie? Oto, co chciałbym osiągnąć: www.domain.com/location/page1 Jaki jest najprostszy/najskuteczniejszy sposób na zrobienie tego?


title: Dodawanie parametrów do get_comment

text: Mam taki kod: <?php $comments = get_comments( 'post_id=' . $post->ID ); echo get_comment_author($comments[0]->comment_ID); ?> <br /> <?php $comments = get_comments( 'post_id=' . $post->ID ); echo get_comment_date('d F H:i', $comments[0]->comment_ID); ?> i chcę dołączyć do tego kodu komentarze `'approve' - zatwierdzone`. Znam ten kod: <?php $defaults = array( 'ID' => '', 'number' => '1', 'order' => 'DESC', 'status' => 'approved', ); ?> Ale nie jestem w stanie zintegrować obu kodów. Chodzi mi o to: pokaż posty ostatnie imię komentatora i datę komentarza `d F H:i` razem. Jakieś sugestie?


title: Dodaj zewnętrzny CSS do strony kontaktowej

text: Próbuję dodać niestandardowy CSS do mojego formularza kontaktowego w wordpressie, który jest stroną wp, która ładuje się pod adresem mysite.com/contact. Nie chcę edytować żadnych istniejących kodów, chcę to zrobić pisząc prostą wtyczkę. (Właściwie głównym celem jest ukrycie komponentu Google Maps na tej stronie kontaktowej poprzez dodanie stylu, aby był `"display:none;"`) Wiem, że mogę użyć `wp_enqueue_style()` do tego celu, ale nie wiem, do której akcji powinienem się podczepić. Chcę załadować ten css (dołącz ten css do istniejącego kontaktu dla css) tylko wtedy, gdy jest to potrzebne, gdy ładuje się strona formularza kontaktowego. Jak mogę to osiągnąć? Która z nich jest właściwą akcją do podpięcia? A gdybym miał uczynić pytanie bardziej ogólnym: „Jaką akcję powinienem podpiąć, aby załadować niestandardowy css podczas ładowania strony Wordpress?”


title: Zalogowany użytkownik nie działa na stronie głównej

text: Używam BuddyPress na mojej stronie Wordpress. Używam szablonu strony dla strony głównej i wykonuję sprawdzenie w szablonie, aby wyświetlić inną zawartość, gdy użytkownik jest zalogowany. Ale wygląda na to, że `is_user_logged_in()` zawsze zwraca **false** na stronę główną, nawet gdy użytkownik jest zalogowany. Na innych stronach funkcja działa poprawnie. Coś innego, czego próbowałem, to dostęp do zmiennej globalnej `$bp`. Ale `$bp->loggedin_user->id` również zwraca **0** (ponownie, tylko na szablonie strony głównej). Ktoś, kto może wskazać mi właściwy kierunek? Nie mam pojęcia, dokąd mam się teraz udać. Z góry bardzo dziękuję!


title: Zapytanie o posty za pomocą meta_key, którego wartością jest tablica

text: Załóżmy, że modyfikuję domyślne zapytanie o posty: add_filter( 'pre_get_posts', 'my_filter' ); function my_filter( $query ) { $query->set( 'meta_key', 'my_rating' ); $query->set( 'orderby', 'meta_value_num' ); $query->set( 'zamówienie', 'DESC' ); zwróć $zapytanie; } Wiem, że to działa dla meta_klucza `my_rating`, jeśli jego wartość jest liczbą. Ale powiedzmy, że jego wartością jest tablica, której wartościami są liczby. Jak na przykład: array( "foo" => 1, "bar" => 2, ) Ale tablica byłaby zserializowana i chyba trzeba by ją odserializować, aby jej użyć. Czy istnieje sposób, aby wybrać klucz w tablicy do sortowania?


title: Jak śledzić, kto usunął pliki?

text: To naprawdę dziwne, zeszłej nocy moja wordpress ma wszystko w sklepie woocommerce, a dziś nagle zdjęcia i atrybuty zniknęły. Jak mogę zobaczyć lub sprawdzić dziennik wordpress (jeśli istnieje), jakie działania miały miejsce w ciągu ostatnich 24 godzin. Używam File Montior plus, ale daje mi błąd 504 i nie działa wydajnie. To naprawdę krytyczne!


title: Opublikuj obrazy, które nie są wyświetlane jako załączniki

text:
Próbuję wyświetlić obrazy dołączone do posta w `single.php`, których użyłem: <?php if (have_posts()) : while(have_posts()) : the_post(); ?> $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => 'any', 'post_parent' => $post->ID ); $załączniki = get_posts($args); if ($attachments) : ?>
 <?php foreach($attachments jako $attachment): ?>

 <?php the_attachment_link( $załącznik->ID, prawda); ?> <podpis rysunku><?php echo $attachment->tytuł_postu; ?>

 <?php endforeach; ?>
 <?php else : ?>
Nie znaleziono obrazów dla tego posta.
 <?php endif; ?> <?php koniec; ?> <?php endif; ? .. `var_dump($post);` daje mi: object(WP_Post)#136 (25) { ["ID"]=> int(91) ["post_author"]=> string(1) "1" [" post_date"]=> string(19) "2013-09-04 13:14:17" ["post_date_gmt"]=> string(19) "2013-09-04 13:14:17" ["post_treść"]= > string(285) "Czapla śnieżna" ["post_title"]=> string(11) "Czapla śnieżna" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "opublikuj " ["comment_status"]=> string(4) "otwórz" ["ping_status"]=> string(4) "otwórz" ["post_password"]=> string(0) "" ["post_name"]=> string (11) "snowy-egret" ["to_ping"]=> string(0) "" ["pingowany"]=> string(0) "" ["post_modified"]=> string(19) "2013-09- 06 08:36:01" ["post_modified_gmt"]=> string(19) "2013-09-06 08:36:01 ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(44) "/trouble_focusing/?p=91" ["menu_order"]= > int(0) ["post_type"]=> string(4) "post" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filtr" ]=> string(3) "surowy" ["format_treść"]=> NULL }


title: Dostosuj link cancel_comment_reply_link

text: Jak sugeruje tytuł, chcę zmodyfikować lub dostosować `cancel_comment_reply_link` bez edytowania `/wp-includes/comment-template.php`. Kod w `comment-template.php` wygląda tak: <h3 id="odpowiedź-tytuł" class="comment-reply-title"> <?php comment_form_title( $args['title_reply'], $args[' tytuł_odpowiedz_do'] ); ?> <small> <?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?> </small> </h3> Zasadniczo chcę pobrać `cancel_comment_reply_link` z tagów `<h3>` i `<small>` do kontenera `<div>`, ale tak naprawdę tego nie robię wiesz, jak to osiągnąć bez dotykania `comment-template.php`. Czy istnieje rozwiązanie, które można włączyć do `functions.php` mojego motywu? Dzięki za wszelką pomoc.


title: wp_get_attachment_url z określonym image_size?

text: Używam Woocommerce do sklepu internetowego z ponad 1800 produktami. Woocommerce ma wbudowaną wtyczkę PrettyPhoto lightbox. Domyślnie ładuje oryginalny rozmiar obrazu Wordpress po kliknięciu, aby powiększyć obraz w lightbox. Woocommerce wymaga tego oryginalnego obrazu w szablonie „product-image.php”. Mogę to zmodyfikować. Zmienna $image_link wywołuje oryginalny rozmiar. Chciałbym nazwać niestandardowy rozmiar, który już wykonałem. Po prostu nie wiem, jak to nazwać, szukałem ponad dzień w dokumentach, forach i witrynach, ale nie mogę tego znaleźć. **Muszę zmodyfikować $image_link, aby wywoływał mój niestandardowy rozmiar obrazu (który dodałem przez add_image_size). Ale jak? Wiem, że to podstawy Wordpressa, ale nie jestem w stanie tego zrobić...** Przykład mojej strony (kliknij, aby powiększyć, pokazuje zmniejszony obraz o szerokości 1600 pikseli, ale chcę mieć mniejszy): http:// /www.affichesmarci.com/shop/the-railys-cycling-act/ <?php if ( has_post_thumbnail() ) { $image = get_the_post_thumbnail( $post->ID, apply_filters( 'single_product_large_thumbnail_size', 'shop_single' ) ); $image_title = esc_attr( get_the_title( get_post_thumbnail_id() ) ); $ image_link = wp_get_attachment_url( get_post_thumbnail_id() ); $attachment_count = count( $product->get_gallery_attachment_ids() ); if ( $attachment_count > 0 ) { $gallery = '[galeria-produktów]'; } else { $galeria = ''; } echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '%s', $link_zdjęcia, $tytuł_obrazu, $obraz ), $post->ID ); } else { echo apply_filters( 'woocommerce_single_product_image_html', sprintf( '', woocommerce_placeholder_img_src() ), $post->ID ); } ?> <?php do_action( 'woocommerce_product_thumbnails' ); ?>


title: add_action zawierający pierwszy argument admin_print_scripts-$page

text: Tutaj nie rozumiem, co to znaczy przekazywanie `$page` z admin_print_scripts ? Mój kod wygląda następująco: $page = add_submenu_page('edit.php?post_type=' . $post_type, __('text', 'plugin-dir-name'), __('text', 'plugin-dir-name' ), 'edit_posts', 'text_' .$post_type, array(&$this, 'text_list_admin')); add_action( "admin_print_scripts-$page", array(&$this, 'text_scripts')); Przeczytałem http://codex.wordpress.org/Plugin_API/Action_Reference/admin_print_scripts-%28hookname%29 http://codex.wordpress.org/Plugin_API/Action_Reference/admin_print_scripts ale jaka jest między nimi różnica? **Aktualizacja** Chcę dodać te skrypty na http://domain.com/wp-admin/edit.php?post_type=shop_order&page=member_list&type=order_cal Tutaj, gdy podaję `$page='shop_order_page_member_list';` na wszystkich stronach member_list, ale chcę aplikować na stronie specif, więc spróbowałem `$page='shop_order_page_member_list_type_order_cal';` ale nie działa


title: Pytanie o usunięcie wszystkich polecanych obrazów i usunięcie meta postu?

text: Chciałbym uruchomić zapytanie SQL, aby znaleźć wszystkie polecane obrazy z postów i usunąć sam plik oraz wszelkie odniesienia do niego. Czy ktoś może mi powiedzieć, jak to zrobić? Wielkie dzięki!


title: Jak używać plików językowych we wtyczkach?

text: W tej chwili rozwijam swoją pierwszą wtyczkę wordpress i chcę dołączyć do niej funkcję wielojęzyczną. Może są na nim jakieś instrukcje? Próbowałem google, ale pobierz tylko `najlepszą wtyczkę do przełączania języków wordpress`.


title: Wtyczka przekierowująca i chińskie adresy URL

text: Z powodzeniem używałem wtyczki przekierowującej przez długi czas, ale w ostatnim projekcie mam przekierowywać adresy URL zawierające chińskie znaki i nie mogę sprawić, by przekierowania działały z nimi. Mogę wprowadzić reguły przekierowania (bez wyrażeń regularnych, tylko przekierowania jeden do jednego), ale adresy URL nie są przekierowywane. Jakiś pomysł, co się dzieje? Czy to w ogóle możliwe?


title: Dlaczego w adresie URL witryny WordPress znajduje się # i inne znaki?

text: Mam witrynę WordPress i przepisałem adres URL dla adresów przyjaznych SEO. Ale ciągle otrzymuję to na końcu wszystkich stron `/#.UmNDU_mnqy4`. np.: `www.example.com/kontakt-nami/#.UmNDU_mnqy4` Czy można poprawić ten adres URL, aby pominąć znak `#` i wszystko po nim? Szukałem w Google, jak to pominąć, ale nie ma tam pomocy. Czy jest jakieś wyjście? Użyłem domyślnego motywu WordPress. Moje wtyczki to: * Collapse-O-Matic * Formularz kontaktowy 7 * Ditty News Ticker * Easy Image Gallery * HW Image Widget * Image Widget * NextGEN Gallery by Photocrati * TablePress * vSlider * Kopia zapasowa WordPress w Dropbox Wyłączyłem również każdą z nich a potem kolejno włączały wszystkie wtyczki, ale nadal są te znaki w adresie URL. To pytanie zostało pierwotnie zadane tutaj w StackOverflow.


title: pobierz aktualny termin taksonomii, aby zapełnić tablicę

text: Używam tego w szablonie strony, mam nadzieję na rozwiązanie polegające na wypełnieniu przestrzeni „XXXXX” bieżącym terminem wybranym z taksonomii „miejsce”. Nie sądzę, że mogę zrobić_shortcode w tablicy. Z góry dziękuję. array( 'taxonomy' => 'place', 'field' => 'id', 'terms' => 'XXXXX', 'include_children' => false )


title: Różne wyniki z query('s=computer') vs get_posts('s=computer')?

text: Mam dwa różne fragmenty kodu i zwraca on dwa różne wyniki. $search_query = nowe WP_Query(); $search_posts = $search_query->zapytanie('s=komputer'); liczba ech ($search_posts); vs. $search_posts = get_posts('s=komputer'); liczba ech ($search_posts); Jaki jest powód różnych wartości? _(Wartość podana przez pierwszą jest poprawna. Jest taka sama, jak liczba postów, które otrzymuję podczas zwykłego wyszukiwania w WP. Ale pierwszy fragment kodu nie zadziała w pliku php wtyczki, byłby pracować tylko w szablonie.)_ Dzięki.


title: Publikujesz prezentacje w WordPressie?

text: Szukam rozwiązania, które umożliwiłoby mi opublikowanie prezentacji w WordPressie. Nie chcę do tego dołączać pliku PPT ani osadzać wtyczki Flash, szukam rozwiązania HTML. Wolałbym, aby móc używać programu PowerPoint do tworzenia prezentacji, ale nie jest to trudne wymaganie, ważniejsze jest to, aby stworzyć ładną prezentację dla użytkowników, z funkcją autoodtwarzania.


title: wyklucz kategorię z funkcji formularza WordPress

text: Mam tę funkcję i muszę jakoś wykluczyć kategorię nr 14 z mojego formularza zgłoszeniowego. Czy można to zrobić w tej funkcji? function retrieve_cat_data($byid = false){ $massive_categories_obj = get_categories('hide_empty=0'); if($byid): $massive_categories = array(); foreach ($massive_categories_obj as $massive_cat) { if($massive_cat->cat_ID != 1) $massive_categories[$massive_cat->cat_ID] = $massive_cat->cat_ID; } $categories_tmp = array_unshift($masywne_kategorie, "0" ); w przeciwnym razie: $massive_categories = array(); foreach ($massive_categories_obj as $massive_cat) { if($massive_cat->cat_ID != 1) $massive_categories[$massive_cat->cat_ID] = $massive_cat->cat_name; } $categories_tmp = array_unshift($masywne_kategorie, __('Wybierz kategorię:', 'bo') ); endif; return $massive_categories; } function retrieve_cat_data_sp( $exclude ){ $args = array( 'hide_empty' => '0', 'exclude' => $exclude ); $massive_categories_obj = get_categories($args); $masywne_kategorie = tablica(); foreach ($massive_categories_obj as $massive_cat) { if($massive_cat->cat_ID != 1) $massive_categories[$massive_cat->cat_ID] = $massive_cat->cat_ID; } $categories_tmp = array_unshift($masywne_kategorie, "0" ); return $massive_categories; }


title: Dynamiczne linki w locie kierujące tylko do jednej strony

text: Trudno to wytłumaczyć. Szukam sposobu na przekierowanie wielu linków do tej samej strony, na przykład example.com/history/ załaduje listę lub ostatnie wpisy example.com/history/romans/ to dynamiczny link, który otworzy example.com/history / z preformatem, jak jeden duży obrazek tworzony w locie, z tytułem i opisem w locie też tak już robiłem z php ale nie wiem czy jest jakaś wtyczka lub coś w architekturze wordpress co pozwala ja to robię. Prawdziwym zastosowaniem jest umożliwienie użytkownikom zobaczenia kamery internetowej online i kiedy znajdą się w historii tagu kamery internetowej lub zostawią komentarz lub użyją aplikacji udostępniania lub innych działań, więc w tym momencie przykład.com/history/ rrrrddmm-gg:mm:ss link zostanie utworzony w locie (przy użyciu tego samego formatu, co example.com/history) z tym zdjęciem, komentarzami itp.


title: Migrujesz witrynę WordPress od jednego dostawcy usług hostingowych do drugiego?

text: Moja witryna WordPress jest hostowana u dostawcy Windows i przechodzę do innego dostawcy Windows. Jakieś wskazówki lub instrukcje, w jaki sposób mogę płynnie przechodzić od jednego do drugiego bez utraty jakichkolwiek informacji?


title: Pokaż tablicę wartości meta w kolumnie Edytuj post

text:
to, co próbuję zrobić, to dodać nową kolumnę do strony Edytuj post (gotowe) i w tej kolumnie pokazać dane pobrane z zestawu pól niestandardowych (częściowo wykonane). To jest mój kod (używam go jako wtyczki, więc łatwiej go modyfikować). Dodaje metabox w postach, dzięki czemu mogę łatwo dodawać niestandardowe pola. <?php // katalog bazowy wtyczek global $maismeta_base_dir; $maismeta_base_dir = plugin_dir_url(__FILE__); // Dodaj funkcję Meta Box add_custom_meta_box() { add_meta_box( 'custom_meta_box', // $id 'Impostazioni di ricerca', // $title 'show_custom_meta_box', // $callback 'post', // $page 'normalna' , // $context 'wysoki'); // $priority } add_action('add_meta_boxes', 'add_custom_meta_box'); // Field Array $prefix = 'custom_'; $custom_meta_fields = array( array ( 'label' => __('Własność','maismeta'), 'desc' => __('Dodaj informacjezioni sul proprietario.','maismeta'), 'id' => $prefix.'textarea_proprietario', 'type' => 'textarea', ), array ( 'label' => __('Sesso affittuario','maismeta '), 'desc' => __('Inserisci il sesso disponibile.','maismeta'), 'id' => $prefix.'checkbox_group_sesso', 'type' => 'checkbox_group', 'options' => tablica ( 'Uomo' => array ( 'label' => __('Uomo','maismeta'), 'value' => 'Uomo' ), 'Donna' => array ( 'label' => __('Donna ','maismeta'), 'value' => 'Donna' ), 'Altro' => array ( 'label' => __('Altro','maismeta'), 'value' => 'Altro' ) ) ), array ( 'label' => __('Liczba zajętości','maismeta'), 'desc' => __('Wpisz numerro degli occupanti.','maismeta'), 'id' => $prefix.'checkbox_group_occupanti', 'type' => 'checkbox_group', 'options' => array ( '1' => array ( 'label' = > __('1','maismeta'), 'wartość' => '1' ), '2' => tablica ( 'etykieta' => __('2','maismeta'), 'wartość' => '2' ), '3' => tablica ( 'etykieta' => __('3','maismeta'), 'wartość' => '3' ), '4' => tablica ('etykieta' => __('4','maismeta'), 'wartość' => '4' ), '5' => tablica ( 'etykieta' => __('5','maismeta'), 'wartość' => ' 5' ), '6' => tablica ( 'label' => __('6','maismeta'), 'wartość' => '6' ), '7' => tablica ( 'etykieta' => __('7','maismeta'), 'wartość' => '7' ), '8' => tablica ( 'etykieta' => __('8', 'maismeta'), 'value' => '8' ), ) ), array ( 'label' => __('Facolta di Riferimento','maismeta'), 'desc' => __('Scegli le facolta di riferimento.','maismeta'), 'id' => $prefix.'checkbox_group_facolta', 'type' => 'checkbox_group', 'options' => array ( 'Agraria' => array ( 'label' => __ ('Agraria','maismeta'), 'value' => 'Agraria' ), 'Economia' => array ( 'label' => __('Economia','maismeta'), 'value' => 'Economia ' ), 'Farmacia' => tablica ( 'label' => __('Farmacia','maismeta'),'value' => 'Farmacia' ), 'Giurisprudenza' => array ( 'label' => __('Giurisprudenza','maismeta'), 'value' => 'Giurisprudenza' ), 'Ingegneriea' => array ( 'label' => __('Ingegneriea','maismeta'), 'value' => 'Ingegneriea' ), 'Lettere e Filosofia' => array ( 'label' => __('Lettere e Filosofia','maismeta '), 'value' => 'Lettere e Filosofia' ), 'Lingue e letteratura straniera' => array ( 'label' => __('Lingue e letteratura straniera','maismeta'), 'value' => ' Język i chirurgia' ), 'Medycyna i Chirurgia' => array ( 'label' => __('Medycyna i Chirurgia','maismeta'), 'value' => 'Medycyna i Chirurgia' ),'Scienze della formazione' => array ( 'label' => __('Scienze della formazione','maismeta'), 'value' => 'Scienze della formazione' ), 'Scienze matematiche fisiche i naturali' => array ( 'label' => __('Nauka matematyczna i naturalna','maismeta'), 'value' => 'Nauka matematyczna i naturalna' ), 'Nauka polityki' => tablica ( 'etykieta' => __(' Science politiche','maismeta'), 'value' => 'Scienze politiche' ) ) ), ); /* jQuery era qui */ // Funkcja wywołania zwrotnego show_custom_meta_box() { global $custom_meta_fields, $post; // Użyj wartości nonce do weryfikacji echo '<input type="hidden" name="custom_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; // Rozpocznij tabelę pól ipętli echo '
'; foreach ($custom_meta_fields as $field) { // pobierz wartość tego pola, jeśli istnieje dla tego postu $meta = get_post_meta($post->ID, $field['id'], true); // Rozpocznij wiersz tabeli od echa '
 '.$field['label'].'	 '; switch($field['type']) { // wielkość liter 'text': echo '<input type="text" name="'.$field['id'].'" id="'.$field ['id'].'" value="'.$meta.'" size="30" />
'.$field['desc'].'</ rozpiętość>'; przerwanie; // wielkość liter textarea 'textarea': echo '<textarea name="'.$field['id'].'" id="'.$field['id'].'" cols="60" rows=" 4">'.$meta.'</textarea>
'.$pole['desc'].''; przerwanie; // pole wyboru 'pole wyboru': echo '<input type="pole wyboru" name="'.$pole['id'].'" id="'.$pole['id'].'" ',$ meta ? ' check="sprawdzone"' : '','/> '.$field['desc'].''; przerwanie; // wybierz wielkość liter 'select': echo '<select name="'.$field['id'].'" id="'.$field['id'].'">'; foreach ($pole['opcje'] as $opcja) { echo '<opcja', $meta == $opcja['wartość'] ? ' selected="wybrane"' : '', ' wartość="'.$opcja['wartość'].'">'.$opcja['etykieta'].'</option>'; } echo '</select>
'.$pole['desc'].'';przerwanie; // przypadek radia 'radio': foreach ( $field['options'] as $option ) { echo '<input type="radio" name="'.$field['id'].'" id="' .$opcja['wartość'].'" wartość="'.$opcja['wartość'].'" ',$meta == $opcja['wartość'] ? ' sprawdzone="sprawdzone"' : '',' /> <etykieta for="'.$opcja['wartość'].'">'.$opcja['etykieta'].'
”; } echo ''.$pole['desc'].''; przerwanie; // checkbox_group case 'checkbox_group': foreach ($field['options'] as $option) { echo '<input type="pole wyboru" value="'.$option['value'].'" name="' .$pole['id'].'[]" id="'.$opcja['wartość'].'"',$meta && in_array($opcja['wartość'], $meta) ? ' sprawdzone="sprawdzone"' : '',' />'.$opcja['etykieta'].'
'; } echo ''.$pole['desc'].''; przerwanie; // tax_select case 'tax_select': echo '<select name="'.$field['id'].'" id="'.$field['id'].'"> <option value=""> Wybierz jeden</option>'; // Wybierz jeden $terms = get_terms($field['id'], 'get=all'); $selected = wp_get_object_terms($post->ID, $field['id']); foreach ($terms as $term) { if (!empty($selected) && !strcmp($term->slug, $selected[0]->slug)) echo '<option value="'.$term-> ślimak." selected="selected">'.$term->nazwa.'</option>'; w przeciwnym razieecho '<option value="'.$term->slug.'">'.$term->nazwa.'</option>'; } $taksonomia = get_taxonomy($pole['id']); echo '</select>
Zarządzaj '.$taxonomy->etykieta.''; przerwanie; // post_list przypadek 'post_list': $items = get_posts( array ( 'post_type' => $field['post_type'], 'posts_per_page' => -1 )); echo '<select name="'.$field['id'].'" id="'.$field['id'].'"> <option value="">Wybierz jeden</option>'; // Wybierz jeden foreach($items as $item) { echo '<option value="'.$item->ID.'"',$meta == $item->ID ? 'select="selected"' : '','>'.$item->post_type.': '.$item->post_title.'</ option>'; } // zakończenie foreach echo '</select>
'.$field['desc'].''; break; // wielkość liter 'data': echo '<input type="text" class="datepicker" name="'.$field['id'].'" id="'.$field['id'].'" value= "'.$meta.'" size="30" />
'.$field['desc'].''; break; // wielkość liter 'slider': $wartość = $meta != '' ? $meta : '0'; echo '

 <input type ="tekst" nazwa="'.$pole['id'].'" id="'.$pole['id'].'" value="'.$value.'" size="5" / >
'.$pole['desc'].''; przerwanie; // obraz globalny $secondazona;$secondazona = plugin_dir_url(__FILE__); case 'image': $zonaimmi = $secondazona.'images/image.png'; echo ''.$zonaimmi.''; if ($ meta) { $ zonaimmi = wp_get_attachment_image_src ($ meta, 'średni'); $zonaimmi = $zonaimmi[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; // powtarzalny przypadek 'repeatable': echo '+
'; $i = 0; if ($meta) { foreach($meta jako $wiersz) { echo '
||| <input type="text" name="'.$field ['id'].'['.$i.']" id="'.$pole['id'].'" value="'.$row.'" size="30" /> -
';$i++; } } else { echo '
||| <input type="text" name="'.$pole['id'].'['.$ i. ']" id="'.$pole['id'].'" value="" size="30" /> -
'; } echo '
 '.$field['desc'].''; przerwanie; } //zakończ echo przełącznika '
'; } // koniec foreach echo '
'; // zakończ tabelę } function remove_taxonomy_boxes() { remove_meta_box('categorydiv', 'post', 'side'); } add_action( 'admin_menu' , 'remove_taxonomy_boxes' ); // Zapisz funkcję danych save_custom_meta($post_id) { global $custom_meta_fields; // zweryfikuj numer jednorazowy, jeśli (!wp_verify_nonce($_POST['custom_meta_box_nonce'], basename(__FILE__))) return $post_id; // sprawdź autozapis if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // sprawdź uprawnienia if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) return $post_id; } elseif (!current_user_can('edit_post', $post_id)) { return $post_id; } // przejdź przez pola i zapisz dane foreach ($custom_meta_fields jako $field) { if($field['type'] == 'tax_select') Continue; $stary = 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 ('' == $new && $old) { delete_post_meta($post_id, $field['id'],$stary); } } // enf foreach // zapisz taksonomie $post = get_post($post_id); $kategoria = $_POST['kategoria']; wp_set_object_terms ($post_id, $kategoria, 'kategoria'); } add_action('save_post', 'save_custom_meta'); /* nuova posizione */ // dodaj skrypty i style do kolejki, ale tylko jeśli is_admin ?> Jak widzisz mam 2 zestawy pól wyboru pierwszy z 3 możliwymi wartościami: **'Uomo','Donna','Altro' ** Dzięki temu użytkownik może łatwo wybrać 1,2,3 lub wszystkie wartości. Następnie mam to, aby pokazać 2 dodatkowe kolumny na mojej stronie edycji postów: // WSZYSTKIE TYPY POSTÓW: posty ORAZ niestandardowe typy postów add_filter('manage_posts_columns', 'colonne_informative_head'); add_action('manage_posts_custom_column', 'colonna_proprietario', 10, 2); // DODAJ NOWĄ KOLUMNĘ function colonne_informative_head($defaults) { $defaults['custom_textarea_proprietario'] = 'Proprietario'; $defaults['custom_checkbox_group_sesso'] = 'Czas zajmowany'; zwróć $domyślne; }; // POKAŻ WYBRANY OBRAZ function colonna_proprietario($column_name, $post_ID) { if ($column_name == 'custom_textarea_proprietario') { $post_colonna_proprietario = get_post_meta($post_ID, 'custom_textarea_proprietario') if ($post_colonna_proprietario) { echo $post_colonna_proprietario; } }; if ($column_name == 'custom_checkbox_group_sesso') { $sesso_occupanti = get_post_meta($post_ID, "custom_checkbox_group_sesso", true); //sprawdź, czy mamy niestandardowe pole if ($sesso_occupanti != "") { // Rozdziel naszą listę oddzieloną przecinkami na tablicę $sesso_occupanti = explode(",", $sesso_occupanti); //przeprowadź pętlę przez naszą nową tablicę foreach ($sesso_occupanti as $sesso) { echo $sesso ; } }}; }; Nie mam problemu z kolumną o nazwie: **custom_textarea_proprietario**, ponieważ stosunkowo łatwo było odtworzyć tylko 1 wartość. Ale nie mam pojęcia, jak wywołać echo wartości drugiej kolumny o nazwie: **custom_checkbox_group_sesso** w rzeczywistości jest to tylko echo '**Array**' i nic więcej. Jeśli otworzę Php mojego administratora i poszukam danych, które przechowuję, widzę to: **a:3:{i:0;s:4:"Uomo";i:1;s:5:"Donna" ;i:2;s:14:"Giurisprudenza";}** W tym przypadku chciałbym powtórzyć w mojej kolumnie: * Uomo * Donna Jeszcze jedna kolumna z: * Giurisprudenza Jestem w tym prawie nowicjuszem takie rzeczy, więc proszę, bądź dla mnie miły i spróbuj wyjaśnić wszystko krok po kroku.


title: Tworzenie niestandardowych metaboksów na stronie opcji wtyczki

text:
W moim głównym pliku wtyczki, wp-email-capture.php, nazywam to:- add_action( 'admin_init', 'wp_email_capture_add_custom_boxes'); To wywołuje tę funkcję:- function wp_email_capture_add_custom_boxes() { add_meta_box("wp_email_capture_admin_supportbox", __('Support', 'WPEC'), "wp_email_capture_admin_supportbox", "wpemailcaptureoptions","side"); //do_meta_boxes( 'wpemailcaptureoptions', 'normalny' , NULL); - usunięto zgodnie z poradą SE } I osobno ta funkcja:- function wp_email_capture_admin_supportbox() { echo "
Jeśli masz problemy z tą wtyczką, przeczytaj często zadawane pytania lub prześlij prośbę o pomoc.
 "; } Otwieram stronę Opcje przechwytywania poczty e-mail WP (która zawiera kilka opcji wpemailcaptureoptions) i nie widzę żadnego pola ani niczego na pasku bocznym. To mnie kompletnie zbiło z tropu. _Podejrzewam_, że jest to coś, jak to się nazywa, próbowałem z `add_action('add_meta_box',...`, ale nawet funkcja nie została wywołana. Pomysły? Jeśli potrzebujesz czegoś innego, daj mi znać: ) **Edytuj** Przeniosłem teraz „do_meta_boxes” na stronę opcji, na której chcę wyświetlać meta pole i nadal nie mam radości, oto funkcja, która zarządza stroną opcji:- function wp_email_capture_show_lists() { $lists = wpecp_get_all_lists (); do_meta_boxes( 'wpemailcaptureoptions', 'normalny' , NULL); echo '
'; echo '
Listy
'; ?>

 <?php _e('Nazwa listy','WPEC'); ?>	 <?php _e('Edytuj','WPEC'); ?>	 <?php _e('Usuń','WPEC'); ?>

 <?php _e('Nazwa listy','WPEC'); ?>	 <?php _e('Edytuj','WPEC'); ?>	 <?php _e('Usuń','WPEC'); ?>

 <?php foreach ($lista jako $lista) { ?>
 <ty zakres="wiersz" style="szerokość :400px"><?php echo $lista->listid .". ". $lista->nazwalisty; ?>	 <?php if ($list->listtype == 2) { $url = $_SERVER["REQUEST_URI"] . "&wpecr_listid=".$list->listid."&external=1"; } else { $url = $_SERVER["REQUEST_URI"] . "&wpecr_listid=".$lista->identyfikator listy; } ?> <a href="<?php echo $url; ?>">Edytuj	 <?php if ($list->listid != get_option('wp_wpecp_default_list ')) { $url = $_SERWER["REQUEST_URI"] . "&delete_listid=".$list->identyfikator listy; ?> <a href="<?php echo $url; ?>">Usuń <?php } ?>
 <?php } echo '

”; echo "
Dodaj nową listę przechwytywania wiadomości e-mail WP Dodaj nową listę zewnętrzną
"; echo '

'; } ?>


title: Ta sama treść udostępniana w wielu postach?

text: Chcę, aby niektóre treści były dzielone między różnymi postami. **Dlaczego?** Piszę serię postów o backbone js. Chodzi o to, że każdy post ma jakąś wspólną treść, tj. skąd można pobrać kod źródłowy itp. Teraz za każdym razem, gdy chcę utworzyć nowy post, po prostu kopiuję i wklejam tę samą treść. Teraz jeden problem to: modyfikowanie treści. Dzisiaj chcę zmodyfikować treść we wszystkich wpisach. Teraz muszę ręcznie edytować treść w każdym poście. Byłoby wspaniale, gdybym mógł użyć udostępnionej kopii czegoś w rodzaju częściowej w ruby na szynach i po prostu edytować tę udostępnioną kopię, a wszystkie posty zawierające tę udostępnioną kopię zostaną zmodyfikowane. Wszelkie sugestie, wtyczki itp.


title: Zbuduj dynamiczną stronę z odpowiedzi cURL (strona HTML) za pomocą wtyczki

text: Czuję, że brakuje mi tutaj czegoś prostego, ale nie mogę tego zrozumieć, potrzebuję linków do mojej wtyczki do strony, która jest w całości zbudowana za pomocą odpowiedzi cURL. Buduję wtyczkę, która łączy się z zewnętrznym API do ściągania danych i budowania dynamicznej listy (zadań), która jest wyświetlana za pomocą shortcode. Każda pozycja listy musi zawierać link do ogłoszenia o pracę. Za pośrednictwem tego interfejsu API te reklamy są dostarczane (za pośrednictwem innego cURL) jako ukończony kod HTML. Dla każdego żądania cURL wymagany jest identyfikator client_id, który jest przechowywany w bazie danych wordpress. Inną wymaganą rzeczą jest prosty identyfikator odnoszący się do pracy. Pierwotnie utworzyłem plik PHP, który miał cURL jako funkcję i wyciągnąłem identyfikator z ciągu zapytania. Link został zbudowany w następujący sposób: $_ad_link = plugins_url( 'includes/ad.php' , dirname(__FILE__) ); Ale cURL zależy od dostępu do bazy danych w celu pobrania client_id (służy jako hasło). Wygląda na to, że ten plik nie jest rozpoznawany jako plik Wordpress, więc nie wie, co zrobić z `get_option` w takim przypadku. Nie powinienem w żaden sposób przekazywać identyfikatora client_id przez przeglądarkę za pomocą javascriptu lub czegoś podobnego. W przeciwnym razie po prostu dołączyłbym go do ciągu zapytania lub użyłbym AJAX (chociaż nie mam doświadczenia w AJAX, na przykład, jeśli istnieje sposób, aby bezpiecznie nadać mu identyfikator client_id). Czy jest jakiś sposób na dołączenie tego pliku do Wordpressa i prawidłowe połączenie z nim, jak mam nadzieję? A może istnieje inny sposób na przejęcie odpowiedzi cURL (pełna strona HTML) i wyświetlenie jej po kliknięciu elementu listy? Przepływ powinien wyglądać następująco: * Użytkownik wyświetla listę zadań (na interfejsie witryny). * Użytkownik klika zadanie (link). * Użytkownik widzi ogłoszenie o pracę (pełny plik HTML zwrócony z żądania cURL). Mam client_id, którego potrzebuję z bazy danych wp i identyfikator zadania (który mogę przekazać przez łącze). Chciałbym wyświetlić ogłoszenie o pracę jako osobną stronę, zamiast oszukiwać się iframe lub coś w tym rodzaju. EDYCJA: Jak wspomniano w komentarzach poniżej, idealnie chciałbym wyświetlić odpowiedź cURL na nowej „stronie”, która ma tylko tę treść. Początkowo próbowałem to zrobić, tworząc stronę, która miała tylko żądanie cURL jako funkcję, która następnie wysyłała odpowiedź do strony. Pozycje listy zadań będą następnie linkować do tej strony, która wywołałaby cURL. Potrzebuję jednak tej strony (żądanie cURL), aby mieć dostęp do bazy danych wp i działać poprawnie w wordpressie. Tak jak było, wystąpiłby błąd z get_option. (Pobieram właściwy identyfikator zadania z ciągu zapytania) $job_id = $_SERVER["QUERY_STRING"]; parse_str($job_id); if(isset($jobid)) { build_jobad(); } funkcja build_jobad() { global $jobid; $sg_ad_url = 'url-url-idzie-tutaj'; $cm = curl_init($curl_url); $options = get_option('plugin_options'); $identyfikator klienta = $opcje['identyfikator_klienta']; curl_setopt($cm, CURLOPT_USERPWD, $identyfikator klienta); curl_setopt($cm, CURLOPT_HTTPHEADER, Array('Typ treści: aplikacja/json;charset=utf-8')); $jobs_ad_output = curl_exec($cm); curl_close($cm); } Czy można to zrobić w ten sposób? Czy brakuje mi czegoś, aby ta strona php mogła funkcjonować w wordpressie? Założyłem, że to nie zadziała, chyba że będzie to strona szablonowa, której nie chcę tworzyć. Odpowiedź cURL musi być **tylko** wyjściem HTML na stronie.


title: Motywy VS Wtyczki

text: Jeśli dostosowuję witrynę WordPress, czy powinienem to zrobić za pomocą motywu lub wtyczki? Przez personalizację rozumiem: 1. Dodaj nowy niestandardowy typ postu 2. Dodaj nowe pola dla użytkowników 3. Dodaj nowe widżety 4. Dodaj niestandardowe permalinki Skłaniam się do tworzenia nowych wtyczek do powyższego i zostawiam motyw do stylizacji, jednak ja chciałem potwierdzić, czy jest to właściwe podejście. Dziękuję.


title: Jak załadować wtyczkę jquery tag-it do admina?

text:
Próbuję załadować wtyczkę tag-it jquery do zaplecza wordpress dla strony edycji kategorii, ale z jakiegoś powodu nie mogę. Oto fragmenty mojego kodu: function tag_category_fields($tag){ $t_id = $tag->term_id; $cat_meta = get_option( "category_$t_id"); $tag_items_list = indywidualny_tag(); ?>
 <ty zakres="wiersz" valign="góra"><etykieta for="category_tag_list"><?php _e('Dostępne tagi kategorii'); ?>	  <form class="category_tag_list_values"> <select id="list_category_tags" name="list_category_tags" style="szerokość: 300px; padding: 5px; overflow-y: auto; " multiple="multiple"> <?php foreach($tag_items_list as $tags){ ?> <option value="<?php echo $tags->tag_id ?>"><?php echo $tags->name ?>< /option> <?php } ?> </select>
 <input class="uibutton" style="width: 75px" type="button" value="add"> </form>

 <ty zakres="wiersz" valign="top"><?php _e('Bieżące znaczniki kategorii') ; ?>	  <input id="myTags" type="text" />

 <?php _e('Aktualne znaczniki kategorii'); ?>
 <?php } To jest html dla dodanych pól na stronie: function my_plugin_admin_init() { wp_enqueue_script( 'myTagScript', plugins_url( '/js/tag-it .js' , __PLIK__)); wp_enqueue_script( 'myCategoryTagScript', plugins_url( '/js/category_tags.js' , __FILE__)); wp_enqueue_script("myUi","https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.8/jquery-ui.min.js"); } function my_plugin_admin_scripts() { wp_enqueue_script( 'myTagScript' ); wp_enqueue_script( 'myCategoryTagScript' ); } Jak ładuję skrypty dla stron: jQuery(document).ready(function($){ $("form :button").click(function() { alert($('#list_category_tags').val ()); }); $('#myTags').tagit(); }); Używam tej wtyczki https://github.com/aehlke/tag-it


title: Jak mogę zaimportować klasę prywatnie do wtyczki?

text: Napisałem wtyczkę do Wordpress, która wykorzystuje prostą bibliotekę kontrolera/szablonów, którą stworzyłem, aby oddzielić logikę biznesową od prezentacji. Mam (nieco teoretyczne) zapytanie o to, jak zaimportować to „prywatnie” do wtyczki w sposób, który nie koliduje z innymi zastosowaniami wtyczek. Biblioteka o nazwie `TemplateSystem` jest modułem podrzędnym w moim repozytorium git dla wtyczki i jest zdefiniowana wewnętrznie w następujący sposób: <?php // Nie definiuj tego, jeśli jest już zdefiniowane if (!class_exists('TemplateSystem')) { abstract class TemplateSystem { ... } } Tak więc, jeśli inna wtyczka korzysta z `TemplateSystem`, załadowana kopia zostanie użyta, zamiast tworzyć błąd przez przedefiniowanie go. Normalnie jest to w porządku, ale teraz w `TemplateSystem` wprowadzono zmianę niekompatybilną wstecz. Mam więc dwie wersje tej samej biblioteki, które muszą być załadowane w tym samym czasie. W obecnej sytuacji albo nowsza biblioteka zepsuje starszą wtyczkę, albo starsza biblioteka zepsuje nowszą wtyczkę, w zależności od kolejności, w jakiej wtyczki są ładowane przez WP. Oto jedna potencjalna zmiana w `TemplateSystem`, która rozwiązuje problem: <?php // Część 'Change2' zmieniłaby się wraz ze zmianami niekompatybilnymi wstecz, // a nie tylko numerami wersji (chociaż byłoby dobrze tbh) Przestrzeń nazw TemplateSystem\ Zmień2; // Nie definiuj tego, jeśli zostało to już zdefiniowane if (!class_exists('TemplateSystem\Change2\TemplateSystem')) { abstract class TemplateSystem { ... } } Aby uniknąć kolizji nazw w moim przypadku użycia, mogę to zrobić: <?php użyj TemplateSystem\Change2\TemplateSystem jako VersionedCommentsTemplateSystem; class VersionedCommentsController extends VersionedCommentsTemplateSystem { ... } Działa to dobrze wraz ze starszą wersją (bez przestrzeni nazw). Teraz wspomniałem, że to pytanie jest teoretyczne, ponieważ jestem autorem biblioteki szablonów i (choć jest ona publicznie dostępna) nie sądzę, aby ktokolwiek inny jej używał. Tak więc jednym z rozwiązań jest zignorowanie tego problemu; jednak dobrze byłoby wiedzieć, jak sobie z tym poradzić! Druga możliwość: powyższe rozwiązanie przestrzeni nazw będzie działać dobrze, z wyjątkiem tego, że przestrzenie nazw wymagają PHP 5.3 i - jak pokazują różne odpowiedzi na tej stronie - WP nie przejdzie wkrótce z przestarzałej wersji. Czy powinienem to zignorować i wymagać PHP 5.3, nawet jeśli rdzeń się nie porusza? To oczywiście uniemożliwiłoby działanie jakiejkolwiek wtyczki opartej na mojej pracy na starszym serwerze. Lub, jeśli uważasz, że wtyczki (i ich biblioteki) najlepiej wymagają tylko 5.2.4, jaka jest alternatywna poprawka? Rozważałem dołączony skrypt "build" konsoli PHP, który po prostu wykonuje proste wyszukiwanie i zamienia, tak że nazwa biblioteki jest zastępowana niestandardową nazwą dla każdej wtyczki; w ten sposób plik `TemplateSystem.php` jest kopiowany, a definicja klasy kopii zmieniana jest wewnętrznie na `VersionedCommentsTemplateSystem` (tj. zgodnie z przypadkiem użycia). To dość chytre, ale przynajmniej działałoby z większą liczbą instalacji. Ostatnia możliwość, dodaj zmianę lub numer wersji do nazwy klasy: <?php // Nie definiuj tego, jeśli jest już zdefiniowane if (!class_exists('TemplateSystem2')) { abstract class TemplateSystem2 { ... } } działałby z 5.2.4+, ale jest moim najmniej preferowanym rozwiązaniem; mój wewnętrzny purysta sprzeciwia się zepsuciu nazwy klasy! Jakie podejście poszliby doświadczeni twórcy wtyczek?


title: Wykluczyć typ posta z pre_get_posts?

text: Używam pre_get_posts do wyświetlania archiwum taksonomii niestandardowej. Teraz dodałem post typu „photo” dzielący tę samą taksonomię z domyślnym typem posta. Jak mogę wykluczyć posty „zdjęcia” pobierane przez pętlę archiwum taksonomii, aktualizując moją istniejącą funkcję? function my_breakfast_query ( $query ) { // nie jest stroną administracyjną i jest głównym zapytaniem if (!is_admin() && $query->is_main_query()){ if (is_tax( 'jedzenie', 'śniadanie' )){ $tax_query = array( 'relation' => 'LUB', array( 'taksonomia' => 'kategoria', 'field' => 'id', 'terms' => array( 366 ) ), array( 'taksonomia' => 'jedzenie', 'pole' => 'id', 'terms' => tablica(364)) ); $zapytanie->zestaw('podatek_zapytanie', $podatek_zapytanie); } } } add_action( 'pre_get_posts', 'my_breakfast_query' );


title: Przepisz znacznik HTML wp-login.php

text: Jak mogę całkowicie przepisać znaczniki strony logowania w wordpressie? Nie chcę tylko zmieniać etykiet czy logo... Muszę całkowicie przepisać strukturę strony. Dzięki z góry!


title: Jak uzyskać przycięty obraz z biblioteki multimediów?

text: mam adres URL obrazu (w pełnym rozmiarze). Podczas wgrywania generuje już mniejszą wersję (dodałem to w funkcjach). Jak mogę uzyskać tę przyciętą wersję, gdy mam adres URL w pełnym rozmiarze? Obraz nie znajduje się w poście, więc nie mogę użyć post-thumbanil() Obraz jest na suwaku na stronie głównej


title: Strona główna przekierowuje na inną moją stronę?

text: Mam witrynę, w której strona główna **przekierowuje** do innej witryny, która również pochodzi ode mnie. Wczoraj próbowałem na niego wejść i wtedy było dobrze. Ale teraz, tego wieczoru, kiedy nigdy niczego nie dotknąłem, przekierowuję mnie na inną moją stronę, co oczywiście nie jest tym, czego chcę. Co do diabła idzie nie tak? To mnie sfrustrowało, bo planowałam dzisiaj zagrać na żywo. Czy ktoś może mi pomóc? Sprawdziłem wszystkie pliki `plugins`, `index.php`, .`js` i przeszukałem wszystkie pliki, aby zobaczyć, czy istnieje zakodowany link, ale bez powodzenia. Poza tym sprawdziłem swoją `bazę danych` i nie mogłem nic znaleźć. PS: tylko przekierowania strony głównej. Inne części mojej witryny, takie jak /contact, nie przekierowują.


title: Woocommerce: czy można zastąpić „pobieranie” pliku prostym odczytaniem go na ekranie?

text: woocommerce to idealne narzędzie do tego, co chcę robić, z wyjątkiem tego, że chcę, aby klienci mieli dostęp do strony html5, za którą zapłacili (nie pobierali jej). Najwyraźniej woocommerce tego nie robi... Czy znasz komplementarną wtyczkę, która mogłaby to zrobić, czy możesz dać mi porady, jak zmodyfikować to w plikach woocommerce? Tx z góry! BI


title: Czy w krótkich kodach rozróżniana jest wielkość liter?

text: Jeśli napiszę wtyczkę i zarejestruję krótki kod używając tego kodu: add_shortcode('footag', 'footag_func'); a użytkownik używa tego w swoim poście: [FOOTAG] Czy to powinno działać?


title: Automatyczna aktualizacja godziny 1 razy dziennie?

text: Jak automatycznie aktualizować datę i godzinę strony do aktualnego czasu tylko 1 raz dziennie? Przykład: piszę post 28 maja 2013. A jeśli dzisiaj jest 9 czerwca, to się zmieni z 28 maja na 9 czerwca. A jeśli dzisiaj jest 10 czerwca, to zmieni się z 9 czerwca na 10 czerwca. Jak to zrobić? Dziękuję Ci bardzo !


title: Wyszukiwanie według metawartości pokazuje nieodpowiedni wynik

text: Pracuję nad niestandardowym wyszukiwaniem według wartości meta i używam tego: print_r ($_REQUEST); $args = array( 'post_type' => 'property_post', 'posts_per_page' => 10, 'order' => 'ASC', 'meta_query' => array( 'relation' => 'LUB', array( 'key ' => 'custom_textarea', 'value' => 'me', // jeśli użyję statycznego słowa kluczowego to działa 'compare' => 'LIKE' ), array( 'key' => 'custom_price', 'value' = > array( $_REQUEST['custom_price'], $_REQUEST['custom_price1'] ), 'type' => 'numeric', 'compare' => 'BETWEEN' ), array( 'key' => 'custom_beds', 'value' => $_REQUEST['custom_beds'], 'compare' => '=' ), array( 'key' => 'custom_bath', 'value' => $_REQUEST['custom_bath'], 'compare' => '=' ), array( 'key' => 'custom_garage', 'value' => $_REQUEST ['custom_garage'], 'porównaj' => '=' ) ) ); Jeśli użyję jakiegoś statycznego słowa kluczowego dla wartości meta, to działa, ale z `$_REQUEST` tak nie jest. Sprawdziłem `$_REQUEST` używając `print_r($_REQUEST)`: Array ( [custom_textarea] => aa[custom_price] => 1000 [custom_price1] => 4000[custom_beds] => 2[custom_garage] => 1) Co z tego powinienem zrobić, aby to działało?


title: Brzydkie permalinki przestały przekierowywać do ładnych adresów URL

text: Mam witrynę WordPress 3.2.1 hostowaną na współdzielonym serwerze DreamHost Debian/Apache. Odkąd założyłem witrynę dwa lata temu, jest ona ustawiona na strukturę linku bezpośredniego `/%year%/%monthnum%/%postname%/`. Przekierowywał także adresy URL, takie jak `/?p=204` i `/?page_id=1836` do ich „ładnych” odpowiedników. Teraz jednak widzę wpisy w moich pakietach statystyk (Piwik i Google Analytics) dla „brzydkich” adresów URL. Rzeczywiście, nie przekierowują już do kanonicznych lokalizacji. Czy ktoś wie o wtyczce, która okazała się powodować taki problem? Czy W3 Total Cache może wnieść wkład? Myślę, że zaktualizowałem go kiedyś w ciągu ostatnich kilku tygodni; Zdecydowanie poprawiałem ustawienia. (Jeśli to pomoże, moja lista wtyczek jest opublikowana na tej stronie.) Debuguję ręcznie, gdy będę miał czas, ale w międzyczasie pomyślałem, że dam szansę #lazyweb.


title: Jak zmodyfikować lightbox „Wstaw multimedia” w panelu administracyjnym, aby wyświetlał tylko elementy multimedialne z kategorii?

text: Próbuję rozwiązać problem, który nadal mam z biblioteką multimediów. Zasadniczo to, co chcę zrobić, to „automatycznie” przypisywać multimedia, które są przesyłane ze strony „edytuj post” niestandardowego typu do predefiniowanej kategorii. Na podstawie innych odpowiedzi na tej stronie znalazłem różne osoby dyskutujące o rozwiązaniu (jeden z tych linków znajduje się poniżej), które pozwalają "ręcznie" przypisać kategorię do elementów biblioteki multimediów. Moim celem jest jednak określenie w jakiś sposób konkretnych typów postów i kategorii skojarzeń, które należy zastosować. Jednocześnie chciałbym również mieć możliwość ograniczenia „określonego typu postu”, tak aby w przypadku żądania lightbox biblioteki multimediów ze strony edycji posta „biblioteka multimediów” wyświetlała TYLKO elementy z określonych przeze mnie kategorii. Wiem, że może to zabrzmieć nieco mylące, więc podam krótki przykład. Załóżmy, że mam niestandardowy typ posta o nazwie „wiadomości dla pracowników”. Załóżmy teraz, że ktoś przystępuje do dodawania/edytowania wpisu w ramach tego niestandardowego typu wpisu. Załóżmy dalej, że teraz używa edytora do dodawania treści, a teraz chce dodać jeden lub więcej obrazów. Zgodnie z oczekiwaniami wybierze przycisk „dodaj multimedia” nad edytorem i albo (a) prześle nowy obraz, albo (b) wybierze obraz z biblioteki multimediów. TO są dwa obszary, o których mówię. To, czego potrzebuję, to poprawny kod do umieszczenia w moim pliku functions.php, aby jedno lub oba z poniższych ustawień można było ustawić indywidualnie: (a) Możliwość określenia niestandardowego typu postu i zdefiniowania nazwy ukrytej kategorii, która ma być powiązana z dowolnym plik przesłany do biblioteki multimediów. (b) Możliwość określenia niestandardowego typu postu i zdefiniowania „kategorii z ograniczeniami”, które mają być używane podczas prezentowania plików dostępnych dla użytkownika do wyboru. Jak można to właściwie osiągnąć? Podobne pytanie związane z przypisywaniem kategorii elementów multimedialnych: Czy mogę dodać metabox kategorii do załącznika? Powiązane pytanie dotyczące logiki warunkowej związanej z biblioteką multimediów: Warunkowe add_filter?


title: Jak skonfigurować stronę główną mojego bloga, aby automatycznie wyświetlała tylko posty z tego tygodnia?

text: na mojej stronie WPWeekly.net, obecnie muszę ustawić liczbę postów do ręcznego wyświetlenia w Ustawienia-> Czytanie. Czy istnieje fragment, który pozwoli mi automatycznie wyświetlać w blogu na stronie głównej tylko posty z bieżącego tygodnia? Dziękuję!


title: jak zmodyfikować formularz komentarzy

text: jak mogę zmodyfikować formularz komentarzy, mój motyw po prostu wywołaj: <?php comment_form(); ?>


title: uzyskać prostą tablicę wszystkich nazw terminów, które istnieją we wszystkich taksonomiach

text:
Być może robię to źle, ale próbuję użyć terminów get, aby uzyskać wszystkie terminy, które istnieją w każdej taksonomii. Myślę, że to może być pytanie php. get_terms pozwala określić, z których taksonomii pobiera terminy w tablicy w taki sposób... get_terms( array(post_tag, category, nav_menu, link_category, post_format), $args ) To działa, ale piszę wtyczkę i czy ludzie mają niestandardowe taksonomie ręcznie wprowadzające tablicę nie będą działać. Pomyślałem więc, że rozwiązaniem byłoby użycie taksonomii get do wygenerowania tej tablicy. Problem polega na tym, że wraca jako tablica asocjacyjna i potrzebuję prostej tablicy. Więc zrobiłem to... $myarray = 'array('.implode(', ',get_taxonomies('','names')) .')'; co, jeśli wywołam echo $myarray, zwraca: array(category, post_tag, nav_menu, link_category, post_format) perfect; Dokładnie to wprowadziłem ręcznie. teraz powinienem być w stanie trzymać $myarray w warunkach get_get, gdzie mam to ręcznie wprowadzone i powinno wszystko. Nie. Nie lubi tego. Oto cały fragment kodu, wraz ze zdjęciem tego, co zostało odtworzone. Widać, że $myarray jest dokładnie tym samym co w działającym get_terms, ale łamie drugi get_terms. $myarray = 'array('.implode(', ',get_taxonomies('','names')) .')'; echo $myarray . '
'; echo 'array(kategoria, post_tag, nav_menu, link_category, post_format)

'; print_r(get_terms( array(post_tag, kategoria, nav_menu, link_category, post_format), $args )); echo '

'; print_r(get_terms( $myarray , $args )); echo '

'; Wynik: http://i.imgur.com/tMJUmaz.jpg


title: Włącz pojedynczą stronę WordPress do istniejącej statycznej strony internetowej

text: Mam statyczną witrynę internetową i niedawno stworzyłem jedną stronę WordPress lub szablon, który próbuję włączyć do mojej istniejącej statycznej witryny. Mam kłopoty. Moja pojedyncza strona WordPress wygląda dokładnie tak, jak moja statyczna witryna. Stronę WordPress można znaleźć pod adresem 3elementsreview.com/wordpress. Ostatecznie staram się, aby strona WordPress zajęła miejsce 3elementsreview.com/submit (strony przesyłania tymczasowo nie ma, ponieważ usunąłem ją, próbując zastąpić ją stroną php wordpress). Ponadto chciałbym, aby moja strona Wordpress miała rozszerzenie submit.html, tak jak ma strona statyczna. Gdzie się z tym pomylę? Dziękuję


title: Jak zintegrować MailChimp z formularzem kontaktowym 7

text: Próbuję zintegrować pole wyboru, aby użytkownik mógł zapisać się do mojego biuletynu MailChimp, w formularzu kontaktowym 7. Skorzystałem z tego samouczka: http://www.silenceit.ca/2011/02/28/how -to-integrate- mailchimp-with-contact-form-7 Wszystko działa (wysyła dane na adres e-mail, a także wysyła dane do mailchimp) Ale okno dialogowe potwierdzenia nigdy się nie pojawia. Tylko czerwone pudełko. Funkcja działa jednak doskonale. Myślę, że to dlatego, że formularz kontaktowy 7 został zaktualizowany od czasu tego wpisu na blogu. Jeśli ktoś może pomóc. Proszę daj mi znać. Mój adres URL: http://s137929.gridserver.com/contact/


title: Czy mogę wyświetlić niestandardową taksonomię jako podmenu w menu nawigacji witryny?

text: Tworzę witrynę WP 3.2 z kilkoma niestandardowymi typami postów i taksonomiami. Nazywam jeden z tych niestandardowych typów postów _programami_ , a powiązana z nim taksonomia nazywa się _topics_. Chciałbym dodać element o nazwie „Tematy” w nawigacji poziomej witryny z rozwijanym podmenu, które zawiera listę wszystkich kategorii w taksonomii _topics_. Każda pozycja podmenu będzie następnie linkować do odpowiedniej strony archiwum kategorii. czy to możliwe? Założyłem, że w WordPressie będzie to dość łatwe, ale szukałem przez jakiś czas, ale bezskutecznie. **EDYTUJ:** Ten wpis na blogu i wtyczka są bliskie, ale wydaje się, że dotyczą tylko kategorii blogów (to znaczy nie wiem, jak dostosować je do niestandardowej taksonomii).


title: pole orderby - lista dostępnych opcji?

text: Chciałbym posortować pozycje według pola "kolejność" atrybutów strony (patrz zdjęcie). ![tutaj podaj opis obrazu](http://i.stack.imgur.com/8Fk1r.png) Natknąłem się na wszelkiego rodzaju rozwiązania „tagów niestandardowych”, ale nie ma jednego z listą wszystkich _już dostępnych_ pól, których możesz użyć z zamówieniem. Chciałbym użyć pola „zamówienie”, jak pokazano w edytorze. Próbowałem zamienić pole orderby w szablonie na „order”, ale nie widzę żadnych wyników. Obecnie używam: post_type=projects&order=ASC&orderby=order&offset=1&posts_per_page=100


title: Problemy z moimi warunkami warunkowymi w single.php według kategorii

text: W moim pliku single.php chciałbym mieć warunek, który sprawdza kategorię postu i wyświetla określone obrazy i układ. Oto co mam: http://pastebin.com/dy6TE1yr


title: Różnica czasu między ludźmi w miesiącach zamiast w dniach. Jak?

text: W moim szablonie używam następującego kodu. <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' temu'; ?> To pokazuje jak 2 dni temu, 20 dni temu, 90 dni temu. Czy istnieje sposób, aby wyświetlić tydzień temu zamiast 7 dni temu, miesiąc temu zamiast 30 dni temu, rok temu zamiast 365 dni temu? Dziękuję


title: Filtruj posty WordPress według parametrów

text: Jak filtrować posty WordPress według taksonomii i między parametrami? Rozważ witrynę mobilną z taksonomią „rozmiaru pamięci”, muszę pokazywać posty, które mają więcej niż 256 mb pamięci i mniej niż 768 mb. Czy jest to możliwe przez klasę WP_Query lub filtr "posts_where"? Wiem, że post_meta jest do tego lepszy, ale strona została zbudowana wcześniej.


title: dodaj dostawcę oembed

text: Chcę dodać dostawcę oembed do treści mojej aktywności buddypress Znalazłem tę funkcję <?php wp_oembed_add_provider( $format, $provider, $regex ); ?> Wiem, że muszę dodać filtr `init`. Skontaktowałem się z twórcami tej strony i dali mi link do oembed. więc strona to http://www.myvideo.ge/ i dali mi ten link: http://embed.myvideo.ge/flv_player/player.php?video_id=xxxx.format więc jeśli film jest http://www .myvideo.ge/?video_id=2119027 Muszę się skontaktować z http://embed.myvideo.ge/flv_player/player.php?video_id=2119027.mp4 Ale nie mam pojęcia jak to wszystko podsumować


title: Obcinaj zawartość niestandardowych postów

text:
Dostosowuję widżet używany do wyświetlania referencji. Widżet działa dobrze, z wyjątkiem tego, że pokazuje całą zawartość i chcę ograniczyć tekst/znaki, aby stopka strony wyglądała na równowagę. Oto fragment kodu widgetu: function widget( $args, $instance ) { extract( $args ); $tytuł = $instancja['tytuł'] ; $liczba = $instancja['liczba']; $url = $instancja['url']; echo $before_widget; echo '
'; if ( $title ) echo '
' . $tytuł . '
' ; ?> <?php $query = new WP_Query(); $query->query('post_type=testimonial&posts_per_page='.$count); ?> <?php if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?>
 <?php limit_text(the_content(), 15); ?>  <?php echo get_post_meta(get_the_ID(), 'pkb_author_name', true); ?>
 <?php endwhile; endif;?> Aby go skrócić, używam tego: function limit_text($text, $limit) { if (strlen($text) > $limit) { $words = str_word_count($text, 2); $pos = array_keys($słowa); $tekst = substr($tekst, 0, $pos[$limit]) . „...”; } return $text; }      To nie działa. Co ja tutaj robię źle?


title: Funkcja Ajaxing w klasie widżetów

text:
Chcę ajax funkcji zadeklarowanej w funkcji Widget w klasie widżetu, ma argumenty należące do widżetu próbuję tego kodu add_action('wp_ajax_my_func', 'my_func'); add_action('wp_ajax_nopriv_my_func', 'my_func'); ale kiedy wywołaj to przez ajax, nic nie zwróciło, używam console.log do odpowiedzi na dane, zwróciło 0, kiedy przeniosłem funkcję do function.php, działa. czy można pracować w klasie widżetów? moja funkcja widgetu public function widget( $args, $instance) { // wyświetla zawartość ekstraktu widgetu ( $args ); $tytuł = $instancja['tytuł']; $liczba = $instancja['liczba']; //ajax funkcja. function loadMoreP($number){ query_posts('showposts='.$number.''); while(have_posts()) : the_post(); echo '
'.get_the_title().''.the_post_thumbnail('thumbnail').'

'; koniec; wp_reset_query(); umierać(); } add_action('wp_ajax_loadMoreP', array($this,'loadMoreP')); add_action('wp_ajax_nopriv_loadMoreP', array($this,'loadMoreP')); echo $before_widget; echo $before_title .$title.$after_title; echo '
'; echo '
'; echo '

<input type="button" id="loadMoreW" value="Wczytaj więcej" data-offset="'.$number.'">'; echo $after_widget; } oraz kod ajax $('#loadMoreW').on('click',function(){ $.ajax({url: 'wp-admin/admin-ajax.php', typ: 'POST', dane: { akcja : 'loadMoreP', offset: $('#loadMoreW').data('offset') }, sukces: function(data){ console.log($('#loadMoreW').data('offset') ); console.log(data); $('#loadMoreW').data('offset', $('#loadMoreW').data('offset')+2); $(data).appendTo('. Najnowsze posty');             }         });      });


title: Zmień uruchamianie zdarzenia w wordpressie

text: Muszę uruchomić funkcję, gdy publikowany jest post. Funkcja sprawdza niestandardową wartość meta i działa odpowiednio. W tym celu używam kilku hooków: new_to_publish draft_to_publish pending_to_publish auto-draft_to_publish Teraz, `new_to_publish` i `auto-draft_to_publish` nie działają. Wygląda na to, że te dwa podpięcia działają znacznie wcześniej niż podpięcie `add_post_meta`. W rezultacie moja funkcja nie otrzymuje żadnej wartości meta i nie działa. Próbowałem: add_action('new_to_publish', 'my_custom_function', /*wartość o wysokim priorytecie*/) Ale to nie działa. Każda pomoc jest mile widziana! Dziękuję!


title: Jak uzyskać dane posta z formularza kontaktowego 7

text: Czy jest jakiś sposób, aby uzyskać dane POST z formularza kontaktowego 7. Potrzebuję je przechowywać w osobnej bazie danych. Myślę, że mogę uzyskać te wartości, edytując rdzeń wtyczki, ale bez tego mogę pobrać wartości wejściowe z formularza.


title: Zastępowanie (wychodzącym) linkiem regex do załącznika linkami do plików

text:
Próbowałem to zrobić sam, ale naprawdę ciężko mi się z Regexem (regex to piekło. Po prostu nie rozumiem).W każdym razie myślę, że byłoby to przydatne dla niektórych osób.Kontekst jest taki, że używamy wtyczki do wyświetlania obrazów we wpisie w lightboksie. Działa tylko wtedy, gdy utworzymy link do pliku (obrazu), a NIE stronę załącznika. Przez większość czasu autorzy zapomnieli sprawdzić, lightbox nie wyskakuje i wszyscy są rozczarowani. Źle HTML (zwróć uwagę na słowo załącznika w `href` i że `href` nie kończy się na .jpg) :

 Więc chyba moglibyśmy zrobić coś takiego (w logice ) : function remove_bad_img_links($treść) { $ma tches = tablica(); $check_for_attachment_word = preg_match('/]*href\s*=\s*(attachment)([\"\']+)([^>]+?)(\1 |>)/i', $content, $matches); if ( $check_for_attachment ) { $image_url = preg_match('/]*src\s*=\s*([\ "\']+)([^>]+?)(\1|>)/i', $treść, $dopasowania); preg_replace('/]*href\s*=\s*(attachment)([\"\']+)([^>]+?)(\1|>) /i', $content, $image_url); } return $content; } add_filter( 'the_content', 'remove_bad_img_links' ); stwórz poprawiony kod HTML (wartość w `img src` zastąpiła początkową wartość `a href`, która została wykryta jako błędna, ponieważ zawiera załącznik w postaci słowa (po prostu rób to cały czas) :

 Ale pisząc to, zadaję sobie pytanie, czy to naprawdę możliwe, biorąc pod uwagę, że post może mieć kilka wystąpień tych linków... Po prostu pytam o odniesienie: czy to możliwe, czy to jest dobry pomysł, jak wyglądałoby wyrażenie regularne ? Mógłbym to zrobić w JS, ale lepiej by SEO zrobić to w wygenerowanym kodzie. EDYCJA: Więcej badań mówi mi, że „nie używaj wyrażeń regularnych do analizowania kodu HTML”. Lepszym podejściem jest użycie DOM: http://stackoverflow.com/questions/3820666/grabbing-the-href-attribute-of-an-a-element Ostatecznie myślałem, że to źle, bardzo źle jest parsować HTML: http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html. Spróbuję użyć DOM i wrócę z aktualizacją.


title: Niestandardowe zapytanie błędnie zwraca wszystko

text:
Gdzieś mi czegoś brakuje, ale nie mogę połączyć kropek. Wszystko jest poprawnie wyprowadzane, z wyjątkiem tego, że zapytanie zwraca wszystko z bazy danych, a nie tylko posty. Czy ktoś może znaleźć przyczynę takiego zachowania? Mając trochę bałaganu, wiem, że jest to związane z add_filter, usunięcie go pozwala na normalne działanie zapytania. Jednak nadal nie wiem, co powoduje niezamierzone zachowanie. **Rozwiązane:** Pominąłem kropkę... Zapomniałem połączyć parametr $where przekazany do my_posts_where(). Och. Wpatruję się w to od 3 godzin... // Filtruj 'posty gdzie', aby ograniczyć zakres dat niestandardowej funkcji zapytania my_posts_where( $where = '' ) { // Posty z ostatnich 30 dni // BŁĄD $where = "I post_date > '" . date( 'R-m-d', strtotime( '-30 dni' ) ). "'"; $where .= " AND post_date > '" . date( 'R-m-d', strtotime( '-30 dni' ) ). "'"; zwróć $gdzie; } // Wyświetl listę najpopularniejszych wpisów z ostatnich 7 dni function my_popular_entries() { // Filtruj zapytanie add_filter( 'posts_where', 'my_posts_where' ); $args = array( 'posts_per_page' => 12, 'orderby' => 'meta_value_num', 'meta_key' => 'Wyświetlenia', 'post_type' => 'post', ); $zapytanie = nowe WP_Query( $args ); usuń_filtr( 'posty_gdzie', 'moje_posty_gdzie' ); // Utwórz listę, zakładając, że mamy posty if ( $query->have_posts() ) : $html = '

 Popularne wpisy

'; while ( $query->have_posts() ): $query->the_post(); $html .= '

'; $html .= '

' . pobierz_tytuł() . '

'; $html .= '

'; koniec; $html .= '

'; echo $html; // Zresetuj zmienną post wp_reset_postdata(); endif; }


title: Pokaż inną odznakę w zależności od roli użytkownika

text: ## Problem Mam stronę autorów i muszę wyświetlać inną plakietkę dla autorów i subskrybentów. Autorzy na stronie mają pewne umiejętności, które różnią się od subskrybentów i chciałbym wyświetlać inną odznakę w zależności od ich roli. ## Przykład Tak więc, gdy ktoś wchodzi na stronę, jako administrator lub subskrybent odwiedzający... widzi odznakę na stronie autorów, którą odwiedza, w zależności od ich roli. Jeśli patrzą na użytkownika, którego rola to „Autor”, znaczek jest zielony, a jeśli rola użytkownika to „Subskrybent”, znaczek jest czerwony. Czy to możliwe i jak to zrobić? ## Ten kod nie załatwia sprawy :( Próbowałem postępować zgodnie z tą logiką, ale pokazuje odznakę opartą na tym, kto patrzy na wiek autora, a nie autora, który jest właścicielem strony. Proszę o pomoc :) <?php jeśli ( is_author_of_current_page() && current_user_can('Autor')) { ?> zielona plakietka <?php } elseif( is_author_of_current_page() && current_user_can('Subskrybent')) { ?> czerwona plakietka <?php } ?>


title: Jak sprawdzić, czy jest to n-te wystąpienie danego shortcode w poście?

text: Załóżmy, że mam krótki kod o nazwie `[item]`, którego użyłem 20 razy w danym poście. Czy jest możliwe, z poziomu funkcji obsługi krótkiego kodu, wiedzieć, jaki jest indeks liczbowy danego `[item]`? Na przykład, czy to jest pierwszy „[item]” w poście, czy szesnasty? Wiem, że byłbym w stanie osiągnąć ten sam wynik, ręcznie dodając atrybut, taki jak `[item order="1"]` i `[item order="16"]`, ale chcę, aby było to tak proste jak to możliwe podczas dodawania i zmiany kolejności treści. Pozycje są często dodawane, usuwane i zmieniane w procesie edycji, a ponowne numerowanie ich przy każdej zmianie byłoby nużące i podatne na błędy dla autora i redaktora. Czy jest na to dobry sposób? Czy wymagałoby to zmiennych globalnych? Czy to złe?


title: jak nie wyświetlać wtyczki w panelu administracyjnym

text:
Dopiero zaczynam rozwijać wordpress. Próbuję utworzyć prostą wtyczkę, która pokazuje wyniki z bazy danych w tabeli. Mogę to zrobić, ale mam problem z wtyczką wyświetlającą się na górze stron administracyjnych. Nie jestem pewien, dlaczego to robi. moja funkcja wtyczki: add_action('init','hello_world'); funkcja hello_world() { global $wpdb; $query = "Wybierz ID, post_title Z $wpdb->posts Limit 0, 10"; $results = $wpdb->get_results($zapytanie, ARRAY_A); echo "

"; echo "

nagłówek	nagłówek	nagłówek	nagłówek

"; echo "

 Poprzedni

 1

 2

 3

 4

 5

 Dalej

"; echo "
"; $i = 0; while($i < 10) { foreach ($wyniki jako $pozycja) { $postID = $item['ID']; $postTitle = $item['post_title']; echo "
"; echo "" .$postID."	"; echo "".$postTitle."	"; echo "
"; $i++; } } echo "
"; echo "

"; } wywołanie w index.php <?php if(is_admin()) { } else { if(function_exists('hello_world')) { echo "
"; Witaj świecie(); echo "
"; } } ?> jak mogę zapobiec wyświetlaniu tego w sekcji admina?


title: Jak zmodyfikować domyślny tekst w panelu administracyjnym niestandardowej taksonomii?

text: Chciałbym wprowadzić niewielką zmianę w jednym z moich niestandardowych paneli administracyjnych taksonomii: zmień nazwę etykiety „Opis” na „Tytuł”.


title: Zmień adres URL logowania bez wtyczki

text: Chcę zmienić adres URL logowania do mojej instalacji Wordpress z /wp-admin.php Zamierzam to zrobić i chcę zmienić plik .htaccess, aby dodać: RewriteRule ^login$ http://twojadomena.com/ wp-login.php [NC, L] Jednak z tego, co zbieram, przejście do /wp-admin nadal będzie umożliwiało logowanie się za pomocą tego linku. Myślałem o zrobieniu jakiegoś przekierowania PHP, aby gdy użytkownik wpisze /wp-admin, przejdzie do strony 404 nie znaleziono. Jaki jest najlepszy sposób na zmianę adresu URL logowania bez użycia wtyczki i z zachowaniem najwyższych standardów bezpieczeństwa?


title: Linkowanie ze strony CPT do taxonomy.php

text:
Stworzyłem CPT, który pozwala użytkownikowi dodawać osoby do strony. Stworzyłem już szablon strony do wyświetlania wszystkich osób. Ta strona wyświetla również wszystkie kategorie używane dla osób. Mój problem: Jak to osiągnąć, gdy użytkownik kliknie kategorię, wyświetlane są tylko osoby, które mają tę kategorię? Oto odpowiednie fragmenty kodu: **function.php** (rejestracja taksonomii): function create_people_taxonomies() { $labels = array( 'name' => _x( 'Categories', 'singular_name' ), 'singular_name ' => _x( 'Kategoria', 'nazwa taksonomiczna w liczbie pojedynczej' ), 'search_items' => __( 'Kategorie wyszukiwania' ), 'all_items' => __( 'Wszystkie kategorie' ), 'parent_item' => __(' Kategoria nadrzędna' ), 'parent_item_colon' => __( 'Kategoria nadrzędna:' ), 'edit_item' => __( 'Edytuj kategorię' ), 'update_item' => __( 'Aktualizuj kategorię' ), 'add_new_item' => __( 'Dodaj nową kategorię' ), 'new_item_name' => __( 'Nowa nazwa kategorii' ), 'menu_name' => __( 'Kategorie' ), ); $args = array( 'hierarchical' => true, // Ustaw to na 'false' dla taksonomii niehierarchicznej (takich jak tagi) 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true , 'query_var' => true, 'rewrite' => array( 'slug' => 'categories' ), ); register_taxonomy( 'kategorie_ludzi', array( 'ludzie' ), $args ); } add_action( 'init', 'create_people_taxonomies', 0 ); **page-cpt-people.php** (szablon strony, na której wyświetlane są kategorie): <?php $taxonomy = 'people_categories'; $terms = get_terms($taksonomia); // Pobierz wszystkie warunki taksonomii if ( $terms && !is_wp_error( $terms ) ) : ?>
 <?php foreach ( $terms as $term ) { ?>
<a href="<? php echo get_term_link($term->slug, $taksonomia); ?>"><?php echo $term->nazwa; ?>
 <?php } ?>
 <?php endif;?> ?> **Moje pytania:** * Jaką nazwę pliku muszę nadać mojej stronie taksonomii że użytkownik jest kierowany na tę stronę po kliknięciu jednej z kategorii w page-cpt-people.php? * Jaki kod musi zawierać strona taksonomii, aby pętla wyświetlała tylko te osoby, które mają wybraną kategorię?


title: Globalne funkcje na WPMU

text: Pracuję w środowisku wielostanowiskowym, w którym wszystkie strony są ze sobą powiązane. Wiele ostatnich zmian wymagało od mnie kopiowania i wklejania niektórych funkcji do wielu różnych folderów motywów, co powoduje problemy, jeśli muszę je wszędzie aktualizować. Jaki byłby najlepszy sposób na posiadanie globalnego pliku „functions.php”? Moje myśli to albo dołączyć plik do folderu motywów i dołączyć go, albo utworzyć wtyczkę i włączyć wtyczkę sieciową.


title: Nie działa typ niestandardowego typu postu „strona”

text: Próbuję stworzyć niestandardowy typ posta, który ma być używany do wydania publikacji -> struktura artykułu. Ponieważ struktura hierarchiczna jest tak naprawdę przeznaczona tylko dla stron (patrz uwaga do sekcji `hierarchical`), pomyślałem, że skonfiguruję niestandardowy typ postu, aby działał jak strona. Świetnie, z wyjątkiem tego, że nie mogę go zmusić do prawidłowego działania. Nawet po ustawieniu opcji `capability_type` na `page` i `hierarchical` na `true`, ekran edycji typu postu nadal zachowuje się tak, jakby był postem. Nie ma menu rozwijanych atrybutów „nadrzędny” ani „szablon strony”. Jeśli zmienię `capability_type` z `page` na `post`, dosłownie nic się nie zmieni na ekranie edycji. Oto mój kod: register_post_type('publication', array( 'label' => 'Publikacja', 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'capability_type' => 'page' , 'map_meta_cap' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'publication', 'with_front' => true), 'query_var' => true, 'supports' = > array('tytuł','redaktor','komentarze','wersje','autor','atrybuty-strony'), 'labels' => array ( 'name' => 'Publikacje', 'singular_name' = > 'Publikacja', 'menu_name' => 'Publikacje', ) )); Jakieś pomysły, co tu jest nie tak?


title: Domyślne ustawienie strefy czasowej w WordPressie - czy to globalne?

text: Pomimo ustawienia Strefa czasowa opcji WordPress dla całej instalacji WordPress, **czy konieczne jest zadeklarowanie domyślnej strefy czasowej we wszystkich miejscach daty/czasu w motywie/wtyczkach WP?** date_default_timezone_set('Asia/Dhaka'); echo data('d M Y - D - h:i A'); Załóżmy, że mam do czynienia z czymś, w którym sprawdzam, czy data i godzina jest równa **_TODAY_**. Wiesz, co oznacza "Dzisiaj" to trochę zmienna - zmienna do czasu serwera, zmienna do czasu lokalnego itp. Dlatego szukam standardowej procedury do wykonania w projektach WP, czy ustawiać domyślną strefę czasową za każdym razem ( czy mam je nazywać zawsze w nagłówku?) lub aby ich unikać, ponieważ sam WordPress już to zadeklarował (po prostu dostosuj to wcześniej). Szukam tylko standardowej procedury - czym się kierować...


title: Sortuj pętlę z zapytaniem w linku

text: Chcę dodać kilka przycisków, które będą sortować posty według nazwy asc/desc itp. Chcę użyć zapytania w linku takim jak ten http://domain.tld/?orderby=name&order=asc Czy to bezpieczne w użyciu? Czy istnieją reguły przepisywania, których mogę użyć, aby zmienić orderby=name na order-name i order=asc na rosnąco?


title: WP FullCalendar Obraz kciuki w pełnym kalendarzu

text: Próbuję uzyskać WP FullCalendar, aby wyświetlić miniaturę wydarzenia w powiązanej komórce w Kalendarzu. Kod #_EVENTIMAGE działa dobrze w zwykłym kalendarzu, ale po wpisaniu krótkiego kodu w „Format tytułu wydarzenia” w „Opcjach pełnego kalendarza” na karcie Ogólne miniatura wyświetla się tylko jako kod HTML, a nie rzeczywisty obraz. Każda pomoc byłaby bardzo mile widziana


title: Wycofanie z obecnej wersji WordPressa do poprzedniej

text: Co się stanie, jeśli cofniemy się z (na przykład) 3.8 do 3.5.1 i zachowamy tę samą nową bazę danych utworzoną przez bieżącą wersję? Czy to coś złamie?


title: Jak mogę uniemożliwić autorowi edytowanie zaplanowanego artykułu?

text: W starym WordPressie, który miałem, autor (rodzaj użytkownika, który nie mógł publikować) po zaplanowaniu artykułu nie mógł wrócić do artykułu i go edytować. Ale teraz w WordPress 8.1 oni (autorzy) mogą wrócić i edytować artykuł z harmonogramem. Czy istnieje sposób, aby to powstrzymać? pisarz = współtwórca


title: Link do załącznika do starych artykułów. Przepisz wszystkie zdjęcia, aby utworzyć link do strony załącznika

text: Czy ktoś może pomóc z filtrem funkcji dla starych obrazów? W tej chwili wszystkie obrazy są bez linku. Do nowych postów mogę dodać ręcznie link do załącznika, ale do starych postów? http://imgur.com/RMRY3h8 Jak mogę zrobić dla starych postów, aby dodać link do załącznika? Dziękuję


title: Wiesz, która wtyczka wywołuje JS w wp_head()?

text: Próbuję zoptymalizować mój nagłówek i zastanawiałem się, która wtyczka wywołałaby jquery. Czy istnieje narzędzie do debugowania, aby wiedzieć, która wtyczka robi to, co w nagłówku? Dziękuję !


title: wp dostosuj domyślną wartość sterowania = 100 - zawór regulacyjny

text:
W ramach WP_Customizer mam dwie kontrolki do ustawiania szerokości kolumny głównej i szerokości paska bocznego. Domyślna wartość kontrolki głównej kolumny to 77 i chciałbym ustawić domyślną wartość kontrolki paska bocznego na 100 - bez względu na wartość, na którą ustawiona jest kontrolka głównej kolumny, więc na początku będzie wyświetlana na 23, ale jeśli zmieni się kontrolka kolumny głównej, a kontrolka paska bocznego również zmieni się automatycznie. Czy to jest obecnie wyprowadza statyczną wartość -100 w polu paska bocznego. class Customizer_InlineNum extends WP_Customize_Control { public $fieldwidth = 'tekst'; public $typ = 'liczba'; protected function render() { $id = 'dostosuj-kontrolę-' . str_replace( '[', '-', str_replace( ']', '', $this->id ) ); $class = 'dostosuj-kontrolę dostosuj-kontrolę-' . $ten->typ; ?> <li id="<?php echo esc_attr( $id ); ?>" class="<?php echo esc_attr( $klasa ); ?>" style="clear:none;display:inline-block;max -width:<?php echo $this->szerokość pola "%"; ?>"> <?php $this->render_content(); ?>
 <?php } public function render_content() { ?>  < ?php echo esc_html( $this->label ); ?> <input type="liczba" <?php $this->link(); ?> value="<?php echo intval( $this->value() ); ?>" />  <?php } } $wp_customize->add_setting( 'pcolumn_width', array ( 'default' = > '77', 'typ' => 'opcja', ) ); $wp_customize->add_control( new Customizer_InlineNum( $wp_customize, 'pcolumn_width', array ( 'label' => 'Podstawowa kolumna', 'type' => 'number', 'section' => 'customizetab_site', 'fieldwidth' = > '33', ) ) ); $wp_customize->add_setting( 'sidebar_width', array ( 'default' => intval(get_theme_mod('pcolumn_width')) - 100, 'type' => 'option', ) ); $wp_customize->add_control( new Customizer_InlineNum( $wp_customize, 'sidebar_width', array ( 'label' => 'Sidebar', 'type' => 'number', 'section' => 'customizetab_site', 'fieldwidth' => '33',))));


title: Utwórz menu administracyjne

text: Krótko mówiąc, tworzę interfejs administracyjny dla mojego suwaka strony głównej, dlatego podpinam się do `admin_menu`, jak wyjaśniono w kodeksie wordpress. Zasadniczo, jeśli chodzi o strukturę, mam tylko do stron: 1. Strona ze wszystkimi slajdami - 'Wyświetl wszystkie slajdy' 2. Strona do dodania nowego slajdu - 'Dodaj nowy slajd' Chcę, aby wszystkie powyższe znalazły się pod ' Kategoria suwaka strony głównej. Aby uzyskać lepszy pomysł, zastanów się, jak „Strony” są wyświetlane na pulpicie nawigacyjnym. Niemniej jednak, oto moja funkcja menu: add_action('admin_menu', 'bones_home_slider_menu'); function home_slider_menu() { add_menu_page('Widok suwaka strony głównej', 'Suwak strony głównej', 'manage_options', 'home_slider_main', 'home_slider_main' ); add_submenu_page('home_slider_main', 'Dodaj nowy slajd', 'Dodaj nowy', 'manage_options', 'home_slider_add_new', 'home_slider_add_new' ); } Problem polega na tym, że `add_menu_page` tworzy element menu głównego i podmenu, gdy jest używany z 'add_submenu_page': ![wpisz tutaj opis obrazu](http://i.stack.imgur.com/aIzb5.png) próbowałem utworzyć inne podmenu, jednak nie wiem, jak sprawić, by 'Homepage Slider' zniknął z podmenu.


title: Jakiej metody zapytania użyć? (edit - problemy ze składnią wpdb)

text: Próbuję utworzyć zapytanie, aby uzyskać wszystkie metadane z niestandardowego typu wpisu o nazwie match_reports, który jest skojarzony z meta_key i meta_value w innym niestandardowym typie wpisu o nazwie team_page. Wspólnym mianownikiem jest identyfikator team_page, który jest meta_wartością w match_reports. Dlatego każda drużyna ma powiązane raporty z meczów, niezależnie od tego, czy są drużyną gospodarzy, czy gości. Ostatecznie wyniki zostaną zapętlone w tabeli, tak aby każda drużyna była wymieniona obok własnych statystyk. Próbowałem użyć WP_Query, aby to zrobić, ale bez większego powodzenia: Zapętlanie danych tabelarycznych i dzisiaj próbowałem z $wpdb, gdzie miałem problemy ze składnią: Oto, co do tej pory wymyśliłem: globalny $wpdb; $querydetails = " SELECT wposts.* FROM $wpdb->posts wposts, INNER JOIN $wpdb->postmeta wpostmeta.* ON wposts.ID = wpostmeta.post_id GDZIE wposts.post_status = 'publish' AND wposts.post_type = 'match_report AND wpostmeta.meta_key = 'report_home-select' AND wpostmeta.meta_value = '198' "; $teaminfo = $wpdb->get_results($querydetails, OBJECT); Chciałbym uzyskać pomoc lub sugestie dotyczące najlepszego sposobu podejścia do tego. Wiem, że można to zrobić, ale to trochę mnie przerasta. Chętnie czytam również samouczki lub artykuły dotyczące radzenia sobie z $wpdb lub złożonymi zapytaniami za pomocą WP_Query.


title: Jak sprawdzić poprawność tworzenia postów XML-RPC i anulować je w razie potrzeby?

text: Mam przepis IFTTT, który czasami tworzy dla mnie posty, ale z jakiegoś dziwnego powodu tworzy trzy, czasem cztery posty o tej samej treści. Chciałbym dodać hook/callback `add_action` aby sprawdzić, jaki będzie nowy post, a jeśli już istnieje, anulować post lub przenieść go do kosza lub coś w tym stylu. Znalazłem `xmlrpc_prepare_post`, ale nie sądzę, żebym mógł go stamtąd anulować. Chyba że mogę zaktualizować jakiś atrybut i wyrzucić go do kosza?