title: Zmień $parent_file strony wtyczki

text: Mam wtyczkę, która ma 3 strony. Jedna z tych stron nie chcę wyświetlać w menu administratora (działa), ale gdy użytkownik jest na tej stronie, chcę, aby menu wtyczki było aktywne. Używam filtru `parent_file`, ale nie działa. Zajrzałem do rdzenia i chociaż filtr wydaje się akceptować poprawną wartość (`$parent_file = 'charts'`), zanim menu jest wyprowadzane, coś innego zmieniło to z powrotem (`$ plik_nadrzędny = 'edycja-wykresu''). /** * Podświetl menu najwyższego poziomu 'Wykresy' podczas przeglądania strony 'Edytuj wykres' */ function on_menu_parent($parent_file) { global $current_screen; $podstawa = $bieżący_ekran->podstawa; if($base == 'admin_page_edit-chart') : $parent_file = 'wykresy'; endif; return $plik_nadrzędny; } Filtr wywoływany z konstruktora Plugin Class jest następujący: add_filter('parent_file', array(&$this, 'on_menu_parent')); Czy ktoś wie, jak sprawić, by to działało poprawnie? Dziękuję.


title: Tworzenie metaboksu do przesyłania wielu obrazów, ignorowanie polecanego obrazu

text: Moje pytanie jest w zasadzie identyczne z tym innym pytaniem tutaj, jednak moje pytanie jest nadal nieco inne. Zasadniczo mam niestandardowy typ postu o nazwie „Pakiety”, każdy pakiet może mieć pokaz slajdów z własnymi obrazami. Rozumiem, że obrazy są przesyłane za pośrednictwem programu do przesyłania multimediów (zgodnie z odpowiedzią na powiązane pytania), jednak czy możliwe jest uzyskanie tylko listy obrazów dołączonych do posta, które NIE SĄ polecanym obrazem? Rozumiem, że odpowiedź udzielona na drugie pytanie dałaby wszystkie obrazy, w tym polecany obraz, czy Wordpress inaczej traktuje polecane obrazy w tle, abym mógł je wykluczyć?


title: inne skróty w formularzu kontaktowym 7 MAILS

text: Jak korzystać z innych skrótów w formularzu kontaktowym 7-formularze? rzeczywiście wyjaśnia, jak używać innych skrótów w formularzach Contact Form 7. Ale to nie czyni ich użytecznymi w wiadomościach, które Contact Form 7 wysyła po przesłaniu formularza. Jak sprawić, by tam też działały?


title: Jak mogę wyświetlić wp_link_pages przed shortcode, jeśli jest używany, lub wyświetlić po treści?

text: Mam następujący krótki kod w mojej treści [źródło]Niektóre linki, Niektóre inne linki[/src] Struktura mojego posta wygląda następująco to: <?php echo $treść; ?> <?php wp_link_pages();?> Jeśli ten krótki kod jest używany w treści, chciałbym, aby wp_link_pages pojawił się przed nim, jeśli nie, chciałbym, aby wyświetlał się po treści. Jaki jest najlepszy sposób, aby to osiągnąć?


title: Zestaw dołączony do stanu

text: W bibliotece multimediów każdy post z załącznikiem ma kolumnę „Załączone do”. Opracowałem wtyczkę, która dodaje profil autora i obraz banera podobny do Facebooka. Odkryłem, że posty w załącznikach, które są używane jako zdjęcia profilowe, nie są oznaczone jako „dołączone do”. Użyłem wtyczki konsoli wordpress, aby pobrać obiekty `WP_Post` z połączonego i niepołączonego załącznika. Ale nie mogłem znaleźć między nimi żadnej różnicy, którą mógłbym użyć do ręcznego ustawienia. Czy jest jakiś sposób na ustawienie statusu załączonych postów załączników?


title: Najnowsze wpisy na statycznej stronie głównej

text:
Chcę mieć statyczną stronę główną na mojej witrynie Wordpress, już to ustawiłem i mam na niej trochę treści, następnym krokiem jest umieszczenie pod treścią 5 ostatnich postów. Jako normalna strona nie stanowi to problemu, jak tylko ustawię stronę na statyczną stronę główną, posty znikają. Z godzin poszukiwań wiem, że potrzebuję 'wielu pętli' w moim szablonie, znalazłem kilka przykładów i próbowałem je zaimplementować w moim szablonie bez powodzenia. Myślę, że mam prawie kod, który przeniesie ostatnie posty, ale myślę, że mam problemy ze znacznikami i tagami szablonów, aby faktycznie pokazać posty. Mam nadzieję, że nie jest to zbyt skomplikowane do zrozumienia i naprawdę doceniam wszelką pomoc, jestem w tym przez 2 dni bez żadnych postępów. Mogę dostarczyć dowolny kod potrzebny z szablonów lub cokolwiek innego. Moja strona internetowa - www.completemuscleandfitness.com Ok, to mam do tej pory <?php $args = array( 'numberposts' => '5' ); $recent_posts = wp_get_recent_posts ($args ); foreach( $recent_posts as $recent ){ echo '
' . $recent["post_title"].'
 '; } co to pokazuje - www.completemuscleandfitness.com Jak mogę sprawić by wyglądało ładnie jak inne strony postów?


title: Pobierz opis obrazu

text:
Próbuję podzielić post na 2 kolumny. Pierwszy i lewy będzie dowolnym obrazem wewnątrz posta, a drugi i prawy będzie `the_content()` (z wyłączeniem obrazów). Więc na razie nie mam problemu z wyciągnięciem wszystkich obrazów. Jednak – nie mogę uzyskać podpisu, tytułu lub opisu. Oto mój kod: <?php if ( $images = get_posts(array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'numberposts' => -1, 'orderby' => ' title', 'order' => 'ASC', 'post_mime_type' => 'image', ))) { foreach($images as $image) { $attachmenturl = wp_get_attachment_url($image->ID); $attachmentimage = wp_get_attachment_image_src( $image->ID, pełny); $imageDescription = apply_filters( 'opis' , $image->post_content ); $imageTitle = apply_filters( 'the_title' , $image->post_title ); $i++; if (!empty($imageTitle)) { echo '

» '.$imageDescription.'

'; } else { echo '' ; } } } else { echo 'Nie znaleziono obrazu'; }?>


title: Podświetlenie menu nawigacji w menu Bootstrap 3 i Wordpress

text: Używam Wordpress 3+ i Bootstrap 3. Do generowania menu używam navwalkera Bootstrap i następującego kodu... <?php $args = array('theme_location' => 'primary', 'container_class' => ' navbar-collapse collapse', 'menu_class' => 'nav navbar-nav', 'fallback_cb' => '', 'menu_id' => 'main-menu', 'walker' => new wp_bootstrap_navwalker()); wp_nav_menu($args); ?> Działa to świetnie i podświetla pozycję menu, gdy znajduje się ona prawidłowo w tej sekcji na stronie nadrzędnej, ale na stronie podrzędnej nie mogę wymyślić, jak podświetlić pozycję menu. Jakieś pomysły? Zasadniczo mam pozycję menu o nazwie „NOWOŚCI”. Kiedy klikam pojedynczy post w sekcji WIADOMOŚCI, chcę, aby pozycja menu „NOWOŚCI” była podświetlona tak, jak na stronie z wiadomościami.


title: Określić, czy dostępnych jest więcej postów, niż zostało poproszone w `query_posts()`?

text: Otrzymuję produkty (z określonej kategorii) za pomocą niestandardowej funkcji `query_posts()`. Ograniczyłem parametr `showposts` do 25, więc skąd mam wiedzieć, czy aktywować paginację, jeśli wciąż są produkty (posty) do załadowania? Mój kod `query_posts()` wygląda następująco: $args = array( 'post_type' => 'product', 'taksonomy' => 'product_cat', 'term' => $idObj->slug, // category slug ' showposts' => 25, 'orderby' => 'title', 'order' => 'asc', 'paged' => $paged // globalna zmienna $paged ); $all_products = query_posts( $args ); A potem wypisuję moje produkty używając wyrażenia `foreach`: foreach ($all_products as $product) {...} Umieszczam tę funkcję w moim **functions.php** , ale `$paged` ani `$max_pages` nie wydaje się być ustawiony. Więc otrzymuję `false` z tej funkcji. Czy ktoś może wskazać mi jakiś kierunek, skoro nie mam pojęcia.


title: Używanie jQuery do usuwania danych przechowywanych w wp_options

text:
Zastanawiam się, czy ktoś mógłby mi doradzić dalej w moim problemie. Część mojej wtyczki przechowuje pliki dziennika do celów debugowania. Pomyślnie wyświetliłem je w (div#log) na mojej stronie administratora za pomocą jquery i wp_localise_script. Mam przycisk do usunięcia tych dzienników, ale nie jestem pewien, jak to przetworzyć. Mam wrażenie, że ajax może się tu przydać, ale nie wiem, od czego zacząć. Oto odpowiednie części mojego kodu: **admin_enqueue_scripts (akcja)** $args = array(get_option('wow_tweets_log'));//pliki dziennika pobrane z tabeli wp_options wp_enqueue_script('wow_tweet');//zarejestrowane wcześniej z zależnością jQuery wp_localize_script('wow_tweet', 'wow_vars', $args); **Strona administracyjna**
Debugowanie
Debugowanie

Ukryj

Opróżnij dziennik

 **Javascript** jQuery(document).ready(function() { var debug_show = jQuery('#log').hide();//domyślnie ukrywa log jQuery('#debug').click(function(){//on click pokazuje pliki logów w div#log for (var i = 0 , l = wow_vars.length; i < l; i++) { var data = wow_vars[i]; } jQuery('#log').show().html(data); }); jQuery('#hide_debug') .click(funkcja() {debug_show.hide(); }); }); **Akcja czyszczenia dziennika** function clear_log(){ delete_option('wow_tweets_log');//utknąłem na tym, jak to wywołać /*die(); poszedłby na koniec, gdyby ajax użył*/ } add_action('clear_log','clear_log'); Jak dotąd ten skrypt działa, aby wyświetlić wszystkie pliki dziennika, teraz wystarczy je usunąć po kliknięciu #clear_log. Wiem, że podłączenie do_action do init usunie je, gdy tylko strona się załaduje, czyniąc mój javascript bezużytecznym, więc myślę, że jedyną opcją jest ajax! Czy muszę dodać kolejne odniesienie do wp_localize_script()? Każda pomoc byłaby mile widziana.


title: Ukrywanie WordPressa za przekierowaniami IIS

text: Mamy główną aplikację .NET, której nie mam zbyt wiele do zmiany, ale chcielibyśmy przenieść niektóre znajdujące się na niej linki do WordPressa, aby marketing mógł je regularnie aktualizować bez angażowania programisty. Ze względów bezpieczeństwa nie mogę zainstalować WordPressa na serwerach z główną aplikacją. Czy ktoś kiedykolwiek używał reguł przepisywania adresów URL w IIS do maskowania witryny WordPress na innym serwerze? przykład: http://www.dominan.com/Info -> http://www2.domain.com:8080/O-firmie lub przykład 2: http://www.dominan.com/Info -> http:/ /192.168.x.x:8080/O firmie


title: Czy można utworzyć niestandardowy link, który tworzy post, który jest już skategoryzowany?

text: Wiem, że to naprawdę nie jest pytanie o kodowanie, ale zaczynam. Czy możliwe jest dodanie łącza do paska bocznego administratora WordPress, który prowadzi do strony nowego posta, która jest automatycznie klasyfikowana jako „zespół” kategorii? Mogę łatwo dodać link do paska bocznego za pomocą tego kodu add_action( 'admin_menu', 'register_team_page' ); function register_team_page(){ add_menu_page( 'Tytuł menu drużyny', 'Menu drużyny', 'publish_posts', '#link-tutaj', '', "", 6 ); } Próbuję dowiedzieć się, jak prawidłowo połączyć się ze stroną z nowymi postami z wstępnie wybraną kategorią „zespół”.


title: Jak mogę dodać niestandardową meta na stronie rejestracji i przekazać ją do użycia po aktywacji bloga?

text: Próbuję dostosować proces rejestracji do naszej sieci MultiSite. Muszę być w stanie przypisać poziomy na podstawie wyboru podczas rejestracji. Moją myślą jest dodanie pola (ukrytego lub innego), które przechowuje wybrany poziom podczas rejestracji, i przypisanie go w jakiś sposób do rejestrującego się użytkownika (poprzez meta?) i przekazanie go podczas tworzenia witryny. Zakładam, że powinien istnieć sposób, w jaki ich nazwa użytkownika i adres e-mail są przekazywane do bazy danych, prawda? Następnie, gdy aktywują swoją nową witrynę za pośrednictwem wiadomości e-mail z linkiem aktywacyjnym, mogę uruchomić niestandardową funkcję (musi być hak po utworzeniu witryny), która przechwyci tę wartość meta, którą przekazałem, użyj jej w niestandardowej funkcji po aktywacji. Czy to ma sens? Dziękuję za każdy wkład!


title: Zaloguj się przez e-mail (WP Modal Login)

text: Próbuję rozwidlić tę wtyczkę, aby używać adresu e-mail użytkownika do logowania, w przeciwieństwie do nazwy użytkownika. Wtyczka to http://wordpress.org/plugins/wp-modal-login/ Czy jest na to dobry sposób, być może przez filtr, aby ta wtyczka działała z poświadczeniami e-mail? Próbowałem użyć tego filtra: function custom_login() { $data = array(); $data['user_login'] = sanitize_user($_REQUEST['username']); $data['user_email'] = sanitize_user($_REQUEST['user_email']); $data['user_password'] = sanitize_text_field($_REQUEST['password']); $data['rememberme'] = sanitize_text_field( $_REQUEST['rememberme'] ); $data['user_login'] = sanitize_user($_REQUEST['user_email']); $użytkownik = wp_signon ($kredyty, fałsz ); if ( is_wp_error($user)) echo $user->get_error_message(); } // uruchom go przed wysłaniem nagłówków i ciasteczek add_action( 'after_setup_theme', 'custom_login' );


title: Settings API - generowanie wartości pola na podstawie innego pola?

text: Przechowuję moje ustawienia motywów za pomocą Settings API. Jeśli utworzę nowe ustawienie za pomocą add_settings_field(), czy jest możliwe utworzenie innego ustawienia, które będzie oparte na pierwszym? Czemu? Wyobraź sobie, że mam trzy ustawienia: main_color lighter_color darker_color Użytkownik otwiera stronę Opcje motywu i ustawia **main_color** na #444. Teraz chcę, aby **lighter_color** i **darker_color** automagicznie zmieniały wartości na podstawie wartości main_color (#444), więc w końcu wygląda to tak: main_color = #444 lighter_color = #777 darker_color = #111 Oczywiście, że mógłbym ustaw 3 różne ustawienia i pozwól użytkownikowi wybrać wszystkie kolory, ale nie będzie to tak przyjazne dla użytkownika, a cały motyw będzie wyglądał niechlujnie, jeśli ustawi lighter_color na coś ciemniejszego niż main_color. itp. Jakieś pomysły? :) Może za pomocą oddzwaniania? **AKTUALIZACJA** Rozpoczęcie zlecenia. Krótko mówiąc - mam pewne ustawienia zapisane w Settings API i chcę przechowywać ich nieco zmodyfikowane wersje gdzie indziej, potrzebuję pełnego i łatwego dostępu do tych zmodyfikowanych wartości, które powinny być aktualizowane za każdym razem, gdy robią to ich „rodzice” Settings API.


title: Jak powiadomić określonych użytkowników, gdy publikuję/modyfikuję nowy post?

text: Oto, co próbuję zrobić... Staram się wysyłać nowe zgłoszenia tylko do żądanych wykonawców. Korzystając z funkcji Role Scoper, mogę wybrać tylko tych użytkowników, którzy mają dostęp do nowego zgłoszenia. Jednak szukam sposobu, aby powiadomić użytkowników pocztą elektroniczną, gdy nowe zgłoszenia zostaną umieszczone w Internecie. Nie mogę tworzyć „grup”, ponieważ nie są to konkretne grupy ale strategicznie dobierane przy nowych zgłoszeniach umieszczanych online. Po długich poszukiwaniach pytam, w jaki sposób mogę wysłać maila do zarejestrowanych użytkowników. Idealnie chciałbym mieć możliwość wybierania użytkowników bezpośrednio w artykule, tak jak robi to Role Scoper.


title: Kieruj na „administratorów” z różnymi stylami na interfejsie

text: Najpierw wyjaśnię, co próbuję zrobić. Buduję intranet dla klienta. Nie chcą, aby pracownicy mogli edytować swoje profile lub przesyłać awatary, po prostu „administratorzy” powinni to zrobić. Aby to wyłączyć, domyślnie 'wyświetl: brak' edytuj profil i prześlij przyciski awatara. Chcę, aby wyświetlały się one zalogowanym administratorom, aby mogli edytować profile. Nie widziałem żadnej klasy ciała dodanej do zalogowanych administratorów, więc pomyślałem, że mógłbym dodać plik CSS dla zalogowanych administratorów, który wyświetlał ukryty div. Używam również WP Engine, nie wiem, czy ma to wpływ na ich buforowanie, czy nie. Jak mogę to osiągnąć?


title: Uzyskaj fragment postu utworzonego przez powiązanego autora

text:
To mnie denerwuje od wieków i nie mogę go uruchomić. Używam następującego kodu w moim pliku funkcji, aby umożliwić mi wyświetlanie postów utworzonych przez tego samego autora, co bieżący pojedynczy post. function get_related_author_posts() { globalne $authordata, $post; $authors_posts = get_posts( array( 'author' => $authordata->ID, 'post__not_in' => array( $post->ID ), 'posts_per_page' => 1, 'post_type' => 'artistblog' ) ); foreach ( $authors_posts as $authors_post ) { $output .= '
ID) '">'. get_the_post_thumbnail( $authors_post->ID,'medium' ).'

ID) .'">' . apply_filters( 'tytuł', $autorzy_post->tytuł_postu, $autorzy_post->ID ) . '
'; } return $wyjście; } To działa ładnie. Jednak chcę również wyświetlić automatycznie przycięty fragment każdego postu. Próbowałem różnych metod i żadna z nich nie zadziałała. Czy ktoś może w tym pomóc?


title: Uzyskaj tylko używane meta_wartości

text: w ten sposób otrzymuję wartości meta: $apart_locations = $wpdb->get_col( "SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'postal_location' ORDER BY meta_value ASC" ); W ten sposób otrzymuję opublikowane posty niestandardowego typu postu: $apartments = $wpdb->get_col(" SELECT DISTINCT( post_id ) FROM $wpdb->postmeta WHERE meta_key IN ( $fields_string ) AND post_id IN ( SELECT ID FROM $wpdb->posts GDZIE post_type = 'tvr_apartment' AND post_status = 'opublikuj' ) ORDER BY rand() " ); Więc moje obawy dotyczą tego, jak mogę uzyskać meta_values tylko z tych, które są używane przez co najmniej 1 opublikowany post? jakiś pomysł jak? -EDIT- Próbuję to zrobić, ponieważ pierwsze zapytanie zwraca metas, które są nieużywane: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/FnrXS.png)


title: Ulubione posty Wp otrzymują ulubione użytkowników w profilu za pomocą buddypress

text:
Obecnie napotykam problem, wyświetlam ulubione posty użytkownika wp w porządku, ale problem polega na tym, że nie będę ich wyświetlać, po wylogowaniu użytkowników jest napisane „żadne posty nie zostały utworzone”, podczas gdy każdy użytkownik ma własne posty również po zalogowaniu mogę wyświetla moje ulubione posty w moim profilu, ale kiedy odwiedzam inny profil, ponownie wyświetla moje ulubione posty, powinien wyświetlać ulubione posty użytkownika zamiast moich. Próbowałem `bp_displayed_user_id();`, ale wydaje się, że to nie działa, w ogóle nie działa, więc mam nadzieję, że ktoś rozwiąże mój problem, proszę... oto kod, którego używam do wyświetlania ulubionych postów w profilach

<?php _e („Elementy, które obserwujesz”, „bd_lang”); ?>

 <?php $favorite_post_ids = wpfp_get_users_favorites(); if($favorite_post_ids) { ?> <?php foreach ($favorite_post_ids jako $o) : $p = get_post($o); if ($p->post_status == 'publish') { ?>
  <?php if(has_post_thumbnail($o)) { ?>
 <a href="<?php get_permalink($o); ?>" title="<?php echo $p->post_title; ?>"> <?php $image = vt_resize (get_post_thumbnail_id($o), '', 50, 0, prawda); ?> <img src="<?php echo $obraz[url]; ?>" szerokość="<?php echo $obraz[szerokość]; ?>" wysokość="<?php echo $obraz[wysokość]; ? >" alt="<?php if(get_post_meta(get_post_thumbnail_id($o), '_wp_attachment_image_alt', true)) { echo get_post_meta(get_post_thumbnail_id($o), '_wp_attachment_image_alt', true); } else { echo $p-> post_title; } ?>" />
 <?php } ?>  <a href="<?php echo get_permalink($o); ?>" title ="<?php echo $p->tytuł_postu; ?>"><?php echo $p->tytuł_postu; ?>
 <?php } endforeach; ?> <?php } else { ?>
 <?php _e('Nie obserwujesz obecnie żadnych elementów.', 'bd_lang'); ?>
 <?php } ?>


title: Ukryj domyślne sterowanie skrótami wideo podczas ładowania strony

text: W wordpressie 3.6+, gdy używamy domyślnego shortcode wideo `[video]`, kontrolki wideo są zawsze widoczne podczas ładowania strony. Jak możemy ukryć te kontrolki podczas ładowania strony i pokazać tylko wtedy, gdy najedziemy kursorem na element wideo. Korzystając z poniższego kodu CSS, wykonaj sztuczkę ... .wp-video .mejs-container .mejs-controls { widoczność: ukryty; } Ale wtedy kontrolki nie będą wyświetlane po najechaniu kursorem. Jak rozwiązać problem?


title: Jak całkowicie zapisać moje dane wordpress?

text: Zmieniam domenę i zastanawiałem się, czy użycie narzędzia eksportu w moim panelu administracyjnym wordpress wystarczyło, aby zapisać wszystkie moje dane wordpress? To, co chcę zrobić, to zainstalować nową wersję wordpress na mojej nowej domenie i zaimportować plik, który wyeksportowałem za pomocą narzędzi. Czy ten plik zawiera wszystko? Członkowie, posty, obrazy, preferencje itp.? Co to dokładnie oszczędza. Chcę, aby moja druga strona była dokładnie taka sama (wiem, że będę musiał ponownie dodać motyw)


title: Jak to się dzieje, że ta pętla nie działa?

text:
Zawartość pętli umieściłem w dwóch `div'ach. Jednak tylko **pierwszy** post wydaje się być umieszczony w elementach `div`, pozostawiając ten ostatni bez stylu. Oto kod:

 <?php while ( have_posts() ) : the_post(); ?>
 <?php the_title(); ?> <?php the_content(); //to nie jest w inner_box ?>

 <?php endwhile; ?> Czy ktoś wie, dlaczego tak jest?


title: Wyświetl losową stronę

text:
Chciałbym wyświetlić losową stronę, która: * ma stronę nadrzędną X _lub_ Y _lub_ Z itd. * wyklucza strony o tytule „Contributors” Poniższy kod działa (choć bez określonych warunków powyżej), ale ** the_content** niczego nie wyświetla. Nie jestem pewien, co się tam dzieje. fwiw, to jest strona szablonowa dla tematu potomnego Twenty Thirteen. <?php /* Nazwa szablonu: Losowa strona */ get_header(); ?>

 <?php $args = array( 'post_type' => 'strona', 'numberposts' => 1, 'orderby' => 'rand' ); $rand_posts = get_posts( $args ); foreach( $rand_posts jako $post ): ?> <id artykułu="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php the_title(); ?>

 <?php if($post->post_parent) { $parent_link = get_permalink ($post->post_parent); ?> <a href="<?php echo $parent_link; ?>" class="parent-link rodzic-nagłówek"><?php $parent_title = get_the_title($post->post_parent); echo $tytuł_nadrzędny; ?> <?php } ?> <?php the_content(); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'twentythirteen' ) '', 'after' => '
', 'link_before' => '', 'link_after' => '' ) ); ?>
  <?php edit_post_link( __( 'Edytuj', 'dwadzieścia trzynaście' ), '', '' ); ?>  </artykuł> <?php dwadzieściatrzynaście_post_nav(); ?> <?php endforeach; ?> <?php wp_reset_query(); ?>

 <?php get_sidebar(); ?> <?php get_footer(); ?>


title: Jak zmienić konkretną stronę na stronę niestandardową?

text: Chcę zmienić konkretną stronę, aby użytkownicy niebędący członkami mieli do czynienia z formularzem, w którym mogą się zarejestrować, a także ta strona nie będzie wyglądać jak inne, mam na myśli, że ta strona musi być zupełnie inna niż inne strony z powodu mojego Kod HTML. Ale nie mam pojęcia, jak to zaimplementować. Na przykład w mojej wtyczce napisałem ten kod: function ok() { if (is_page('get-messages')){ $user = wp_get_current_user(); foreach ($użytkownik->role jako $rola) { echo "$rola<br>"; } echo get_settings('siteurl') . '/pobierz-wiadomości'; if ( !is_user_logged_in() ) { ?> <form method="get" action=""> <input type="submit" value="ok"> </form> <?php } } } add_action('template_redirect' , 'ok'); co muszę napisać w `if(!is_user_logged_in())`, aby moja wtyczka nie pozwalała na ładowanie strony swojego szablonu i wyświetlała tylko mój kod html. doceniam twoją pomoc


title: Otrzymanie komunikatu „Nie można zmodyfikować informacji nagłówka — nagłówki już wysłane przez...” po zduplikowaniu widżetu

text: To prawdopodobnie nie jest najmądrzejszy sposób, ale jestem bardzo blisko premiery, a klient chciał, aby widżet wiadomości był wyświetlany na dwa sposoby. Widżet wiadomości naszego motywu wyświetla ustaloną liczbę tytułów wpisów wiadomości. Stworzyłem więc inny widżet, który wyświetlałby wpisy wiadomości, z tą tylko różnicą, że wyświetlał ich fragmenty. Kiedy zduplikowałem widżet, zmieniłem jego nazwę rejestru, załadowałem go za pomocą funkcji i nieznacznie zmieniłem dane wyjściowe widżetu. Mam więc dwa pliki widżetów o nazwie `widget-news.php` `widget-news-excerpts.php` Ich odpowiedni kod zaczyna się tak: From widget-news: function gg_News_Widget() { /* Nazwa i opis widżetu */ $widget_opts = array ( 'classname' => 'gg_news_widget', 'description' => __('Wyświetl najnowsze wpisy wiadomości.', 'gxg_textdomain') ); $this->WP_Widget('gg-news-widget', __('SOUNDBOARD - News', 'gxg_textdomain'), $widget_opts); } From widget-news-excerpts: function gg_News_Excerpt_Widget() { /* Nazwa i opis widżetu */ $widget_opts = array ( 'classname' => 'gg_News_Excerpt_Widget', 'description' => __('Wyświetl WYCIĄGI (a nie tytuły) ostatnich wpisów wiadomości.', 'gxg_textdomain') ); $this-> WP_Widget('gg_News_Excerpt_Widget', __('SOUNDBOARD - Fragmenty wiadomości', 'gxg_textdomain'), $widget_opts); } Myślę, że sumiennie zmieniałem nazwę funkcji w całym nowym widżecie, z wyjątkiem tego, że kiedy aktualizuję lub dodam jakikolwiek wpis w Dashboard, teraz otrzymuję: > Ostrzeżenie: Nie można modyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście > rozpoczęte w /home/safespac/public_html/kim.safespac.es/wp- > content/themes/kimberley/includes/widgets/widget-news-excerpts.php:148) w > /home/safespac/public_html /kim.safespac.es/wp-includes/pluggable.php on-line > 876 Jakieś pomysły, od czego zacząć? Myślę tylko o wymyśleniu, jak dodać opcję pola wyboru w oryginalnym widżecie, który zmienia wyświetlanie. Dzięki za wszelką pomoc lub nawet wskazanie w kierunku rozwiązania. Używam WP 3.5.1.


title: Ten kod nie znajdzie strony autorów?

text: Używam tego kodu do wyświetlania strony autora aktualnych użytkowników. Jeśli jednak użytkownik ma spację w swojej nazwie użytkownika, nie znajdzie adresu URL. Jak mogę uzyskać kod, aby umieścić „-”, jeśli w nazwie użytkownika autora jest spacja. Dzięki `<?php if ( is_user_logged_in() ) { echo 'ID) .'"> Moje osobiste strona'; } else { echo 'Zaloguj się'; } ?>`


title: get_theme_mod zwraca pustą wartość zamiast zapisanej wartości

text: kiedy próbuję tego i w sekcji kolorów, get_theme_mod działa dobrze function tcx_register_theme_customizer( $wp_customize ) { $wp_customize->add_setting( 'tcx_link_color', array( 'default' => '#000000', 'transport' => 'postMes) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array( 'label' => 'Kolor łącza', 'section' => 'colors', 'settings' => 'tcx_link_color') ) ); ale kiedy tworzę sekcję i chcę jej użyć , get_theme_mod zwraca pustą wartość $wp_customize->add_section( 'page_styling', array( 'title' => __( 'Background Colors', 'swift-framework-admin' ), 'priorytet' => 210, ) ); $wp_customize->add_setting( 'tcx_fontss_color', array( 'default' => '#000000', 'transport' => 'postMessage') ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'fonts_color', array( 'label' => 'Test', 'section' => 'page_styling', 'settings' => 'tcx_fontss_color') ) ); } add_action( 'customize_register', 'tcx_register_theme_customizer' ); co powinienem zrobić ? moja wersja wordpress to 3.9.1 i używam php 5.3, jeśli potrzebujesz więcej szczegółów, daj mi znać dzięki


title: Wszystkie adresy URL przekierowują do strony głównej

text: Za każdym razem, gdy próbuję uzyskać dostęp do stron w mojej witrynie, takich jak mysite.com/wp-login.php, następuje przekierowanie do mysite.com. Jednak nie przekierowuje, jeśli umieszczam www.mysite.com. Czy jest to problem z konfiguracją domeny, czy problem z WordPressem?


title: Chcesz zmienić Wordpress w płatny katalog subskrypcji

text: Muszę stworzyć płatny katalog subskrypcji, w którym ludzie będą mogli zarejestrować swoją firmę i wprowadzić jej dane. Subskrypcje powinny być opłacane co miesiąc lub co rok. Dane firmy zawierają typowe pola, takie jak: opis, adres, numer telefonu, kod pocztowy itp. Chodzi o to, że ludzie mogą tworzyć swojego użytkownika jak zwykle, ale wszystkie dane dotyczące ich firmy powinny być wprowadzone w niestandardowym typie posta. Powodem, dla którego to chcę, jest to, że mogę łatwo dodawać nowe pola do niestandardowego typu postu, a także mogę przypisać różne niestandardowe taksonomie, takie jak okolica, rodzaj działalności itp. **Pytanie nr 1: jak ograniczyć każdego użytkownika do jednego posta ? Kiedy użytkownik się zarejestruje, post powinien zostać automatycznie utworzony i przypisany do jego nazwy użytkownika.** **Pytanie 2: Muszę również oferować płatne członkostwo miesięcznie lub rocznie. Jak zintegrować taką funkcję z bramką płatności, taką jak na przykład Paypal?** Nie oczekuję dokładnej odpowiedzi na te pytania, ale byłoby wspaniale, gdybym mógł uzyskać wskazówki, od czego zacząć. Dziękuję!


title: Wordpress: Jak uzyskać adres URL aktualnie zalogowanego autora?

text: Czy istnieje sposób na wyświetlenie, za pomocą funkcji PHP, linku autora postów (myblog.com/author/jason) aktualnie zalogowanego użytkownika? W rzeczywistości chciałbym wyświetlić każdemu zalogowanemu użytkownikowi link „Moja strona osobista”, który prowadzi do strony jego autora. Dziękuję !


title: Jak dodać dodatkowe pole w sekcji komentarzy administratora

text: Chcę dodać dodatkowe pole w sekcji komentarza do posta, gdy administrator jest zalogowany. Zrzut ekranu Po prostu dodaję pole tematu w formularzu komentarza do szablonu. Ale nie mogłem go zapisać w db i pobrać. W jaki sposób mogę to zrobić ? Pomóż mi !


title: Okno czatu chowa się za nagłówkiem Twenty Eleven

text: Używam wtyczki Chat, ale znalazłem błąd podczas korzystania z motywu Twenty Eleven w WordPress 3.2. Jeśli przewiniesz, okno czatu znajdzie się za obrazem nagłówka. ![Zrzut ekranu z oknem czatu za obrazem nagłówka](http://i.stack.imgur.com/f43Vc.jpg) Użyłem tej wtyczki bez problemów aż do WordPress 3.1.4, i działa znaleźć w 3.2 - z wyjątkiem ten problem. Myślę, że powodem jest „z-index”, ale nie jestem tego pewien.


title: Wielostronna favicon.ico

text: Wiem, że dodanie unikalnego favicon.ico do każdej witryny podczas instalacji wielostanowiskowej jest dość łatwe. Ale jakieś pomysły na to, aby każda witryna favicon.ico wydawała się znajdować w katalogu głównym witryny? Wynik końcowy to http://example.com/favicon.ico i http://anotherexample.com/favicon.ico


title: Jak renderować typy postów w kanale RSS?

text: Używam najnowszego motywu, który wykorzystuje niestandardowe formaty postów dla wideo, galerii, audio i innych. W moim kanale RSS nie są one poprawnie renderowane. Mam na myśli, że treść tam jest, ale wideo, galeria lub dźwięk dołączone do posta nie są zawarte w kanale RSS. Masz więc post, który mówi o tym wspaniałym nowym filmie, ale w treści wpisu na kanale RSS nie ma żadnego filmu ani linku. Chciałbym dodać niestandardową funkcję do mojego motywu custom-functions.php, która będzie podpinać się do generowania kanału RSS, a dla tego typu formatów postów dodać niestandardowy kod HTML, aby były zawarte na górze postu. Jestem prawie pewien, że możemy coś zrobić z hakiem the_content_rss i zgaduję, że dla każdego posta mogę uzyskać powiązany format postu, ale nie mogę znaleźć dobrych przykładów. Dzięki za pomoc!


title: WPeC - Dodawanie logiki warunkowej do zakupów

text: Muszę dodać logikę warunkową do zakupów. tj. – **_pozycja a** wliczona gratis przy zakupie **pozycja b** lub **pozycja a** można zakupić indywidualnie za x kwotę_. Czy ktoś wie, czy tę funkcjonalność można osiągnąć poprzez ustawienia na zapleczu WPeC. Dzięki Cam


title: Podświetlanie bieżącego elementu podstron niestandardowych typów postów, wymienionych przez wp_list_pages

text:
Poniższy kod służy do wyświetlania na pasku bocznym samych niestandardowych typów postów i ich elementów podrzędnych. Kod działa świetnie, ale nie wyróżnia podstron. W `functions.php`: if(!function_exists('get_post_top_ancestor_id')){ /** * Pobiera id najwyższego przodka bieżącej strony. Zwraca identyfikator bieżącej * strony, jeśli nie ma rodzica. * * @używa obiektu $post * @return int */ function get_post_top_ancestor_id(){ global $post; if($post->post_parent){ $ancestors = array_reverse(get_post_ancestors($post->ID)); zwróć $przodkowie[0]; } return $post->ID; }} i dodanie tego kodu do paska bocznego:
 <?php $getid=get_post_top_ancestor_id(); #echo $getid; globalny $post; $post=get_post($getid); setup_postdata($post); ?> <?php if (is_single($post->ID)) {$pg_li .="current_page_item";} else { $pg_li .="page_item";} ?>
<?php the_title();? >

 <li class="<?php echo $pg_li; ?>"> <a href="<?php the_permalink(); ?>">BIOGRAFIA
 <li class="<?php echo $pg_li; ?>"> <?php $args=array( 'post_type'=>'artyści', 'dziecko'=>$getid , 'kolumna_sortowania'=>' menu_order', 'hierarchical' => 1, 'title_li'=>__('') ); wp_list_pages( $args ); wp_reset_query(); ?>

 Nie znam PHP, a znajomy pomógł mi napisać ten kod. Czego więc brakuje, aby podświetlić bieżące podmenu tego niestandardowego typu postu?


title: Archiwa niestandardowych typów postów i pojedyncze strony nie wyświetlają niestandardowych danych taksonomicznych

text:
Mam niestandardowy typ posta o nazwie „Newsitems”, dla którego zarejestrowałem dwie niestandardowe taksonomie dla: „newsitem types” i „news item tags” Chcę, aby terminy tych dwóch taksonomii wyglądały prawie tak, jak typowe metainformacje posta dla kategorii i tagów , ale na życzenie klienta muszą działać osobno niż domyślna meta posta. Mimo prawie 15 godzin pracy nad tym, nadal nie mogę ich wyrenderować. Uwagi: * Na stronie z pojedynczym postem otrzymuję numer identyfikacyjny „typu nowej witryny”, ale nie mogę wyświetlić rzeczywistej nazwy terminu podatkowego. * Zdaję sobie sprawę, że zobaczysz kod związany z Genesis, ponieważ pracuję z Genesis i użyłem szablonu Genesis Custom Meta Box do zbudowania tego. Jednak mój problem (mam nadzieję) ma dużo mniej wspólnego z funkcjonalnością Genesis, a bardziej z regularnym zachowaniem WordPressa. Nie wydaje mi się, żeby to dotyczyło forów wsparcia Genesis. * Nie jestem noobem, ale najwyraźniej nie rozumiem pętli WordPressa tak dobrze, jak powinienem. Mój kod dla strony archiwum: function custom_do_loop() { // Tekst wstępu (z zawartości strony) echo '
'; echo '
'. pobierz_tytuł() .'
'; echo '
' . pobierz_treść(); $args = array( 'post_type' => 'newsitem', // wpisz swój niestandardowy typ posta 'orderby' => 'date', 'order' => 'DESC', 'posts_per_page'=> '12', // zastępuje posty na stronie w ustawieniach motywu 'paged' => get_query_var( 'paged' ), ); $terms = get_the_terms( $post->ID , 'typ-nowy-witryny' ); $pętla = nowe WP_Query( $args ); if( $loop->have_posts() ): while( $loop->have_posts() ): $loop->the_post(); globalny $post; echo '
'; echo '
' . pobierz_tytuł() . '
'; echo '
' . genesis_get_custom_field( '_cmb_newsitem_subtitle' ) . '
'; //pobierz echo pola niestandardowego '
' . genesis_get_custom_field( '_cmb_newsitem_source' ) . '
'; //pobierz echo pola niestandardowego '
' . $terms->nazwa . '
'; //pobierz niestandardowe pole echo '
' . genesis_get_custom_field( '_cmb_newsitem_author' ) . '
'; //pobierz echo pola niestandardowego '
' . genesis_get_custom_field( '_cmb_newsitem_pub_date' ) . '
'; //pobierz echo pola niestandardowego '
' . pobierz_treść() . '
'; echo '
'; koniec; genesis_posts_nav(); endif; wp_reset_query(); // Tekst wyjściowy (zakodowany na stałe) echo '
'; echo '
'; } Mój kod dla pojedynczych postów: add_action('genesis_before_post_content', 'envision_newsitem_meta'); funkcja envision_newsitem_meta() { globalne $wp_query; $postid = $wp_query->post->ID; $subtitle = get_post_meta($postid, '_cmb_newsitem_subtitle' , prawda); $źródło = get_post_meta($postid, '_cmb_newsitem_source' , prawda); $cattypes = get_post_meta($postid, '_cmb_newsitem_cat_type' , prawda); $author = get_post_meta($postid, '_cmb_newsitem_author' , prawda); $data = get_post_meta($postid, '_cmb_newsitem_pub_date' , prawda); $url = get_post_meta($postid, '_cmb_newsitem_url' , prawda); $tag = get_post_meta($posid, 'post_tag' , prawda); $cattypeString = implode (',' , $cattypes); echo '
Podtytuł: ' . $podtytuł . '
' . '
Źródło: ' . $źródło . '
' . '
Autor: ' . $autor . '
' . '
Typ artykułu: ' . $cattypeString . '
' . '
Data opublikowania: ' . $data . '
' . '
URL: ' . $url . '
'; wp_reset_query(); }


title: Jak usunąć obrazy z „Przesłanych do tego posta”?

text: Zastanawiałem się, czy istnieje prosty sposób na usunięcie zaznaczenia obrazów przesłanych do tego posta, ale nadal masz obrazy w bibliotece obrazów? Przesłałem kilka obrazów podczas edytowania posta i nie jest to to samo, co przesyłanie obrazów za pomocą opcji _Media > Prześlij_. Na przykład tworzę post z 4 obrazami, ale z czasem nie lubię używać 4 obrazów, ponieważ ten konkretny motyw automatycznie tworzy galerię z obrazów. Podczas wybierania wstawianych nośników te obrazy są „Przesłane do tego posta”. Jak odznaczyć niektóre z tych obrazów z _Przesłano do tego posta_?


title: Skrypt nazewnictwa obsługuje się we właściwy sposób

text: Zastanawiałem się, czy istnieje jakaś konwencja lub jaki jest właściwy sposób nazewnictwa uchwytów w funkcjach `wp_register_script()` i `wp_register_style()`? Na przykład, jeśli opracowuję wtyczkę, która używa modernizatora, czy lepiej jest po prostu nazywać ją „modernizatorem” czy czymś unikalnym, takim jak „moj-skrypt-modernizator”? Jeśli lepiej mieć unikalne uchwyty i rozwijam wiele wtyczek i jestem pewien, że wszystkie używają tego samego skryptu. Czy powinienem używać tego samego uchwytu we wszystkich wtyczkach?


title: Sprawdź, czy strona jest podrzędna i ma dzieci, jeśli tak, wyświetl strony podrzędne również na stronach wnuków

text: Staram się pokazać podmenu stron podrzędnych tylko na stronach poziomu 2 (które mają rodzica) i jeśli mają dzieci. Używam poniższego kodu (zrobionego z kilku znalezionych fragmentów), działa dobrze na poziomie 1 (nie pokazuje niczego, co powinno być), działa dobrze na poziomie 2: jeśli istnieją strony podrzędne, są one wyświetlane w podmenu . Moje pytanie: Kiedy przechodzę do stron poziomu 3, chciałbym, aby podmenu pozostało, ale znika. Jak mogę zmienić poniższy kod, aby działał? <?php if (is_page() && $post->post_parent ) { // test czy strona ma rodzica $page = $post->ID; if (is_page() ) { $page = $post->post_parent; } $children=wp_list_pages( 'echo=0&child_of=' . $page . '&title_li=' ); if ($children) { $output = wp_list_pages( array( 'child_of' => $post->ID, // Tylko strony będące dziećmi bieżącej strony 'depth' => 1, // Pokaż tylko jeden poziom hierarchii 'title_li' => '' ) ); } } echo $wyjście; ?>


title: Brak opcji widżetu

text:
Brak opcji Mojego widżetu w obszarze pulpitu nawigacyjnego. Jak mogę sprawić, by to się pojawiło? Pobrałem ten pusty motyw ze strony Chrisa Coyiersa. sidebar.php <?php /** * @package WordPress * @subpackage HTML5-Reset-WordPress-Theme * @since HTML5 Reset 2.0 */ ?>
 <?php if (!function_exists(' dynamic_sidebar') && !dynamic_sidebar('Widżety paska bocznego')) : else : ?>  <?php get_search_form( ); ?>
 <?php _e('Archiwa','html5reset'); ?>

 <?php wp_get_archives('type=monthly'); ?>

 <?php _e('Meta','html5reset'); ?>

 <?php wp_register(); ?>
 <?php wp_loginout(); ?>

<a href="http://wordpress.org/" title="<?php _e('Oparta na WordPress, najnowocześniejsza semantyczna platforma do publikacji osobistych.', 'html5reset'); ?>"> <?php _e('WordPress','html5reset'); ?>
 <?php wp_meta(); ?>

 <?php _e('Subskrybuj','html5reset'); ?>

<a href="<?php bloginfo('rss2_url'); ?>"> <?php _e('Wpisy (RSS)','html5reset'); ?>

<a href="<?php bloginfo('comments_rss2_url'); ?>"> <?php _e('Komentarze (RSS)','html5reset'); ?>

 <?php endif; ?>
 kod widżetu w moim functions.php // Widżety if ( !function_exists('register_sidebar' )) { function html5reset_widgets_init() { register_sidebar( array( 'name' => __( 'Widżety paska bocznego', ' html5reset' ), 'id' => 'sidebar-primary', 'before_widget' => '', 'after_widget' => '', 'before_title' => '
', 'after_title' => '
', ) ); } add_action( 'widgets_init', 'html5reset_widgets_init' ); }


title: wp_enqueue_script order - zewnętrzny vs wbudowany js

text: Mam kilka skryptów ładujących się z moim motywem: // ładowanie script.js <script type="text/javascript" src="script.js"></script> // robienie czegoś za pomocą script.js <script type=" text/javascript"> script-var: <?php echo get_option('script1-var');?> </script> Działają dobrze, ale kiedy robię `wp_enqueue_script` zamiast `<script src="">` skrypt ładuje się PO ZAKOŃCZENIU wbudowanej zawartości js, więc: // kolejkowanie script.js wp_enqueue_script('script-js', get_template_directory_uri() ."/scripts/script.js"); // zrobienie czegoś za pomocą script.js <script type="text/javascript"> script-var: <?php echo get_option('script1-var');?> </script> Daje: <script type="text/ javascript"> script-var: <?php echo get_option('script1-var');?> </script> <!-- WSZYSTKO POWYŻEJ TEJ LINII JEST BEZ UŻYTECZNE, PONIEWAŻ SKRYPT ŁADUJE SIĘ PO, NIE PRZED, TO --> < script type='text/javascript' src='http://address/scripts/script.js?ver=3.2.1'></script> Jak tego uniknąć? Wiem, że mógłbym umieszczać swoje skrypty inline w różnych plikach i umieszczać je w kolejce, ale jest to absolutnie bezcelowe, ponieważ jest w nich wiele funkcji PHP.


title: Napraw moją niestandardową funkcję: Usuń automatyczne <p>

text: Chcę usunąć automatyczny znacznik akapitu, który omija moje fragmenty, które są wyprowadzane przez funkcję niestandardową. Byłbym bardzo wdzięczny, gdybyś powiedział mi, co dodać do mojego kodu. Używam tej niestandardowej funkcji dla fragmentów: // Domyślna długość (wg WordPress) public static $length = 25; // Możesz więc wywołać: my_excerpt('short'); public static $types = array( 'short' => 5, 'regular' => 25, 'long' => 100 ); public static function length($nowa_długość = 55) { Fragment::$długość = $nowa_długość; add_filter('wyciąg_długość', 'Wyciąg::nowa_długość'); Fragment::wyjście(); } public static function new_length() { if( isset(Wyciąg::$types[Wyciąg::$długość]) ) return Wyciąg::$types[Wyciąg::$długość]; w przeciwnym razie zwróć Fragment::$długość; } public static function output() { the_excerpt(); } } // Alias funkcji klasy my_excerpt($length = 25) { Fragment::length($długość); } i wywołanie go za pomocą <?php my_excerpt('short'); ?>


title: Zamiana surowego zapytania do bazy danych na WP_Query

text:
Mam wtyczkę, która wyświetla najczęściej głosowane posty na liście z liczbą głosów. **Kod znajduje się tutaj:** https://gist.github.com/hchouhan/6727356 function dot_most_recommended_posts($numberOf, $before, $after, $show_count, $post_type="showcase" ) { global $wpdb; $request = "SELECT * FROM $wpdb->posty, $wpdb->postmeta"; $request .= " GDZIE $wpdb->posts.ID = $wpdb->postmeta.post_id"; $request .= " AND post_status='opublikuj' AND post_type='$post_type' AND meta_key='_recommended'"; $request .= " ZAMÓWIENIE PRZEZ $wpdb->postmeta.meta_value+0 LIMIT DESC $liczba"; $posts = $wpdb->get_results($żądanie); foreach ($posts as $item) { $post_title = stripslashes($item->post_title); $permalink = get_permalink($item->ID); $post_count = $item->meta_value; echo $before.'' . $post_title . ''; echo $show_count == '1' ? ' ('.$post_count.')' : ''; echo $po; } } $options = get_option("dot_most_recommended_posts"); if (!is_array( $options )) { $options = array( 'title' => 'Najczęściej polecane posty', 'number' => '10', 'show_count' => '1', ); } $tytuł = $opcje['tytuł']; $liczba = $opcje['liczba']; $show_count = $options['show_count']; echo '
'; dot_most_recommended_posts($numberOf, '
', '
', $show_count); echo '
'; Powyższy kod został wyodrębniony z tej wtyczki http://wordpress.org/plugins/i-recommend-this/. Teraz dane wyświetlane za pomocą powyższego kodu są dokładne. Na podstawie liczby głosów otrzymanych listę wyświetlanych. Chcę poznać najlepszy sposób na uniknięcie używania surowych zapytań i zamiast tego używania WP_Query. Próbowałem z poniższym kodem, ale wydaje się, że wyświetlają się tylko te posty, które mają liczbę głosów 9. **Zaktualizowany kod z WP_Query** - https://gist.github.com/hchouhan/6727363 <?php $query_top_10_showcase = new WP_Query( array( 'post_type' => array( 'showcase' ), 'orderby' => 'meta_value', 'meta_key' => '_recommended', 'paged' => $paged ) ); // Uruchom pętlę w normalny sposób if ( $query_top_10_showcase->have_posts() ) : while ( $query_top_10_showcase->have_posts() ) : $query_top_10_showcase->the_post(); $url = get_post_meta( $post->ID, '_dot_showcase_url', true ); $rekomendowane = get_post_meta( $post->ID, '_rekomendowane', prawda ); ?>
 <?php the_title() ?> - <?php echo $zalecane; ?>
 <?php endwhile; else: // nie znaleziono postów endif; wp_reset_postdata(); ?>


title: W panelu administracyjnym użyć formularza do stworzenia posta?

text: Niestety pracuję z dość tępymi klientami, którzy upierają się, że potrzebują "formularza" do wypełnienia zamiast normalnego edytora WP WYSIWYG Post. Próbowałem im powiedzieć, że mogą ukryć części, które ich mylą, ale najwyraźniej to nie zadziała. Czy jest jakiś sposób na stworzenie prostego 4-liniowego formularza w panelu administracyjnym, który tworzy post z treścią z tych 4 linii? Jakieś istniejące wtyczki, których mógłbym użyć, aby to zrobić? Próbowałem już niestandardowego typu postu, ale „duże pole” do dodawania treści jest najwyraźniej zbyt trudne do uchwycenia, ponieważ wciąż chcą „linii” w formularzu. Potrzebuję tylko, aby dane wyjściowe były spójne. Prosty post, coś w stylu: Przedmiot: _cokolwiek napiszą_ Kwota: _cokolwiek napiszą_ Model: _cokolwiek napiszą_ Opis: _cokolwiek napiszą_ Nie potrafią samodzielnie napisać słowa „Przedmiot”, a chcą, aby zrobił to formularz. Zasadniczo z tym mam do czynienia. Czy ktoś ma jakieś pomysły?


title: Buddypress - Dodawanie tagów w profilu

text: Czy istnieje sposób na dodanie tagów typu: umiejętności, ulubione książki itp. do profilu? Z góry dziękuję.


title: Jak nadpisać .htaccess nowymi regułami bez ftp lub edytować go ręcznie?

text: Chcę, aby skrypt dodawał nowe reguły do bieżącego `.htaccess`, a użytkownik nie musi go ftp ani edytować ręcznie. Na przykład używam timthumb do zmiany rozmiaru obrazu w moim motywie i chcę przepisać adres URL, a obecny `.htaccess` będzie wyglądał mniej więcej tak. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^images/thumb/(.*) timthumb.php?filename=$1 RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f{Rewrite_FILENAME} } !-d Reguła przepisywania . /index.php [L] </IfModule> Pytanie Jak dodać nową regułę do opcji `.htacces` w moim motywie. Włączyć przepisywanie modów dla Timthumb? : [Tak] [Nie] Jeśli klikniesz [Tak] `RewriteRule ^images/thumb/(.*) timthumb.php?filename=$1` zostanie automatycznie dodany do bieżącego `.htaccess` Daj mi znać


title: usuwanie znaczników <li> z wp_list_pages() za pomocą PHP

text: jak mówi tytuł, staram się usunąć znaczniki `<li></li>` z listy generowanej za pomocą `wp_list_pages()`. Myślę, że w jakiś sposób uruchomię pętlę for/foreach przez pozycje menu i usuń znaczniki `<li></li>` za pomocą `str_replace()`, ale najpierw musiałbym przeanalizować zwróconą listę w tablicę lub coś takiego przejrzeć elementy listy... Jakieś pomysły, jak mogę to osiągnąć? a może lepszy sposób na to? Z góry dzięki!


title: Wiele rozwijanych niestandardowych taksonomii wyszukiwania

text:
Wiem, że to pytanie jest zadawane wiele razy na wymianie stosów, ale mam coś nowego Chcę mieć trzy rozwijane pola i przycisk wyszukiwania, rozwijane pola będą zawierać terminy z 3 niestandardowych taksonomii, kiedy wybiorę trzy wartości w nim i naciśnij wyszukiwanie, otrzymam wyniki, które będą zawierały te trzy terminy w tym poście Brzmi to dziwnie, ale jest to naprawdę pomocne wyszukiwanie witryny Mam kod (który znalazłem na jakiejś stronie), który działa , ale tylko dla kategorii i daje tylko jedno rozwijane pole, chcę zrobić to dla niestandardowej taksonomii, która będzie miała 3 rozwijane pola, oto mój kod: function wp_search_form($form) { $form = '<metoda formularza ="get" id="searchform" action="' .get_option('home') '/">
' . __('Szukaj:') . ' <input type="text" value="' . attribute_escape(apply_filters('the_search_query', get_search_query())) . '" name="s" id="s" /> <input type=" prześlij" id="searchsubmit" value="'.attribute_escape(__('Search')).'" />
 '.wp_dropdown_categories('show_option_all=Wszystkie kategorie&hide_empty=0&echo=0&selected='.intval($_GET ['kot']).'').'
 </form>'; zwróć formularz $; } Po napisaniu tego muszę to powtórzyć, `<?php echo wp_search_form(''); ?>` Edytowałem zgodnie z moim poglądem, właśnie zmieniłem pojedynczą linię, aby wyświetlić listę rozwijaną niestandardowej taksonomii, ale po naciśnięciu wyszukiwania nie znaleziono wyników, kod, który zmieniłem, to `'.wp_dropdown_categories('taxonomy= location&hide_empty=0&echo=0&selected='.intval($_GET['cat']).'').'` Lokalizacja to moja niestandardowa nazwa taksonomii


title: Wyróżnij posty należące do aktualnej podkategorii

text: Próbuję wyróżnić elementy listy, które należą do tej samej kategorii, co na bieżącej stronie kategorii. Na przykład mam kategorię o nazwie _jedzenie_ , z podkategoriami: _śniadanie_ , _lunch_ i _kolacja_. Jeśli przejdziesz do podkategorii _lunch_ – w pętli, która wywołuje wszystkie posty niezależnie od kategorii – chcę, aby wszystkie elementy listy powiązane z _lunch_ były podświetlone. Najpierw używam `get_category` i `->term_id` do zdefiniowania identyfikatora kategorii, w której aktualnie się znajdujemy. Po drugie, w pętli używam `get_the_category` i `[0]->cat_ID` do pobrania identyfikatora (ale tylko pierwszego w tablicy) każdego indywidualnego elementu listy. Na koniec używam `in_array`, aby sprawdzić, czy istnieje dopasowanie między dwoma argumentami, a jeśli tak, to echo wartości. Moje problemy leżą w `$categories[0]->cat_ID`. Jeśli element listy jest powiązany z więcej niż jedną kategorią, pobieranie tylko pierwszego z nich nie jest dobre. Jak utworzyć argument, który będzie wyprowadzał wszystkie identyfikatory kategorii skojarzone z elementem listy w pętli? <?php $thisTrueCat = get_category( get_query_var( 'kot' ) ); ?> <!-- początek pętli --> <?php $categories = get_the_category(); $categories_id = $categories[0]->cat_ID; ?> <?php if( in_array( $thisTrueCat->term_id, array($categories_id) ) ) { echo 'cat-hi'; }?>


title: pobierz najstarszy identyfikator postu

text: Próbuję uzyskać identyfikator najstarszego posta z `post_type = job_listing` i `post_status = publish`. Używam poniższego kodu, ale nie działa. Czy ktoś mógłby mi pomóc `$oldestID = mysql_query("wybierz identyfikator z wp_posts gdzie post_type = 'job_listing' i post_status = 'opublikuj' zamówienie według post_date ASC");` Dzięki!


title: next_posts_link nie działa dla pętli wywołanej za pomocą ajax

text: Na mojej stronie głównej wyświetlam pętlę postów, które pozwalam na zastąpienie wynikami wyszukiwania ajax i innymi niestandardowymi pętlami. Te wyniki są zwracane w szablonie z `niestandardowym wp_query`. Problem polega na tym, że `next_posts_link` nie zwraca prawidłowego linku do strony 2 dla pętli wyszukiwania. Otrzymuję link do `http://mysite.com/wp-admin/admin-ajax.php?paged=2`. Poniżej znajduje się cała konfiguracja, której używam do zwracania wyników. Co muszę zmienić, aby uzyskać właściwą paginację? //skrypt jQuery(document).ready(function($){ $('#searchsubmit').click(function(e){ $('#boxes').empty(); e.preventDefault(); var search_val =$("#s").val(); var $panel = $(this).closest(.panel-container").find(.panel"); $.post( WPaAjax.ajaxurl, { akcja : 'wpa56343_search', search_val : search_val }, function(response) { $('#boxes').append(response).masonry('reload'); $panel.hide("slow"); $('.trigger ').removeClass("aktywne"); } ); }); }); //funkcja do przekazania parametrów zapytania add_action('wp_ajax_wpa56343_search', 'wpa56343_search'); funkcja wpa56343_search(){ globalna $wp_query; $wyszukiwanie = $_POST['wartość_wyszukiwania']; $args = array( 's' => $search, 'posts_per_page' => 10 ); $wp_query = nowe WP_Query ($args ); get_template_part( 'wyniki-wyszukiwania' ); Wyjście; } //Niestandardowe zapytanie wyszukiwania search-results.php <?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <------treść-----> <?php endwhile; ?> <?php if ( $wp_query->max_num_pages > 1 ) : ?> <div class="infinitescroll"> <?php next_posts_link( __( 'Wczytaj więcej postów', $wp_query->max_num_pages ) ); ?> </div> <script type="text/javascript"> // Nieskończone przewijanie var href = 'first'; $(document).ready(function() { $('#boxes').infinitescroll({ navSelector : '.infinitescroll', nextSelector : '.infinitescroll a', itemSelector : '#boxes .box', loadingImg : '< ?php echo get_bloginfo('stylesheet_directory') ?>/images/loading.gif', loadingText : 'Ładowanie...', donetext : 'Nie ma więcej stron do załadowania', debug : false }, function(arrayOfNewElems) { $ ('#boxes').masonry('appended', $(arrayOfNewElems)); if (href != $('.infinitescroll a').attr('href')) { href = $('.infinitescroll a' ).attr('href'); } }); }); </script> <?php endif; ?>


title: Ogranicz bibliotekę multimediów do podanego folderu

text: Stworzyłem wtyczkę, która korzysta z Biblioteki multimediów, aby umożliwić użytkownikom przesyłanie plików do określonego katalogu - przy użyciu filtra `upload_dir`. Chciałbym wiedzieć, czy istnieje sposób (tj. filtr), którego mogę użyć, aby ograniczyć bibliotekę multimediów do wyświetlania tylko plików zawartych w moim niestandardowym folderze? Jeśli to możliwe, chcę, aby użytkownik mógł wybrać tylko pliki, które zostały przesłane do folderu niestandardowego podczas interakcji z Biblioteką multimediów utworzoną przez moją wtyczkę.


title: Jak utworzyć polecany post w niestandardowym typie posta?

text: Czy robię to dokładnie tak samo, jak w przypadku zwykłych postów? Używam zmiennej globalnej $featured_cat i wyciągam ją. Czy powinienem zrobić to samo tutaj? A może powinienem użyć powiązanej taksonomii niestandardowej? A może przesadzam? Czy taksonomie naprawdę przyniosłyby korzyści? _Jakie jest właściwe podejście, chłopaki?_


title: Jak przenieść wyniki wyszukiwania na konkretną stronę?

text: Zastanawiałem się, czy możliwe jest wyświetlenie wyników wyszukiwania wordpress na innej stronie? W tej chwili są one wyświetlane na stronie `http://www.mysite.com/?s=searchterm`, ale chciałbym, aby były wyświetlane na mojej stronie szablonu **search-results**, więc `http://www.mysite .com/search/?s=wyszukiwany termin`. czy to możliwe? Wszelka pomoc bardzo ceniona, S.


title: Jak sprawić, by motyw Przebudźcie się lub Unite używał polecanego obrazu jako obrazu posta?

text: Jak sprawić, by motyw Awake lub Unite WP używał obrazu posta z wyróżnionego obrazu, zamiast ręcznie wpisywać adres URL obrazu posta w każdym poście?


title: Wyrażenia warunkowe z wykorzystaniem kategorii i tagów

text: Chcę używać instrukcji warunkowych w WordPressie. Jak mogę uzyskać aktualną kategorię i tag poza The Loop? Próbowałem tego, ale to nie zadziałało dla mnie. <?php $kategoria = pobierz_kategorię(); echo $kategoria[0]->nazwa_kota; ?>


title: Nie można przesyłać niczego przez wordpress

text: Niedawno zainstalowałem lokalną instalację Wordpress 3.5.2 na moim laptopie, uruchamiając Ubuntu 12.10. Zainstalowałem zgodnie z przewodnikiem stąd. Jak dotąd wszystko inne działa, z wyjątkiem tego, że nie mogę przesłać żadnych plików multimedialnych przez `Bibliotekę multimediów -> Dodaj nowy`. Plik wydaje się być przesyłany, gdy pasek postępu rośnie od 0 do 100%. Jednak po tym wordpress nie może nigdzie wyświetlić miniatury ani obrazu. Po przejrzeniu folder przesyłania jest pusty. Więc pomyślałem, że to problem z uprawnieniami, po wykonaniu wskazówek na forach pomocy technicznej, bez kości. Wordpress jest instalowany w `/usr/share/wordpress`. Folder przesyłania domyślnie znajduje się w `/var/lib/wordpress/wp-content/uploads`. Mam `755` dla `wp-content/` i `777` dla `uploads`. Foldery są własnością `www-data`. Nie widzę żadnych błędów, pliki po prostu nigdzie się nie pojawią. Mogę ręcznie kopiować pliki do folderu `uploads/` jako dowolny użytkownik ze względu na uprawnienia i mogę przeglądać `http://localhost/wordpress/wp-content/uploads/file.jpg` za pomocą przeglądarki internetowej. Nie mam zainstalowanych motywów ani dodatkowych wtyczek. Dodałem `define('WP_DEBUG', true);` do mojego pliku konfiguracyjnego, ale żadne błędy nie są wyświetlane. EDYCJA: Tu jest linia z `/var/log/apache2/error.log` jeśli jest jakaś pomoc. [Czw 27 czerwca 22:35:02 2013] [błąd] [klient 127.0.0.1] Ostrzeżenie PHP: Tworzenie domyślnego obiektu z pustej wartości w /usr/share/wordpress/wp-admin/includes/update.php w linii 92, referer: http://localhost/wordpress/wp-admin/upload.php EDIT2: Oto przykładowe wykazy katalogów z uprawnieniami msvalkon@Lunkwill:/var/www$ ll łącznie 20 drwxr-xr-x 2 www-data www-data 4096 cze 27 12:21 ./ drwxr-xr-x 15 root root 4096 cze 7 10:06 ../ -rw------- 1 www-data www-data 46 cze 27 12:21 .bash_history - rw-r--r-- 1 root root 200 czerwca 27 11:46 index.php -rw-r--r-- 1 root root 11 grudnia 14 2012 .profile lrwxrwxrwx 1 msvalkon www-data 21 czerwca 20 11:45 wordpress -> /usr/share/wordpress// msvalkon@Lunkwill:/usr/share/wordpress$ ll łącznie 164 drwxr-xr-x 5 msvalkon www-data 4096 Jun 27 13:41 ./ drwxr-xr-x 349 root root 12288 20 czerwca 11:51 ../ lrwxrwxrwx 1 msvalkon www-data 23 września 13 2012 .hta ccess -> /etc/wordpress/htaccess -rw-r--r-- 1 msvalkon www-data 395 8 stycznia 2012 index.php -rw-r--r-- 1 msvalkon www-data 9202 13 września 2012 readme. html -rw-r--r-- 1 msvalkon www-data 4264 gru 14 2011 wp-activate.php drwxr-xr-x 9 msvalkon www-data 4096 Jun 27 12:48 wp-admin/ --- SNIP -- - drwxr-xr-x 5 msvalkon www-data 4096 Jun 27 12:48 wp-content/ msvalkon@Lunkwill:/var/lib/wordpress$ ll wp-content/ total 28 drwxrwxrwx 7 msvalkon www-data 4096 Jun 27 12: 58 ./ drwxrwxrwx 3 msvalkon www-data 4096 Jun 5 18:17 ../ drwxrwxrwx 2 msvalkon www-data 4096 Sep 13 2012 blogs.dir/ drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 języki/ drwxrwxrwx 2 msvalkon -data 4096 Jun 27 12:48 plugins/ drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 12:48 tematy/ drwxrwxrwx 2 msvalkon www-data 4096 Jun 27 13:17 uploads/


title: Tekst nie jest tłumaczony w języku użytkownika w Wordpress 3.5.2 Wtyczka QTranslate, jak to rozwiązać?

text: Używam WordPress 3.5.2 do wielojęzycznej witryny przy użyciu wtyczki QTranslate. Stworzyłem stronę internetową z IN STYLE motywem "elegancki motyw" Jak przetłumaczyć tekst obracany na stronie głównej? Nie używam stron, wybieram „Kategoria funkcji z menu rozwijanego i wpisuję z kategorii do slajdu. Widzę ustawienie ET i dodaję tekst zarówno w tytule, jak i opisie. Te wartości pojawiają się na stronie głównej w miejscu normalnego tytułu strony. Moja witryna jest w 3 językach, rosyjskim, angielskim i chińskim. Jak mogę tłumaczyć? Teraz mam ten sam tytuł w wersji rosyjskiej, angielskiej i chińskiej, muszę mieć różne tytuły w trzech językach. jest to możliwe? jak mogę to zrobić? ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/k0nl4.png)


title: Zaawansowane pola niestandardowe sortują repeater według daty

text:
Mam pole repeatera w szablonie strony, aby pokazać małe fragmenty z łączem, które należy posortować według daty (ostatnie pierwsze). Używam obecnego kodu, ale nie ma żadnego sortowania. <?php if(get_field('w_aktualnościach')): ?> <?php while(has_sub_field('w_wiadomości')): ?> <id artykułu="post-<?php the_ID(); ?>" class=" open post type-post format-standard hentry" role="article">
<a href="< ?php the_sub_field('link'); ?>" rel="zakładka" target="_blank"><?php the_sub_field('title'); ?>

<?php the_sub_field('publisher'); ?> - <?php //the_sub_field('data_publikacji'); /*if(get_sub_field('published_date')) { $date = DateTime::createFromFormat('Ymd', get_sub_field('published_date')); echo 'Opublikowany: '; echo $data->format('F j, Y'); }*/ ?> <?php //Brak obsługi PHP 5.3. to zamiast tego. $data = get_sub_field('data_publikacji'); // $data = 19881123 (23.11.1988) // wyodrębnij R,M,D $y = substr($data, 0, 4); $m = substr($data, 4, 2); $d = substr($data, 6, 2); // utwórz UNIX $time = strtotime("{$d}-{$m}-{$y}"); // format daty (23.11.1988) echo date('d/m/R', $czas); ?>


title: Aktywna klasa do bieżącego linku

text: Jak dodać aktywną klasę do bieżącego łącza, które przegląda użytkownik? Mam mieszankę stron i niestandardowych typów postów w moim głównym menu nawigacyjnym i wiem, że wordpress ma `.current_page_item`, którego można użyć, ale kiedy próbowałem, nic się nie stało. Jestem trochę zdezorientowany, jak to zaimplementować. Obecnie menu witryny jest pobierane za pomocą: <?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?> AND: `<?php wp_nav_menu( array('menu' => 'Menu mobilne' )); ?>` - dla stanu mobilnego.


title: wp_count_posts we wszystkich typach postów?

text: Mam 5 różnych niestandardowych typów postów, czy jest jakiś sposób na policzenie wszystkich opublikowanych postów niezależnie od post_type za pomocą jakichkolwiek wbudowanych funkcji, takich jak wp_count_posts(array('post','books','video')) wszelkie pomysły


title: Jak uzyskać konkretne dane z wp_list_comments poza pętlą?

text: Potrzebuję pomocy, bardzo nowego w wordpressie. Potrzebuję tylko tytułu komentarza i daty komentarza z funkcji `wp_list_comments` w moim poście, wywołującej z zewnętrznej pętli, po zadeklarowaniu $postid jako zmiennej globalnej. Teraz otrzymuję wszystkie informacje o komentarzu, takie jak autor, data, tytuł, komentarz itp. Jak więc uzyskać konkretny szczegół, jak powyżej?


title: Próbujesz uzyskać dostęp do niestandardowego posta przekierowującego do strony głównej

text: Właśnie zacząłem używać WordPressa i wydaje mi się, że potrzebuję więcej praktyki i porad, aby zachowywał się tak, jak chcę. Odziedziczyłem działającą już witrynę od innego faceta. Teraz muszę dodać do niego nową funkcjonalność, ale utknąłem. Próbuję dodać niestandardowy typ postu i sprawić, by posty tego typu były rzeczywiście wyświetlane. W tym celu głównie kopiowałem i wklejałem kod z innych miejsc na stronie. Kod, którego używam do tworzenia nowej kategorii postów, jest następujący: function theme_setup() { //Inny kod, który tworzy inne kategorie postów //Moje nowe rzeczy register_post_type( 'contest', array( 'label' => 'Concursuri', 'public' => true, 'menu_position' => 5,/*below Posts*/ 'capability_type' => 'post', 'supports' => array('title', 'editor', 'thumbnail', 'custom -fields'), 'taxonomies' => array('konkursy'), 'hierarchical' => true, 'query_var' => 'konkurs', 'rewrite' => array('slug' => 'konkurs/%kategoria %', 'with_front' => false), 'feeds' => true, 'pages' => true, ) ); register_taxonomy( 'konkursy', 'konkurs', array( 'label' => 'Kategoria Concursuri', 'public' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'konkurs ', 'with_front' => false), ) ); //Następnie kilka innych rzeczy, a na koniec: //flush_rewrite_rules(false); //Usunięto i zamiast tego użyto wizyty w permalinku } add_action('init', 'theme_setup'); add_filter('post_type_link', 'events_permalink_structure', 10, 3); function events_permalink_structure($post_link, $post, $leavename) { $arr = array( //Tutaj kilka elementów, potem mój 'contest' => 'contests', //Tutaj więcej elementów ); foreach ($arr as $post_type => $tax) { if ($post->post_type == $post_type) { $terms = wp_get_object_terms($post->ID, $tax); if (!empty($terms)) // link do formularza http://www.site.com/<taxonomie>/%categorie%/<numer> $post_link = str_replace('%categorie%', $terms[ 0]->slug, $post_link); else // link do formularza http://www.site.com/<taxonomie>/%material% $post_link = str_replace('/%categorie%', "", $post_link); } } return $post_link; } function add_rewrite_rules($rules) { $newrules = array(); //Kilka innych podobnych reguł, potem moja nowa reguła $newrules['^contest/(\d+)/([^/]+)/?'] = 'index.php?post_type=contest&contest=$matches[2]' ; zwróć $nowe zasady + $zasady; } add_filter('rewrite_rules_array', 'add_rewrite_rules'); Teraz po dodaniu tego kodu do functions.php otrzymuję nowy link na stronie administratora, który pozwala mi dodawać nowe posty tego typu. Mogę je dodać (bez problemu), mogę je podejrzeć, korzystając z linku typu ' **?post_type=contest &p=2873&preview=true**', mogę nawet zapytać o nie po wysłaniu z kodem takim jak: <?php $ query = new WP_Query(array( 'posts_per_page' => 5, 'post_type' => 'konkurs', 'orderby' => 'data', 'zamówienie' => 'DESC')); if ($query->found_posts) { ?> ...wyświetlić w jakiś sposób listę postów... <?php } wp_reset_query(); wp_reset_postdata(); ?> Jednak kiedy próbuję uzyskać dostęp do wpisu, przekierowuje mnie na stronę główną. Dzieje się tak z utworzonych przeze mnie linków (wyglądają tak: ' **/contest/#post-2873** ' - co jest podobne do innych linków tworzonych dla innych niestandardowych postów), ze strony edycji z WordPressa (która wygląda jak to: ' **/contest/test/** '), lub jeśli ręcznie wprowadzę adres URL, np.: ' **?post_type=contest &p=2873**'. Próba uzyskania dostępu do „ **/contest/** ” również przekierowuje mnie na moją stronę główną. Szukałem podobnych problemów, co sugeruje, że powinienem odwiedzić stronę permalinków przed ponowną próbą. Zrobiłem to i nacisnąłem tam także „Zapisz zmiany”, ale to nadal nie działa. Próbowałem też innych rzeczy, na przykład nie dodawania reguły przepisywania do tego, ale wyniki są zawsze takie same. Czuję, że brakuje mi tu czegoś prostego, ale nie wiem czego. Czy możesz mi pomóc rozwiązać ten problem? Niekoniecznie chcę bawić się php, więc jeśli istnieje interfejs użytkownika do robienia tego, co próbuję zrobić, to też byłoby świetnie. Dziękuję! Edycja: minęło kilka dni, wciąż brak wyników. Próbowałem innych rzeczy, takich jak edytowanie .htaccess, tworzenie niestandardowego typu o innej nazwie, bez dodawania taksonomii i tak dalej. Brak wyników. Pomoc!


title: Oddzielna DB według rocznego archiwum Wordpress

text: Mam dużą bazę postów na blogu, które już eksportuję z roku i chciałem zrobić archiwum z roku, robiąc to na subdomenie, np. `2012.mysite.com` Układam stos szukając rozwiązania w internecie, zastanawiam się, czy ktoś to zrobił wcześniej ? i może mi doradzić dobre rozwiązanie, wszystko, czego chciałem, to rozdzielić na inny db na rok do archiwizacji. Posiadam wiedzę z zakresu PHP i MYSQL.


title: meta_query porównaj nie robienie tego, co chcę

text: Próbuję uruchomić zapytanie, które wyświetla wpisy tylko wtedy, gdy jego wartość meta ma ciąg daty, który jest MNIEJSZY niż ciąg bieżącej daty. Przykład znajduje się poniżej; <?php $bieżąca = data('Ymd'); // Np. dzisiaj byłby 20131011 $date = get_post_meta($post->ID, 'event_date', true); // (Np.; 19690816) $args ( 'post_type' => 'event', 'posts_per_page' => -1, 'meta_query' => array( 'key' => 'event_date', 'value' => $current , 'porównaj' => '<', 'typ' => 'numeryczny' ) ); ?> Ale to nie działa. Wartość `$data` jest zdefiniowana przez pole meta i zwraca ciąg w tym samym formacie, co powyższa wartość `$bieżąca`, więc jest to po prostu porównanie 2 wartości liczbowych ze sobą. Czy ktoś ma jakieś pomysły? Próbowałem tego w odwrotny sposób, używając symbolu większego niż i to też nie chce działać. Czterokrotnie sprawdziłem nazwę typu posta, wartości itp. i wszystkie są poprawne.


title: Czy wp_list_comments może wyprowadzić do zmiennej?

text: Czy jest jakiś sposób, jak wyprowadzić `wp_list_comments()` do zmiennej? Coś w stylu `$output = wp_list_comments(array('reverse_top_level' => false ), $comments);` Piszę wtyczkę i przydałoby się użyć standardowej funkcji WordPressa zamiast pisać własną.


title: Czy istnieje sposób na dodanie linku za pomocą add_post_meta?

text: Próbuję umieścić link w meta postu z tym kodem $authorEmail = get_the_author_meta('user_email'); $authorEmailLink = ''.$authorEmail.''; add_post_meta($post->ID,'Adres e-mail autora',$authorEmailLink,true); `$authorEmailLink` jest prawidłowym linkiem, ponieważ mogę go wyświetlić na stronie. Jednak po umieszczeniu go na stronie wyświetla po prostu wiadomość e-mail w postaci zwykłego tekstu. Czy jest coś, czego nie robię lub sposób na obejście tego?


title: Uzyskaj tytuł nadrzędny strony najwyższego poziomu

text: Jak uzyskać tytuł strony najwyżej położonej strony nadrzędnej strony, na której aktualnie znajduje się odwiedzający? Pozwól mi opisać: Mam tę strukturę strony: * Przykładowy tytuł 1 * Przykładowy tytuł 1-1 * Przykładowy tytuł 1-1-1 * Przykładowy tytuł 1-1-2 * Przykładowy tytuł 1-2 * Przykładowy tytuł 2 * Przykładowy tytuł 3 * Przykładowy tytuł 4 Oto, co chcę zwrócić: * Użytkownik jest na `Przykładowym tytule 1` return `Przykładowym tytule 1` * Użytkownik na `Przykładowym tytule 1-1` return `Przykładowym tytule 1` * Użytkownik na `Przykładowym tytule Title 1-1-1` return `Przykładowy tytuł 1` * Użytkownik znajduje się na `Przykładowym tytule 2` return `Przykładowy tytuł 2` Normalnie chciałbym sprawdzić `$post->parent` i jeśli `0` to zwrócić stronę title else zwraca tytuł strony powyżej. Problem polega na tym, że $post->parent cofa się tylko o jeden poziom. Muszę użyć jakiejś funkcji rekurencyjnej, która cofa się aż do `$post->parent == 0`. Teraz mogę sobie z tym poradzić, ale jedynym sposobem, w jaki mógłbym to zrobić, byłoby użycie get_post() za każdym razem, ale wyobraź sobie, że mam 8 warstw głębokości (musimy wejść głębiej). Wymagałoby to załadowania 8 stron, aby w końcu dostać się na najwyższy poziom. Czy ktoś ma na to lepszy sposób?


title: Jak zmienić nazwę widżetu wordpress

text: Chcę zmienić nazwę „Widget” na inną, na przykład „Blokuj” lub coś innego. proszę pomóż mi. **EDYTUJ** Zgodnie z poniższym komentarzem użytkownika, chce zmienić `class="widget"` na `class="block"` (lub dowolną dowolną nazwę klasy) w renderowanym widżecie paska bocznego.


title: Haczyk na przycisk Dodaj do koszyka AJAX?

text: Czy ktoś tutaj kiedykolwiek miał potrzebę dodania przycisku AJAX do koszyka (tego znajdującego się w archiwach produktów) w niestandardowym wyniku zapytania? Czy masz coś przeciwko dzieleniu się hakiem? Nie mogę znaleźć właściwego.


title: the_content nie działa na jednej z dwóch witryn Multisite

text: Mam multisite z dwiema podstronami (konfiguracja subdomeny), obie strony mają ten sam motyw, te same wtyczki, ale pierwsza jest po hebrajsku, a druga po angielsku. W przypadku niektórych szablonów (nie wszystkich) w angielskiej witrynie "the_content()" nie działa (działa dobrze na hebrajskiej witrynie). To jest na niestandardowym typie posta, ale nie wszystkie CPT cierpią na ten sam problem, wydaje się, że jest raczej losowy, który typ posta nie działa (ale spójne, co do faktu, że nadal nie działają) . Sprawdziłem wszystko, pętla wydaje się być OK (the_excerpt() i the_title() działają dobrze), ale konkretnie the_content() nie działa (i get_the_content()), jedynym sposobem wyświetlania treści jest $post- >Treść_publikowania. Wyłączyłem wszystkie wtyczki i sprawdziłem (bez efektu) Więc moim obejściem jest na razie echo apply_filters('the_content', $post->post_content); które podobno powinno je prawidłowo zdezynfekować (to działa). znowu, ten sam szablon na pierwszej stronie działa dobrze z the_content() (po zastosowaniu obejścia, oczywiście już go nie używa. Używam motywu root http://www.rootstheme.com/ Czy ktoś może pomóc ? Czego mi brakuje?


title: Strategie radzenia sobie z hiperagresywnymi robotami spamującymi?

text: Kilka moich witryn jest atakowanych przez hiperagresywnego, rozproszonego robota spamującego. To tylko spam linkami. Wszystko pochodzi od jednej nazwy użytkownika, ale z różnych adresów IP. Akismet przechwytuje spam, więc moje witryny nie są niszczone. Ale to wpływa na wydajność. Jaka jest najlepsza praktyka, jeśli w ogóle, w celu złagodzenia tego? **Edytuj** W ciągu 24 godzin jest ich około 400. Pochodzą ze zmieniającej się grupy adresów IP. Z każdego adresu jest od pięciu do dziesięciu trafień. * 60.173.9.*, 60.173.10.* i 60.173.11.* * 112.123.168.* Oba te zakresy adresów są przypisywane, zgodnie z apnic.net, dostawcom usług internetowych w Chinach. (Domyślam się, że kafejki internetowe są zainfekowane złośliwym oprogramowaniem, ale kto wie?) Ponownie, czy istnieje najlepsza praktyka radzenia sobie z tymi śmieciami? A może po prostu niech zrobi to akismet?


title: Niestandardowy post nie wyświetla polecanego obrazu

text: Prawdopodobnie czegoś mi brakuje, ale jakoś mój niestandardowy typ postu nie wyświetla pola wejściowego polecanego obrazu podczas tworzenia posta. Mam już zarejestrowany obraz w moim functions.php i pojawia się on na stronach i w zwykłych postach. Ale nie w moim niestandardowym typie postu. To jest kod, którego użyłem do włączenia polecanych obrazów add_theme_support('post-thumbnails'); Oraz kod do rejestracji niestandardowego typu postu add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'vacature', array( 'labels' => array( 'name' => __( 'Wakacje' ), 'singular_name' => __( 'Wakacje' ), ), 'public' = > true, 'has_archive' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ), ) ); }


title: Instalacja wtyczki WordPress

text: Używam prostej funkcji `add_filter` do wyprowadzania zawartości. add_filter('treść', 'moja_nazwa'); function moja_nazwa( $zawartość ){ // kod zwraca $zawartość; } Kiedy aktywuję wtyczkę, wyjście funkcji `my_name` jest wyświetlane na wszystkich stronach. Jak mogę ograniczyć wydruk tylko do jednej strony?


title: Różnice w korzystaniu z funkcji the_time i the_date

text:
Mam pewne wątpliwości, jak działają funkcje WordPress **the_date()** zdefiniowane w **general-template.php** Na stronie pokazuję archiwum postów za pomocą tego fragmentu kodu w pętlę: <article id="post -<?php the_ID(); ?>" <?php post_class(); ?>>
 <a href="<?php the_permalink(); ?>" title="<?php printf(__('Permalink do %s', 'twój -motyw'), atrybut_tytułu('echo=0')); ?>" rel="zakładka"><?php data_("d/m/R"); Echo " - "; tytuł(); ?>
  </artykuł>  Problem w tym, że dla niektórych postów funkcja **the_date()** podaje mi datę posta, a dla innych nie. Załączam zrzut ekranu tego, co uzyskałem: ![tutaj podaj opis obrazu](http://i.stack.imgur.com/drFce.png) Jak widać, niektóre posty są wyświetlane jako: **DATA - POST TITLE**, ale niektóre inne posty są wyświetlane jako **POST TITLE** bez daty poprzedzającej tytuł posta. Wydaje mi się to bardzo dziwne, ponieważ wszystkie posty mają datę publikacji. Spróbowałem więc użyć debugera i zobaczyć, co się stanie, gdy funkcja **the_date()** ma ten kod: function the_date( $d = '', $before = '', $after = '', $echo = true ) { global $bieżący dzień, $poprzedni dzień; if ( $currentday != $previousday) { $the_date = $before. pobierz_datę ($d) . $po; $poprzedni dzień = $bieżący dzień; /** * Filtruj datę opublikowania posta do wyświetlenia. * * @since 0.71 * * @param string $the_date Sformatowany ciąg daty. * @param string $d Format daty PHP. Domyślnie jest to opcja „date_format” *, jeśli nie została określona. * @param string $before wyjście HTML przed datą. * @param string $after wynik HTML po dacie. */ $data_zastosowania_filtrów( 'data_, $data_, $d, $przed, $po ); if ( $echo ) echo $data_; w przeciwnym razie zwróć $the_date; } zwraca null; } i zawiera tę instrukcję warunkową: if ( $currentday != $previousday ) { i widzę, że dla niektórych postów wartość **$currentday** i **$previousday** jest taka sama, więc funkcja ** return null** Również czytając dokumentację funkcji mogę znaleźć: /** * Wyświetl lub pobierz datę napisania bieżącego posta (raz na datę) * * Datę wyprowadzi tylko wtedy, gdy data bieżącego posta jest inna niż * poprzednia jedno wyjście. * * tj. Tylko jedna lista dat pokaże dziennie posty wyświetlane w pętli, nawet jeśli funkcja * jest wywoływana kilka razy dla każdego posta. * * Wyjście HTML można filtrować za pomocą 'the_date'. * Dane wyjściowe ciągu daty można filtrować za pomocą „get_the_date”. Więc co dokładnie reprezentuje te 2 zmienne? i dlaczego jeśli są takie same, data nie jest zwracana? Jak mogę naprawić ten problem i pokazać datę?


title: Lista podstron w kolejności

text: To może być bardzo podstawowe pytanie, ale jestem początkującym. Jak mogę wylistować swoje podstrony w kolejności alfabetycznej? Mam łącznie 14 podstron. Kazano mi tego użyć, ale na mojej stronie jest bałagan. [podstrony strona=27 pozycji=12 kolejność=alfabetyczny opis]


title: Przejście z jednego testu do wielu środowisk końcowych

text: Pracuję nad witryną WordPress w następującym środowisku testowym URL: www.example.com/wordpress. Gdy witryna jest gotowa i wszystko jest przetestowane, chcę wdrożyć w trzech środowiskach na żywo w różnych językach: * `www.example.com/nl` * `www.example.com/fr` * `www.example.com/ pl Moje zmartwienie: co jeśli po prostu skopiuję wszystko z `/wordpress` do `/en`? Wiem, że wszystkie linki zostaną zerwane, a także wiem, jak to naprawić za pomocą tego narzędzia. Ale co jeśli, powiedzmy, skopiuję wszystko od `/wordpress` do `/fr` i `/nl` i usunę wszystkie strony, aby odbudować je we właściwym języku? A co z identyfikatorem strony i bazą danych? Czy jest to „bezpieczny” sposób na zrobienie czegoś takiego, czy są łatwiejsze metody?


title: Wyświetlanie linków do wszystkich postów z tej samej kategorii na stronie postów

text:
Chcę wyświetlić linki do wszystkich postów z tej samej kategorii, co aktualny post na tej stronie. Napisałem następujący kod w pliku single.php. <?php $kategorie_tego_postu = pobierz_kategorię(); ?> <?php $fist_category_id = $categories_of_this_post['0']->term_id; ?> <?php $this_post_ID = get_the_ID(); ?>

 <?php query_posts( array ( 'cat' => $fist_category_id, 'orderby' => 'data', 'zamówienie' => 'ASC') ); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
 <?php if (get_the_ID() != $this_post_ID) : ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php jeszcze : ?> <?php the_title(); ?> <?php endif; ?>
 <?php endwhile; else: ?>
<?php _e('Przepraszamy, nie ma artykułów napisanych w tej kategorii.'); ?>
 <?php endif; ?>

 Ale ten kod zwraca wszystkie posty znalezione w witrynie WordPress. Gdzie to się nie udaje?


title: Uzyskaj wartość metapola wszystkich kategorii

text: Ustawiam pole meta dla kategorii i pobieram wartość meta każdego pola w następujący sposób: $cat_meta = get_option( "meta_field_$cat1" ); if (isset($cat_meta['color'])){ $cat1_color = $cat_meta['color']; } Czy mogę uzyskać niepustą wartość pola meta wszystkich kategorii za pomocą pętli?


title: Jak uzyskać zarówno identyfikator załącznika obrazu, jak i adres URL?

text: Używam zaawansowanych niestandardowych pól repeater-field, aby uzyskać adres URL obrazu w następujący sposób: <?php the_sub_field('obraz'); ?> Ale chcę również uzyskać identyfikator załącznika do obrazu, który będzie używany do czegoś innego. czy to możliwe? :)


title: Jak zmienić tę regułę .htaccess w regułę dynamiczną za pomocą add_rewrite_rule, et al?

text: W .htaccess mam to: RewriteRule ^land/(.*) /?land=1&exper=$1 [QSA,L] co sprawia, że coś takiego: domain.com/land/exper1 wypełniamy $_GET $_GET[ 'land'] = 1 i $_GET['exper'] = exper1 Świetnie. Chcę usunąć to z .htaccess i dodać regułę dynamicznie, to znaczy poszukać innych wartości ciągu zapytania, takich jak „ocean” zamiast „land”. Chcę, aby wartości zostały wypełnione w $_GET lub innej zmiennej, w której mogę je ocenić. Nie mogę się domyślić, czy add_rewrite_rule ma faktycznie nadpisać mój plik .htaccess, ale wszystkie rzeczy, które próbowałem, flush_rewrite_rules (true) itp., nie robią tego.


title: Meta pole tagów nie wyświetla się podczas tworzenia nowego typu postu

text: Po utworzeniu nowego niestandardowego typu posta za pomocą funkcji `register_post_type()`, nie widzę pola meta Tags podczas dodawania strony nowego typu postu. Wydaje się, że tagi metabox powinny być dodawane ręcznie. Jeśli tak, jak mogę to dodać?


title: usuń wszystkie utworzone niestandardowe posty

text: automatycznie stworzę dużo postów za pomocą funkcji wp_insert_post <?php wp_insert_post( $post, $wp_error ); ?> wszystkie te niestandardowe typy postów będą nazywać się "dom", a następnie po kilku testach, co te wszystkie posty i wersje mają zostać usunięte, aby wyczyścić i wyczyścić DB ... więc jak to zrobić? wykonuję wszystkie moje żądania za pomocą $ wpdb, jakie jest zapytanie, aby usunąć / usunąć wszystkie post_type = house i tam rewizję?


title: nowy WP_Query wszystkie posty w kategorii wewnątrz pętli

text: Próbuję uzyskać listę postów w kategorii w następujący sposób: $category = get_the_category(); $args = array( 'post_type' => array('post', 'entrevista'), 'cat' => $category[0]->term_id, 'post__not_in' => array(get_the_ID()), 'ignore_sticky_posts' => 1, 'posts_per_page' => -1 ); $queryScience = nowe WP_Query( $args ); unset($args); ?> <?php if ( $queryScience->have_posts() ) : while ( $queryScience->have_posts() ) : ?> <option value="<?php echo get_permalink($queryScience->post->ID); ?>"><?php echo ucwords(get_the_date('M Y', $queryScience->post->ID)); ?></option> <?php endwhile; endif; wp_reset_query(); wp_reset_postdata(); ?> Myślę, że idzie w pętlę nieskończoności, ponieważ pokazuje ponad 40.000 wyników. Co ja robię źle?


title: Jak oddzielić pliki HTML i Wordpress

text: Chcę oddzielić kod HTML i PHP, aby użytkownicy HTML mogli łatwo pracować nad swoimi plikami bez zakłócania kodu PHP, ale nie mogli znaleźć żadnego odpowiedniego rozwiązania ani punktu początkowego, aby rozpocząć. Proszę pomóż mi. Moje założenia: stworzę pożądaną tablicę i przekażę ją do widoku HTML, gdzie przejdę przez elementy HTML, ALE JAK TO ZROBIĆ.


title: Czy artykuł (post) kiedykolwiek się zmieni?

text: Pracuję więc nad wtyczką do wordpressa i też jestem nowicjuszem. Muszę raczej użyć identyfikatora posta z wordpress lub artykułu na blogu jako unikalnego identyfikatora referencyjnego lub powiedzmy, w kategoriach bazy danych, klucza unikalnego lub podstawowego. Czy identyfikator kiedykolwiek się zmienia na blogu? ## Dodatkowe informacje w tle..: Używam tej funkcji, aby uzyskać identyfikator unikalnego postu: the_ID(); Ponadto adres URL posta na blogu w mojej witrynie testowej ma parametr z numerem (numer identyfikacyjny?): ?p=87 Ale widziałem blogi, w których tytuł jest zawarty w adresie URL zamiast parametru p=87. Kiedy wypisuję funkcję **the_ID();** , zwraca ona parametr numer 87. Czy mogę być pewien, że się nie zmienia i używać go na zewnętrznych stronach do celów linkowania?


title: Kiedy używać wp_schedule_single_event dla procesów asynchronicznych / nieblokujących?

text: Ostatnio zauważyłem ten wzorzec w niektórych wtyczkach: <?php function MY_CRON(){ wp_schedule_single_event(time(), 'MY_ACTION'); } add_action('save_post', 'MY_CRON'); function MOJA_FUNKCJA(){ // TWÓJ KOD TUTAJ } add_action('MOJA_AKCJA', 'MOJA_FUNKCJA'); Pozwoli to uniknąć uruchamiania skomplikowanych funkcji na hakach, które chcesz zgryźć. Może to być 'save_post', połączenie przez AJAX lub jak w moim przypadku nowe zamówienie w Woocommerce. Jest to opisane bardziej szczegółowo w tych artykułach: 1. Funkcje asynchroniczne w Wordpress 2. Użyj WP Cron do wyzwalania asynchronicznych zadań w tle w WordPressie podczas post-zapisywania lub aktualizacji **Miałem nadzieję, że uzyskam opinie od innych programistów na temat tego wzorca.** Mój problem z tym podejściem polega na tym, że a) jeśli masz mały ruch w swojej witrynie, może nigdy nie działać ze względu na sposób działania WP Cron. I b) jeśli robisz naprawdę złożone rzeczy, których ukończenie zajmuje powiedzmy 10 sekund, czy nie opóźni to renderowania strony następnym razem, gdy WP Cron zostanie wywołany przez ładowanie strony? Czyli moje działania administracyjne są naprawdę szybkie i zamykam przeglądarkę, ale następny użytkownik odwiedzający witrynę uzyskuje dodatkowe 10 sekund czasu ładowania? Więc wszystko, co robię, to oddawanie czasu oczekiwania komuś innemu? W niektórych przypadkach może to być nawet ja. Doszedłem więc do wniosku, że wyłącz WP Cron i zaplanuj wywołanie wp-cron.php?doing_cron przez crontab. Ale czy to nie zablokuje mojej witryny, gdy będzie działać?


title: map_meta_cap nieszczęścia

text: Stworzyłem niestandardowy typ posta i chcę, aby zachowywał się jak strona. Niektóre role muszą mieć do niego dostęp, a nie do postów lub stron. Stworzyłem więc mój niestandardowy typ posta z typem zdolności i możliwościami takimi jak: function add_team_page_post_type($name, $args= array()) { add_action('init', function() use($name, $args) { $ args = array( 'labels' => team_page_post_type_labels( 'Strona zespołu' ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => array('team', 'teams'), 'capabilities' => array( 'publish_posts' => 'publish_teams', 'edit_posts' => 'edit_teams', 'edit_post' => 'edit_team', 'edit_others_posts' => 'edit_others_teams', 'delete_posts' => 'delete_teams', 'delete_post' => 'delete_team', 'delete_others_posts' => 'delete_others_teams', 'manage_posts' => 'manage_teams', 'read_private_posts' => 'read_private_teams', 'read_post' => 'read_team', ), 'map_meta_cap'=> true, ' => true, hierarchical' => true, 'menu_position' => null, 'supports' => array('tytuł', 'autor', 'redaktor', 'miniaturka', )); register_post_type( $nazwa, $args ); }); } add_team_page_post_type('strona_zespołu', array()); I przypisuję je do różnych ról, takich jak: add_action( 'init', 'my_custom_capabilities', 0); function my_custom_capabilities(){ $role_object = get_role( 'administrator' ); $role_object->add_cap( 'publish_teams'); $role_object->add_cap( 'edit_teams'); $role_object->add_cap( 'edit_team'); $role_object->add_cap( 'edit_others_teams'); $role_object->add_cap( 'usuń_zespoły'); $role_object->add_cap( 'delete_team'); $role_object->add_cap( 'usuń_inne_drużyny'); $role_object->add_cap( 'zarządzanie zespołami'); $role_object->add_cap( 'read_private_teams'); $role_object->add_cap( 'read_team'); } Po dalszych badaniach stwierdziłem, że muszę dołączyć funkcję `map_meta_cap()`, którą tak zrobiłem: add_filter( 'map_meta_cap', 'my_map_meta_cap', 10, 4 ); function my_map_meta_cap( $caps, $cap, $user_id, $args ) { /* Jeśli edytujesz, usuwasz lub czytasz zespół, pobierz obiekt typu post i post. */ if ( 'edit_team' == $cap || 'delete_team' == $cap || 'read_team' == $cap ) { $post = get_post( $args[0] ); $post_type = get_post_type_object( $post->post_type ); /* Ustawia pustą tablicę dla wersalików. */ $caps = array(); } /* Jeśli edytujesz zespół, przypisz wymaganą zdolność. */ if ( 'edit_team' == $cap ) { if ( $user_id == $post->post_author ) $caps[] = $post_type->cap->edit_posts; else $caps[] = $post_type->cap->edit_others_posts; } /* W przypadku usuwania zespołu przypisz wymaganą zdolność. */ elseif ( 'delete_team' == $cap ) { if ( $user_id == $post->post_author ) $caps[] = $post_type->cap->delete_posts; else $caps[] = $post_type->cap->delete_others_posts; } /* Jeśli czytasz prywatny zespół, przypisz wymaganą zdolność. */ elseif ( 'read_team' == $cap ) { if ( 'private' != $post->post_status ) $caps[] = 'read'; elseif ( $user_id == $post->post_author ) $caps[] = 'czytaj'; w przeciwnym razie $caps[] = $post_type->cap->read_private_posts; } /* Zwróć możliwości wymagane przez użytkownika. */ return $caps; } Pochodzi z artykułu Justina Tadlocka http://justintadlock.com/archives/2010/07/10/meta-capabilities-for-custom-post-types Problem polega na tym, że mogę tylko przeglądać mój cpt, a nie edytować ani Usuń to. Zgaduję, że problem dotyczy ostatniej funkcji, ale nie mogę znaleźć na jej temat zbyt wiele dokumentacji.


title: Gdzie w repozytorium językowym znajduje się właściwy plik .mo?

text: Muszę przetłumaczyć mój Wordpress na włoski. Zgodnie z instrukcją napisaną na WordPressie w Twoim języku przeszukałem mój plik .mo w repozytorium językowym, ale mam pewne problemy. Struktura folderów nie jest zgodna z oczekiwaniami, jest wiele folderów, które nie mają dla mnie żadnego sensu: gałęzie/ buddypress/ mu/ rosetta/ tags/ trunk/ Przeczytałem instrukcje dotyczące repozytorium, ale wspominają tylko niektóre z nich lornetka składana. Próbowałem znaleźć plik .mo otwierający cały folder, ale jest wiele plików .mo (na przykład w gałęziach/3.5/messages). Przeszukałem niektóre fora, ale wszyscy mówią po prostu „przejdź do repozytorium i pobierz plik .mo”, tak jakby był tylko jeden plik. czego mi brakuje?


title: Czy jest coś, co Joomla lub Drupal może zrobić, czego nie można zrobić w WordPressie?

text: Mam klienta, który chce używać Joomla, bo powiedziano mu, że jest dobrze. Staram się ich przekonać, że WordPress jest opcją o wiele bardziej przyjazną dla użytkownika. Grałem już kiedyś z Joomlą (i Drupalem) i stwierdziłem, że krzywa uczenia się jest niesamowicie stroma (prawdopodobnie z powodu ich niejasnej terminologii). Uważam się za dość biegłego technicznie i jeśli będzie to dla mnie trudne, jestem pewien, że moi mniej technicznie kompetentni klienci uznają to za jeszcze bardziej niejasne i trudne do nauczenia. Do tej pory nie natknąłem się jeszcze na coś, czego potrzebowałby klient, a czego nie można by zrobić w WordPressie, ale zanim im to powiem, chciałem sprawdzić, czy rzeczywiście tak jest. Czy jest coś, czego Joomla lub Drupal mogą zrobić, czego nie potrafi WordPress (szczególnie teraz z niestandardowymi typami postów w WP 3+)?


title: Zapytanie metapole używając między

text: Próbuję Query trochę szerokości geograficznej i logitude, a potem otrzymuję kilka długich liczb i najwyraźniej Query tego nie lubi. Powiedzmy, że mam je w bazie danych Meta-klucz: lat Meta-wartość: 54.3415000 Meta-klucz: lng Meta-wartość: 10.1254100 i wykonaj zapytanie w ten sposób: $args['meta_query'] = array( 'relation' => 'AND', array( 'key' => 'lat', 'value' => array( '53.82659686199116', '54.946076335668714' ), 'type' => 'NUMERIC', 'compare' => 'BETWEEN', ) , array( 'klucz' => 'lng', 'wartość' => array( '8.429260683593725', '11.889954042968725' ), 'type' => 'NUMERYCZNE', 'porównaj' => 'BETWEEN', ) ); Wtedy działa, **A** , gdy wygląda to tak: $args['meta_query'] = array( 'relation' => 'AND', array( 'key' => 'lat', 'value' = > array( '54.10933293482647', '54.66906633195788' ), 'type' => 'NUMERIC', 'compare' => 'BETWEEN', ), array( 'key' => 'lng', 'value' => array( '9.294434023437475', '11.024780703124975' ), 'typ' => 'NUMERYCZNE', 'porównaj' => 'MIĘDZY', ) ); Wtedy to nie działa, nawet jeśli nadal jest między 2 liczbami. Czy ktoś ma pojęcie, co się tu dzieje? To musi być coś z MYSQL. **EDYTUJ:** Oto jak wygląda żądanie mysql: SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id)INNER JOIN wp_postmeta AS mt1 ON._id = mt_posts1 GDZIE 1=1 AND wp_posts.post_type = 'branchenbuch' AND (wp_posts.post_status = 'opublikuj' OR wp_posts.post_status = 'przyszłość' OR wp_posts.post_status = 'szkic' OR wp_posts.post_status = 'w toku' LUB wp_posts. 'private') AND ( (wp_postmeta.meta_key = 'lat' AND CAST(wp_postmeta.meta_value AS SIGNED) BETWEEN '54.1833340338' AND '54.4636527622')AND (mt1.meta_key = 'lng' AND CAST(mt1 ASSIGNED) POMIĘDZY '9.76272625977' I '10.6278995996')) ) GRUPUJ WG wp_posts.ID PORZĄDEK WG wp_posts.post_date LIMIT DESC 0, 10


title: Jak nadpisać wywołanie funkcji w functions.php?

text: W functions.php motywu wywołuje polecenie `show_admin_bar(false)`, które ukrywa pasek administratora w interfejsie użytkownika: if (!is_admin()) { wp_deregister_style( 'bp-admin-bar' ); if ( function_exists( 'show_admin_bar' )) { show_admin_bar(false); remove_action( 'bp_init', 'bp_core_load_buddybar_css' ); } } Chcę, aby pasek administratora pojawiał się w interfejsie dla użytkowników `admin`. W tym celu dodałem do wtyczki następujący kod: add_action('plugins_loaded', 'show_admin_bar_to_admins', 100); function show_admin_bar_to_admins() { if (current_user_can('manage_options')) { show_admin_bar(true); } } Ale to wywołanie nie robiło różnicy. Ustawiłem `100` jako wartość priorytetu, aby ta funkcja była wywoływana później niż wywołanie wewnątrz `functions.php`. Ale to nie miało znaczenia. Czy istnieje sposób na wywołanie funkcji wewnątrz wtyczki, które zostanie wykonane później niż wywołanie wewnątrz `functions.php`.


title: Czy używanie %postname% dla permalinków naprawdę źle wpływa na wydajność?

text: Widziałem w różnych miejscach, w tym u administratora Wordpress i na tej stronie, że używanie identyfikatorów opartych na ciągach jest "zdecydowanie nie zalecane ze względu na wydajność". Rozumiem, że wyszukiwanie ciągu w bazie danych jest wolniejsze niż wyszukiwanie liczby całkowitej, ale z mojego doświadczenia nigdy nie jest to ogromna różnica, zakładając, że pole slug ma indeks pełnotekstowy. Skąd tak silne zniechęcenie do korzystania z tej metody?


title: Używać interfejsu tagów do hierarchicznej taksonomii?

text:
Taksonomie niestandardowe są świetne. Zarejestrowałem kilka nowych taksonomii i napisałem importera, który importował naszą hierarchiczną taksonomię do WordPressa a la XML. Problem polega na tym, że jedna taksonomia zawiera około 1100 terminów, a przeglądanie listy kontrolnej zawierającej 1100 rzeczy jest okrutną i niezwykłą karą. Czy istnieje sposób na hierarchiczną taksonomię, ale zamiast tego użyj interfejsu Tag (pole wyszukiwania z autouzupełnianiem)? > **Aktualizacja:** ten kod z odpowiedzi Bainternet jest najbardziej skuteczny > (dodaje interfejs tagów dla określonej taksonomii, z działającym autouzupełnianiem > i poprawnie wypełnioną chmurą tagów „najczęściej używanych”), ale terminy nie są zapisywane w > Zapisz post. Jeśli post miał wcześniej warunki, zostaną one usunięte po zapisaniu. Więc nadal szukam odpowiedzi. (Ten sam kod oszczędza terminy, jeśli > taksonomia jest zarejestrowana z `hierarchichal`ustawioną na false, ale celem pytania jest użycie interfejsu tagów w hierarchicznej taksonomii.) //remove default metabox //change TAXONOMY_NAME do nazwy taksonomii add_action( 'admin_menu' , 'remove_post_custom_fields' ); function remove_post_custom_fields() { remove_meta_box( 'issuediv' , 'post' , 'normal' ); } //dodaj nasze niestandardowe pole meta add_action( 'add_meta_boxes', 'my_add_custom_box' ); function my_add_custom_box() { add_meta_box( // 'myplugin_sectionid', 'tagsdiv-issue', __( 'Nowe i ulepszone tagi problemów', 'textdomain' ), 'tags_like_custom_tax', 'post' ); } //funkcja wywołania zwrotnego do wyświetlenia metaboksu //zmiana TAXONOMY_NAME na nazwę taksonomii function tags_like_custom_tax(){ $tax_name = 'problem'; globalny $post; $taxonomy = get_taxonomy($tax_name); $disabled = !current_user_can($taxonomy->cap->assign_terms) ? 'wyłączone="wyłączone"' : ''; ?> <div class="tagsdiv" id="<?php echo $nazwa_podatku; ?>">

< ?php echo $taksonomia->etykiety->dodaj_lub_usuń_elementy; ?>
 <textarea name="<?php echo "tax_input[$tax_name]"; ?>" rows="3" cols="20" class="the-tags" id="tax-input- <?php echo $nazwa_podatku; ?>" <?php echo $wyłączone; ?>><?php echo get_terms_to_edit( $post->ID, $nazwa_podatku ); // textarea_escaped przez esc_attr() ?></textarea>
 <?php if ( current_user_can($taxonomy->cap->assign_terms) ) { ?>
 <label class="tekst-czytnika-ekranu" for="nowy-tag-<?php echo $nazwa_podatku; ?>"><?php echo $taxonomy->etykiety->nazwa; ?>
<?php echo $taxonomy->etykiety->add_new_item; ?>

<input type="text" id="nowy-tag-<?php echo $nazwa_podatku; ?>" name="nowytag[<?php echo $nazwa_podatku; ?>]" klasa ="newtag form-input-tip" size="16" autocomplete="off" value="" /> <input type="przycisk" class="przycisk tagdd" value="<?php esc_attr_e('Dodaj') ; ?>" tabindex="3" />

<?php echo esc_attr( $taxonomy->etykiety->oddzielne_elementy_z_przecinkami ); ?>
 <?php } ?>

 <?php if ( current_user_can($taxonomy->cap->assign_terms)) { ?>
<a href="#titlediv" class="tagcloud-link" id="link-<?php echo $tax_name; ?>"><?php echo $taxonomy->labels->choose_from_most_used; ?>
 <?php } } Oryginalne pytanie zostało zapożyczone z posta na forum Wordpress tutaj.


title: Niestandardowe parametry adresu URL w plikach szablonów

text: **SETUP** Chcę pobrać zmienną zapytania z adresu URL i użyć jej w moim szablonie pojedynczego posta (single.php). Na przykład: mysite.com/2011/07/29/testPost/?myvar=someValue Aby to zrobić, dodałem niestandardową zmienną zapytania do functions.php w następujący sposób: add_filter('query_vars', 'parameter_queryvars' ); function parametr_queryvars( $qvars ) { $qvars[] = 'myvar'; zwróć $qvars; } Następnie w single.php i index.php dodałem następujący kod, aby sprawdzić, czy zmienna niestandardowa została ustawiona i wyświetlić ciąg, jeśli jest prawdziwy. Wydrukowałem również zawartość $wp_query->query_vars, aby zobaczyć, czy moja zmienna niestandardowa tam jest: <?php global $wp_query; if( isset( $wp_query->query_vars['myvar'] )) { echo 'rozpoznano zmienną niestandardową'; } print_r($wp_query->query_vars); ?> **PROBLEM** Kiedy uzyskuję dostęp do adresu URL, takiego jak mysite.com/2011/07/29/testPost/?myvar=someValue, który używa szablonu single.php, polecenie echo nie jest wyświetlane, a dane wyjściowe print_r( ) pokazuje, że moja 'myvar' jest nieobecna na liście query_vars. Dane wyjściowe z single.php: Array ( [p] => 0 [strona] => 0 [rok] => 2011 [numer miesiąca] => 7 [dzień] => 29 [nazwa] => testpost [błąd] => [ m] => 0 [post_parent] => [subpost] => [subpost_id] => [attachment] => [attachment_id] => 0 [static] => [pagename] => [page_id] => 0 [second] => [minuta] => [godzina] => [w] => 0 [nazwa_kategorii] => [tag] => [kot] => [identyfikator_tagu] => [imię_autora] => [kanał] => [tb ] => [paged] => 0 [comments_popup] => [meta_key] => [meta_value] => [podgląd] => [s] => [zdanie] => [fields] => [category__in] => Tablica ( ) [category__not_in] => Tablica ( ) [category__and] => Tablica ( ) [post__in] => Tablica ( ) [post__not_in] => Tablica ( ) [tag__in] => Tablica ( ) [tag__not_in] => Tablica ( ) [tag__and] => Tablica ( ) [tag_slug__in] => Tablica ( ) [tag_slug__and] => Tablica ( ) [ignore_sticky_posts] => [suppress_filters] => [cache_results] => 1 [update_post_term_cache] => 1 [update_post]_meta_ > 1 [post_type] => [posts_per_page] => 150 [nopageing] => [comments_per_page] => 50 [no_found_ro ws] => [zamówienie] => DESC [zamówienie] => wp_posts.post_date DESC ) Jednakże, kiedy uzyskuję dostęp do adresu URL takiego jak mysite.com/?myvar=someValue, który używa szablonu index.php, wyprowadzane jest polecenie echo i możesz zobaczyć, że pierwsza zmienna wyjściowa przez print_r() to 'myvar', której szukam: Array ( [myvar] => someValue [error] => [m] => 0 [p] => 0 [post_parent] => [subpost] => [subpost_id] => [attachment] => [attachment_id] => 0 [name] => [static] => [pagename] => [page_id] => 0 [second] => [ minuta] => [godzina] => [dzień] => 0 [numer miesiąca] => 0 [rok] => 0 [w] => 0 [nazwa_kategorii] => [tag] => [kot] => [tag_id ] => [nazwa_autora] => [feed] => [tb] => [stronicowane] => 0 [comments_popup] => [meta_klucz] => [meta_value] => [podgląd] => [s] => [ zdanie] => [pola] => [kategoria__in] => Tablica ( ) [kategoria__not_in] => Tablica ( ) [kategoria__i] => Tablica ( ) [post__in] => Tablica ( ) [post__not_in] => Tablica ( ) [ tag__in] => Tablica ( ) [tag__not_in] => Tablica ( ) [tag__and] => Tablica ( ) [tag_slug__in] => Tablica ( ) [tag_slug__and] => Tablica ( ) [meta_query] => Tablica ( ) [ignore_sticky_posts] => [suppress_filters] => [cache_results] => 1 [update_post_term_cache] => 1 [update_post_meta_cache] => 1 [post_meta_cache] => 1 [post_meta_cache] > [posts_per_page] => 150 [nopaging] => [comments_per_page] => 50 [no_found_rows] => [order] => DESC [orderby] => wp_posts.post_date DESC ) **PYTANIE** Dlaczego niestandardowa zmienna zapytania być poprawnie ustawione na stronie index.php, ale nie na single.php? Testowałem z wyłączonymi wszystkimi wtyczkami i próbowałem z domyślnymi permalinkami, ale uzyskałem te same wyniki.


title: Czy WordPress MultiSite używa oddzielnych baz danych MySql?

text: Pytam, ponieważ nie mogę znaleźć opcji z wtyczki utworzonej na moim drugim blogu. Po dodaniu tej wtyczki do strony głównej pojawią się opcje. Jestem zdezorientowany, ponieważ w tabeli **wp_options** **blog_id** znajduje się kolumna i spodziewałem się, że będzie tam więcej niż jedna wartość.


title: register_taxonomy() przyjmuje dużo zapytań

text: Przepraszam za mój słaby angielski, jestem Rosjaninem. Mam problem z dodaniem wielu taksonomii. Po dodaniu około 80 taksonomii otrzymuję następujące wyniki (bez buforowania): przed: 44 zapytania 0,352 sekundy po: 206 zapytaniach 0,703 sekundy Co się dzieje? Obliczam, że 1 zarejestrowana taksonomia przyjmuje 2 zapytania do serwera.. Proszę o pomoc..