title: Add_rewrite_rule nie działa?

text: Staram się, aby moje dwa niestandardowe typy postów działały poprawnie. Załóżmy, że dwa niestandardowe typy postów (CPT) to książki i recenzje. teraz lubię mojadomena.com/books/the-great-gatsby/reviews/33, aby wyświetlić wszystkie recenzje dotyczące książki Great Gatsby. Ogólnie `moja_domena.com/books/{title-book}/reviews/{book_id}` Zrobiłem zakupione CPT i mam dwa szablony stron (page-books.php i page-reviews.php). Page-books.php działa zgodnie z oczekiwaniami dla page-reviews.php Testuję z zakodowanym na stałe $book_id i to działa. Ale muszę uczynić stronę-recenzje.php dynamiczną. W mojej lokalnej konfiguracji page-reviews.php ma page_id=227. Wstawiam echo 'Identyfikator książki'.$_REQUEST['book_id']; w page-reviews.php do celów testowych, więc spróbowałem add_rewrite_rule('^books/([^/]*)/reviews/([^/]*)/?','index.php?page_id=227&book_id=$matches [2]','góra'); ale dostaję stronę 404. Jakieś wskazówki?


title: Wyklucz określone terminy ze wszystkich zapytań za pomocą posts_where lub czegoś podobnego

text: Zasadniczo staram się wykluczyć wszystkie posty należące do określonego zestawu terminów z wyświetlania we wszystkich zapytaniach na tablicy, Z WYJĄTKIEM, gdy faktycznie przeglądasz ten post lub stronę. Zasadniczo tak, jak funkcja „niepubliczny” YouTube działa z filmami. Zastanawiam się, jaki byłby najlepszy sposób na to. Poniżej znajduje się to, czego obecnie używam, chociaż wydaje mi się, że prawdopodobnie można by to poprawić pod względem wydajności (SQL nie jest moim najsilniejszym atutem). add_filter( 'posts_where', 'exclude_terms_posts_where' ); funkcja exclude_terms_posts_where (klauzula $ = '' ) { global $ wpdb; // Zwraca tablicę identyfikatorów terminów do wykluczenia z $excluded_terms = get_excluded_terms(); if ( empty( $excluded_terms ) ) { return $klauzula; } // Odfiltruj bieżącą stronę / post if ( false !== ( $key = array_search( $post->ID, $excluded_terms ) ) ) { unset( $excluded_terms[$key] ); } $excluded_terms = implode( ',', $excluded_terms ); $ klauzula .= " AND {$wpdb->posty}.ID NOT IN ( SELECT {$wpdb->posts}.ID FROM {$wpdb->posts} INNER JOIN {$wpdb->term_relationships} ON ( {$wpdb ->posts}.ID = {$wpdb->term_relationships}.object_id ) DOŁĄCZENIE WEWNĘTRZNE $wpdb->term_taxonomy WŁ. ( {$wpdb->term_relationships}.term_taxonomy_id = {$wpdb->term_taxonomy}.db_taxonomy_id I {$ >term_taxonomy}.taxonomy = 'miejsce docelowe' ORAZ {$wpdb->term_taxonomy}.term_id IN ( {$excluded_terms} ) ) ) "; zwróć klauzulę $; } Jeśli ktoś ma jakieś pomysły lub sugestie, bardzo bym to docenił. Dziękuję!


title: Jak dodać klasę do pojedynczego elementu menu?

text: Próbuję zmodyfikować motyw inny niż WP, aby był zgodny z moim najnowszym projektem WP, a jednym z problemów jest element menu rozwijanego. Ponieważ jest to całkowicie niestandardowy motyw, chcę odtworzyć zachowanie tego szablonu 1:1, wymagam, aby pozycja menu nawigacyjnego „Kategorie” zawierała klasę „dropdown”. Mógłbym użyć JavaScript do przechwycenia identyfikatora i umieszczenia na nim nazwy klasy, ale co, jeśli identyfikator zmieni się później? Używając PHP, jak mogę wstawić klasę do pojedynczego elementu menu? Dziękuję.


title: Jak dodać pole wyboru w widżecie „Opublikuj post”?

text: Tworzę wtyczkę do publikowania postów i muszę dodać pole wyboru do widżetu publikowania postów, takiego jak ten: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/xB8t2.png) Mój pomysł jest dodanie pola wyboru z napisem „Wyślij to przez e-mail” i uzyskanie tych informacji w odbiorniku publish_post: add_action('publish_post', function($post_id) { // Czy pole wyboru zostało zaznaczone? } Jak można to zrobić?


title: Archiwizuj komentarz bez przenoszenia do spamu/kosza

text: Jak mogę zarchiwizować komentarz, aby nie pojawiał się jako nowy, bez przenoszenia go do spamu lub kosza? Komentarz jest interesujący, więc chcę go zachować dla siebie, ale nie pochwalać.


title: Jak zoptymalizować wiele wywołań WP_Query() na jednej stronie?

text: Obecna witryna, którą buduję, ma stronę główną, która będzie miała około 10 wystąpień WP_Query(). Niektóre z nich będą ciągnąć serię postów, podczas gdy inne są kierowane do jednego posta na podstawie numeru identyfikacyjnego. Jak zoptymalizować szybkość ładowania strony, gdy mam do czynienia z tak wieloma przypadkami WP_Query()? Czy wystarczy użyć wtyczki buforującej? Czy jest jeszcze coś, co powinienem robić dodatkowo? A może nie powinienem się tym martwić, ponieważ 10 zapytań do bazy danych nie spowoduje znacznego spadku wydajności?


title: Sprawdzanie, czy post został usunięty lub zapisany w edit_post

text: Podczas usuwania niestandardowego typu posta uruchamiana jest funkcja podpięta do `edit_post`. Jak mogę sprawdzić, czy wpis jest usuwany?


title: Czy mogę używać cech? A może odetnę dużą część społeczności?

text: Jeśli ograniczę moje ramy tematyczne do 5,4+ (min 5,4) php, jaką część przeciętnej społeczności wycinam? Wszystko po to, abym mógł wykorzystać cechy, aby pomóc w niektórych problemach z dziedziczeniem, które napotkałem w tym pytaniu, które zadałem. Obawiam się, że jeśli przyjmę podejście cechowe, blisko 70% lub więcej społeczności zostanie odciętych. Ponieważ większość darmowych witryn hostingowych lub „hostingu współdzielonego” nie aktualizuje swojego php na zasadzie „omg 5.5.x jest już dostępny, uaktualnijmy”.


title: wp_enqueue_style w klasie wtyczki WordPress nie działa

text:
Próbuję dodać arkusz stylów dla mojej strony ustawień klasy wtyczki, ale CSS nie ładuje się. Poszedłem za drugim przykładem na http://codex.wordpress.org/Function_Reference/wp_register_style, aby utworzyć ten prosty kod testowy: class MyTestPlugin { funkcja publiczna __construct() { add_action('admin_menu', array($this, 'add_menu') ); add_action( 'wp_enqueue_scripts', array($this, 'register_plugin_styles')); } public function register_plugin_styles() { wp_register_style( 'moja-wtyczka-testowa', plugins_url('sbm-test.css', __FILE__) ); wp_enqueue_style('moja-wtyczka-testowa'); } public function add_menu() { add_options_page('Ustawienia testu SBM', 'Test SBM', 'manage_options', 'sbm-test', array($this, 'sbm_test_options')); } public function sbm_test_options() { echo "
Strona opcji testu SBM.
"; echo "
" . plugins_url('sbm-test.css', __FILE__) . " nie jest załadowany.
"; } } if(class_exists('MyTestPlugin')) { $test = new MyTestPlugin(); } Ścieżka do `sbm-test.css` jest prawidłowa, ale myślę, że funkcja `register_plugin_styles` nie jest wywoływana. Mam `WP_DEBUG_LOG` `prawda` ale nie widzę żadnych błędów w logu. Nie jestem pewien, dlaczego add_action go nie podpina, więc mam nadzieję, że ktoś zobaczy coś, co przegapiłem.


title: Nie można ręcznie zmienić permalinka posta w sekcji EDYCJA

text: Moja witryna używa niestandardowej struktury linków bezpośrednich, w szczególności kategorii/postu. Ostatnio zauważyłem, że raz w rzeczywistym interfejsie strony edycji nie mogłem użyć funkcji „EDYTUJ” dla permalinków (tj. tych, które są wyświetlane pod tytułem posta). Zalogowałem się za pomocą innej przeglądarki i zadziałało to za pierwszym razem Nacisnąłem edytuj, a potem znowu się zatrzymało. Zastanawiam się, czy jest to problem z JavaScriptem? Może problem z wtyczką? Nie mogę też edytować opcji daty w prawym górnym rogu. Czy ktoś ma ten problem?


title: Jak wysyłać zapytania według formatu postu w WordPress 3.1?

text:
Próbuję zapytać o wszystkie posty z formatem postu „cytat”. Dodałem formaty postów do mojego functions.php za pomocą add_theme_support( 'post-formats', array( 'image', 'video', 'gallery', 'quote' ) ); Wybrałem „cytat” jako format postu w admin. Ostatni przykład pod Taxonomy_Parameters pokazuje, jak wyświetlać posty, które mają format „cytat”, ale kiedy uruchamiam go w moim motywie, żadne posty nie są zwracane. Oto kod: $args = array( 'tax_query' => array( array( 'taxonomy' => 'post-format', 'field' => 'slug', 'terms' => 'post-format-quote ' ) ) ); zapytanie_posty( $args ); Kiedy po prostu wysyłam zapytanie do wszystkich postów i umieszczam echo get_post_format(); w pętli zwraca słowo „cytat” na interfejsie użytkownika. Ponadto, gdy var_dump() zapytanie nie widzę nic w tablicy o formacie postu. Czy ktoś wie, czy możliwe jest zapytanie w formacie postu? Jeśli tak to jak? EDYTUJ - Zobacz komentarz 5 pod odpowiedzią Bainternet: To jest kod znaleziony na index.php dwudziestego motywu nowej instalacji próbującej zwrócić cytaty typu formatu. Zwracam „nie” zamiast „cytat”. Czy widzisz coś, co powinienem zmienić. pobierz_nagłówek(); ?>

 <?php $args = array( 'tax_query' => array( array( 'taksonomia' => 'post-format' , 'field' => 'slug', 'terms' => array('quote') ) ) ); zapytanie_posty( $args ); if ( have_posts() ): while ( have_posts() ): the_post(); echo get_post_format(); koniec; inaczej: echo 'nie'; endif; wp_reset_query(); ?>

 <?php get_sidebar(); ?> <?php get_footer(); ?> EDIT 2 - Wygląda na to, że Kodeks WordPressa zmienił się i część dotycząca parametrów taksonomii znajduje się tylko w pamięci podręcznej Google. EDYCJA 3 - KOŃCOWY KOD ROBOCZY $args = array( 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => 'post-format-quote' )) ); zapytanie_posty( $args ); Dwadzieścia dziesięć edycji z pierwszej edycji to... get_header(); ?>

 <?php $args = array( 'tax_query' => array( array( 'taksonomia' => 'post_format', ' field' => 'slug', 'terms' => 'post-format-quote' ) ) ); zapytanie_posty( $args ); if ( have_posts() ): while ( have_posts() ): the_post(); tytuł(); echo get_post_format(); echo '
'; koniec; inaczej: echo 'nie'; endif; wp_reset_query(); ?>

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


title: Jak uzyskać i edytować pola niestandardowe w szybkiej edycji

text: Mam kilka niestandardowych pól, które chciałbym, aby użytkownik mógł edytować w szybkiej edycji, mogę zarządzać kolumnami, ale nie mogę ich edytować, jeśli szybka edycja zostanie kliknięta bieżący kod z niestandardowymi polami, które chcę móc edytować: /* niestandardowe kolumny */ add_filter("manage_edit-programmes_columns", "edit_columns" ); add_action("manage_posts_custom_column", "custom_column"); function edit_columns($kolumny) { $kolumny = array( "cb" => "<typ wejścia ='pole wyboru' />", "title" => "Identyfikator harmonogramu", "program" => "Program", "kanał " => "Kanał", "onair" => "Na antenie", "catchup" => "Catchup", "popularność" => "Popularność", "onair" => "Na żywo", "data" => "Data"         ); return $kolumny; } function custom_columns( $kolumna ) { global $post; switch ( $kolumna ) { case "program": echo get_post_meta($post->ID, 'Nazwa programu', prawda); przerwanie; case "kanał": echo get_the_term_list($post->ID, 'nazwy kanałów', '', ', ', ''); przerwanie; case "onair": echo get_post_meta($post->ID, 'Data i godzina rozpoczęcia', true); przerwanie; case "catchup": echo get_post_meta($post->ID, 'linktovideocatchup', true); przerwanie; wielkość liter "popularność": echo get_post_meta($post->ID, 'popularityfig', true); przerwanie; } } Bardzo doceniam pomoc.


title: Użyj wpdb->przygotuj się do `porządkuj według` nazwy kolumny

text: W mojej obecnej wtyczce wybieram kolumnę „order by” jako dane wejściowe użytkownika. Pomyślałem więc o użyciu `wpdb->prepare` do ucieczki. $wpdb->get_results($wpdb->prepare("Wybierz id z $wpdb->posts order by %s %s", $order_by_col, $order_by); To nie działa, ponieważ zostaje zamienione na wybrany identyfikator z kolejności wp_posts przez 'post_date' 'asc' (zwróć uwagę na cudzysłowy) Czy istnieje sposób na usunięcie cudzysłowów?Czy jest to również właściwy sposób na użycie $wpdb->prepare()?Czy powinienem ręcznie go ominąć?


title: Jak zmienić strukturę załącznika graficznego w poście?

text: Próbuję rozwiązać problem z załączonymi obrazami w poście. W jakiś sposób struktura nie działa poprawnie w używanym przeze mnie motywie. Zamiast pokazywać div z klasą „wp_attachment” jest tylko tagiem h6 z tagiem img w środku zawierającym obraz, który chcę. może filtr przyłączeniowy jest zepsuty? czy ktoś może opublikować domyślny filtr załączników, abym mógł dodać go do mojego functions.php? Dziękuję!!


title: ol dzieci zamiast ul dzieci

text:
Stworzyłem nową klasę walkera do wyświetlania niestandardowego układu podczas korzystania z funkcji `wp_list_comments();` i jest to idealne rozwiązanie, jedyną rzeczą jest to, że wszystkie odpowiedzi na jeden komentarz są wymienione w `<ul>` - `< ul class="dzieci">`. Chciałbym, aby były one w nawiasie `<ol>`. Czy jest jakiś sposób, aby to zmienić za pomocą czegoś takiego jak `start_lvl`? Oto moja klasa walkera - `<?php wp_list_comments('type=comment&callback=letsfixit_comment'); ?>` function heres_my_comment($komentarz, $args, $głębokość) { $GLOBALS['komentarz'] = $komentarz; ekstrakt($args, EXTR_SKIP); ?>
 <div class="oneComment" id="div-comment-<?php comment_ID() ?>">
 <?php if ($args['avatar_size '] != 0) echo get_avatar( $komentarz, $args['avatar_size'] ); ?>
 <?php printf(__('%s mówi: '), get_comment_author_link() ?> <?php /* tłumacze: 1: data, 2: godzina */ printf( __('%1$s at %2$ s'), get_comment_date(), get_comment_time()) ?><?php edit_comment_link(__('(Edytuj)'),' ','' );?> < ?php comment_reply_link(array_merge( $args, array('add_below' => $add_below, 'depth' => $głębokość, 'max_depth' => $args['max_depth'])))) ?> <?php if ($ comment->comment_approved == '0') : ?> <?php _e('Twój komentarz oczekuje na moderację.') ?>
 < ?php endif; ?>
<a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>">
 <?php comment_text() ?>

 <?php }


title: dodaj nowy metabox do edytora strony z tylko rodzicem strony

text: Uruchomiłem instalację wielostanowiskową i usunąłem metapole atrybutów strony z widoku dla moich użytkowników, ponieważ nie chcę, aby mogli zmieniać szablony. Chciałbym jednak, aby mogli zmienić rodzica strony. Muszę dodać nowe pole meta dla stron, które dodaje tylko selektor nadrzędny strony.


title: Jak zapewnić, że filtr „the_content” będzie działał tylko dla głównej wyświetlanej treści?

text: Mam wtyczkę, która dodaje metodę do filtru "the_content". `add_filter('the_content', 'myFilteringFunction', 10000);` W ramach tej funkcji chcę dodać linki na początku i na końcu treści. Ale muszę to zrobić tylko dla "głównej" zawartości wyświetlanej strony, więc - nie w żadnym z widżetów, nie w stopce, nagłówku itp. Ponadto chcę, aby była ona dołączona tylko do niestandardowego typu postu, który ja zdefiniowane w tej samej wtyczce. Więc wymyśliłem ten rodzaj czeku, myśląc, że to wystarczy. if( is_single() && get_query_var('post_type') == 'myCustomPostType' && is_main_query() ) Niestety nie działa zgodnie z przeznaczeniem - przynajmniej nie we wszystkich przypadkach. Na stronie zainstalowana jest wtyczka WP Types, nie działa (linki są dodawane pomimo warunku). Czemu?


title: Woocommerce: zmiana roli użytkownika po złożeniu zamówienia

text: :) Używam wordpressa z woocommerce i chciałbym zautomatyzować następny krok. Po zrealizowaniu zamówienia chciałbym zmienić rolę użytkownika powiązaną z tym identyfikatorem zamówienia z „klient” na „subskrybent”. Przeszukując okolicę, myślę, że powinienem być w stanie to osiągnąć za pomocą hooka w functions.php: add_action( 'woocommerce_order_status_completed', 'change_role_from_customer_to_subscriber' ); Następnie dodaj funkcję: function change_role_from_customer_to_subscriber($order_id){ // kod zmiany roli na subskrybenta } W kodzie myślę, że muszę zrobić 2 rzeczy: 1) uzyskać identyfikator użytkownika, który jest powiązany z tym zamówieniem 2) zmienić rola tego identyfikatora użytkownika dla subskrybenta Próbowałem wiele, ale nie mogłem go uruchomić (ani uzyskanie właściwego identyfikatora użytkownika, ani zmiana roli identyfikatora użytkownika). Tak więc każda pomoc byłaby mile widziana! Widziałem 2 podobne pytania zadawane wcześniej na temat przepełnienia stosu, ale niestety odpowiedzi nie działały dla mnie. Mam nadzieję, że ktoś mi pomoże! Wielkie dzięki! :) Edytuj: Ktoś pomógł mi w drugiej części problemu, więc to dla mnie świetna wiadomość :) Niestety nadal nie wymyśliłem pierwszej części: jak uzyskać identyfikator użytkownika powiązany z identyfikatorem zamówienia . Jakieś pomysły?


title: Tworzenie niestandardowego typu użytkownika, tak jak niestandardowego posta

text: Dowolna metoda tworzenia niestandardowych typów użytkowników, podobnie jak niestandardowy post. staram się osiągnąć 2 różne zestawy użytkowników z różnymi polami user_meta.


title: Autoryzuj użytkowników dla określonych stron i/lub kategorii

text: Zarządzam stroną Wordpress dla lokalnego klubu sportowego, nawigacja wygląda mniej więcej tak: * dom * dywizja * łucznictwo * piłka nożna * młodzież * senior * siatkówka * ... Chcę umożliwić edycję osobom odpowiedzialnym za dywizję zawartość strony swoich dywizji i podstron (np. osoba odpowiedzialna za piłkę nożną może zmienić strony piłka nożna, piłka nożna-młodzieżowa i piłkarska-senior), ale nie strony dla innych dywizji. Czy jest to możliwe bez funkcjonalności po wyjęciu z pudełka? A może potrzebuję rozszerzenia? Dodatkowe pytanie: Ci użytkownicy również mogą pisać posty na blogu... czy mogę zablokować niektóre kategorie, aby nie widzieli/nie mogli ich wybrać do swoich postów na blogu?


title: Zaimportowane miniatury mają nieprawidłowy adres URL

text: Mam starszą witrynę WordPress, która jest wycofywana, ale pobieram zawartość z witryny i importuję ją do mojej nowej witryny WordPress. Aby to zrobić, użyłem narzędzia WordPress Export, znajdującego się na moim pulpicie nawigacyjnym, aby utworzyć plik eksportu, który zawierał całą zawartość, w tym obrazy. Proces eksportu utworzył plik eksportu, który pomyślnie zaimportowałem do mojej innej witryny WordPress. Zauważyłem, że jeśli importowany post, który był wynikiem wyszukiwania lub linku na pasku bocznym, miał miniaturę, adres URL połączony z tą miniaturą łączył się z oryginalną witryną WordPress - Witryna, w której utworzyłem plik eksportu. Jak to naprawić?


title: Kontroluj użytkowników wymienionych na liście użytkowników na desce rozdzielczej

text: Mam rolę użytkownika „autor” ze zmodyfikowaną możliwością dodawania użytkowników i nadawania im roli subskrybenta. Próbuję edytować listę użytkowników na pulpicie nawigacyjnym, aby wyświetlić tylko subskrybentów utworzonych przez tego użytkownika. Próbowałem zaimplementować kod z tego artykułu, ale nie udało mi się. Usunąć możliwość wyświetlania administratora innym użytkownikom na liście użytkowników? Czy ktoś może wskazać mi właściwy kierunek?


title: Duża witryna Woocommerce (83 000 pozycji), co mogę zrobić?

text: Mam więc naprawdę dużą witrynę woocommerce (partsboss.co), która ma około 83 000 artykułów. Jest na hostingu VPS z digitalocean i wszystko działało bardzo szybko, aż do około 50 000 przedmiotów. Teraz strona jest po prostu draaaaaaaaaaaaaaa. Jest skonfigurowany na Ubuntu z buforowaniem nginx, APC i Varnish. Nie jestem do końca pewien, gdzie jest wąskie gardło ani jak to naprawić, ale o ile wiem, sprawdzenie bazy danych mysql i zwrócenie wyników zajmuje w zasadzie wieczność. Więc moje pytanie brzmi, czy muszę po prostu bardziej zoptymalizować mysql (jeśli tak, to w jaki sposób? Nie jestem ekspertem mysql) czy muszę podzielić bazę danych za pomocą czegoś takiego jak Hyperdb? Ponownie, jeśli tak jest, przeczytałem readme dla Hyperdb i nie było to zbyt jednoznaczne ... jeśli znasz jakieś dobre tutoriale, rzuć je w moją stronę :) Każda pomoc byłaby bardzo wdzięczna, dzięki!


title: Błąd instalacji Wordpress 3.5

text: Próbuję zainstalować wordpress w moim folderze głównym, ale otrzymałem tę wiadomość, gdy próbuję wejść na adres URL. Ostrzeżenie PHP: require(./wp-blog-header.php) [function.require]: nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w E:\home \businessinfo\web\index.php w wierszu 17. PHP Błąd krytyczny: require() [function.require]: Nieudane otwarcie wymagane './wp-blog-header. php' (include_path='.;c:\php5\includes') w E:\home\businessinfo\web\index.php w wierszu 17. Co to jest?


title: array_replace rzuca php_warning, ale i tak działa

text: Witam Mam pytanie, które może bardziej dotyczy PHP niż WordPressa, ale może być interesujące w kontekście WordPressa na wypadek, gdyby ktoś chciał dodać właściwości do obiektu WP. Stworzyłem niestandardową taksonomię i korzystam z opcji uporządkowania poszczególnych terminów. Aby uzyskać tę kolejność w moim motywie, używam tych dwóch funkcji: pierwsza pobiera terminy, a następnie są one uporządkowane: // SORT BY ORDER function cmp( $a, $b ) { if( $a->order = = $b->zamówienie ){ return 0 ; } return ($a->zamówienie < $b->zamówienie ) ? -1:1; } // FUNKCJA ZAMÓWIENIA ELEMENTU W TERMINIE OBIEKTU function inject_order( $term_objects ) { if ( $term_objects ) { foreach ( $term_objects jako $term_object ) { $term_id = $term_object->term_id; $term_order = get_option( "taxonomy_term_$term_id" )['tax_order_nb']; $term_object->order = $term_order; array_replace( $term_objects, $term_object ); } return $term_objects; } else { return false; } } // FUNKCJA POBIERANIA WARUNKÓW DLA DZIECI I ZAMAWIANIA ICH function get_children_and_order_terms( $term_id = '0' ) { $term_children = get_terms( 'category_effectif', array( 'parent' => $term_id, 'hide_empty') => 0) ; if ( $term_children ) { $term_children = inject_order( $term_children ); usortuj ( $term_children, 'cmp' ); zwróć $term_children; } } Działa idealnie, ale mam PHP_Warning `array_replace(): Argument #2 nie jest tablicą` Chciałbym poprawić ten błąd i ulepszyć.


title: Problem z używaniem .htaccess do przekierowywania kanału feedburner

text: Używam permalinków rok/miesiąc/post-nazwa, a także używam wtyczki download-monitor do obsługi pobierania plików. Dodałem reguły przepisywania na górze pliku .htaccess zgodnie z instrukcjami w łatwo psującej się prasie. Zrobiłem to samo na innym blogu i działało dobrze. Jedyną różnicą jest to, że blog nie używał monitora pobierania, a instalacja odbywała się w katalogu głównym domeny, zamiast w podkatalogu `/blog/`. Jeśli zakomentuję tę linię: RewriteCond %{REQUEST_URI} ^/?feed.* [NC] Działa. Jestem po prostu ciekaw, dlaczego ta linia miałaby być w instrukcji, skoro nie działa? Czy ma to coś wspólnego z podkatalogiem? **.htaccess:** # temp przekierowuje wszystkie kanały wordpress do feedburner # z http://perishablepress.com/press/2008/03/25/redirect-wordpress-feeds-to-feedburner-via-htaccess-redux/ < IfModule mod_rewrite.c> RewriteEngine na RewriteBase /blog/ RewriteCond %{REQUEST_URI} ^/?feed.* [NC] RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC] Rewrite/?. http://feeds.feedburner.com/mysite [L,NC,R=302] </IfModule> # POCZĄTEK WordPress <IfModule mod_rewrite.c> RewriteEngine na RewriteBase /blog/ RewriteRule ^download/([^/]+) $ http://www.mysite.com/blog/wp-content/plugins/download-monitor/download.php?id=$1 [L] </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] </IfModule> # KONIEC WordPress


title: Czy haki New_to_publish działają dla niestandardowych typów postów?

text: Czy te haki wymienione w poniższej witrynie działają w przypadku niestandardowych typów postów? http://www.wphub.com/custom-post-type-publish-action-hook/ // funkcja do wykonania po opublikowaniu niestandardowego typu posta function run_when_post_published() { // twój kod funkcji tutaj } // zamień {custom_post_type_name} z nazwą typu Twojego posta add_action('new_to_publish_{custom_post_type_name}', 'run_when_post_published'); add_action('draft_to_publish_{custom_post_type_name}', 'run_when_post_published'); add_action('pending_to_publish_{custom_post_type_name}', 'run_when_post_published'); Nie mogę ich zmusić do pracy...


title: Jak zebrać wszystkie strony powiązane z szablonem na typ wpisu rejestrowego?

text: Tworzę menu w adminie wordpressa, mam strony, które są katalogami na dwóch ładowanych obrazkach użytkownika; przykład Mam katalog A, w którym ładują się zdjęcia użytkownika i cena produktu, katalog B, w którym teraz są te same zdjęcia i ceny produktów, więc mogę dodawać N katalogów. Te zrobiłem z zaawansowanymi niestandardowymi polami, repeaterem, wszystkie te katalogi są powiązane z szablonem strony, w którym załadowany jest tytuł katalogu i zdjęcia i mają te ceny katalogowe. To, co muszę zrobić, to zebrać wszystkie strony utworzone jako katalogi i powiązane z „szablonem katalogów” i umieścić je w menu administratora „typ postu” ![tutaj wpisz opis obrazu](http://i.stack .imgur.com/QKQvf.png)


title: Niestandardowe zapytanie w niestandardowej tabeli Wordpress

text: Pracuję z niestandardową tabelą, w której niektóre wartości zostaną wstawione lub zaktualizowane, jeśli już istnieją, sprawdziłem i ponownie sprawdziłem składnię i wydaje się, że działa dobrze, jeśli uruchomię to samo zapytanie bezpośrednio na serwerze MySQL, wstawia się dobrze lub aktualizuje, gdy istnieją rekordy. Moje zapytanie to $query = "WSTAW W `{$wpdb->base_prefix}apicalls` (`name`, `data`) VALUES ('appid','{$appid}') W DUPLIKUJĄCYM KLUCZU `data` = '{$appid}';"; Następnie próbowałem $wpdb->get_results($wpdb->prepare($query)); $wpdb->zapytanie($wpdb->przygotuj($zapytanie)); to nie jest wstawianie rekordów, jednak jeśli uruchomię tylko instrukcję wstawiania, która wstawia się dobrze, sprawdziłem metody na http://codex.wordpress.org/Class_Reference/wpdb i ma wstawkę, a także ją aktualizuję, ale Nie mogłem znaleźć takiego, który wykonuje obie te funkcje, nie ma dla mnie sensu uruchamianie dwóch zapytań, gdy jedno powinno wystarczyć. Czy uruchamiam zapytanie w sposób, którego nie obsługuje wordpress? Czy istnieje dokument wordpress, który mogę przeczytać w związku z tym? Przeszukałem, ale jedyne dwie strony, które udało mi się znaleźć, dotyczyły postów lub niestandardowych zapytań tylko do wstawiania lub aktualizowania, również podczas wyszukiwania w Google wiele osób pytało już o niestandardowe zapytania, ale nie mogłem znaleźć żadnych z tymi warunkami . Zakładałem, że `$wpdb->query()` powinno po prostu uruchomić zapytanie, ale z jakiegoś powodu nie przechodzi tak, jakby wystąpił błąd składni. Będę kontynuował testowanie, modyfikując zapytanie **Update** : zapomniałem dodać `var_dump($query)` string(107) "INSERT INTO `wp_apicalls` (`name`, `data`) VALUES ('appid ','12345') PODCZAS AKTUALIZACJI DUPLIKOWANEGO KLUCZA dane = '12345'"; Prefiks bazy danych to `wp_`, a tabela istnieje w bazie danych o dokładnie takiej nazwie.


title: Dlaczego akcja save_post uruchamia się podczas tworzenia nowego posta?

text:
Jestem zaskoczony faktem, że moja funkcja, którą dodałem do akcji `save_post`, uruchamia się po kliknięciu linku „Nowy post” w panelu administratora. Uwaga - jest to zanim nacisnąłem "Zapisz" lub "Aktualizuj" i uruchamia się natychmiast, a nie po upłynięciu czasu lub automatycznej aktualizacji. Z drugiej strony, kiedy potem coś wpisuję i naciskam przyciski `Publikuj`, `Aktualizuj` lub `Zapisz wersję roboczą`, instrukcja echo, którą umieściłem w mojej procedurze obsługi akcji, nie rozbrzmiewa, więc wygląda na to, że akcja NIE strzela w innym czasie. To może być niezwiązane. Oto mój kod: add_action('save_post', 'MyNS\save_event_metabox', 10, 2); function save_event_metabox($post_id, $post){ echo "
TAK!
"; } To TAK pojawia się (u góry strony) po naciśnięciu linku „Nowy post”, ale NIE pojawia się, gdy coś wpisuję, a następnie naciskam „Aktualizuj” lub „Opublikuj” lub „Zapisz wersję roboczą”. Wydaje się to być sprzeczne z dokumentacją dotyczącą akcji `save_post` i funkcji `wp_insert_post()`. Czy ktoś może mi to wyjaśnić?


title: Wtyczka inicjująca hak

text: Czy istnieje zaczep init wtyczki, który uruchamia się za każdym razem, gdy wtyczka jest ładowana? Chciałbym połączyć funkcje wymagające plików i definiowania stałych do takiego haka, jeśli istnieje.


title: Eksportuj wszystkie posty, aby zaimportować je jako pozycje produktów

text: Do tej pory mój klient wykorzystywał posty na WordPressie do prezentowania swoich produktów. Teraz muszę wyeksportować wszystkie te posty do formatu CSV, aby móc sformatować plik CSV i zaimportować go z powrotem do WP e-Commerce. Przyjrzałem się wielu opcjom, w tym wtyczkom do eksportu postów, eksportowaniu bezpośrednio z phpMyAdmin i korzystaniu z opcji eksportu XML w WP, ale żadna nie jest tak czysta, jak bym tego chciał. Myślę, że zasadniczo potrzebuję zapytania SQL, które mogę uruchomić, aby wyeksportować tylko informacje z tabeli POSTS, z wyłączeniem wszelkich innych śmieci, takich jak numery ID, status ping, przewodnik itp. Wszystko, czego potrzebuję, to: * Tytuł posta * Treść posta * Niestandardowe Pola * Kategorie Oto początek mojego zapytania SELECT * FROM `wp_posts` WHERE `post_status` = 'publish' **EDIT:** Jestem otwarty na lepsze rozwiązania, jeśli ktoś uważa, że jest lepszy sposób na zrobienie tego? **EDYTUJ** Oto rozwiązanie, które znalazłem na SO, ale nie jestem pewien, gdzie tego użyć? <?php function array2xml($array, $name='array', $standalone=TRUE, $beginning=TRUE) { global $zagnieżdżone; if ($początek) { if ($standalone) header("typ-treści:tekst/xml;charset=utf-8"); $output .= '<'.'?'.'xml version="1.0" kodowanie="UTF-8"'.'?'.'>' . PHP_EOL; $wyjście .= '<' . $nazwa . '>' . PHP_EOL; $zagnieżdżone = 0; } // Jest to wymagane, ponieważ standardy XML nie zezwalają na rozpoczęcie znacznika od cyfry lub symbolu, możesz zmienić tę wartość na dowolną: $ArrayNumberPrefix = 'ARRAY_NUMBER_'; foreach ($tablica as $root=>$dziecko) { if (jest_tablica($dziecko)) { $wyjście .= str_repeat(" ", (2 * $zagnieżdżone)) . „<”. (is_string($root) ? $root : $ArrayNumberPrefix . $root) . '>' . PHP_EOL; $zagnieżdżone++; $wyjście .= array2xml($dziecko,NULL,NULL,FALSE); $zagnieżdżone--; $output .= str_repeat(" ", (2 * $zagnieżdżone)) . ' </' . (is_string($root) ? $root : $ArrayNumberPrefix . $root) . '>' . PHP_EOL; } else { $output .= str_repeat(" ", (2 * $ zagnieżdżone)) . „<”. (is_string($root) ? $root : $ArrayNumberPrefix . $root) . '><![CDATA[' . $dziecko . ']]></' . (is_string($root) ? $root : $ArrayNumberPrefix . $root) . '>' . PHP_EOL; } } if ($początek) $output .= '</' . $nazwa . '>'; zwróć $wyjście; } //połącz się z bazą danych i wybierz bazę danych (edytuj samodzielnie) mysql_connect("localhost", "username", "password"); mysql_select_db("nazwa bazy danych"); //Pobierz wszystkie posty, których stan opublikowaliśmy. $result = mysql_query("SELECT * FROM wp_posts GDZIE post_status = 'opublikuj'"); while($wiersz = mysql_fetch_assoc($wynik)) $posty[] = $wiersz; //przekonwertuj na tablicę i wypisz ją na ekranie: echo "<pre>"; echo htmlentities(array2xml($posts, 'posts', false)); echo "</pre>"; ?> **EDIT:** Tak, więc stworzyłem plik php o nazwie pull-posts.php i upuściłem powyższy kod do pliku, a następnie zapisałem plik w katalogu głównym mojej instalacji localhost. Następnie zmieniłem dane DB i uruchomiłem skrypt. Oto błąd, który otrzymuję: Ostrzeżenie: mysql_connect() [function.mysql-connect]: Odmowa dostępu dla użytkownika 'username'@'localhost' (przy użyciu hasła: YES) w C:\inetpub\wwwroot\Xampp-1.7.7 \htdocs\project\pull-posts.php w wierszu 40 W wierszu 40 jest to: mysql_connect("localhost", "root", ""); mysql_select_db("Nazwa bazy danych"); jakieś pomysły? Dziękuję.


title: Wyświetlaj określone produkty WooCommerce różnym typom użytkowników

text: Tworzę "Klub dealera" do użytku wewnętrznego przy użyciu WooCommerce. Będzie dostępny dla naszych zewnętrznych dealerów, a także wewnętrznych sprzedawców i administratorów. Jak wyświetlić wybrane produkty w oparciu o różne typy użytkowników (dealerzy, sprzedawcy, inni wewnętrzni itp.) i różne obszary geograficzne obsługiwane przez poszczególnych użytkowników (wschód, zachód, wszystkie obszary)? Pomysł, który mam do tej pory.... * Tworzenie typów użytkowników i obszarów geograficznych za pomocą wtyczki Cimy Extra User Fields. * Oznacz odpowiednio każdy produkt (rodzaj i obszar). * Utwórz stronę dla każdej kategorii produktów, która w jakiś sposób wysyła zapytania tylko o produkty z poprawnymi tagami do użytkowników, którzy pasują do „dodatkowych pól użytkownika”. Na przykład tylko sprzedawcy ze Wschodu mogliby zobaczyć przedmioty z tagami „wschód” i „sprzedawcy”. * Problemy, które widzę, to jak wysyłać zapytania do produktów na podstawie tagów, jak używać Cimy Extra User Fields do określenia klasyfikacji użytkownika oraz jak radzić sobie z problemami hierarchii (użytkownicy oznaczeni jako Salespeople powinni mieć możliwość zobaczenia wszystkich Dealerów produkty). Jeśli jednak istnieje rozwiązanie „w puszkach”, które obsługuje wyświetlanie niektórych produktów określonym grupom, wszyscy jestem uszami. Dzięki za sugestie!


title: Indeks katalogu postów AZ Directory

text: Chciałbym utworzyć indeks od A do Z postów w określonej kategorii. Musi to zawierać katalog liter ABCDEF, do którego można łączyć, itd. oraz listę artykułów uporządkowanych według tytułu pogrupowanych według liter. na przykład A A pierwszy artykuł A drugi artykuł B B pierwszy artykuł B Druga lotka C kiedy ktoś kliknie na indeks (ABCDE .....) powiąże go z grupą liter.... Jakieś pomysły?


title: Niestandardowe pola autora + istniejąca taksonomia — dynamiczna integracja tych dwóch?

text:
Próbuję zintegrować zarówno wartości z istniejącej taksonomii niestandardowej, jak i niestandardowe pola profilu autora. Chciałbym, aby wartości były używane jako opcje, z których autor może wybrać podczas aktualizacji/wypełniania swojego profilu. Poniżej działa - niby. (Znalezione w pliku functions.php) Zapisuje do bazy danych (tabela użytkowników), ale "sprawdzone" radio nie zapisuje. Nie jest również poprawnie drukowany w sekcji profilu i wygląda tak (bezpośrednio przed przyciskiem opcji) `checked="checked" />` ... Oto pełny kod
 <?php _e('W jakim sorority jesteś?'); ?>	  <?php $sorority = get_the_author_meta( 'sorority', $user->ID ); ?> <?php $terms = get_terms("sorority"); $liczba = ilość($warunki); echo '
'; foreach ( $terms as $term ) { echo '
<input type="radio" value="' .esc_attr( $term->name). '" name="sorority" <?php if ($sorority = = "' .esc_attr( $term->nazwa ). '") { ?>sprawdzone="sprawdzone"<?php }?> />'.$term->nazwa.'
'; } echo "
"; ?>
 Jakieś myśli? Uważam, że problem leży w tej linii: <?php if ($sorority == "' .esc_attr( $term->name . '") { ?>checked="checked"<?php }?>


title: sprawdzenie, czy żądanie dotyczy posta i identyfikatora posta

text: Potrzebuję haka, aby gdy odwiedzający wylądował na dowolnym poście **(nie na stronie)** , muszę zarejestrować trafienie. Jak mogę sprawdzić, czy żądanie dotyczy posta i czy jest jakiś haczyk, aby sprawdzić, czy załadowana treść jest postem, a jeśli tak, jaki jest identyfikator posta


title: wp_redirect nie działa po przesłaniu formularza

text: Używam tego przekierowania po wstawieniu posta. Nie działa, odświeża tylko stronę, na której znajduje się formularz. Wiem, że $pid otrzymuje identyfikator poczty, więc na czym polega problem? To już koniec mojego kodu php do obsługi przesyłania formularzy. $pid = wp_insert_post($nowy_post); update_post_meta($pid,'domena',$domena); update_post_meta($pid,'słowa kluczowe',$słowa kluczowe); wp_redirect( get_permalink($pid) ); Wyjście(); Oto wklejka całego kodu. Używając Better HTTP Redirects jest to wyjście, które łączy słowo „tutaj” z poprawnym nowo opublikowanym postem. 302 Found Dokument został przeniesiony tutaj.


title: Menu slajdów nie działa?

text: Jak mogę użyć tego menu slajdów w mojej witrynie WordPress. Tylko potrzebuję menu po prawej stronie od wszystkich. tutaj wklejam to, co próbowałem. var menuRight = document.getElementById( 'cbp-spmenu-s2' ), body = document.body; showRight.onclick = function() { classie.toggle( this, 'active' ); classie.toggle( menuRight, 'cbp-spmenu-open' ); wyłączOther( 'showRight' ); }; if( button !== 'showRight' ) { classie.toggle( showRight, 'disabled' ); } } </script>


title: Zanurz się w filmie na YouTube

text:
Moje posty zawierają filmy wideo osadzone w YouTube w postaci: <object width="600" height="400" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com /pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/zN9mdItmoBs&vq=hd720" /><embed width="600" height="400" type="application/x-shockwave-flash" src="http://www.youtube.com/v/zN9mdItmoBs&vq=hd720" /></object> Jak otoczyć go `<div>`? Próbowałem dodać następujące elementy do pliku `functions.php`: add_filter('embed_oembed_html', 'my_embed_oembed_html', 99, 4); function my_embed_oembed_html($html, $url, $attr, $post_id) { return '
' . $html . '
'; } To nie działa. Co ja robię?


title: Szukaj z filtrami i tytułem

text: Chciałbym szukać w `custom_post` według tytułu i według pól ACF. Użyłem więc funkcji WordPress `WP_Query`, ale nie mogę filtrować według tytułu, tylko według filtrów. Kiedy przesyłam formularz, mam następujący adres URL: http://example.com/?s=titre&filter1=condition1&filter2=condition2&filter3=condition3 Mój kod: $title = $_GET['s']; $args = array( 'pagename' => $title, 'numberposts' => -1, 'post_type' => 'my_custom_post', 'meta_query' => array( array( 'key' => 'filter_1', 'value ' => $_GET['warunek_1'] ), array( 'klucz' => 'filtr_2', 'wartość' => $_GET['warunek_2'] ), array( 'klucz' => 'filtr_3', 'wartość ' => $_GET['warunek_3']) ) ); $the_query = nowe WP_Query($args); Czy masz pomysł na umieszczenie tytułu w wyszukiwaniu?


title: $wpdb->num_rows nie działa

text: Próbuję wykonać pewne kontrole w polach niestandardowych, zanim zostaną zapisane w db. Postanowiłem więc użyć add_filter, ponieważ robi to między przeglądarką a db. Oto moja funkcja kodu fields_pre_check($post_id){ $errors = false; $wartości = get_post_custom(get_the_ID()); $act_val = $_POST['checks_news']; ...altri sprawdza... if(get_check_key($post_id, $act_val , $values)){ $errors = true; update_option('custom_token', $errors); update_option('custom_admin_errors', $txt_err=error_text($errors, 2)); remove_action('save_post','update_fields'); wp_update_post(array('ID' => get_the_ID(), 'post_status' => 'szkic')); add_action('save_post', 'update_fields'); zwróć fałsz; } } funkcja update_fields($post_id){ $chk1 = $_POST['checks_news']; update_post_meta($post_id, 'checks_news', $chk1); } funkcja get_check_key($post, $checker, $val){ global $wpdb; $wpdb->query("SELECT meta_value, meta_key FROM $wpdb-> wp_postmeta WHERE meta_value = $checker"); if(get_post(get_the_ID())==NULL){ return ($wpdb->num_rows != 0); } else{ if($val['checks_news'][0] == $checker) return false; else{ return ($wpdb->liczba_wierszy != 0); } } } add_filter('wp_insert_post_data', 'fields_pre_check'); add_action('save_post', 'update_fields'); Wybrałem add_filter, ponieważ funkcja get_check_key musi zweryfikować poprzednią wartość $val['checks_news'][0] z nową $checker (jeśli używam add_action, którą próbowałem, są one takie same, ponieważ $val['checks_news' ][0] pobiera właśnie zapisaną wartość, więc jeśli chcesz zmienić tę wartość z 1 na 2 i wykonać sprawdzenie, zwraca 2 == 2). Problem pojawia się, gdy chcę użyć $wpdb->num_rows, które zwraca zawsze 0, nawet jeśli wynik powinien wynosić 1. Co robię źle? Czy wybrałem właściwą drogę, używając add_filter zamiast add_action?


title: Wordpress + Motyw pracy => Miniatury postów WPTouch nie działają?

text: Czy komuś udało się uruchomić tę kombinację i wyświetlać miniatury postów w witrynie mobilnej? * Wordpress 3.3.1 * Motyw pracy 1.8.3 * WPTouch 1.9.38 Aktywowałem obsługę pracy dyplomowej dla miniatur postów: add_theme_support('post-thumbnails'); set_post_thumbnail_size ( 96, 96, prawda ); Wiem, że miniatury są tworzone, widzę je na stronie głównej. Masz jakiś pomysł, dlaczego WPTouch ich nie podnosi, a zamiast tego wyświetla domyślną ikonę „aparatu”? Strona, na której to testuję, to: http://fitness9000.com


title: Dlaczego szablon niestandardowy nie jest widoczny jako strona z is_page()?

text:
Stworzyłem kilka szablonów do projektu, który w rzeczywistości jest motywem potomnym motywu Kontrast. W Wordpress CMS mogę wybrać szablony, które stworzyłem: http://i.imgur.com/PYKqK.png (Nie mogę opublikować obrazu, jestem zbyt nowicjuszem, jak mówi strona...) W jednym funkcji motywu (zobacz background.php poniżej), jest to sprawdzenie warunków: <?php if (is_page() || is_single()) { ?> Który działa na wszystkich moich szablonach niestandardowych oprócz dwóch. Wiem na pewno, że dwa miejsca, w których to się nie powiedzie, to w rzeczywistości strony, ale wartość zwracana przez `is_page()` jest nadal pusta, a więc `false`. Czego powinienem szukać, aby upewnić się, że te dwa szablony są traktowane jako strony? Czy jest to coś innego, czego powinienem szukać? Poniżej znajduje się kod dla dwóch szablonów. Pamiętaj, że dotknąłem tylko kodu związanego z treścią, a nie if/elses na początku szablonów. Na dole strony znajduje się plik, który sprawdza, czy `is_page()`. Kod dla tego plikuponiżej. Szablon treści tekstowej (funkcjonalny, zwraca wartość dla `is_page()`): <?php /* Nazwa szablonu: Strona z treścią tekstową */ ?> <?php get_header(); ?> <?php // transparent_layer if(meta(array('id' => $post -> ID, 'meta' => 'transparent_layer')) == '0') { if(option('transparent_layer') == '0') { $przezroczysty = fałsz; } elseif(option('transparent_layer') == '1') { $transparent = true; } } elseif(meta(array('id' => $post -> ID, 'meta' => 'transparent_layer')) == '1') { $transparent = false; } elseif(meta(array('id' => $post -> ID, 'meta' => 'transparent_layer')) == '2') { $transparent = true; } // pozycja_tresciif(meta(array('id' => $post -> ID, 'meta' => 'content_position')) == '0') { if(option('content_position') == '0') { $ pozycja_treści = '0'; } elseif(option('content_position') == '1') { $content_position = '1'; } elseif(option('content_position') == '2') { $content_position = '2'; } } elseif(meta(array('id' => $post -> ID, 'meta' => 'content_position')) == '1') { $content_position = '0'; } elseif(meta(array('id' => $post -> ID, 'meta' => 'content_position')) == '2') { $content_position = '1'; } elseif(meta(array('id' => $post -> ID, 'meta' => 'content_position')) == '3') { $content_position = '2'; }//portrait_fit if(meta(array('id' => $post -> ID, 'meta' => 'portrait_fit')) == '1') { $portrait = '1'; } ?>
 <?php get_sidebar(); ?>
 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_title(); ?>

 <?php the_content(__('Czytaj więcej »', NAZWA TEMATU)); ?> <?php koniec; else: ?>
<?php _e('Nic nie znaleziono.', THEMENAME); ?>
 <?php endif; ?>

  <?php require_once(TEMPLATEPATH . '/assets/includes/theme-background.php'); ?> <?php get_footer(); ?> Szablon wiadomości (nie działa, zwracabrak wartości dla `is_page()`): <?php /* Nazwa szablonu: Strona z wiadomościami */ ?> <?php get_header(); ?> <?php // transparent_layer if(meta(array('id' => $post -> ID, 'meta' => 'transparent_layer')) == '0') { if(option('transparent_layer') == '0') { $przezroczysty = fałsz; } elseif(option('transparent_layer') == '1') { $transparent = true; } } elseif(meta(array('id' => $post -> ID, 'meta' => 'transparent_layer')) == '1') { $transparent = false; } elseif(meta(array('id' => $post -> ID, 'meta' => 'transparent_layer')) == '2') { $transparent = true; } // content_position if(meta(array('id' => $post -> ID, 'meta' => 'content_position')) =='0') { if(option('content_position') == '0') { $content_position = '0'; } elseif(option('content_position') == '1') { $content_position = '1'; } elseif(option('content_position') == '2') { $content_position = '2'; } } elseif(meta(array('id' => $post -> ID, 'meta' => 'content_position')) == '1') { $content_position = '0'; } elseif(meta(array('id' => $post -> ID, 'meta' => 'content_position')) == '2') { $content_position = '1'; } elseif(meta(array('id' => $post -> ID, 'meta' => 'content_position')) == '3') { $content_position = '2'; } // portrait_fit if(meta(array('id' => $post -> ID, 'meta' => 'portrait_fit')) == '1') { $portrait = '1'; } ?>
 <?php get_sidebar(); ?>

<?php the_title(); ?>

 <?php // pętla przez posty w kategorii wiadomości // -1 oznacza wszystkie posty... niezbyt intuicyjne // patrz http: //www.binarymoon.co.uk/2010/03/5-wordpress-queryposts-tips/ $query = array ( 'posts_per_page' => -1, 'category_name' => 'news' ); zapytanie_posty($zapytanie); while(have_posts()) : the_post(); // Dostawaćpost surowa data $data = get_the_date(); ?> <a href="<?php the_permalink(); ?>" class="news-link"> <?php the_title(); ?> <?php echo $data; ?>  <?php endwhile; ?>

  <?php require_once(TEMPLATEPATH . '/assets/includes/theme-background.php'); ?> <?php get_footer(); ?> Jak widać, background.php znajduje się na dole tych szablonów. Ten plik pochodzi z motywu nadrzędnego, którego nie edytowałem. Poniżej znajduje się jego kod:
 <img src="<?php bloginfo('template_url'); ?>/assets/images/loading.gif" alt ="Ładowanie" />

 <? php if (is_page() || is_single()) { ?> <?php if (meta(array('id' => $post->ID, 'meta' => 'post_background')) == '1' ) { ?>  <?php } elseif (meta(array('id' => $post->ID, 'meta' => 'post_background')) == '2') { ?> <img src ="<?php echo meta(array('id' => $post->ID, 'meta' => 'post_background_image')); ?>" alt="" class="background" /> <?php } elseif (meta(array('id' => $post->ID, 'meta' => 'post_background')) == '3' ) { ?>  <?php } elseif (meta(array('id' => $post->ID, 'meta' => 'post_background')) == '4') { ?> <?php if (meta (array('id' => $post->ID, 'meta' => 'post_background_google_maps_gradient')) == '1') { ?>

 <?php } ?> <iframe width="100%" height="100%" frameborder="0" scrolling="no" marginheight ="0" marginwidth="0" src="<?php echo meta(array('id' => $post->ID, 'meta' => 'post_background_google_maps')); ?>"> <?php } elseif (meta(array('id' => $post->ID, 'meta' => 'post_background')) == '5') { ?>

 <?php } elseif (meta(array(' id' => $post->ID, 'meta' => 'post_background')) == '6') { ?> <video id="video" class="background"> <?php if (meta(array('id' => $post- >ID, 'meta' => 'post_background_mp4_video')) != '') { ?> <source src="<?php echo meta(array('id' => $post->ID, 'meta' => 'post_background_mp4_video')); ?>" type="video/mp4" /> <?php } ?> <?php if (meta(array('id' => $post->ID, 'meta' =>' post_background_webm_video')) != '') { ?> <source src="<?php echo meta(array('id' => $post->ID, 'meta' => 'post_background_webm_video')); ?>" type="video/webm" /> <?php } ?> <?php if (meta(array('id' => $post->ID, 'meta' => 'post_background_ogv_video')) != '') { ?> <source src="<?php echo meta(array('id' => $post->ID, 'meta' => 'post_background_ogv_video')); ?>" type="video/ogg" /> <?php } ?></video>  <?php } ?> <?php if (meta(array('id' => $post->ID, 'meta' => 'post_background_image_pattern')) == '1') { ?> < div class="pattern pattern-0<?php echo meta(array('id' => $post->ID, 'meta' => 'post_background_pattern')); ?>">
 <?php } ?> <?php } ?>


title: Problem z meta boxem w Links

text: Mam problemy z zapisaniem danych z pola meta w części admina z linkami. Mój kod działa, ponieważ gdy próbuję go w części postu lub strony, zapisuje dane, ale w Links po prostu nie. Oto mój kod. Czy powinienem napisać coś innego zamiast 'save_post'? Widziałem kilka używanych „save_link” i próbowałem, mimo że ludzie, którzy odpowiadali, powiedzieli, że nie istnieje, ale to nie działa ... Mam na myśli to, że działa, gdy dodam go do posta lub strony, ale kiedy ja zmień 'stronę' (lub 'post') na 'link', kiedy dodaję pole meta, nic nie jest zapisywane, a moje dane wejściowe wracają puste, gdy ponownie przechodzę do formularza linku, kiedy powinienem mieć link do mojego obrazu. Dane nie są również zapisywane w bazie danych i nie mam pojęcia dlaczego. Oto mój kod: add_action( 'admin_init', 'meta_boxes_setupa' ); function meta_boxes_setupa() { add_action( 'add_meta_boxes', 'mytheme_add_box' ); add_action( 'zapisz_post', 'mojmotyw_zapisz_dane', 10, 2 ); } // add_action('admin_menu', 'mytheme_add_box'); // Dodaj funkcję metabox mytheme_add_box() { add_meta_box( 'moje-meta-box', 'Dołącz logo społeczności', 'mytheme_show_box', 'link', 'normal', 'high' ); } // Funkcja wywołania zwrotnego do wyświetlania pól w metabox function myteme_show_box( $object, $box ) { // global $post; // echo '<input type="ukryty" name="mytheme_meta_box_nonce" value="', wp_create_nonce(basename(__FILE__)), '" />'; // $meta = get_post_meta($post->ID, '_upload_image', prawda); ?> <?php wp_nonce_field( nazwa bazowa( __FILE__ ), 'url_nonce' ); ?> <label for="upload_image">Wybierz logo: </label> <input type="text" name="upload_image" id="upload_image" value="<?php echo esc_attr( get_post_meta( $object-> ID, '_upload_image', true ) ); ?>" size="40" readonly="readonly" /> <input type="button" name="upload_image_button" id="upload_image_button" value="Parcourir" ?> < ? ) ) return $post_id; $post_type = get_post_type_object( $post->post_type ); /* Sprawdź, czy bieżący użytkownik ma uprawnienia do edycji wpisu. */ if ( !current_user_can( $post_type->cap->edit_post, $post_id )) return $post_id; /* Pobierz opublikowane dane i oczyść je do użycia jako klasa HTML. */ $new_meta_value = ( isset( $_POST['upload_image'] ) ? sanitize_html_class( $_POST['upload_image'] ) : '' ); /* Pobierz metaklucz. */ $meta_key = '_upload_image'; /* Pobierz meta wartość klucza pola niestandardowego. */ $meta_value = get_post_meta( $post_id, $meta_key, true ); /* Jeśli dodano nową wartość meta i nie było poprzedniej wartości, dodaj ją. */ if ( $new_meta_value && '' == $meta_value ) add_post_meta( $post_id, $meta_key, $new_meta_value, true ); /* Jeśli nowa wartość meta nie odpowiada starej wartości, zaktualizuj ją. */ elseif ( $nowa_meta_wartość && $nowa_meta_wartość != $meta_wartość ) update_post_meta( $post_id, $meta_key, $nowa_meta_value ); /* Jeśli nie ma nowej wartości meta, ale istnieje stara wartość, usuń ją. */ elseif ( '' == $nowa_meta_wartość && $meta_wartość ) delete_post_meta( $post_id, $meta_key, $meta_value ); } function my_admin_scripts() { wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_register_script('my-upload', get_bloginfo('template_url') . '/functions/my-script.js', array('jquery','media-upload','thickbox')); wp_enqueue_script('moje-przesyłanie'); } function my_admin_styles() { wp_enqueue_style('thickbox'); } add_action('admin_print_scripts', 'my_admin_scripts'); add_action('admin_print_styles', 'my_admin_styles'); Dziękuję za pomoc !


title: Gravity Forms Post metoda

text: Mam prosty formularz, który użytkownicy wypełnią, który z kolei stanie się postem na mojej stronie. Mam 2 problemy: 1. Używam tytułu posta, elementów pola niestandardowego posta (dla tekstu jednowierszowego) i elementu Post Body (dla tekstu akapitowego). Kiedy przesyłam formularz testowy, pojawia się tylko tytuł, żadne dane, które napisałem w elementach pola niestandardowego. 2. Czy istnieje ustawienie, którego mogę użyć, aby tytuły pól pojawiały się w moim poście? (tj. pole Nazwa faktycznie wyświetlało „Nazwa: niezależnie od tego, co wpisał użytkownik” we wpisie?) Kiedy udało mi się wyświetlić jedno z pól treści w poście, zawierało ono tylko informacje, które wpisałem, a nie tytuł. Może nie używam poprawnie pól postów, więc wszelkie wskazówki/opinie pomogłyby! Dziękuję


title: Importujesz dane do zaawansowanej wtyczki pól niestandardowych?

text: Mam sekcję członka zbudowaną przy użyciu wtyczki http://www.advancedcustomfields.com. Jest 300 członków, z których każdy posiada następujące dane: * Nazwa firmy * Specjalizacja (pola wyboru) * Adres internetowy * Numer telefonu * Region * Adres * E-mail Jaki jest najlepszy sposób importowania do bazy danych? Jak skonfigurować plik csv? Nie dodałem 300 stron członkowskich, po prostu ustawiłem te niestandardowe pola za pomocą wtyczki.


title: Posty z kategorii multiblt, ale zawierał obraz tylko w pierwszym z nich, pozostałe mają tylko tytuł posta

text:
Mam trudności z ustawieniem wyróżnionego obrazu tylko w pierwszym poście z każdej kategorii, a pozostałej, aby wyświetlał się tylko z tytułem posta. Do tej pory udaje mi się wyświetlać najnowszy post z każdej kategorii z miniaturą, ale nie mogę znaleźć sposobu na zrobienie pierwszego posta tylko z miniaturą, a resztę z tytułami. czy istnieje rozwiązanie? Oto mój kod: <?php //pobierz terminy (identyfikatory kategorii 11,2,33,34), a następnie wyświetl jeden post w każdym z terminów $taxonomy = 'kategoria';// np. post_tag, kategoria $param_type = 'kategoria__in'; //  np. tag__in, category__in $term_args=array( 'include' => '4,5,6,7', 'orderby' => 'nazwa', 'zamówienie' => 'ASC' ); $terms = get_terms($taksonomia,$term_args); if ($terms) { foreach( $terms as $term ) { $args=array( "$param_type" => array($term->term_id), 'post_type' => 'post', 'post_status' => ' publikuj', 'posts_per_page' => 1, 'caller_get_posts'=> 1 ); $moje_zapytanie = null; $my_query = nowe WP_Query($args); if( $my_query->have_posts() ) { //Panikos Usuń echo 'Ostatni post w '.$taxonomy .' '.$term->nazwa; while ($my_query->have_posts()) : $my_query->the_post(); ?>
  <?php $image_id = get_post_thumbnail_id(); $ image_url = wp_get_attachment_url ($ image_id); if ($image_url) { ?> <img src="<?php bloginfo('katalog_szablonów'); ?>/scripts/timthumb.php?src=<?php echo $image_url; ?>&w=196&h=115&q=1000 " alt="<?php the_title();?>" />  <?php } else { ?> <img src="<?php echo bloginfo( 'katalog_szablonów') '/images/no-image.jpg'; ?>" alt="Brak dostępnego obrazu" class="panikosule" /> <?php } ?> <a href="<?php the_permalink() ?>" title="Stały link do <?php the_title_attribute(); ?>"><?php the_title(); ?> <?php the_fragment(); ?>
 <?php endwhile; } } } wp_reset_query(); // Odtwórz globalne dane postu, które zostały nadpisane przez the_post(). ?>


title: Czy mogę usunąć edytor pól Rich Text dla określonego posta?

text: Kilka miesięcy temu zadałem podobne pytanie: Czy można usunąć główny edytor pól tekstu sformatowanego? i otrzymałem następującą odpowiedź: function remove_pages_editor(){ remove_post_type_support( 'strona', 'edytor' ); } add_action( 'init', 'remove_pages_editor' ); Ten kod usuwa edytor ze **wszystkich stron**. Czy mogę jakoś usunąć je z określonych stron (przez post-ID)? Dziękuję!


title: Komentarze w wątkach nie działają

text: Cześć Próbuję dodać komentarze w wątkach do mojego motywu, włączyłem je w ustawieniach administratora. Zezwalając na wyświetlanie linku „Odpowiedz”, podczas publikowania komentarza w wątku wydaje się, że nie ma identyfikatorów ul/klasy. Wydaje się, że to tylko normalne komentarze, przeczytałem kilka samouczków i wszyscy mówią, że po włączeniu komentarzy z wątkami to wszystko.


title: Błędy podczas przesyłania komentarzy - nagłówek już wysłany przez

text: Jestem całkowicie początkujący w kodowaniu i mam nadzieję, że ktoś może mi tu pomóc. Mam problemy z publikowaniem komentarzy w mojej witrynie. Pojawiają się następujące błędy: > Ostrzeżenie: Nie można modyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście > rozpoczęte w /var/www/…/wp-comments-post.php:1) w /var/www/…/wp- > include/comment.php w wierszu 621 > > Ostrzeżenie: nie można modyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście > rozpoczęte w /var/www/…/wp-comments-post.php:1) w /var/www/… /wp-> include/comment.php w wierszu 622 >> Ostrzeżenie: nie można modyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście > rozpoczęte w /var/www/…/wp-comments-post.php:1) w /var /www/…/wp- > include/comment.php w wierszu 623 > > Ostrzeżenie: nie można modyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście > rozpoczęte w /var/www/…/wp-comments-post.php:1 ) w /var/www/…/wp- > include/pluggable.php on line 875 Faktem jest, że komentarze są przesyłane, ale zamiast strony z podziękowaniami widzę te błędy. Zaczęły pojawiać się po zmodyfikowaniu mojego pliku wp-comments-post.php. Dodałem tekst w komunikatach ostrzegawczych (linie 78, 79, 82, 83, 88, 89). Naprawdę tego potrzebuję, ale teraz mam pomysł, jak to zrobić... Proszę, pomóż mi! Link do kodu źródłowego: http://pastebin.com/zZYAyaUx


title: przekazywanie parametrów do wykonania akcji z shortcode do wp_footer

text:
Doprowadza mnie do szału. Mam krótki kod, który działa -w porządku-, ale dla jednego szczegółu. Nie opublikuję całej rzeczy, ale pobiera zawartość posta (działa dobrze), a następnie powinna wyświetlić jej część w nowym DIV w stopce. Robię to w ten sposób, ponieważ najwyraźniej nie można przekazać zmiennych do anonimowej funkcji za pomocą add_action. add_shortcode('podpowiedź', 'podpowiedź'); function tooltip( $atts, $content=null) { $output = '...trochę rzeczy z innego postu.'; //...działa dobrze... do_action( 'jch_tooltip_func', 'tekst do umieszczenia w stopce' ); // argument tekstowy nigdy nie jest przekazywany do jch_tooltip_func(); zwróć $wyjście; } add_action('wp_footer', 'jch_tooltip_func', 100, 1); function jch_tooltip_func( $d ) { echo('
TEST DIV:' . $d . 'END
' ); return($d); } ...więc 'tekst do wstawienia stopki' należy przekazać do jch_tooltip_func() a następnie umieścić stopkę poprzez wp_footer. Ale kłótnia nigdy nie przechodzi. Dlaczego oh dlaczego? TIA, ---JC


title: Włącz przyklejone posty dla niestandardowego post_type

text: mam taki niestandardowy post_type: tvr_apartment function custom_post_apartment() { $labels = array( 'name' => 'Apartments', 'singular_name' => 'Mieszkanie', 'add_new' => 'Dodaj nowy', 'add_new_item' => 'Dodaj nowe mieszkanie', 'edit_item' => 'Edytuj mieszkanie', 'new_item' => 'Nowe mieszkanie', 'all_items' => 'Wszystkie mieszkania', 'view_item' => 'Wyświetl mieszkanie', 'search_items' = > 'Szukaj mieszkań', 'not_found' => 'Nie znaleziono mieszkań', 'not_found_in_trash' => 'Nie znaleziono mieszkań w koszu', 'parent_item_colon' => '', 'menu_name' => 'Mieszkania' ); $args = array( 'labels' => $labels, 'public' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'taxonomies' => array('rf_apartment_feature'), 'supports' => array( 'title', 'redaktor', 'autor', 'thumbnail', ' fragment' ) ); register_post_type( 'tvr_apartment', $args ); } Chciałbym włączyć funkcję przyklejonego posta, ![tutaj wpisać opis obrazka](http://i.stack.imgur.com/dctDh.png) Szukałem tutaj: http://codex.wordpress. org/Function_Reference/post_type_supports Ale wydaje mi się, że to nie jest droga, jakieś pomysły?


title: Czy mogę otrzymać powiadomienie e-mail, gdy multimedia zostaną przesłane do biblioteki multimediów?

text: Mam front-end uploader tylko dla członków, używając tego kodu: <?php function insert_attachment_form($postID) { ?> <form id="file-form" name="file-form" method="POST" action=" " enctype="multipart/form-data" > <input type="file" id="async-upload" name="async-upload" /> <input type="hidden" name="postID" value="< ?php echo $postID; ?>" /> <?php wp_nonce_field('przesyłanie-pliku-klienta', 'przesyłanie-pliku-klienta'); ?> <input type="submit" value="Upload" id="submit" name="submit" /> </form> <?php } function process_attachment() { // sprawdź, czy pochodzi z naszego ekranu i za pomocą prawidłowa autoryzacja, // ponieważ save_post może zostać wywołana w innym czasie if ( !wp_verify_nonce( $_POST['client-file-upload'], 'client-file-upload')) { return $post->ID; } // Czy użytkownik może edytować post lub stronę? if ( !current_user_can( 'publish_posts', $post->ID )) return $post->ID; if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty($_FILES )) { require_once(ABSPATH. 'wp-admin/includes/admin.php'); $id = media_handle_upload('async-upload', $_POST['postID']); unset($_FILES); } }?> W idealnej sytuacji chciałbym mieć tutaj narzędzie do przesyłania plików WordPress z metodą „przeciągnij i upuść” lub przynajmniej wskaźnik postępu. Ale dygresja (chociaż punkty bonusowe, jeśli możesz mnie do tego doprowadzić) - To będzie obszar, w którym klienci przesyłają dla nas pliki. Potrzebuję e-maila do wygenerowania wraz z tym, do administratora. Jakieś pomysły?


title: Wordpress 3.3.1 nie przycina polecanego obrazu

text: Kiedy dodaję wyróżniony obraz do dowolnego postu, obraz nie jest przycinany, ale zawsze jest wyświetlany w pełnym rozmiarze. Ustawienia mediów są ok... nawet kiedy wywołam `<?php the_post_thumbnail(); ?>` w moim motywie, zamiast miniatury wyświetlany jest pełny obraz. Co robię źle? Jest to prawdopodobnie moja 30 strona oparta na Wordpressie i nigdy wcześniej nie miałem tego problemu. Dziękuję


title: Skąd wywołanie zwrotne tej funkcji czerpie swoje argumenty?

text:
Może to lepiej pasować do Stack Overflow, ale pomyślałem, że najpierw spróbuję tutaj. Przechodziłem przez ten samouczek Justina Tadlocka i natknąłem się na poniższą funkcję używaną jako argument wywołania zwrotnego dla funkcji `add_meta_box`. Moje pytania dotyczą parametrów... function smashing_post_class_meta_box( $object, $box ) { wp_nonce_field( basename( __FILE__ ), 'smashing_post_class_nonce' ); $wyjście = '
'; $output .= 'Dodaj niestandardową klasę CSS, która zostanie zastosowana do klasy post WordPress\'.'; $output .= '
'; $output .= '<input class="widefat" type="text" name="smashing-post-class" id="smashing-post-class" value="' .esc_attr( get_post_meta( $object->ID, 'smashing_post_class', true) ) '" size="30" />'; $wyjście .= '
'; echo $wyjście; } Zakładam, że `$object` jest globalnym obiektem `$post`? Skąd pochodzi, w jaki sposób jest przekazywany do wywołania zwrotnego? Wydaje się również, że `$box` jest nieużywany, czy to jakiś rodzaj parametru wejścia/wyjścia PHP? Widziałem tego rodzaju rzeczy rozproszone po WordPressie, a moja wiedza na temat PHP ogranicza się do WP, więc nie jestem pewien, co dokładnie widzę. Zrobiłem szybkie wyszukiwanie na PHP.net iw całym Kodeksie, wszelkie informacje byłyby mile widziane.


title: Domena tekstowa do sprawdzania motywów

text: `$output .= '<li class="recentcomments">' . sprintf(_x('%1$s %2$s - %3$s %4$s', 'thst'), get_avatar( $comment, 48 ), (...);` To jest mój wiersz kodu a Wordpress Theme Checker mówi mi: „Problemy z domeną tekstową. Nie uwzględniłeś domeny tekstowej!” Dołączyłem jednak, jak widzisz. Jaki może być tutaj problem?


title: Dziwny problem z konfiguracją równoważenia obciążenia WP 3.0

text: Mam konfigurację wordpress MU (3.0.1) (zaktualizowaną z 2.9.2). Działa na 4 instancjach, równoważy obciążenie, a wszystkie 4 łączą się z tą samą bazą danych. Teraz, gdy działa tylko jedna instancja, działa dobrze... Kiedy uruchamiam wiele instancji, nie mogę usunąć kosza ani cofnąć kosza ani nawet dokonać żadnych zmian w ustawieniach. Otrzymuję komunikat: Czy na pewno chcesz zrobić to? Proszę spróbuj ponownie. adres URL w takim przypadku to mblogs.com/testblog/wp-admin/post.php?post=9&action;=trash&_wpnonce=8f5a697d1e Jaki może być problem i jak go naprawić?


title: Wtyczka do edycji pliku htaccess

text: Czy mimo to mogę edytować mój plik htaccess bez korzystania z FTP?


title: Post-by-mail podobny do WordPress.com lub Posterous?

text: Standardowa instalacja WordPressa ma bardzo podstawową obsługę wysyłania postów przez e-mail. Czy istnieje wtyczka, która zapewnia taką samą funkcjonalność jak WordPress.com (zwłaszcza obsługa załączników)? Mój klient jest zakochany w Posterous i mógłbym skonfigurować most XML-RPC, aby nowe posty trafiały do WordPressa, ale wolę pozostać w WordPressie, aby móc samodzielnie dodać zaawansowaną obsługę niestandardowych typów postów i taksonomii, gdy tylko otrzymamy podstawy biegania.


title: Jak załadować statyczne dane wtyczki z Cloudfront

text: Przenoszę statyczne dane treści mojej witryny do Amazon S3+ CloudFront i udaje mi się to zrobić dla większości mojej witryny (bez wtyczek), z wyjątkiem sekcji wtyczek. W przypadku wtyczki zamierzam przepisać jej adres URL, aby można je było zmapować za pomocą mojego adresu URL Amazon CDN. na przykład od teraz wszystkie obrazy/pliki css i js dla wtyczki są obsługiwane pod tym adresem URL www.myblog.com/wp-content/plugins/nazwa-wtyczki/plik(i) i moim planem jest ponowne zapisanie takich adresów URL z www .mycdn.com/wp-content/plugins/plugin-name/file(s) Nie jestem pewien, jak to zrobić w wordpressie, każdy wskaźnik będzie naprawdę pomocny


title: po wyczyszczeniu metadanych przy automatycznym zapisie

text: Na początek używam tej ŚWIETNEJ odpowiedzi, aby uzyskać niestandardowe typy postów, a także niestandardowy sposób wstawiania tych typów postów na inne strony, możesz zobaczyć tę odpowiedź tutaj: Niestandardowe pole/meta wypełniane przez rozwijane listy istniejących postów? Mam problem, jednak kiedy wordpress auto zapisuje się, usuwa wszelkie metadane, które umieściłem w formularzach. PRZYKŁAD: Wybieram 3 listy rozwijane, które chcę z mojego metaboksu i uderzam w aktualizację. Strona ładuje się ponownie, a 3 opcje są nadal zaznaczone. W phpMyAdmin mogę wyszukać metadane i zobaczyć tablicę tak, jak powinna. Teraz czekam, aż wordpress automatycznie zapisze. Jak tylko to się stanie, mogę albo odświeżyć stronę (nie zaktualizować, po prostu odświeżyć) i metadane zostaną utracone, albo mogę wyszukać metadane w phpMyAdmin i nic nie wyświetli (tj.: zniknęło). Zgaduję, że ma to coś wspólnego z koniecznością powiązania się z innym hakiem (jakiś rodzaj haka automatycznej aktualizacji) lub coś takiego, ale nawet wtedy nie ma sensu, aby faktycznie usunęło to twoje metadane (zamiast po prostu nie aktualizować automatycznie to). Ostatnia uwaga: Jeśli skopiujesz i wkleisz kod Mikesa do functions.php, powinieneś być w stanie bardzo łatwo odtworzyć mój błąd (w Wordpress 3.1).


title: Pomoc — Dlaczego moje role się nie wyświetlają? Wiele lokalizacji/sieć

text: Moja sieć pokazuje role w niektórych witrynach, a w innych nie. Z jakiegoś powodu, którego nie potrafię wyjaśnić, kiedy dodaję nowego użytkownika, nie mam żadnej roli do wyboru na liście rozwijanej podstrony w mojej sieci. Również mój nowy użytkownik przypisany do witryny nie jest wyświetlany na mojej liście użytkowników tej witryny. Czy to coś, co można naprawić? Poniżej obraz aktualnej sytuacji. http://cl.ly/58xU ![Role nie są pokazywane](http://i.stack.imgur.com/dUvoG.jpg) Poniżej znajduje się zdjęcie przedstawiające stronę główną z rolami, ale pod- strony sieci nie. ![Pokazane role](http://i.stack.imgur.com/1HXUT.jpg)


title: Jak dodać niestandardową klasę i identyfikator do <a>, który jest generowany z galerii multimediów, wstaw obraz do posta?

text: Chcę, aby id="fancybox" i rel="photogallery" zostały dodane do wygenerowanego automatycznie po "wstawieniu go do posta" z galerii multimediów. Z góry dziękuję!!!


title: Filtruj kategorie postów wordpress za pomocą jquery/ajax i paginacji?

text: Obecnie mam stronę internetową pracującą z Wordpressem i Jquery Quicksand (http://razorjack.net/quicksand/). Nie chcę jednak wyświetlać wszystkich postów jednocześnie. Chcę pokazać m.in. 6 postów, a następnie paginację. I tu właśnie pojawia się problem. Jeśli mam filtr na pierwszej stronie z postami, filtruje on tylko te posty, a nie te na innych stronach. Tak (przykład z tutsplus.com) I to wcale nie jest intuicyjne. Brak możliwości nawigowania z jednej strony na drugą w ramach filtra jest po prostu nieprzyjazny dla użytkownika. Nie znalazłem żadnego samouczka na ten temat, ale znalazłem działający przykład, używając ruchomych piasków. Więc jest to możliwe. Zastanawiałem się więc, czy ktoś mógłby mi pomóc, czy może ma lepsze rozwiązanie niż działający przykład? Powodem, dla którego dodałem ajax w tytule, jest to, że pomyślałem, że lepszym rozwiązaniem może być zrobienie nowego wp_query przez ajax zamiast ładowania wszystkich postów na wielu listach i pokazywania/ukrywania ich za pomocą filtrów.


title: Niestatyczna strona przednia

text: * Istnieje wiele dokumentacji na temat tworzenia statycznej strony tytułowej w wordpressie. * Potrzebuję mieć dynamiczną stronę tytułową, w szczególności grupę z prasy znajomej. Link to www.domain.com/groups/challenge-6/ Czy muszę zaktualizować szablon, czy mogę użyć wtyczki?


title: Jaką funkcję pełni pętla wyświetlania postów?

text: Jaka jest funkcja, która powtarza posty, takie jak tytuł posta w h1, a następnie treść posta i nazwisko autora. Mam nadzieję, że wszyscy zrozumieli, co próbuję powiedzieć, proszę pytać w komentarzach, które wyjaśnię.


title: Jak dodać div do górnej pozycji menu

text:
XXX

 Gdzie chcę umieścić „XXX” Powodem, dla którego chcę to zrobić, jest to, że koduję górne menu i chcę wyświetlić obrazek po najechaniu na link. Wyglądałoby to tak: .menu ul li:hover mojaKlasa { display:block; } Przykład jaki efekt staram się osiągnąć można zobaczyć w górnym menu tutaj http://www.templatemonster.com/demo/37119.html Przeszukałem wszystkie pliki szablonów i wygląda na to, że ten link jest generowany gdzieś w plik php w folderze wp-content i nie mogę go znaleźć. * * * Rozwiązałem problem. Rozwiązaniem było to, że nie muszę edytować żadnych rzeczy w wp-includes. Musiałem tylko dodać parametry w moim pliku szablonu. Na początku miałem ten kod w nagłówku: <?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary') ); ?> Więc właśnie dodałem `'link_after' => '<div class="one"></div>',` po `array(` i wszystko działało dobrze. Dziękuję Bainternet :)


title: Zdalne logowanie z niedziałającą tylko nazwą użytkownika

text: Piszę moduł do zdalnego logowania do innej witryny WP za pośrednictwem administratora mojej wtyczki. Oto kod, którego używam po stronie nadawcy: <?php add_action('init', 'connect'); function connect() { //przesyłam nazwę użytkownika przez formularz na stronie administratora wtyczki if(isset($_POST['username']) && $_POST['username'] != '') { $name = $_POST ['Nazwa Użytkownika']; $response = wp_remote_post( 'http://the-subsite.com/', array( 'body' => array( 'username' => $name ))); } if(isset( $response ) && is_wp_error( $response )) { echo 'Coś poszło nie tak!'; } else if(isset( $response )) { echo 'Odpowiedź:<pre>'; print_r( $odpowiedź ); echo '</pre>'; } } ?> A po stronie odbiorcy umieściłem wtyczkę z następującym kodem: <?php add_action('init', 'test'); function test() { //Poniższy kod działa i loguje się w witrynie TYLKO wtedy, gdy usunę warunek //'if' i zakoduję nazwę użytkownika na stałe zamiast pobierać ją z tablicy //$_POST, mimo że nazwa użytkownika została pobrana poprawnie w tablicy $_POST, a kod nie pokazuje błędów if(isset($_POST['username'])) { $username = $_POST['username']; $user_info = get_user_by('login', $username); $user_id = $user_info->ID; wp_set_current_user ($ user_id ); wp_set_auth_cookie ($user_id ); Wyjście; } } ?> Więc jak mogę się zalogować tylko wtedy, gdy otrzymam zmienną `username` w mojej tablicy `$_POST`? Jak dokładnie wykonać logowanie tylko wtedy, gdy prześlę formularz po stronie nadawcy?


title: Sortowanie kolumn ról

text: Próbuję dodać sortowanie w kolumnie Role na liście użytkowników według desc i asc, ale mogę to uruchomić, zawsze pokazuje „Nie znaleziono pasujących użytkowników”. poniżej znajduje się mój kod add_filter( 'manage_users_sortable_columns', 'wp420_user_sortable_columns'); function vma_user_sortable_columns( $kolumny) { $kolumny['role'] = 'rola'; return $kolumny; } add_action('pre_user_query','wp420_pre_user_query'); funkcja wp420_pre_user_query ($ user_search) { globalny $ wpdb, $ current_screen; if ( 'użytkownicy' != $current_screen->id ) return; $zmienne = $user_search->query_vars; if ('role' == $vars['orderby']){ $user_search->query_from .= " INNER JOIN {$wpdb->usermeta} m1 ON {$wpdb->users}.ID=m1.user_id AND ( m1.meta_key='wp_user_level')"; $user_search->query_orderby = ' ORDER WEDŁUG WIELKICH (m1.meta_value) '. $vars['zamówienie']; } }


title: Zapytanie o pętlę bez jej łamania

text:
Próbuję tworzyć różne zapytania w mojej kategorii, takie jak jedno z przesunięciem postu i takie, które pokazuje jeden post, ale podczas gdy nadal przechodzi przez pętlę, to właśnie mam, ale pętla się powtarza, prawie myślę, że tego nie robię prawidłowo. Czy ktoś wie, co jest nie tak? <?php if (have_posts()) : $liczba = 0; ?>

<a href="<?php the_permalink() ?>" rel="zakładka " tytuł="<?php tytuł_(); ?>"><?php tytuł_(); ?>

 <?php query_posts('showpost=1'); ?> <?php while (have_posts()) : the_post(); ?>

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

 <?php query_posts('showpost=4&offset=1'); ?> <?php while (have_posts()) : the_post(); ?>

<a href="<?php the_permalink() ?>" rel="zakładka" title="<?php the_title(); ?>"><?php the_title(); ?>

 <?php get_the_excerpt_limit( 200, '... Czytaj więcej »' ); ?>

 <?php endwhile ?> <?php wp_reset_query(); ?> <?php query_posts('offset=4'); ?> <?php while (have_posts()) : the_post(); ?>

<a href="<?php the_permalink() ?>" rel="zakładka" tytuł ="<?php tytuł_(); ?>"><?php tytuł_(); ?>

 <?php get_the_excerpt_limit( 200, '... Czytaj więcej »' ); ?>

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


title: Wypełnij listę rozwijaną pól niestandardowych tytułami postów według autora

text: Po prostu wkraczam w wordpress i dużo się uczysz! Wiem, jak stworzyć niestandardowe pole i wykorzystać je do podstawowych celów. Staram się teraz zrobić trochę więcej... Mam nadzieję, że ktoś może mi pomóc. Oto scenariusz: na mojej stronie internetowej mam sekcję biznesy i wydarzenia. Firmy używają domyślnych „postów” z wordpress, „wydarzenia” to niestandardowy typ wpisu. Chcę utworzyć niestandardowe pole do użycia w przypadku zdarzeń, które wypełniają listę rozwijaną wpisów biznesowych, których autorem jest bieżący użytkownik, skutecznie łącząc je ze sobą. W ten sposób użytkownik może zobaczyć tylko wpisy biznesowe, które utworzył na liście, i nie może tworzyć wydarzeń i łączyć ich z przypadkowymi firmami. Próbowałem wykorzystać klasę „LittlePromoBox” znalezioną w tym poście. Ale nie miałem szczęścia...Próbowałem zrozumieć logikę, ale w tym momencie jest dla mnie zbyt zaawansowana..Czy ktoś może mi pomóc?


title: Jak umieścić w kolejce niektóre źródła javascript raz na stronę?

text: Potrzebuję, aby moja wtyczka generowała: raz na stronę: <script type="text/javascript" src="https://<ritc url for js file>"></script> <script type="text/javascript "> ritc.initialize('63864593a4153879'); </script> Celem tego jest umożliwienie jednego lub więcej krótkich kodów – wszystkie wymagające tej samej inicjalizacji – na stronie. Mogę użyć wp_enqueue_script() w funkcji shortcode - działa to dla pierwszej linii tj. <script type="text/javascript" src="https://<ritc url for js file>"></script> Ale jak wygenerować kolejne wiersze do naśladowania - i to tylko raz na stronie? tj. <script type="text/javascript"> ritc.initialize('63864593a4153879'); (jedna linia w znacznikach skryptu) </script> Czy istnieje coś takiego jak wp_enqueue_script(), ale które przyjmuje ciąg znaków zamiast adresu URL? Ciąg będzie jednym linijką powyżej. Nie zapominajmy o zależności od pierwszej linii powyżej. A może powinienem po prostu wygenerować javascript z funkcji shortcode, zarządzając nim tak, aby pojawił się tylko raz na stronie? (Jak to zrobić? Czy istnieje zmienna globalna, której mogę użyć?) A może istnieje inne podejście do tego? Z góry dziękuję. Colin G


title: jak zmienić/usunąć/ukryć menu pod zainstalowanymi wtyczkami

text: Ostatnio instaluję jedną wtyczkę. Po zainstalowaniu wtyczki "bookingwizz" menu dodane w menu. Pod bookingwizz mam teraz również podmenu. Teraz nie potrzebuję wszystkich tych pozycji menu, ale chcę zachować niektóre i zmienić niektóre nazwy, a niektóre usunąć. Więc jak mam to zrobić? Próbowałem szukać w tym pliku wtyczek, a także w bazie danych, ale niczego nie znalazłem. Oto zrzut ekranu menu > ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/1lZAQ.png)


title: Czy wtyczka FD Feedburner tworzy kanały dla kategorii?

text: Skonfigurowałem wtyczkę FD Feedburner. Chcę otrzymywać kanały dla każdej z moich kategorii. Czy muszę ręcznie tworzyć kanały dla kategorii w Feedburner? lub Czy wtyczka automatycznie tworzy kanały dla kategorii. Oto kolejny starszy link do wtyczki


title: Dynamicznie dodawaj identyfikator do tagów nagłówka

text: Jak dodać atrybut id dynamicznie do każdego tagu nagłówka w witrynie Wordpress za pomocą php? Chciałem, aby do każdego tagu nagłówka (h1, h2, h3, h4, h5, h6) był dołączony unikalny identyfikator, tak aby wyglądał następująco: `<h1 id="this_is_sparta">To jest Sparta< /h1>` Mogę więc utworzyć link do niego za pomocą `<a href="#this_is_sparta">Przejdź do To jest Sparta</a>` Od wielu godzin szukam rozwiązania tego problemu i nie mogę wydaje się, że coś znajdzie, więc jeśli ktoś może pomóc, wszystko będzie mile widziane! Jeśli trzeba to zrobić ręcznie, wszystko jest w porządku, po prostu potrzebuję łatwiejszego sposobu na zrobienie tego dla klienta.


title: Dostosowywanie wyglądu i stylu administratora tylko do jednego konkretnego typu użytkownika

text: Czy można zmienić wygląd administratora tylko dla jednego konkretnego typu użytkownika lub grupy użytkowników. Nie jest to główny wymóg dla tego, co obecnie robię, ale fajna funkcja. Chciałem tylko wiedzieć, czy to możliwe.


title: Potrzebujesz pomocy w znalezieniu odpowiedniej wtyczki do dynamicznego fragmentu treści, który pojawia się w wielu miejscach

text: Próbuję znaleźć idealną wtyczkę do tego, co muszę zrobić. Mam bloga, który zawiera posty o grach. każdy post będzie miał kategorię, która przypisuje go do jego gry (chociaż w razie potrzeby może mieć inne powiązane pole). Muszę mieć blok HTML, który pojawia się na dole wszystkich postów w tej samej kategorii (pomyśl o linkach „gdzie kupić tę grę”), który powinien być wprowadzony tylko raz. Najlepiej byłoby, gdyby mogli edytować ten kod HTML lub zawartość tego kodu HTML w administratorze, ale wezmę to, co mogę uzyskać. Coś przychodzi ci do głowy?


title: Jak używać list numerowanych w edytorze postów?

text:
Mam problem z używaniem list numerowanych w edytorze postów. Chcę mieć listę numerowaną, w której każdy numer może mieć kilka akapitów w środku. Coś w stylu 1. Wymień jeden jakiś tekst akapit drugi dla listy pierwszej 2. Wymień dwa tekst listy dla listy drugiej * * * Miałem problemy z ciągłą numeracją, więc przełączyłem się na wersję tekstową i zaktualizowałem kod, aby robił to, co chciałem. Zapisałem i odświeżyłem stronę posta i zobaczyłem dokładnie to, czego chciałem. Następnie wracam do posta, przełączam na wizualną i post jest ponownie sformatowany. Na przykład znacznik ol jest podwojony

 Więc numeracja jest nieprawidłowa, złe wcięcie itp. Jakikolwiek pomysł, jak mogę to zrobić praca?


title: Lokalizacja motywu w WPML - błąd pliku .mo

text: Tworzymy wielojęzyczny multi-site (na mapowaniu subdomen/domen) na Wordpress. Niedawno kupiliśmy wtyczkę WPML Wordpress i zainstalowaliśmy ją w podstawowej wersji językowej (angielskiej). Teraz próbujemy pracować nad lokalizacją motywu. Tutaj postępujemy zgodnie z instrukcjami w tym przewodniku. Tutaj zostaliśmy poinstruowani, aby zainstalować plik `.mo` w ustawieniach regionalnych języka. Otrzymujemy błąd _Nie znaleziono pliku_ (w pliku MO w `wp-content/Languages`). Ten plik `.mo` został pobrany z http://code.google.com/p/nextgen-galeria/downloads/detail?name=nggallery-zh_CN.mo. Czy ktoś może pomóc? Czy ten plik `.mo` jest poprawną wersją? Czy jest jakieś inne źródło, z którego można uzyskać prawidłowy plik .mo? Czy stosujemy właściwe podejście do lokalizacji motywów?


title: Jak edytować domyślne ustawienia postów

text: Chcę usunąć blok treści i dodać niestandardowe pola dla obrazu, jak na tym zrzucie ekranu. Nie chcę dodawać niestandardowego typu treści, chcę tylko edytować domyślny typ posta. Jakieś rozwiązanie?


title: Co to jest rel="pingback" i jaki jest pożytek z tego w mojej witrynie?

text: Może to głupie pytanie, naprawdę chcę wiedzieć, co to za adres URL? Jest obecny na mojej stronie. `<link rel="pingback" href="http://www.example.com/xmlrpc.php" />` Moje pytania to: 1. Jaki jest pożytek z tego? 2. Czy ten link sprawia jakieś problemy?


title: Jak mogę zmienić <img src> na <data-original> dla lazyload wp smilies

text: Próbowałem poprawić wydajność WordPressa i już umieściłem zawartość `<img>` za pomocą jQuery LazyLoad. Teraz mam problem ze zmianą smilies `src`, już ustawiłem motyw smilies add Używane: add_filter('smilies_src','light_smilies_src',1,10); function light_smilies_src($img_src,$img,$siteurl) { return get_bloginfo('template_directory').'/images/smilies/'.$img; } Kiedy dodałem... $img="<img data-original=\"{$file}\" alt=\"{$smile}\" />"; pokazuje... <src="data-original="http://XXX.com/wp-content/themes/Moxx/images/smilies/icon_mad.gif".. Jak mogę to zmienić na coś takiego jak poniżej? <src="" data-original="http://XXX.com/wp-content/themes/Moxx/images/smilies/icon_mad.gif"


title: Mapa Google otwierająca się w nowym oknie

text: Mam niestandardowy typ wpisu o nazwie „Miejsce” i chciałbym, aby moi użytkownicy mogli tworzyć mapę tego miejsca, po prostu znacznik na mapie z nazwą miejsca i jego adresem. Chodzi o to, że chcę stworzyć małą migawkę mapy i po najechaniu na stronę użytkownik klika i otwiera pełną mapę w nowej karcie lub oknie. Jak mogę to stworzyć w WordPressie? Większość wtyczek map Google dla WordPress umożliwia osadzenie mapy bezpośrednio na stronie, ale chcę, aby była klikalna i otwierała pełną mapę w nowej karcie. Dziękuję


title: Rozwiązanie HelpDesk dla Wordpress

text: Czy istnieje wtyczka rozwiązania help desk (darmowa lub płatna) dla Wordpress? Idealnie byłoby, gdyby odwiedzający mógł utworzyć bilet ze strony WP, a administrator zobaczyłby go za pośrednictwem poczty elektronicznej i portalu administracyjnego WP. Oferuj również opcję fakturowania za bilet. **Edycja:** Wtyczka musi dobrze współpracować z moim motywem bez konieczności zmiany czegokolwiek, z wyjątkiem dodawania skrótów do helpdesku


title: Jak skuteczne są wtyczki buforujące dla stron dynamicznych?

text: Większość stron jednej z moich witryn jest dostępna tylko dla zarejestrowanych użytkowników. Chociaż te strony mają wspólną, statyczną zawartość (nagłówki itp.), większość informacji na stronie jest wypełniana specjalnie dla tego użytkownika przy użyciu różnych danych użytkownika, postmeta i niestandardowych danych tabel. Co więcej, jest mało prawdopodobne, że użytkownik trafi na tę samą stronę wiele razy. Jednak są dziesiątki tysięcy użytkowników, którzy mogą chcieć jednocześnie uzyskiwać dostęp do swoich własnych stron informacyjnych, więc wydajność ma duże znaczenie. W moim rozumieniu wtyczek buforowania jest to, że wykonują świetną robotę ze stosunkowo statyczną zawartością, taką jak wpisy na blogu lub strony „o nas”, które zmieniają się rzadko, ale muszą być obsługiwane (bez żadnych różnic lub niestandardowych informacji) na wiele jednoczesnych żądań . W mojej sytuacji prawdziwe „uderzenie” wydajności pojawia się, gdy użytkownik się zaloguje i uzyska dostęp do swoich danych osobowych. Jak skuteczne są wtyczki buforujące w tym scenariuszu? Czy istnieją inne alternatywy (oprócz optymalizacji bazy danych), które mogą pomóc w zmniejszeniu obciążenia pamięci i bazy danych?


title: Przepisanie adresu URL i add_query_var nie działają

text: Wiem, że istnieje kilka tematów dotyczących przepisywania adresów URL w Wordpress, ale żaden z znalezionych przeze mnie tematów nie pomógł mi. Chcę przepisać adres URL profile/?person=abc (który działa dobrze, ale nie jest ładny) na profile/abc. Oto co dodałem do functions.php mojego motywu: function add_rewrite_rules() { global $wp_rewrite; add_rewrite_rule('profile/([^/]+)/?$', 'index.php?pagename=profile&person=$matches[1]', 'top'); $wp_rewrite->flush_rules(false); } add_action('init', 'add_rewrite_rules'); funkcja add_query_vars() { global $wp; $wp->add_query_var('osoba'); } add_action('init', 'add_query_vars'); Kiedy próbuję zadzwonić mojadomena.com/profile/abc, Wordpress po prostu zmienia adres URL na mojadomena.com/profile Oczywiście „osoba” nie znajduje się wśród vars zapytań, kiedy próbuję uzyskać do nich dostęp. Próbowałem też napisać wszystko w jednej funkcji (co nie powinno robić żadnej różnicy) i dodać zapytanie var 'person' do tablicy zapytań z hakiem filtra query_vars: function add_query_vars($q) { $q[] = ' osoba'; zwróć $q; } add_filter('query_vars', 'add_query_vars'); Ze wszystkiego, co przeczytałem o przepisaniu adresów URL za pomocą WP, mój kod powinien działać. Próbowałem też dezaktywować wszystkie inne wtyczki, aby nic nie mogło przeszkadzać. ## Rozwiązanie Ponieważ nie mogę odpowiedzieć na moje pytanie z powodu mojej reputacji, piszę rozwiązanie tutaj: Powodem było to, że próbowałem przekierować na stronę podrzędną. Pominąłem tę informację w powyższym kodzie, ponieważ uważałem, że jest nieistotna, ale w rzeczywistości był to powód mojego problemu. Przepraszam za to, po prostu chciałem trochę wyczyścić mój kod :-/ Linia, w której wszystko działa: add_rewrite_rule('persons/profile/([^/]+)/?$', 'index.php?pagename =osoby/profil&osoba=$matches[1]', 'góra'); Nie rozumiem, dlaczego nie otrzymałem żadnych komunikatów o błędach (WP_DEBUG był ustawiony na true) i zostałem przekierowany na właściwą stronę (tylko bez parametru zapytania).


title: wyświetlać treści administratora w witrynie publicznej

text: Chciałbym wyświetlić listę stron lub listę postów (lub podobną z wtyczek) z sekcji Admin zalogowanym użytkownikom w interfejsie mojej witryny Wordpress. Jakiś pomysł, jak mogę to zrobić? Muszę udostępnić jego funkcjonalność zalogowanym użytkownikom.


title: Czy jest coś specjalnego wymaganego, aby wtyczka działała w środowisku wielostanowiskowym?

text: Zajmuję się tworzeniem wtyczek od około roku, ale nie mam żadnego doświadczenia ze środowiskami wielostanowiskowymi, ilekroć pojawia się pytanie, które jest specyficzne dla tego środowiska, generalnie jestem zakłopotany. Dzisiaj dostałem pytanie dotyczące Galerii Dokumentów. Pytanie stwierdza, że użytkownik próbował zainstalować wtyczkę jako administrator sieci, ale potem nie mógł zobaczyć wtyczki w desce rozdzielczej administratora sieci lub pojedynczej witryny. Dodatkowo stwierdzają, że shortcode nic nie robi. Tysiące osób korzysta z wtyczki bez żadnego problemu, więc jestem pewien, że działa ona zgodnie z oczekiwaniami w przypadku instalacji innych niż wielostanowiskowe, ale chcę tylko sprawdzić, czy nie ma nic szczególnego w wielostanowiskowej, co mogłoby stworzyć wtyczkę, która w przeciwnym razie działa niefunkcjonalnie przy instalacjach wielostanowiskowych .


title: Jak zmienić format_daty w informacjach o wpisie

text: Więc potrzebuję pomocy w rozwiązaniu problemu. Używam Project Ar2 Theme w wordpressie i mam wątpliwości co do tematu. Chcę przetłumaczyć część motywu, w którym udało mi się przetłumaczyć 'postado' na 'postado', ale chcę przetłumaczyć format_date. Na przykład: www.neilgaiman.com.br Confira sinopse do episódio de Doctor Who Postado **w dniu 27 kwietnia 2013** jak to się stało po portugalsku?


title: Alternatywa dla new_to_publish Hook dla niestandardowych statusów

text: Szukam odpowiedniego haka do wysyłania powiadomienia e-mail po wstawieniu posta. Używam jednak niestandardowych statusów (w tym przypadku „przytrzymanie”), które nie wydają się być trafione hakiem new_to_holding, więc miałem nadzieję, że ktoś zna alternatywę, która zostanie zwolniona po wstawieniu posta, lub być może powód, dla którego tak hak nie działa prawidłowo.


title: Wordpress zwraca 404 w przypadku konfliktu niestandardowej reguły przepisywania w parametrach

text: Postępowałem zgodnie z krokami w odpowiedzi tutaj i zdziałało to cuda. Ale mój problem jest w tej części, na oryginale: add_filter('rewrite_rules_array', 'mmp_rewrite_rules'); funkcja mmp_rewrite_rules($zasady) { $noweZasady = array(); $newRules['custom-post-type-base/(.+)/(.+)/(.+)/(.+)/?$'] = 'index.php?custom_post_type_name=$matches[4]' ; // moja niestandardowa struktura zawsze będzie miała nazwę posta jako piąty segment uri $newRules['custom-post-type-base/(.+)/?$'] = 'index.php?taxonomy_name=$matches[1] '; return array_merge($newRules, $rules); } moja wersja: add_filter('rewrite_rules_array', 'mmp_rewrite_rules'); funkcja mmp_rewrite_rules($zasady) { $noweZasady = array(); $newRules['custom-post-type-base/(.+)/(.+)/(.+)/?$'] = 'index.php?custom_post_type=$matches[3]'; $newRules['custom-post-type-base/(.+)/?$'] = 'index.php?custom_taxonomy=$matches[1]'; return array_merge($newRules, $rules); } Ponieważ moja taksonomia ma dwa poziomy, nie mogła rozpoznać, czy drugi parametr (`custom-post-type-base/(.+)/[tutaj]/`) jest niestandardowym postem, czy niestandardową taksonomią.. zwraca poprawnie w niestandardowej taksonomii, ale zwraca 404 w niestandardowym typie wpisu, przy czym typ wpisu jest skategoryzowany w nadrzędnej taksonomii. Zobacz przykładowe adresy URL: "/custom-post-type-base/taxonomy-parent/taxonomy-child/single-custom-post-type/" /*działa jako pojedynczy niestandardowy post*/ "/custom-post-type-base/ taxonomy-parent/taxonomy-child/" /*działa jako strona taksonomii niestandardowej*/ "/custom-post-type-base/taxonomy-parent/" /*działa również jako strona taksonomii niestandardowej*/ "/custom-post-type -base/taxonomy-parent/single-custom-post-type/" /*zwraca 404*/


title: Naprzemienne klasy CSS dla zawartości dynamicznej

text:
To jest dla galerii, która jest wypełniana automatycznie, obrazy są pobierane ze stron podrzędnych. Układ to: 2 obrazy z rzędu i muszą być odpowiednio wyrównane do lewej i do prawej. Nie potrafię wymyślić sposobu na dodanie odstępu między nimi. * Kiedy dodaję margines lub dopełnienie, drugi obraz zostaje przesunięty do następnej linii; * Bez marginesu są obok siebie (i tylko lewy jest prawidłowo wyrównany). Pomyślałem więc, że naprzemienne klasy CSS mogą działać, ale nie jestem pewien, jak sprawić, by nieparzyste obrazy unosiły się w lewo, a nawet w prawo. A nieparzysta/parzysta klasa obrazów zmieni się w zależności od liczby postów podrzędnych (a tym samym liczby obrazów zaimportowanych na tę stronę Galerii).
 <?php $mypages = get_pages( array( 'child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc' )) ; foreach( $mypages as $page ) { $content = $page->post_content; if ( ! $content ) // Sprawdź pustą stronę kontynuuj; $zawartość = zastosuj_filtry( 'zawartość', $zawartość ); ?>

 <?php echo $treść; ?>
<a href="http://mettedesigns.com/gallery/<?php echo $page->post_title; ?>"><?php echo $page->post_title; ?>

 <?php } ?> <?php endwhile; endif; ?>


title: Ustaw niestandardowy typ posta w ustawieniach widżetu do użycia w widżecie

text:
Próbuję dynamicznie wyświetlić listę wszystkich CPT w menu rozwijanym, ustawić jeden w ustawieniach widżetu, a następnie wyświetlić tę wartość w rzeczywistych danych wyjściowych widżetu. Nie wydaje mi się jednak, żeby to zadziałało. Próbowałem użyć get_post_types, co może być właściwym sposobem na osiągnięcie tego, ale nie mogłem użyć wartości w rzeczywistym widgecie. Mój podstawowy kod widżetu to: <?php /** * Nazwa wtyczki: Wyszukiwanie niestandardowe: Zasoby * URI wtyczki: http://cbdwichita.com * Opis: Tworzy niestandardowy widżet wyszukiwania dla określonego CPT. * Wersja: 1.0 * Autor: Austin Biggs * URI autora: http://cbdwichita.com */ /** * Dodaj funkcję do widgets_init, która załaduje nasz widget. * @od 0.1 */ add_action( 'widgets_init', 'cbd_search_resources_widget' ); /** * Zarejestruj nasz widżet. * 'Example_Widget' to klasa widżetu używana poniżej. * * @since 0.1 */ function cbd_search_resources_widget() { register_widget( 'CBD_Search_Resources' ); } /** * Przykładowa klasa Widget. * Ta klasa obsługuje wszystko, co musi być obsługiwane przez widżet: * ustawienia, formularz, wyświetlanie i aktualizację. Miły! * * @since 0.1 */ class CBD_Search_Resources extends WP_Widget { /** * Konfiguracja widżetu. */ function CBD_Search_Resources() { /* Ustawienia widżetu. */ $widget_ops = array( 'classname' => 'cbd_search_resources', 'description' => __('Wyświetla wyszukiwanie zasobów.', 'przykład') ); /* Ustawienia kontroli widżetów. */ $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'cbd-search-resources' ); /* Utwórz widżet. */ $this->WP_Widget( 'cbd-search-resources', __('CBD Search Resources', 'cbd_search_resources'), $widget_ops, $control_ops ); } /** * Jak wyświetlić widżet na ekranie. */ widżet funkcji( $args, $instance ) { extract( $args ); /* Nasze zmienne z ustawień widżetu. */ //$liczba = $instancja['liczba']; $tytuł = $instancja['tytuł']; $podatek = $instancja['CPT']; // uruchom pętlę wordpress! //if ($query->have_posts()) : /* Przed widżetem (zdefiniowanym przez motywy). */ echo $before_widget; /* Wyświetl tytuł widżetu, jeśli został wprowadzony (przed i po zdefiniowaniu przez motywy). */ //if ( $title ) echo $before_title . $tytuł . $po_tytule; ?>
 <metoda formularza="pobierz" id="formularz wyszukiwania" action="<?php echo home_url() ; ?>/"> <input type="text" value=" <?php echo esc_html($s, 1); ?>" name="s" id="s" maxlength="33" /> <input id="searchsubmit" type="submit" value="Szukaj"> <input type="ukryty" name="post_type" value="cbd_resources"> </form>
 <?php /* ZAKOŃCZ PODCZAS I ZRESETUJ ZAPYTANIE */ wp_reset_query(); //else: //echo 'Brak nadchodzących artykułów'; //endif; /* Po widżecie (zdefiniowanym przez motywy). */ echo $after_widget; } /** * Zaktualizuj ustawienia widżetu. */ aktualizacja funkcji( $nowa_instancja, $stara_instancja ) { $instancja = $stara_instancja; //$instancja['numer'] = strip_tags( $nowa_instancja['numer'] ); $instance['title'] = strip_tags( $nowa_instance['title'] ); $instancja['CPT'] = $nowa_instancja['CPT']; zwróć $instancję; } /** * Wyświetla kontrolki ustawień widżetów w panelu widżetów. * Korzystaj z funkcji get_field_id() i get_field_name() * podczas tworzenia elementów formularza. To radzi sobie z mylącymi rzeczami. */ function form( $instance ) { /* Skonfiguruj kilka domyślnych ustawień widżetu. */ $defaults = array( 'CPT' => '', 'title' => 'Kategorie'); $instancja = wp_parse_args( (tablica) $instancja, $defaults ); ?>
 <label for="<?php echo $this->get_field_id( 'tytuł' ); ?>"><?php _e('Tytuł:' , 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'tytuł' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="szerokość:100%;" />

 <label for="<?php echo $this->get_field_id( 'CPT' ); ?>"><?php _e('Typ posta:', 'przykład'); ?> <select id="<?php echo $this->get_field_id( 'CPT' ); ?>" name="<?php echo $this->get_field_name( 'CPT' ); ?>" style="szerokość:100%;"> <?php $args=array( 'public' => true, '_builtin' => false ); $wyjście = 'obiekty'; // lub obiekty $operator = 'i'; // 'i' lub 'lub' $postTypes=get_post_types($args,$output,$operator); if ($postTypes) { foreach ($postTypes jako $CPT ): ?> <option value="<?php echo $CPT->nazwa; ?>" <?php if($instance['CPT'] == $ CPT->nazwa) echo "selected='wybrany'"; ?>><?php echo $CPT->etykiety->nazwa; ?></option> <?php endforeach; } ?> </select>
 <?php } } ?>


title: niestandardowe permalinki typu post z kategorią i tagami

text: Mam niestandardowy typ postu o nazwie „projekty” i zarejestrowałem taksonomię „design_category” i „design_tag”. Próbuję uzyskać permalinki w następujący sposób, ale nie mam dużo szczęścia – wydaje się, że posiadanie 2 taksonomii powoduje tylko jedną pracę – albo „design_category” albo „design_tag” Chcę permalinków w ten sposób: pojedynczy projekt: url.com/ projekty/design_category/single-design kategoria projektu: url.com/designs/design_category tag projektu: url.com/designs/design_tag istnieje tylko kilka konkretnych kategorii i nie ma tam zbyt wiele miejsca na rozbudowę, więc nigdy nie będzie pasującą kategorię i tag. to jest kod, który muszę stworzyć - po prostu utknąłem na uruchomieniu tagów - ciągle pojawia się błąd 404 :( function create_design() { // Design Tags $labels = array( 'name' => _x( 'Design Tags ', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Tag projektu', 'nazwa pojedyncza taksonomii' ), 'search_items' => __( 'Wyszukaj tagi projektu' ), 'all_items' => __( ' Wszystkie znaczniki projektu' ), 'parent_item' => __( 'Nadrzędne znaczniki projektu' ), 'parent_item_colon' => __( 'Nadrzędne znaczniki projektu:' ), 'edit_item' => __( 'Edytuj znacznik projektu' ), ' update_item' => __( 'Aktualizuj tag projektu' ), 'add_new_item' => __( 'Dodaj nowy tag projektu' ), 'new_item_name' => __( 'Nowa nazwa tagu projektu' ), 'menu_name' => __( 'Design Tags' ), ); register_taxonomy('design_tag',array('design'), array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'projekty' ), ) ); // Kategorie projektu $labels = array( 'name' => _x( 'Kategorie projektu', 'Ogólna nazwa taksonomii' ), 'singular_name' => _x( 'Kategoria projektu', 'Nazwa pojedyncza taksonomii'), 'search_items' => __( 'Wyszukaj kategorie projektów' ), 'all_items' => __( 'Wszystkie kategorie projektów' ), 'parent_item' => __( 'Nadrzędna kategoria projektów'), 'parent_item_colon' => __( 'Nadrzędna kategoria projektów' :' ), 'edit_item' => __( 'Edytuj kategorię projektu' ), 'update_item' => __( 'Aktualizuj kategorię projektu' ), 'add_new_item' => __( 'Dodaj nową kategorię projektu' ), 'new_item_name' => __( 'Nazwa nowej kategorii projektów' ), 'menu_name' => __( 'Kategorie projektów' ), ); register_taxonomy('design_category',array('design'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => array ( 'slug' => 'projekty' ), )); // Utwórz typ posta $labels = array( 'name' => _x( 'Projekty', 'design' ), 'singular_name' => _x( 'Design', 'design' ), 'add_new' => _x( ' Dodaj nowy', 'design' ), 'add_new_item' => _x( 'Dodaj nowy projekt', 'design' ), 'edit_item' => _x( 'Edytuj projekt', 'design' ), 'new_item' => _x ( 'Nowy projekt', 'design' ), 'view_item' => _x( 'Wyświetl projekt', 'design' ), 'search_items' => _x( 'Szukaj projektów', 'design' ), 'all_items' => __( 'Wszystkie projekty', 'projekt' ), 'not_found' => _x( 'Nie znaleziono projektów', 'projekt' ), 'not_found_in_trash' => _x( 'Nie znaleziono projektów w koszu', 'projekt' ), 'parent_item_colon' => _x( 'Projekt nadrzędny:', 'projekt' ), 'menu_name' => _x( 'Projekty', 'projekt' ), ); $args = array( 'labels' => $labels, 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'excerpt', 'autor', 'thumbnail', 'trackbacks' , 'revisions' ), 'taxonomies' => array( 'design_categories', 'design_tags' ), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 5, 'show_in_nav_menus' => prawda, 'publicly_queryable' => prawda, 'exclude_from_search' => fałsz, 'has_archive' => 'projekty', 'query_var' => prawda, 'can_export' => prawda, 'rewrite' => tablica ( 'slug' => 'designs/%design_category%' ), 'capability_type' => 'post' ); register_post_type( 'projekt', $args ); } add_filter('post_type_link', 'design_term_permalink', 1, 3); function design_term_permalink($post_link, $id = 0, $leavename = FALSE ) { if ( strpos('%design_category%', $post_link) === 'FALSE' ) { return $post_link; } $post = get_post($id); if ( !is_object($post) || $post->post_type != 'projekt' ) { return $post_link; } $terms = wp_get_object_terms($post->ID, 'design_category'); if ( !$terms ) { return str_replace('projekty/%design_category%/', '', $post_link); } return str_replace('%design_category%', $terms[0]->slug, $post_link);}


title: Czy istnieje prosty sposób na AJAX-yfikację zapisywania postów?

text: Mamy wtyczkę, która pozwala nam zarządzać niestandardowymi typami postów i chcielibyśmy dodać funkcjonalność AJAX do zapisywania, edycji i usuwania postów. Nie mogłem znaleźć podobnych problemów w Internecie, więc zastanawiam się, czy nie jest to coś łatwego do wykonania?