title: Zautomatyzować aktualizację postów dla wszystkich postów?

text: Udało mi się wypełnić niestandardowe pola pewnymi predefiniowanymi wartościami wszystkich moich postów, ale zmiany nie zaczną obowiązywać, dopóki ręcznie nie zaktualizuję postów. Przykład: // Predefiniowana zmienna i wartość $page_description = "To jest przykładowa wartość, która zostanie umieszczona (echo $page_description) w niestandardowym polu"; // Zmienna echa w polu niestandardowym echo '<input type="text" name="custom-field-name" value="'.$page_description.'" />'; Powyższy przykład działa tak, jak się spodziewałem. Wstawia wartość $page_description do pola niestandardowego; więc kiedy przejdę do edycji tego posta, zobaczę wartość zmiennej. Problem polega na tym, że na bieżącym ekranie edycji, jeszcze bez aktualizacji, jeśli spojrzę na post na interfejsie witryny, to niestandardowe pole nie zostało zaktualizowane/zapisane z tą wartością zmiennej, mimo że widzę na ekranie edycji . Dopiero gdy zaktualizuję post, wartość zmiennej zostanie zapisana na dobre. Mam 1800+ postów, które wymagają aktualizacji. Potrzebuję rozwiązania, aby je zaktualizować. Ktoś zasugerował użycie ajax do automatycznej aktualizacji wszystkich istniejących postów, aby nowe wartości pól niestandardowych zostały zapisane w postach. Przeczytałem artykuł na ten temat, ale nie wiem, jak to zrobić. Lub jeśli istnieje wtyczka, której mogę użyć. Potrzebuję pomocy w tym. Dzięki za wszelkie uwagi! **UDPATE 6-23-11:** To jest kod, który wstawiam do niestandardowego pliku pola mojego motywu: $postauth = get_user_meta($post->post_author, 'nickname', true); /********** UPDATE ALL POST FIELDS Funkcja **********/ //sprawdź, czy dane istnieją if ($postauth){ //jeśli istnieją, wyślij je echo $ pouczenie; }else{ //jeśli nie , zaktualizuj meta posta o wartość domyślną i wypisz ją. $update_author = get_user_meta($post->post_author, 'nick', prawda); update_post_meta($post->ID,'nick',$update_author); echo $aktualizacja_autor; } /********** Koniec UPDATE ALL POST FIELDS Funkcja **********/ Po wstawieniu kodu i dostosowaniu warunków, zapisałem plik i odświeżyłem stronę. Kod powinien aktualizować pole niestandardowe (Autor) dla wszystkich postów należących do autora i zapisywać w tym polu pseudonim autora. Mam oddzielnie zainstalowaną podstawową opcję wyszukiwania, która jest ustawiona na wyszukiwanie w polach niestandardowych. Sprawdziłem więc, czy aktualizacja działa, wyszukując nick danego autora, który opublikował 8 postów. Trzy z ośmiu zostały ręcznie zaktualizowane i pojawiły się w wyszukiwaniu w polu niestandardowym, które przeprowadziłem dla pseudonimu autora. Teraz pozostałe 5 postów nie pojawiło się w wynikach wyszukiwania, co pozwala mi wiedzieć, że wszystkie posty nie zostały zaktualizowane. Czy są na to jakieś rozwiązania? **AKTUALIZACJA 6-24-11:** Szukałem wszędzie w moim motywie, aby dowiedzieć się, gdzie umieścić rozwiązanie dostarczone przez Bainternet, ale bez powodzenia. Używam motywu kuponowego v6.1.4. Poniższy kod umieściłem w: _header.php, _single.php, system_customfields.php. //sprawdź, czy dane istnieją. To sprawdza, czy predefiniowane pole jest puste, czy nie. if ($bizname_field != ''){ //jeśli istnieje, po prostu wypisz echo 'istniejąca wartość'; }else{ //jeśli nie , zaktualizuj meta posta o wartość domyślną i wypisz ją. // Nowa wartość zmiennej $newvalue = 'Nowa wartość tutaj'; update_post_meta($post->ID,'niestandardowa nazwa-pola',$nowawartość); echo $nowawartość; } Kręcę się w kółko i byłbym wdzięczny za pomoc. Wielkie dzięki.


title: wp_insert_post - Jak zapobiec zwiększaniu liczby stron podrzędnych?

text: Używam `wp_insert_post` do dynamicznego generowania stron podrzędnych dla danej strony przy użyciu predefiniowanej tablicy wartości. Celem jest nadanie każdej stronie podrzędnej tego samego sluga. Na przykład kliknięcie „Generuj strony” na „przykładowej stronie” przechodzi przez `wp_insert_post` i tworzy dwie strony podrzędne: /example-page/about /example-page/contact Problem polega na tym, że WordPress dodaje liczby po slugu na strony podrzędne (ponieważ podobne strony podrzędne zostały już utworzone dla innej strony). Domyślam się, że sprawdza dostępność ślimaka niezależnie od relacji rodzic/dziecko. Eksperymentowałem z próbą uruchomienia `wp_update_post` po wstawieniu, ale bezskutecznie. Jakieś pomysły? **UPDATE** Oto przykładowy kod: $new_page = array( 'post_title' => $child_page["title"], 'post_parent' => $parent_id, 'post_name' => $child_page["slug"], ' post_content' => $child_page["content"], 'post_status' => 'publikuj', 'post_type' => 'terytorium' ); $new_page_id = wp_insert_post($nowa_strona); Wyjaśnienie: Przechodzę przez tablicę `$child_pages`, w której ustawiłem unikalne wartości dla title, slug i content.


title: Wyzwalaj zmianę języka w Wordpress

text: Przeczytałem to: http://blog-en.icanlocalize.com/installing-wordpress-for-multiple-language-blogs/how-to-localize-wordpress-themes-and-plugins-with-gettext/ W tej chwili, Mam zainstalowany qTranslate, ponieważ nie mogłem znaleźć sposobu, aby "Trigger" przełączyć się na fr_FR. Używam qTranslate do „przełączania” za pomocą `http://mysite.com/page?lang=fr` Pytanie brzmi więc, jak „uruchomić” przełączenie na inny język bez ręcznego wykonywania następujących czynności: `define ( 'WPLANG', 'fr_FR');'? Z pozdrowieniami, W


title: Kod PHP do wywołania podpisu obrazu, tekstu alternatywnego i opisu?

text:
Czy istnieje kod PHP Wordpress do wywołania podpisu obrazu, tekstu alternatywnego i opisu? Mam kilka obrazów z wypełnionymi tytułami, podpisami, tekstem alternatywnym i polami opisu i chciałbym je wyświetlić na obrazie. Wiem jak nazwać tytuł obrazu:
<?php the_title(); ?>
 Jak to zrobić z innymi polami? Oto próbka reszty mojego kodu (to jest dla pokazu slajdów)
 <?php if ( get_post_meta( $post->ID, "slide_url_value", $single = true) != "" ): ?> <a href="<?php echo get_post_meta($post->ID, "slide_url_value", $single = true); ?>" title="<?php the_title(); ?>"> <? php the_post_thumbnail( 'polecany slajd', array( 'tytuł' => pobierz_tytuł() ) ); ?>  <?php else: ?> <?php the_post_thumbnail( 'polecany-slajd', array( 'title'=>get_the_title() ) ); ?> <?php endif; ?>
<?php the_title(); ?>

 Czy istnieje sposób na użycie `<?php the_field(''); ?>` czy id ślimaki?


title: Jak przewijać miniatury postów?

text:
Mam dwa niestandardowe typy postów, z których każdy ma miniaturę posta. Na mojej stronie głównej mam sekcję, w której chcę wyświetlić miniaturę wpisu każdego z niestandardowych typów wpisów (http://i.imgur.com/pmZozrF.jpg). Chciałbym również umożliwić użytkownikom przewijanie każdego obrazu, klikając przycisk „następny” lub „poprzedni”. Jeśli użyję next_post_link(); link otworzy rzeczywistą stronę następnego posta, ale potrzebuję go tylko do wyświetlenia miniatury następnego posta. Oto moja pętla: $query = new WP_Query( array( 'posts_per_page' => 4, 'post_type' => array( 'klient', 'absolwent'))); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?>
<?php the_title(); ?>
 <?php } wp_reset_postdata(); } else { // pokaż tutaj błąd 404 }


title: Generuj skróty według taksonomii

text:
Sprawdź ten kod: function slide_group() { register_taxonomy('Group', 'slides', array( 'hierarchical' => true /*wizualizacja w kategorii*/, 'label' => 'Group', 'query_var' => true, 'rewrite' => true));} add_action('init', 'slide_group', 0); function square_slider_template() { // Argumenty zapytania $args = array( 'post_type' => 'slides', 'posts_per_page' => 5 ); // Zapytanie $the_query = new WP_Query( $args ); // Sprawdź, czy zapytanie zwraca jakieś posty if ( $the_query->have_posts() ) { // Uruchom suwak ?>

 <?php // Pętla while ( $the_query->have_posts() ): $the_query->the_post(); ?>
 <?php // Sprawdź, czy podano URL slajdu, a jeśli tak, podaj link do niego if ( get_post_meta( get_the_id(), 'square_slideurl', true) != '' ) { ?> <a href ="<?php echo esc_url( get_post_meta( get_the_id(), 'square_slideurl', true ) ); ?>"> <?php } // Obraz slajdu echo the_post_thumbnail(); // Zamknij link do slajdu, jeśli istnieje if ( get_post_meta( get_the_id(), 'square_slideurl', true) != '' ) { ?>  <?php } ?>
 <?php koniec; ?>

 <?php } // Zresetuj dane posta wp_reset_postdata(); } // Slider Shortcode function square_slider_shortcode() { ob_start(); szablon_suwaka_kwadratowego(); $suwak = ob_get_clean(); zwróć suwak $; } add_shortcode( 'suwak', 'square_slider_shortcode' ); Ten kod tworzy suwak oparty na niestandardowym typie posta „suwak” przy użyciu obrazu miniatury. Stworzyłem też niestandardową taksonomię. To, co chciałbym zrobić, to utworzyć pętlę „foreach” opartą na taksonomii-termie, która tworzy krótki kod z nazwą taksonomii-terminu ( [projekt], [develop] itp. LUB [typ suwaka=projekt], [typ suwaka= rozwijać] ), które zawierają tylko posty taksonomii_term. Na przykład [projekt] zawiera/wyświetla tylko post z taksonomią projektowania, [develop] zawiera/wyświetla tylko post z taksonomią projektowania itp. # EDYCJA/AKTUALIZACJA #2 Jestem na tym etapie: function square_slider_shortcode( $atts = array (), $content = '' ) { $atts = shortcode_atts( array( 'type' => '00', // typ domyślny ), $atts, 'square_slider' ); // Oczyść dane wejściowe: $pid = sanitize_title( $atts['type'] ); // Wyjście return square_slider_template( $pid ); } add_shortcode( 'suwak', 'square_slider_shortcode' ); function square_slider_template( $pid = '' ) { $args = array( 'post_type' => 'slides', 'p' => $pid, ); ?> <?php // Zapytanie $query = new WP_Query( $args ); // Sprawdź, czy zapytanie zwraca jakieś posty if ( $query->have_posts() ) { // Uruchom suwak ?>

 <?php // Pętla while ( $query->have_posts() ): $query->the_post(); for ($i = 1; $i <= 10; $i++): $num_slide="slide_" . $i; $slide = get_field($num_slide); ?> <?php if (!empty($slide)): ?>
<img src="<?php echo $slide; ?>">
 <?php endif; ?> <?php endfor; ?> <?php koniec; ?>

 <?php } // Zresetuj dane posta wp_reset_postdata(); } Rozwiązałem w ten sposób, tworzę pętlę ze slajdów i tworzę slider. Nie jest to sprytny ani właściwy sposób, ale działa :) AKTUALIZACJA: wszystko działa, ale suwak pojawia się **zawsze** na górze strony, niezależnie od pozycji w edytorze. Próbowałem umieścić go w innym krótkim kodzie, takim jak `[jeden_trzeci][typ suwaka="98"][/jeden_trzeci][jeden_trzeci_ostatni] zwykłe słowa[/jeden_trzeci_ostatni]`, ale pojawia się poza znacznikiem div, jak widać na obrazku! [tu wpisz opis obrazu](http://i.stack.imgur.com/umMLx.png)


title: Jak ustawić kompresję obrazu jpg dla określonych rozmiarów miniatur?

text: To pytanie zostało zadane podczas ustawiania kompresji JPEG dla określonych niestandardowych rozmiarów obrazu i bardzo ładnie odpowiedział przez Ahmada M. Oczywiście skomentowałbym ten wątek, ale nie mam 50-punktowej reputacji ... Kod, którego używam, jest dość duży to samo, co w odpowiedzi Ahmeda, ale problem, z którym nadal mam do czynienia, polega na tym, że używam określonego rozmiaru miniatury w moim motywie. Na przykład mam siatkę mniejszych pudełek na mojej stronie głównej i mają one obrazy o szerokości 260px. Jeśli przesłany obraz jest oryginalnie mniejszy niż ten, do którego zostałby przeskalowany przez funkcję Ahmeda, oczywiście nie zmieni rozmiaru (ani nie powinien), ale także nie skompresuje obrazu. **Przykład:** jeśli prześlę obraz o wymiarach 1200 x 800 i użyję go na mojej stronie głównej, zostanie on zmniejszony do mniejszego rozmiaru (szerokość 520 pikseli, czyli 260 pikseli *2 w przypadku wyświetlaczy Retina), a jakość jest skompresowana. Miły! Ale jeśli prześlę obraz, który ma już, powiedzmy, 500 pikseli szerokości (mniej niż 520 pikseli), nie zostanie zmieniony rozmiar, ale też nie zostanie skompresowany. Bardzo szybko witryna moich klientów zawiera wiele obrazów o dużym rozmiarze pliku i ładuje się powoli. Jak zmienić tę funkcję, aby zawsze kompresować obrazy do dowolnej jakości, jakiej chcę, aby były miniatury, niezależnie od ich oryginalnych wymiarów? Kod: //obsługa polecanych obrazów add_theme_support( 'post-miniaturki' ); add_image_size( 'kciuk w polu wiadomości', 520, 9999 ); // masonry news box-images =260px (520 siatkówki) i nieograniczona wysokość add_image_size( 'fprelease-thumb', 112, 9999 ); // logo kanału fprelese, 56px (112px siatkówka) // http://wordpress.stackexchange.com/questions/74103/set-jpeg-compression-for-specific-custom-image-sizes // ustaw jakość na maksymalną add_filter ('jpeg_quality', create_function('$jakość', 'zwróć 100;')); add_action('added_post_meta', 'ad_update_jpeg_quality', 10, 4); function ad_update_jpeg_quality($meta_id, $attach_id, $meta_key, $attach_meta) { if ($meta_key == '_wp_attachment_metadata') { $post = get_post($attach_id); if ($post->post_mime_type == 'image/jpeg' && is_array($attach_meta['rozmiary'])) { $pathinfo = pathinfo($attach_meta['file']); $ przesłane = wp_upload_dir(); $katalog = $przesyłane['basedir'] . '/' . $pathinfo['dirname']; foreach ($attach_meta['sizes'] as $size => $value) { $image = $dir . '/' . $wartość['plik']; $resource = imagecreatefromjpeg($image); if ($size == 'newsbox-thumb') { // ustaw jakość jpeg dla 'newsbox-thumb' size imagejpeg($resource, $image, 60); } elseif ($size == 'fprelease-thumb') { // ustaw jakość jpeg dla rozmiaru 'fprelease-thumb' imagejpeg($resource, $image, 85); } else { // ustawienie jakości jpeg dla pozostałych rozmiarów imagejpeg($resource, $image, 80); } // lub możesz pominąć konkretny rozmiar obrazu // i ustawić jakość dla reszty: // if ($size == 'splash') continue; imagedestroy($zasób); } } } }


title: get_post_meta wielu postów?

text: Próbuję uzyskać kluczowe wartości dla wielu postów za pomocą get_post_meta, ale do tej pory nie mam szczęścia. Krótko mówiąc, mam funkcję, która dodaje „głosy” i „tevoters” do każdego postu. Chcę sprawdzić, czy czyjś identyfikator użytkownika znajduje się w którymkolwiek z pól „thevoters” (obejmującym wiele postów), nie będzie on mógł ponownie głosować. Następujące zapytanie pobiera wartość określonego posta. Muszę uzyskać wartości we wszystkich postach z tym kluczem. $voters = get_post_meta($id, 'thevoters', true); Moje zapytanie SQL to: SELECT * FROM `carcrazy_postmeta` WHERE meta_key='thevoters' Używam tego kodu do głosowania jako odniesienia - http://bavotasan.com/tutorials/simple-voting-for-wordpress-with-php-and - jquery/ Jakieś pomysły?


title: Jak wykluczyć posty, które mają określoną meta_value?

text: Chcę wykluczyć niektóre posty ze strony głównej. Więc chcę używać metadanych i filtrować wszystkie posty, które są podpisane przez meta_value=0. Tak: $args = array( 'posts_per_page'=>28, 'meta_query' => array( array( 'key' => 'show_on_home', 'value' => '0', 'compare' => 'NIE PODOBNE ' ) ) ); $zapytanie = nowe WP_Query( $args ); Tak więc, jeśli podpiszę jakiś post z meta_key=0, nie pojawi się. Problem polega na tym, że mam wiele postów, które nie mają metadanych i nie chcę ich filtrować.


title: Zmień zapytanie posta onclick

text: Staram się zbudować coś w rodzaju systemu filtrowania zdarzeń wyświetlanych na mojej stronie. Zrobiłem niestandardowy wpis typu „Wydarzenie” z polem „Miasto”. Na mojej stronie szablonu „kalendarz” zbieram wszystkie zdarzenia w ten sposób: $querystr = „SELECT * FROM $wpdb->posts wposts, $wpdb->postmeta metastart WHERE wposts.ID = metastart.post_id AND metastart.meta_key = '_cp_date' AND wposts.post_type = 'Event' AND wposts.post_status = 'publish' AND metastart.meta_value >= DATE_FORMAT(CURRENT_DATE(), '%m/%d/%Y') ORDER BY metastart.meta_value ASC " ; $wydarzenia = $wpdb->get_results($querystr, OBJECT); A potem pętla je wyświetlająca. To, co chciałbym zrobić, to mieć przyciski, które po kliknięciu uruchamiałyby kolejne zapytanie SQL z dopasowaniem do miasta, a następnie zastępowałyby treść wynikiem tego nowego zapytania. Zastanawiam się, jaki byłby „najlepszy” sposób, aby to osiągnąć. Czy ajax nie byłby moim rozwiązaniem?


title: Co jest nie tak z tym Shortcode? Dostaję go w niewłaściwym miejscu w treści

text:
Cześć społeczności, próbuję zbudować krótki kod, który drukuje logo Creative Commons i trochę tekstu, wszystko działa dobrze, z wyjątkiem tego, że umieszczam krótki kod na końcu posta, ale krótki kod trafia na górę treści posta, użyj poniższego kodu: <?php // Creative Commons License Shortcode function creativecommons( $atts, $content = null ) { extract( shortcode_atts( array( 'type' => '', 'code' => '', ), $atty ) ); { ?>

 <img src="<?php bloginfo('katalog_szablonów'); ?>/images/cc.png" width="32" height="32" alt="Licencja Creative Commons" />

<?php echo $type ?>
 <?php echo $code ?>

 <?php }         zwrócić; } add_shortcode('cc1', 'creativecommons'); ?> Czegoś tu brakuje lub coś innego ma związek z moim problemem? Wielkie dzięki, Filipie


title: Przekierowanie do listy postów taksonomii po przesłaniu posta.

text: Jestem w stanie przekierować użytkownika z powrotem do strony administratora edit.php po pomyślnym utworzeniu/aktualizacji posta. Czy jest jednak możliwe przekierowanie ich na stronę postów z terminami taksonomii? W ten sposób, gdy użytkownik utworzy post, zostanie przekierowany na stronę z listą postów administratora, która pokazuje tylko ten post i inne z tym samym terminem taksonomii. Każda pomoc jest mile widziana. Dziękuję!


title: Czy istnieje określony termin dla wtyczek, które są określone w poście Wordpress przy użyciu komentarzy?

text: Czym są wtyczki dodawane do posta lub strony za pomocą komentarzy... na przykład znam tag `<!--nextpage-->` (jest to część Wordpressa, a nie wtyczka...), ale ja' zakładając, że mogą istnieć wtyczki z funkcjonalnością umieszczaną w poście w podobny sposób. Jak nazywają się wtyczki działające w ten sposób?


title: Wtyczka Wordpress do map z określonymi tweetami?

text: Czy jest jakaś wtyczka do Wordpressa, której możesz nadać listę starych tweetów (określonych przez adres URL lub numer tweeta (na przykład: http://twitter.com/#!/leeand00/status/20215977534820353) i umieścić je na mapie, który będzie się powoli przemieszczał między nimi (w trybie demonstracyjnym), a następnie umożliwi użytkownikowi kliknięcie tych tweetów?(Pomyślałem, że sprawdzę przed wdrożeniem jednego) PS Czy ktoś może otagować ten post "Mapami Google" lub "Mapami" proszę .


title: Jak usunąć metabox taksonomii w stylu kategorii (hierarchicznym)?

text: Zastanawiałem się, czy ktoś może mi w tym pomóc. Obecnie śledzę samouczek Shibashake dotyczący tworzenia niestandardowych meta-boksów, które obejmują wybór taksonomii: http://shibashake.com/wordpress-theme/wordpress-custom-taksonomy-input-panels . Pokazują, jak usunąć standardowy metabox, który Wordpress automatycznie tworzy dla taksonomii za pomocą funkcji remove_meta_box. Jedynym problemem jest to, że funkcja z jakiegoś powodu nie działa na taksonomiach, które działają jako kategorie, tj. takie, w których opcja hierarchiczna jest ustawiona na true. Wiem, że funkcja działa, ponieważ te skonfigurowane jako tagi znikają dość łatwo. Nie mogę, jeśli to po prostu nie jest możliwe lub jeśli jest coś specjalnego, muszę dodać jeden z parametrów, aby to zadziałało. Przykład: $args = array( 'hierarchical' => false, 'label' =>'Ludzie', 'query_var' => true, 'rewrite' => true ); register_taxonomy('osoby', 'post',$args); remove_meta_box('tagsdiv-ludzie','post','strona'); To działa dobrze. Jeśli jednak ustawię hierarchię na „prawda”, meta pole pozostanie na swoim miejscu. Czy ktoś może rzucić nieco światła?


title: Automatyczne dodawanie akapitów do pola niestandardowego?

text:
hej chłopaki, czy możliwe jest automatyczne formatowanie tekstu w niestandardowym polu wprowadzania za pomocą akapitów? np. jak normalny widżet tekstowy, który ma opcję powiedzenia „automatyczne dodawanie akapitów”, gdy występuje łamanie wiersza. Chcę tylko, aby moi autorzy blogów oszczędzili pisania na końcu każdej linii w niestandardowym polu! czy jest na to sposób? aktualizacja: <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); $sidebar_title = get_post_meta($post->ID, 'sidebar-title', $single = true); $sidebar_text = get_post_meta($post->ID, 'sidebar-text', $single = true); ?> <?php if ( $sidebar_title !== '' && $sidebar_text !== '' ) { ?>

<?php echo wpautop($tytuł_paska bocznego, $br); ?>
 <?php echo wpautop($tekst_paska bocznego, $br); ?>
 <?php } ?> <?php endwhile; ?> <?php endif; ?>


title: Meta wartość profilu użytkownika jako pole niestandardowe

text: Chciałbym automatycznie dodać niestandardowe pola do wszystkich moich niestandardowych typów postów `blogów` na podstawie danych z pola profilu autora. Mój kod: function add_custom_field_automatically($post_ID) { global $wpdb; $curauth = get_userdata($author->ID); if (! wp_is_post_revision($post_ID)) { $themevalue = get_the_author_meta('themeperauthor', $author->ID); $nazwamotywu = 'autor motywu'; add_post_meta($post_ID, $nazwamotywu, $wartośćmotywu); }     }      Proszę pomóż.


Jak utworzyć niestandardową wtyczkę pokazu slajdów Wordpress? Szukałem samouczków w Google, ale nie mogłem ich znaleźć, czy moglibyście podać tu samouczek lub link do innych niestandardowych samouczków wtyczek pokazu slajdów?


title: Jak automatycznie utworzyć indeks witryn podrzędnych w głównym adresie URL dla instalacji wielostanowiskowej?

text: Mam multisite Wordpress z różnymi witrynami podrzędnymi dla różnych lokalizacji geograficznych. W głównym adresie URL chcę wyświetlić stronę indeksu z linkami do witryn podrzędnych. 1. Jak automatycznie wypełniać łącza do witryn podrzędnych? 2. Jak automatycznie wypełnić opisy witryn dla witryn podrzędnych? 3. Jak utworzyć mapę Google ze znacznikami reprezentującymi witryny podrzędne, zakładając, że lokalizacje witryn podrzędnych są wpisane w opisach witryn?


title: Wp_Nav_Menu - Zidentyfikuj ostatni element menu

text: Mam poziome górne menu z solidną ramką po prawej stronie. <?php wp_nav_menu( array('theme_location' => 'primary', 'container' => '', 'menu_class' => 'nav', 'fallback_cb' => '') ); ?> Mój CSS wygląda tak: body > header .nav li a { background: none; dekoracja tekstu: brak; rodzina czcionek: 'Open Sans', bezszeryfowa; rozmiar czcionki: 13px; kolor: #000000; cień tekstu: brak; transformacja tekstu: wielkie litery; obramowanie po prawej: stałe 1px #000000; } Teraz działa to dobrze, ale zgodnie z oczekiwaniami tworzy obramowanie po prawej stronie ostatniego elementu menu. To nie wygląda dobrze, czy jest tak, aby konkretnie zidentyfikować ostatni element w menu, abym mógł umieścić na nim styl „obramowanie: brak”. Pozdrawiam, Stephen


title: Konwencje nazewnictwa podczas korzystania z przestrzeni nazw (PHP5)?

text: Zakładając, że pracujesz nad pakietem tylko dla PHP 5.3+, jakie są konwencje przestrzeni nazw w przypadku wtyczek Funky_Monki\Banana_Blogger_Plugin\Admin::Banana_Tosser Plugins\Funky_Monkey_Banana_Blogger\Admin::Banana_Tosser?


title: Jak zmienić konkretną etykietę administratora

text: Próbuję zmienić na backendzie z: Wygląd -> Nagłówek do wyglądu -> Logo Ale odpowiedź Zmiana etykiet w menu administratora do tej pory nie pomogła. Jakaś nowa wskazówka? Dziękuję


title: Naprawiono stronę główną

text: Jestem nowy w Wordpress. Wybacz, jeśli to proste pytanie. Jak zrobić stałą (statyczną) część (sekcję) na stronie głównej (strona główna) witryny WordPress przed częścią bloga? Z góry dziękuję.


title: Pokaż wszystkie filmy według nazwy tagu

text: Muszę pobrać wszystkie filmy według nazwy tagu, używam takiego kodu $tax_terms = get_terms('media_category', 'orderby=count&order=DESC&hide_empty=0'); foreach ( $tax_terms as $tax_term ) { $posts = get_posts(array( "meta_key" => 'select', "meta_value" => 1, "post_mime_type" => "video", "taxonomy" => $tax_term-> taksonomia, "term" => $tax_term->slug, "numberposts" => 100, "posts_per_page" => 100)); ?> Ale to zapytanie nie zwraca żadnych elementów, w czym problem?


title: użyj innego motywu tylko na jednej stronie

text: Jestem nowicjuszem w wordpressie. Cały dzień szukałem rozwiązania. http://codex.wordpress.org/Theme_Development i http://codex.wordpress.org/Template_Hierarchy#Visual_Overview nie dały mi tego, czego potrzebuję. Dostępne są motyw1 — ogólny motyw witryny i motyw2 — ten, którego chcę użyć tylko na jednej stronie. Udało mi się stworzyć szablon do użycia dla tej niestandardowej strony, który wykorzystuje pliki page.php, header.php i footer.php z theme2, ale bez radości. Strona stała się bałaganem. Myślę, że to, co wymaga zmiany, to plik .css strony. Czy jest jakiś sposób na zaimportowanie tego też z theme2? Dziękuję


title: Dwie wtyczki używające the_title; jeden nie przechodzący drugiego param.

text: Używam dwóch wtyczek, które używają the_title, ale jedna (choć nadal w pełni funkcjonalna) pokazuje błąd na niektórych stronach. Brakujący argument 2 dla pfund_handle_title() w ...wp-content/plugins/personal-fundraiser/includes/user.php w wierszu 639 Powiedziano mi, że to dlatego, że nie przekazuje drugiego wymaganego parametru the_title. Oto mój oryginał ? na forach WP: http://wordpress.org/support/topic/plugin-personal-fundraiser-missing-argument-2-for-pfund_handle_title-in-userphp-on-line-639?replies=4#post-2682690 Druga wtyczka to Blog in Blog. Po dezaktywacji błąd znika, więc jestem pewien, że to ten. Nie chcę ustawiać debugowania w wp-config na false, ponieważ, cóż, nie chcę, aby to BYŁO false. Oto wiersz z wtyczki Blog in Blog, który odwołuje się do_tytułu. $data['post_title'] = apply_filters('the_title', $post->post_title); Czy jest coś, co mogę zrobić, aby to zadziałało bez wyświetlania błędu?


title: Miniatury do dołączania treści z bazy danych za pośrednictwem ajax

text: **Całkowicie przeredagowane pytanie:** wyświetlam okładki albumów muzycznych jako miniatury w szablonie strony. Chciałbym móc kliknąć miniaturę albumu i pobrać odpowiednie szczegóły tego albumu z bazy danych i użyć ich w posiadanym odtwarzaczu multimedialnym, który wyświetli się na górze strony. Gdy klikniesz inną okładkę albumu, zapełni ona odtwarzacz u góry różnymi informacjami o albumie (grafika, tytuł, utwory, adresy URL strumieniowania itp.) Wszystkie informacje o albumie są przechowywane w bazie danych jako tablice dostępne za pomocą zmiennych PHP $dicography, $album, $track (można używać w pętlach PHP jako $album[$i], jeśli ma to sens). Mogę uzyskać wszystkie potrzebne informacje za pomocą PHP, ale ładuje wszystkie odtwarzacze na stronę jednocześnie. Chciałbym załadować tylko dane jednego odtwarzacza/albumu dla odtwarzacza odpowiadającego okładce albumu, który jest klikany przez ajax, jeśli to możliwe. Myślę więc, że moim głównym pytaniem byłoby, jak uzyskać dostęp do właściwych pozycji w tablicy, aby dołączyć dane do sekcji teraz odtwarzanej na górze szablonu strony po kliknięciu okładki albumu. Niektóre motywy, które działają podobnie: ujawnij, yin-i-yang Z góry dziękuję!


title: Jak zmodyfikować wynik HTML elementu galerii (za pomocą shortcode galerii)?

text: Jestem trochę zagubiony w tym prostym problemie, więc pomyślałem, że przyjdę i zapytam profesjonalistów. Właśnie usłyszałem od mojego klienta, że w galerii ich stron nazwa i opis znajdują się w tym samym wierszu. na przykład, jeśli obraz nazywa się ABC, a opis to „123”. wyjście to "ABC-123" w jednym wierszu.so itd wygląda tak: -------- | Zdjęcie | -------- ABC-123 Chce imię i nazwisko w jednej linii, a opis w drugiej, na przykład: -------- | Zdjęcie | -------- Problem ABC 123 polega na tym, że nawet nie wiem, czego szukam, jeśli chodzi o edycję kodu, aby dokonać tej prostej zmiany. W kodzie wyjściowym id wystarczy wpisać szybki tag „br” lub coś w tym rodzaju, ale znowu nie wiem, gdzie dokonać tej zmiany. W ramach pracy poszedłem dalej na moim lokalnym serwerze i w obszarze podpisów pod zdjęciami umieściłem "ABC 123" i zadziałało. umieścił nazwę i opis w 2 liniach, ale w tej galerii jest DUŻO zdjęć i jestem pewien, że jest coś bardziej przejrzystego i eleganckiego niż to obejście lol. jakieś pomysły, gdzie mogę edytować kod? używam najnowszej wersji WP i wszystkiego, chociaż mój motyw jest niestandardowy, ale zasadniczo jest domyślny i nie ma w tym nic szalonego. Zastanawiam się tylko, kiedy dodajesz kod galerii, na przykład [gallery link="file" orderby="rand"] , do której strony lub bloku kodu się to odwołuje? Z góry dziękuję


title: wp_list_categories z show_count, z wyjątkiem określonych kategorii

text: Chcę wyświetlić liczbę postów dla wszystkich wyświetlonych kategorii podrzędnych, ale nie dla ich kategorii nadrzędnych. Lub, ponieważ istnieją tylko 3 kategorie nadrzędne, to wykluczenie może dotyczyć identyfikatora kategorii. Czy jest na to sposób? Poza tym niestety numer nie jest zapakowany w żaden element, więc nie mogę wymyślić żadnego sposobu na ukrycie go w CSS.


title: Niestandardowy formularz kontaktowy nie wysyła (ale nie podaje błędu)

text:
mam nadzieję, że wszystko idzie dobrze. Próbuję dodać niestandardowy formularz kontaktowy do sekcji strony głównej. Natknąłem się na niestandardowy formularz kontaktowy pod adresem https://gist.github.com/hansspiess/6815875. Zaimplementowałem kod na mojej stronie głównej, aby wykorzystać niestandardową stylizację motywu opartego na Zurb Foundation, którego używam. Wygląda na to, że formularz sprawdza się poprawnie i wyświetla odpowiednie komunikaty o błędach. Po „udanym” przesłaniu otrzymuję alert o powodzeniu, ale w rzeczywistości NIE otrzymuję wiadomości e-mail na adres e-mail administratora. Próbowałem również ręcznie wstawić alternatywne adresy e-mail do mojej zmiennej $mailto. Mam nadzieję, że może mi brakować czegoś oczywistego, każda pomoc byłaby bardzo mile widziana. Moja strona to ajinin.com Oto logika php, którą umieściłem nad `<?php get_header(); ?>`: <?php /* łańcuchy odpowiedzi */ $missing_fields = 'Proszę wypełnić wszystkie pola.'; $email_invalid = 'Twój adres e-mail jest nieprawidłowy.'; $trapped = 'Proszę nie wywoływać tej strony za pomocą skryptów.'; $error = 'Wiadomość nie mogła zostać wysłana.'; $sukces = 'Dziękuję! Wiadomość została wysłana'; /* przetwórz post vars, pozostaw honeypot w stanie surowym */ $submitted = sanitize_text_field( $_POST['scf_submitted'] ); $name = sanitize_text_field( $_POST['scf_name'] ); $email = sanitize_text_field( $_POST['scf_email'] ); $wiadomość = sanitize_text_field( $_POST['scf_message'] ); $honeypot = $_POST['scf_message2']; /* zmienne wp_mail */ $mailto = get_option( 'admin_email' ); $subject = 'Wiadomość od ' . get_bloginfo('nazwa'); $headers = 'Od:' . $e-mail . "\r\n" . 'Odpowiedzieć do: ' . $e-mail . "\r\n"; if ( $submitted ) { if ( $honeypot != "" ) { scf_response("alert-niebezpieczeństwo", $trapped); } else { if ( !$nazwa || !$email || !$wiadomość ) { $alert[] = $brakujące_pola; } if ( !is_email( $email ) && $email ) { $alert[] = $email_invalid; } if ( empty( $alert ) ) { if ( wp_mail( $mailto, $subject, strip_tags( $message ), $headers ) ) { $alert[] = $success; scf_response("sukces", $alert); unset( $submitted, $name, $email, $message, $honeypot ); } else { $alert[] = $błąd; scf_response("alarm", $alert); } } else { scf_response("ostrzeżenie", $alert); } } } /* wyświetlaj alert html */ function scf_response( $class, $alertArr ){ global $response; $alertStr = implode( '
', $alertArr ); $response = '
' . $alertStr . '×
'; } ?> Oto formularz HTML:

PYTANIA LUB UWAGI? POWIEDZ NAS.

 <?php echo $odpowiedź ?>

 <form role= "formularz" action="<?php the_permalink(); ?>" method="post">

 Nazwa <input type="text" id="scf_name" name="scf_name" value="<?php echo $name; ?>">

 E-mail <typ wprowadzania ="text" id="scf_email" name="scf_email" value="<?php echo $email; ?>">

 Wiadomość < textarea rows="4" id="scf_message" name="scf_message"><?php echo $message; ?></textarea>

 message2 <input type="text" name="scf_message2" name="scf_message2">

 <input type="hidden" name="scf_submitted" value="1"> <button type="submit" class="button medium blue">Wyślij</button>

 </form>

 Dziękuję za wszelką pomoc. Jeśli ktoś ma alternatywną metodę lub zna samouczek dotyczący niestandardowego formularza kontaktowego, któremu ufa, daj mi znać. Najważniejszą rzeczą dla mnie jest to, że potrafię precyzyjnie kontrolować strukturę html/css.


title: Usuwanie domyślnych widżetów motywu

text: Próbuję usunąć domyślne widżety w motywie, który znalazłem tutaj: http://top-wordpress.net/ Motywem jest Terapathy. W przypadku niektórych najczęściej używanych motywów, jeśli wybiorę niestandardowe widżety, domyślne widżety motywów znikną. Ale w przypadku motywu Terapathy lub któregokolwiek z motywów znalezionych w tej witrynie nie jest to możliwe. Czy mogę coś zrobić, aby usunąć te widżety.


title: Nawigacja jednym postem w ramach każdej kategorii

text:
Mam około 10 różnych postów kategorii itp. Jak wiesz, w każdej kategorii znajduje się następna i poprzednia nawigacja, aby przełączać się między postami. Kiedy dotrzesz do Ostatniego postu w kategorii, następna nawigacja przeniesie Cię do kategorii NEXT... Moje pytanie brzmi, czy istnieje sposób na pętlę tylko w obrębie kategorii z następnym i poprzednim? // Pętla kategorii if (function_exists('childtheme_override_category_loop')) { function thematic_category_loop() { childtheme_override_category_loop(); } } else { function thematic_category_loop() { while (have_posts()) : the_post(); tematyczny_nadpost(); ?> <div id="post-<?php the_ID();echo ''" '; if (!(THEMATIC_COMPATIBLE_POST_CLASS)) { post_class(); echo '>'; } else { echo 'class="'; thematic_post_class(); echo '">'; } tematyczny_postheader(); ?>
 <?php theme_content(); ?>
 <?php thematic_postfooter(); ?>
 <?php thematic_belowpost(); koniec; } } // koniec pętli kategorii


title: Nieprawidłowe przesyłanie/edycja obrazu: „Dane obrazu nie istnieją. Prześlij obraz ponownie”.

text: Obraz jest przesyłany (powoli) i wyświetla się w oknie multimediów. Ale rozmiar pokazuje " **(0 × 0)** " i jeśli spróbuję użyć przycisku _Edytuj obraz_, nie mogę edytować obrazu, ale zamiast tego otrzymuję komunikat: _**"Dane obrazu nie istnieją. Prześlij ponownie obraz."_** Mam 2 różne instalacje WP, każda z unikalnymi wtyczkami, a problem występuje w obu instalacjach _Czy to ostatnia aktualizacja WP 3.1? Czy to wtyczka? Inny?_


title: Gdzie jest plik get_header('shop') w szablonach Woocommerce

text: Muszę zmodyfikować plik **get_header('shop')** w Woocommerce, ale nie wiem, gdzie się on znajduje, jeśli ktoś wie, pomóż mi - dzięki!


title: Szukasz powiązanej wtyczki do postów, która wsuwa się jak ta na inc.com

text: Czy ktoś zna wtyczkę „powiązanego posta” o zachowaniu podobnym do tego na inc.com. Aby zobaczyć demo, odwiedź dowolny artykuł na inc.com (np.: http://www.inc.com/guides/2010/10/how-to-design-a-great-about-us-page.html) przewiń w dół do końca artykułu i zauważysz wysuwające się okienko z prawego dolnego rogu strony. Chociaż jest to jak każda inna powiązana wtyczka do postów, uważam, że jej zachowanie zwiększa retencję witryny. Pomocne będą wszelkie wskazówki. Z góry dziękuję


title: Usuwanie opcji komentarza

text: Pracuję nad motywem, który znalazłem tutaj: http://top-wordpress.net/ Tematem jest Terapy. Wyłączyłem opcję komentowania w panelu administracyjnym, ale posty na blogu pokazują, że „komentowanie jest niedozwolone”. Chcę całkowicie wyłączyć komentarze, aby blog wyglądał jak witryna (nic o komentarzach nie powinno pojawiać się w postach i na stronach). Jak mogę wyłączyć komentowanie w powyższych szablonach. W index.php usunąłem ten wiersz: <a href="<?php the_permalink() ?>#comments"><?php comments_number('0 komentarzy','1 komentarz', '% Uwagi'); ?> Teraz posty na stronie głównej nie pokazują, ile jest tam komentarzy. Teraz jedyne, co należy zrobić, to całkowite usunięcie opcji komentowania z szablonu. Jak to osiągnąć? Edycja: błędnie napisałem nazwę motywu. Oto link do demonstracji


title: WordPress dodaje rel="nofollow" i target="_blank" do wewnętrznych linków w postach i na stronach

text: Z jakiegoś powodu WordPress zaczął dodawać rel="nofollow" i target="_blank" do niektórych moich linków w moich postach i stronach. Nie do wszystkich moich linków, ale losowo. Naprawdę nie wiem dlaczego, ponieważ kiedy edytuję mój post, jest to zwykły link bez rel="nofollow" i target="_blank". Dodanie target="_self" lub rel="dofollow" niczego nie zmienia. Dlaczego tak się dzieje i jak mogę rozwiązać ten problem? Ktoś ma ten sam problem i zna rozwiązanie? Z góry dzięki :) To jest przykładowa strona i mówię o linku "panele sterowania"


title: Dostosowane strony docelowe dla kategorii

text: Kiedy teraz klikam na kategorię, wygląda to tak.. > Archiwa kategorii: MojaKategoria > > pierwszy post > > drugi post > > trzeci post.. Chcę dostosować te strony docelowe do specjalnych kategorii, dodać tekst, zdjęcia, html. Jak to zrobić, najprościej, bez wtyczek. Może istnieć plik do sklonowania, na przykład content-category-mycategory.php?


title: Jak usunąć pole tr w tabeli w woocommerce?

text: Prowadzę woocommerce na mojej witrynie Wordpress. Tam w mojej tabeli zamówień mam pole, w którym jest napisane wysyłka = Darmowa wysyłka. Jak mogę usunąć ten tr i gdzie muszę go edytować/zmieniać? Załączono migawkę. ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/84kH4.png)


title: Problem z ładowaniem index.php

text: Zamiast ładować index.php, ładuje się moja strona.php.Nie rozumiem problemu.Proszę mi pomóc.Treść treści nie jest wyświetlana.


title: 2 tygodnie temu z meta kwerendy meta wartość

text: To jest moje zapytanie meta w moim zapytaniu o posty. 'meta_query' => array( array( 'key' => 'rw_membership_ends', 'value' => ???????? 'compare' => '>=', 'type' => 'DATETIME' ), ) Chcę wybrać posty, które mają rw_membership_ends (w formacie datetime) starsze niż bieżąca wartość rw_membership_ends złożona minus 14 dni. Co powinienem wpisać w „wartość”? Potrzebuję czegoś takiego jak 'meta_query' => array( array( 'key' => 'rw_membership_ends', 'value' => 'rw_membership_ends_value' - 14 dni 'compare' => '>=', 'type' => 'DATETIME ' ), )


title: Wirtualne strony generowane przez wtyczkę

text: Obecnie pracuję nad moją pierwszą wtyczką WP. Ta wtyczka powinna generować dynamiczne strony w locie, jeśli zażądano stałego, nieistniejącego adresu URL. Oznacza to, że chcę, aby moja instalacja akceptowała adresy typu `http://www.mydomain.de/wordpress/mydatatool?page=format&format=mixed`. Jeśli taki adres URL zostanie wywołany, powinien zostać wykonany skrypt PHP, który wygeneruje stronę pokazującą interfejs użytkownika JS oparty na AJAX, który umożliwia analizę informacji z bazy danych. Strona ta nie może zawierać treści statycznych ani nie powinna być dodawana (automatycznie lub ręcznie) do bazy danych WP. Powinna być tworzona na żądanie jako strona ulotna. Przypuszczam, że wiem, jak mogę złapać żądanie URL (akcja parse_request). Więc głównym problemem dla mnie jest to, jak wygenerować ulotne strony w taki sposób, aby wyglądały dokładnie jak normalne strony WP, w tym użycie motywu, menu, nagłówka, stopki itp. add_action('parse_request', array($this, ' custom_url_handler')); funkcja publiczna custom_url_handler() { $url = filter_input(INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_URL); if ($url==='/wordpress/mydatatool') { echo 'test'; // Co zrobić, aby osadzić to w motywie/menu/etc WP? Wyjście(); } } AFAIK coś takiego nie jest obecnie bezpośrednio obsługiwane przez WP. Zrobiłem obszerne badania i znalazłem dużo kodu. Większość kodu nie działała z obecnym WP. Również niektóre (proste) fragmenty kodu były w stanie dostarczyć niestabilne strony, ale w rzeczywistości nie wyglądały jak strona WP, w której brakuje części menu/nagłówka/stopki. W końcu znalazłem link do treści w wątku na forum, który dostarczył działający kod (patrz poniżej). Ponieważ jestem początkującym i kod nie jest oficjalnie utrzymywany, mam obawy, aby go używać. Proszę o poradę: - Czy powinienem użyć poniższego kodu? Czy mogę uznać to za bezpieczne i niezawodne? Czy jest duża szansa, że będzie nadal działać po aktualizacjach WP? - Czy istnieje alternatywa, która jest utrzymywana w niezawodny sposób? - Czy istnieje lepszy sposób na rozwiązanie mojego problemu? AKTUALIZACJA: Oto kod, który działa dla mnie: <?php /* * Klasa wirtualnych stron tematycznych * * Ta klasa implementuje wirtualne strony dla wtyczki. * * Został zaprojektowany tak, aby był dołączany, a następnie wywoływany dla każdej części wtyczki *, która potrzebuje wirtualnych stron. * * Obsługuje wiele stron wirtualnych i funkcji generowania treści. * Funkcje treści są wywoływane tylko wtedy, gdy strona jest zgodna. * * Klasa korzysta z szablonów tematycznych i, o ile wiem, jest pod tym względem wyjątkowa. * Używa również szablonów motywów potomnych przed szablonami motywów głównych. * * Przykładowy kod podąża za klasą. * * Sierpień 2013 Brian Coogan * */ // Istnieje kilka klas stron wirtualnych, chcemy uniknąć kolizji! // class Virtual_Themed_Pages_BC { public $title = ''; publiczne $ciało = ''; prywatne $vpages = array(); // główna tablica stron wirtualnych private $mypath = ''; public $blankcomments = "blank-comments.php"; function __construct($plugin_path = null, $blankcomments = null) { if (empty($plugin_path)) $plugin_path = dirname(__FILE__); $this->mypath = $plugin_path; if (! empty($blankcomments)) $this->blankcomments = $blankcomments; // Wirtualne strony są sprawdzane w filtrze 'parse_request'. // Ta akcja uruchamia wszystko, jeśli jesteśmy wirtualną stroną add_action('parse_request', array(&$this, 'vtp_parse_request')); } function add($virtual_regexp, $contentfunction) { $this->vpages[$virtual_regexp] = $contentfunction; } // Sprawdź żądania stron dla stron wirtualnych // Jeśli mamy, wywołaj odpowiednią funkcję generowania treści // function vtp_parse_request(&$wp) { //global $wp; if (empty($wp->query_vars['pagename'])) return; // strona nie jest permalinkiem //$p = $wp->query_vars['nazwa strony']; $p = $_SERVER['REQUEST_URI']; $dopasowane = 0; foreach ($this->vpages as $regexp => $func) { if (preg_match($regexp, $p)) { $matched = 1; przerwanie; } } // Nie rób nic, jeśli nie jest dopasowane if (! $matched) return; // skonfiguruj hooki i filtry do generowania wirtualnej strony filmu add_action('template_redirect', array(&$this, 'template_redir')); add_filter('the_posts', array(&$this, 'vtp_createdummypost')); // wymuszamy również usuwanie komentarzy; pole komentarzy w stopce // strony jest raczej bez znaczenia. // Wymaga to dostarczenia pliku blank_comments.php add_filter('comments_template', array(&$this, 'disable_comments'), 11); // Wywołanie funkcji generowania treści użytkownika // Wywoływana jako ostatnia, aby usunąć wszystkie filtry, które jej nie podobają się // Powinna ustawić: // $this->body -- treść strony wirtualnej // $this->title - - tytuł wirtualnej strony // $this->template -- opcjonalny szablon dostarczany z motywem // np.: page // $this->subtemplate -- opcjonalny szablon podrzędny (np. film) // Doco nie jest jasne, czy wywołanie przez odwołanie działa dla call_user_func() // więc zamiast tego użyj call_user_func_array(), gdzie jest to wspomniane. // Zobacz koniec pliku dla przykładu kodu. $ten->szablon = $ten->podszablon = null; $this->title = null; unset($to->ciało); call_user_func_array($func, array(&$this, $p)); if (! isset($this->body)) //assert wp_die("Wirtualne strony tematyczne: must save ->body [VTP07]"); return($wp); } // Ustaw fikcyjny post/stronę // Z widoku WP, post == strona // function vtp_createdummypost($posts) { // musisz utworzyć fikcyjny post, ponieważ w przeciwnym razie wiele szablonów nie wywołuje the_content filtr globalny $wp, $wp_query; //utwórz fałszywą instancję posta $p = new stdClass; // wypełnij $p wszystkim, co strona w bazie danych miałaby $p->ID = -1; $p->post_author = 1; $p->post_date = current_time('mysql'); $p->post_date_gmt = current_time('mysql', $gmt = 1); $p->post_content = $this->ciało; $p->post_title = $this->title; $p->post_excerpt = ''; $p->post_status = 'opublikuj'; $p->ping_status = 'zamknięty'; $p->post_password = ''; $p->nazwa_postu = 'szczegóły_filmu'; // slug $p->to_ping = ''; $p->pingowane = ''; $p->zmodyfikowane = $p->post_data; $p->modified_gmt = $p->post_date_gmt; $p->post_content_filtered = ''; $p->post_parent = 0; $p->guid = get_home_url('/' . $p->post_name); // zamiast tego użyć adresu URL? $p->kolejność_menu = 0; $p->post_type = 'strona'; $p->post_mime_type = ''; $p->comment_status = 'zamknięty'; $p->liczba_komentarzy = 0; $p->filtr = 'surowy'; $p->przodkowie = tablica(); // 3.6 // zresetuj właściwości wp_query, aby zasymulować znalezioną stronę $wp_query->is_page = TRUE; $wp_query->is_singular = PRAWDA; $wp_query->is_home = FAŁSZ; $wp_query->is_archive = FAŁSZ; $wp_query->is_category = FAŁSZ; unset($wp_query->zapytanie['błąd']); $wp->zapytanie = tablica(); $wp_query->query_vars['błąd'] = ''; $wp_query->is_404 = FAŁSZ; $wp_query->current_post = $p->ID; $wp_query->found_posts = 1; $wp_query->post_count = 1; $wp_query->comment_count = 0; // -1 dla current_comment wyświetla komentarz, jeśli nie jesteś zalogowany! $wp_query->current_comment = null; $wp_query->is_singular = 1; $wp_query->post = $p; $wp_query->posty = tablica ($p); $wp_query->quered_object = $p; $wp_query->queried_object_id = $p->ID; $wp_query->current_post = $p->ID; $wp_query->post_count = 1; return array($p); } // Strona Wirtualnego Filmu - poinformuj wordpress, że używamy podanego // szablonu, jeśli istnieje; w przeciwnym razie wracamy do page.php. // // Ta funkcja jest wywoływana przed jakimkolwiek wyjściem do przeglądarki // i kończy działanie po zakończeniu. // function template_redir() { // $this->body -- treść strony wirtualnej // $this->title -- tytuł strony wirtualnej // $this->template -- opcjonalny szablon dostarczony przez motyw, np. : 'page' // $this->subtemplate -- opcjonalny szablon pomocniczy (np. film) // if (! empty($this->template) && ! empty($this->subtemplate)) { // szuka w potomnym najpierw, potem master: // template-subtemplate.php, template.php get_template_part($this->template, $this->subtemplate); } elseif (! empty($this->template)) { // szuka w child, a następnie master: // template.php get_template_part($this->template); } elseif (! empty($this->subtemplate)) { // szuka w child, a następnie master: // template.php get_template_part($this->subtemplate); } else { get_template_part('strona'); } // Byłoby możliwe dodanie filtra dla filtra 'the_content', // aby wykryć, że treść została poprawnie wyprowadzona, a następnie // umrzeć, jeśli nie - to bardzo pomogłoby w diagnostyce błędów. Wyjście; } // Niektóre szablony zawsze zawierają komentarze niezależnie od tego, westchnienie. // Zastępuje ścieżkę oryginalnego szablonu komentarzy // pustym plikiem szablonu, który nic nie zwraca, // tym samym niezawodnie eliminując komentarze. function disable_comments($file) { if (file_exists($this->blankcomments)) return($this->mypath.'/'.$blankcomments); return($plik); } } // klasa // Przykładowy kod - użyjesz czegoś bardzo podobnego we wtyczce // if (0) { // require 'BC_Virtual_Themed_pages.php'; // ten segment kodu wymaga środowiska WordPress $vp = new Virtual_Themed_Pages_BC(); $vp->add('#/mypattern/unique#i', 'mytest_contentfunc'); // Przykład funkcji generującej treść // Musi ustawić $this->body, nawet jeśli pusty string function mytest_contentfunc($v, $url) { // wyodrębnij identyfikator z adresu URL $id = 'none'; if (preg_match('#unique/(\d+)#', $url, $m)) $id = $m[1]; // może wp_die() jeśli nie udało się wyodrębnić... $v->title = "Tytuł mojej wirtualnej strony"; $v->body = "Niektóre treści dla mojego testu strony wirtualnej - id $id\n"; $v->szablon = 'strona'; // opcjonalnie $v->subtemplate = 'billing'; // opcjonalnie } } // koniec


title: Wywołujesz obraz w folderze motywu z wnętrza posta/strony?

text: Buduję stronę internetową dla mojego klienta, który chciałby mieć możliwość samodzielnego wprowadzania drobnych zmian w układzie. Z tego powodu koduję część układu bezpośrednio na stronach za pomocą edytora tekstu. Problem, z którym się borykam, polega na dynamicznym dołączaniu obrazu z katalogu szablonów do postów/stron. Normalnie użyłbym po prostu `<img src="<?php echo get_template_directory_uri(); ?>/images/image.png">` ale to nie działa, gdy umieszczasz kod bezpośrednio na stronie/postu, ponieważ surowy tekst jest wyprowadzany. Czy ktoś może mi powiedzieć, jak mogę dynamicznie dołączyć obraz do obszaru postu/strony bez korzystania z biblioteki multimediów (ponieważ chciałbym oddzielić zasoby witryny od załączników). Dziękuję!


title: Jak przekazać specjalną klasę CSS do widżetu li

text:
Przypisałem pasek boczny do `functions.php`: register_sidebar( array ( 'name' => 'Obszar widżetów stopki', 'id' => 'footer_widgets_area', 'description' => 'Przypisz maksymalnie 3 widżety do tego paska bocznego stopki area.', 'class' => 'moja-klasa', 'before_widget' => '
', 'after_widget' => "
", 'before_title' => '
', 'after_title' => '
' ) ); W stopce chcę załadować konkretną klasę CSS do kontenera widżetów po aktywowaniu ilości widżetów. Więc użyłem tego: $our_sidebar = wp_get_sidebars_widgets(); $widget_counter = liczba( $our_sidebar['footer_widgets_area'] ); if( $widget_counter == 1 ) { $the_class = 'poszerzenie-pełne'; } elseif( $widget_counter == 2 ){ $the_class = 'poszerzony-duet'; } else { $the_class = 'poszerzenie-trio'; } Moja stopka jest teraz ładowana:

Archiwum
 Archiwizuj zawartość widżetów

 Widżet kalendarza

 Meta Widget

 Pamiętaj, że jeśli mogę `echo` mojej klasy **`$the_class`* * do `<li>` to mój problem jest rozwiązany.
 Chociaż dużo pracuję z WordPressem, ale boję się hooków i filtrów iw większości przypadków trochę je rozumiem. Byłoby moim lepszym osiągnięciem, gdyby ktoś NIE tylko dostarczył mi rozwiązania, ale WYJAŚNIŁ proces z tym związany. Wtedy byłoby to moje przyszłe osiągnięcie. **PS:** W jakiś sposób klasa zdefiniowana w `register_sidebar()` nie powtarza. Nie wiem dlaczego.


title: Jak obsłużyć bloga Wordpress z artykułami w różnych językach?

text: Większość wtyczek wielojęzycznych ma na celu udostępnienie każdego posta w różnych językach. W takim przypadku dobrymi wtyczkami są qTranslate lub WPML. Ale w moim przypadku artykuły mają jeden język i zamiast ich tłumaczenia powinny być wersje bloga pokazujące treść tylko w jednym języku. Na przykład `en.example.com` powinien pokazywać tylko posty napisane w języku angielskim, a także wyświetlać teksty motywów w języku angielskim, podczas gdy `de.example.com` powinno pokazywać tylko niemieckie artykuły, a także używać niemieckiego jako języka systemowego dla Wordpress. (Adresy URL mogą również zawierać kod języka w postaci ukośników zamiast używania subdomeny, np. `www.example.com/en/`.) Czy jest dobre rozwiązanie dla tego przypadku użycia? Mógłbym pomyśleć o użyciu wtyczki lub zintegrowaniu koncepcji z motywem. A może najlepszym rozwiązaniem jest skonfigurowanie jednej instalacji Wordpress dla każdego języka?


title: Dołącz jedną stronę/post do zapytania, które już zwraca posty

text: Mam moje zapytanie dotyczące wiadomości, które znajduje się w moim pliku indeksu. Chcę dołączyć do tego zapytania post, który jest stroną. Czy mimo to można to zrobić? <?php query_posts(array( 'posts_per_page' => 5, 'paged' => $paged )); if ( have_posts() ) : ?> Mój identyfikator strony to 6417 - Jeśli używam post__in, to jest to jedyna rzecz, która się pokazuje. Czy ktoś może doradzić, czy muszę zrobić z zapytaniem meta? Dziękuję


title: Wyświetl losową miniaturę z kategorii

text:
Mam wrażenie, że jestem na dobrej drodze, po prostu nie mam wystarczającej wiedzy na temat PHP, aby zajść znacznie dalej niż obecnie. Obecnie używam następującego kodu, aby zwrócić listę kategorii podrzędnych z jednej kategorii: <?php $taxonomyName = "kategoria"; $terms = get_terms($nazwa_taksonomii,array('parent' => 79)); echo '
'; foreach($terms as $term) { echo '
'; echo 'slug,$taxonomyName).'">'.$term->nazwa.'
'; $thumbnails = get_posts('numberposts=1&orderby=rand'); foreach ($thumbnails as $thumbnail) { echo 'ID) . '" title="' .esc_attr( $thumbnail->post_title) .'">'; if ( has_post_thumbnail($thumbnail->ID)) { echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail'); } else { echo 'brak miniatury'; } echo ''; } echo '
'; } echo '
'; ?> Ten kod trochę działa. Zwraca listę wszystkich sześciu podkategorii pod nadrzędnym identyfikatorem 79. Chcę jednak również zwrócić jedną losową miniaturę w każdym z elementów listy dla każdej z 6 podkategorii. Niestety ten kod zwraca losową miniaturę ze wszystkich moich postów, nie tylko ID 79 i jego konkretnego dziecka. Potrzebuję go, aby zwrócić jedną miniaturę z tej samej kategorii, która jest zwrócona w jej rodzicu `<li>`. Czy jest na to prosty sposób? Myślę, że muszę posortować tę tablicę i zwrócić kategorię w zagnieżdżonej pętli foreach. Po prostu nie wiem, jak to zrobić. Z góry dziękuję za wszelką pomoc!


title: Jak zmienić styl pierwszego posta 3 na stronie Archiwum kategorii

text: Szukam dużo czasu, ale każdy powiedział pierwszy post. Potrzebuję pierwszych 3 postów w różnym stylu z tytułem , treścią.


title: get_template_part wewnątrz get_template_part?

text: Czy kiedykolwiek próbowałeś tego? // plik szablonu do_action( 'mój_haczyk' ); // były. functions.php function my_hooked_template_part() { get_template_part( 'my_loop_part_file', 'default' ); } add_action( 'mój_hak', 'moja_zahaczona_część_szablonu' ); // my_loop_part_file-default.php get_template_part( 'zapytanie', 'domyślny' ); if ( have_posts() ) { while ( have_posts() ): the_post(); itp. // query-default.php $args = array( 'cokolwiek' => 'i_tak_wl' ); zapytanie_posty( $args ); Może to moja konfiguracja, ale nie załaduje pliku. Czy to możliwe, że jest już za późno na wczytanie jakiegoś innego pliku do środka? Czy ktoś może potwierdzić czy to tylko wada korzystania z funkcji get_template_part() (tylko jeden plik - bez zagnieżdżania)?


title: WP_Redirect w regionie użytkownika - GeoIP

text: Mam główną stronę główną mojej witryny, aw przyszłości będę miał kilka innych „stron głównych” dla różnych krajów. Próbuję przekierować użytkownika na właściwą „stronę główną” dla jego kraju na podstawie jego adresu IP, ale także dać mu możliwość wyświetlenia innego regionu dla użytkowników, którzy utknęli za serwerem proxy w innym kraju, na przykład. W tym celu ustawiam 2 ciasteczka; Kraj (dla wyszukiwania IP) i region (dla żądanego/preferowanego obszaru użytkownika). Widziałem tutaj różne posty dotyczące przekierowywania lokalizacji, ale nikt nie sugerował używania narzędzi GeoIP PHP. Czy jest jakiś powód, dla którego nie powinienem używać tej metody? Wiem, że $_SERVER['REMOTE_ADDR'] nie jest najdokładniejszą metodą, ale na pewno jest to szybka i łatwa metoda? Oto mój obecny kod: // Ustawienia regionalne PSTV add_action( 'init', 'pstv_set_country'); function pstv_set_country() { $country = geoip_country_code3_by_name($_SERVER['REMOTE_ADDR']); $wygasa = czas()+60*60*24*30; setcookie("kraj", $kraj, $wygasa, '/', '.plainandsimple.tv'); // Skonfiguruj przekierowania dla krajowych stron domowych tutaj if ($_COOKIE['country'] == "ZEA") { wp_redirect( 'http://plainandsimple.tv/uae/' ); Wyjście; } else { wp_redirect( home_url() ); Wyjście; } } add_action( 'template_redirect', 'pstv_set_uae_cookie'); function pstv_set_uae_cookie() { // Ustaw plik cookie, jeśli na stronie głównej ZEA i przekieruj wstecz, jeśli (is_page('uae') && $_COOKIE['region'] !== "ZEA") { $expire = czas()+60* 60*24*30; setcookie("region", "ZEA", $expire, '/', '.plainandsimple.tv'); wp_redirect( 'http://plainandsimple.tv/uae/' ); Wyjście; } if (is_page('home') && $_COOKIE['region'] == "ZEA") { $expire = time()+60*60*24*30; setcookie("region", "ZEA", $expire, '/', '.plainandsimple.tv'); wp_redirect( 'http://plainandsimple.tv/uae/' ); Wyjście; } } Więc pytanie brzmi, czy ktoś widzi jakiś problem w moim podejściu do tego, czy ktoś może mi dać wskazówki do lepszej metody?


title: dostosuj kolor w motywie potomnym WP nie jest zapisywany

text: Mam motyw WP i tworzę dla niego wersję potomną, wersja potomna ma tylko plik style.css. Ładuje się dobrze, działa normalnie jak motyw matki. Kiedy używam funkcji Dostosuj motyw, aby zmienić kolor, rozmiar czcionki itp., Zapisano, ale nie działa. Kolor się nie ładuje. Działa tylko wtedy, gdy wracam do motywu matki. Więc jaki jest powód? Czego mi brakuje w motywie potomnym? ![Dostosuj motyw](http://i.stack.imgur.com/yLFyg.png) Dziękuję


title: Jak dodać moje reguły przepisywania na początku, przekierować na właściwą stronę i opróżnić reguły przy aktywacji wtyczki?

text:
Cześć, obecnie piszę wtyczkę WordPress, którą chcę udostępnić publicznie. Mam jednak kilka problemów z przepisywaniem adresów URL. Mam wtyczkę do przekierowania na stronę wtyczki `add_action('template_redirect', 'myfuncdisplay')` w celu wyświetlenia niestandardowych danych wyjściowych. Mam też działające przekierowanie, np. `www.mydomain.com/index.php?form=contact2` spowoduje wywołanie kodu template_redirect. Na razie w porządku. Jeśli jednak wejdę na `mojadomena.com/form/kontakt`, spowoduje to przekierowanie do istniejącej strony `mojadomena.com/produkty/contact-centres`. Jeśli wejdę na `moja_domena.com/form/contact2`, spowoduje to przekierowanie do mojej wtyczki. Sprawdzając fajną wtyczkę Rewrite Analyzer, otrzymuję następujące informacje: form/([^/]+)/?$ formid: contact (.+?)(/[0-9]+)?/?$ pagename: form/ strona kontaktowa: bawiłem się z kodem i dodałem parametr do true ... teraz wydaje się działać i ignoruję fakt, że mam inne strony wymienione z contakt, teraz przechodzi bezpośrednio do mojej wtyczki: add_permastruct( 'formid', 'form/%formid%', true ); Czy powyższe jest poprawne? Czy ustawienie trzeciego parametru daje pierwszeństwo mojemu linkowi bezpośredniemu? O ile wiem, Wordpress spróbuje dopasować nazwę posta i zignorować /moj/inny/url/nazwa posta... wydaje się, że robi to na wszystkich stronach, co jest trochę mylące. Ponadto, aby moja wtyczka działała, muszę przejść do opcji Permalink w menu administratora i kliknąć Zapisz ... jeśli tego nie zrobię, to tak, jakby moje reguły nie zostały uwzględnione. Czy można to obejść, nie może tego zrobić wtyczka podczas aktywacji, czy też muszę powiedzieć użytkownikom wtyczki, aby kliknęli pozycję menu Permalinki, aby aktywować przekierowania wtyczki? Mój kod znajduje się poniżej, dziękujemy za pomoc i czas na odpowiedzi. Chris <?php require_once('jFormer/jformer.php'); /*interfejs JFormerForWPFormClass { funkcja publiczna GetForm(); funkcja publiczna ProcessForm(); }*/class JFormerForWP { statyczne $ błędy = false; /* do debugowania */ const DB_VERSION = 1; // Ta liczba reprezentuje aktualną wersję struktury tabeli wtyczek. Zwiększaj to za każdym razem, gdy modyfikujesz schemat tabel bazy danych, które tworzysz dla swojej wtyczki. statyczna ścieżka $plugin; statyczny $pluginUrl; statyczny rejestr $; statyczny $permastructString = 'forma'; /*publiczna funkcja statyczna RegisterForm($form) { $self::registry[$id] = $form(); } */ public static function makeFormFactory($id,$class) { $classPath = self::$pluginPath . "/formularze/{$klasa}.php"; require_once $classPath; /*$this->registry[$id] = new $class();*/ } /* wywołanie każdego żądania */ public static function init() { self::$pluginPath = dirname(__FILE__); // Ustaw ścieżkę wtyczki samodzielnie::$pluginURL = WP_PLUGIN_URL . '/jformer-dla-wp/'; // Ustaw adres URL wtyczki /* Podczas akcji admin_menu możemy dodać własne elementy do menu Administracja WordPressa. */ // add_action('admin_menu', array($this,'InsertAdminMenuLink')); // add_action('init', array($this,'RouteActions')); /* Kolejne dwie funkcje są uruchamiane, gdy nasza wtyczka jest aktywowana lub dezaktywowana. W tych funkcjach uruchamiamy kod niezbędny do zainstalowania i ewentualnie odinstalowania naszej wtyczki, gdy użytkownik aktywuje ją lub dezaktywuje na stronie Wtyczki. */ register_activation_hook(__FILE__,'JFormerForWP::activate'); // Funkcja dezaktywacji register_deactivation_hook(__FILE__,'JFormerForWP::deactivate'); // Ta funkcja uruchamia się przy każdym załadowaniu strony, aby sprawdzić, czy nasza wtyczka została zaktualizowana, a jeśli tak, to jakie funkcje SQL musimy uruchomić, aby zaktualizować tabele naszej wtyczki do najnowszej wersji // add_action('init', array($ tos, 'Aktualizacja'),1)); JFormerForWP::setRewriteRules(); /* add_filter( 'query_vars', 'JFormerForWP::addQueryVars'); */ add_action( 'template_redirect', 'JFormerForWP::formDisplay'); /* używane, gdy używane są znaczniki przepisywania */ /* Często nasze wtyczki muszą dołączyć nowe pliki javascript lub pliki css do naszej strony. WordPress zapewnia bardzo przejrzysty mechanizm, który pomaga nam zapobiegać niepotrzebnemu wielokrotnemu włączaniu tego samego pliku (co spowolniłoby ładowanie strony). Przewiń w dół do funkcji StylesAndScripts, aby zobaczyć, jak prawidłowo dołączyć plik JavaScript lub CSS. */ add_action('wp_print_styles', 'JFormerForWP::styles'); add_action('wp_print_scripts', 'JFormerForWP::scripts'); add_shortcode('jformer', 'JFormerForWP::shortcodeHandler'); /* dla funkcjonalności ajax */ add_action('wp_ajax_nopriv_jFormerForWp', 'JFormerForWP::ajaxHandler'); ogłoszenied_action('wp_ajax_jFormerForWp', 'JFormerForWP::ajaxHandler'); // add_action('wp_jformer-for-wp_ajax_get', array($this, 'handle_ajax')); self::$errors = nowy WP_Error(); } public static funkcja ajaxHandler() { $formID = $_POST['jFormerId']; echo JFormerForWP::getForm($formID); } public static function registerForms() { /* $files = array(); $ścieżka = getcwd(); $supported_ext = array('gif', 'jpg', 'jpeg'); $katalog = @openir($ścieżka); while ($file = @readdir($dir)) { if (!is_dir($path.$file)) { $splitted = explode('.', $file); $ext = strtolower($splitted[count($splitted)-1]); if (in_array($ext, $supported_ext)) $pliki[] = $plik; } } @closedir($katalog); sort($pliki);*/ }public static function getForm($id) { $formFileName = self::$pluginPath . '/formularze/' . $id . '.php'; if(file_exists($formFileName) == true) { $contactForm = new JFormer($id, array('submitButtonText' => 'Prześlij', action => admin_url('admin-ajax.php'))); include($formFileName); return $contactForm->processRequest(); } else { // echo 'ostrzeżenie z jformer-for-wp -' . $formFileName . ' nie znaleziono.'; powrót -1; } } public static function shortcodeHandler($atts, $content) { extract( shortcode_atts( array( 'id' => '0', 'class' => '', 'text' => '' ), $atts ) ) ; // echo 'zrzuca wartości skróconego kodu. zawartość: ' . $treść . ', ID: ' . $id . ', klasa: ' . $klasa . '
'; if( $text == '' ){ return self::getForm($id); /* zwraca aktualny formularz */ } else /* zwraca link do formularza */ { if( $class=='' ) return '' . $tekst . ''; else return '' . $tekst . ''; } } public static function setRewriteRules() { // te dwie linie dodają stronę zewnętrzną add_rewrite_tag( '%formid%', '([^/]+)'); add_permastruct( 'formid', 'form/%formid%', prawda ); // to jest przepisanie reguły i przekierowanie do strony wewnętrznej // add_rewrite_rule( 'forms/?([^/]*)', 'index.php?pagename=forms-page&formid=$matches[1]', 'top ' ); } publiczna funkcja statycznan addQueryVars($vars) { $vars[] = 'formid'; zwróć $zmienne; } public static function formDisplay() { if( $formid = get_query_var( 'formid' ) ) { $formCode = self::getForm($formid); if($formCode != -1) { include ( self::$pluginPath . '/html/redirect-page-header.php' ); echo $KodFormularza; include ( self::$pluginPath . '/html/redirect-page-footer.php' ); Wyjście; } } } public static functionactivate() { /* Kiedy używasz słowa kluczowego global do zdefiniowania zmiennej, mówisz, że chcesz mieć dostęp do zmiennej, która istnieje poza naszą klasą. Zmienna $wpdb w WordPressie pozwala nam na łatwą interakcję z bazą danych, na której jest zainstalowany WordPress. Aby dowiedzieć się więcej o tym, jak korzystać z obiektu $wpdb Object odwiedź tutaj: http://codex.wordpress.org/Function_Reference/wpdb_Class */ global $wpdb; setRewriteRules(); flush_rewrite_rules(); } /* Ta funkcja zostanie uruchomiona, gdy użytkownik dezaktywuje wtyczkę na ekranie wtyczki WordPress. Możesz chcieć umieścić tutaj trochę kodu, aby usunąć tabele i opcje utworzone przez twoją wtyczkę, ale jeśli zrobisz to tutaj, a użytkownik ponownie włączy wtyczkę, utracą wszystkie dane i ustawienia, które wcześniej ustawił. Alternatywą jest utworzenie pliku uninstall.php i umieszczenie w nim kodu porządkowego. Ten kod jest uruchamiany, gdy użytkownik usunie wtyczkę. Otwórz uninstall.php, aby zobaczyć, jak działa ten plik. */ public static function deactivate() { flush_rewrite_rules(); } /* load_plugin_textdomain po prostu mówi WordPressowi domenę tekstową, którą ustawiliśmy dla naszych ciągów tłumaczeniowych i mówi mu, gdzie szukać naszych plików językowych. */ publiczne static function setLanguage() { load_plugin_textdomain( 'JFormerForWP', null, dirname( plugin_basename( __FILE__) ) . '/języki/'); } public static function insertAdminMenuLink() { /* Używając funkcji add_menu_page i add_submenu_page możemy dodać własne strony do menu Administracja. Więcej informacji na temat tej funkcji można znaleźć tutaj: http://codex.wordpress.org/Adding_Administration_Menus */ /* $page = add_submenu_page( 'options-general.php' , // To jest strona nadrzędna, którą chcemy dodać naszą stronę konfiguracyjną do __( 'jFormer Plugin' , 'JFormerForWP' ), // To będzie tytuł naszej strony konfiguracyjnej __( 'jFormer Plugin' , 'JFormerForWP' ), // To będzie nazwa linku w menu 'edit_plugins' , // To jest minimalna rola, jaką użytkownik musi mieć, aby móc zobaczyć i kliknąć ten link. Używasz tego parametruaby ograniczyć dostęp tylko do niektórych użytkowników WordPress, tj. autorzy nie mogą uzyskać dostępu do strony, ale Administratorzy mogą. Pełną listę ról i możliwości użytkowników można znaleźć tutaj: http://codex.wordpress.org/Roles_and_Capabilities 'JFormerForWP' , // To jest unikalny ciąg używany do identyfikacji strony konfiguracji. Identyfikator URI tej strony administratora będzie miał postać options-general.php?page=B2Template. Jeśli masz wiele stron konfiguracyjnych, pamiętaj, że wszystkie powinny mieć tablicę unikalnych identyfikatorów ( $this , 'ConfigPageHtml' ) // Jest to funkcja, która zostanie uruchomiona w celu wygenerowania strony, gdy użytkownik kliknie łącze. ); */ // Add_submenu_page zwraca unikalny identyfikator naszej strony. Możemy użyć tego identyfikatora w poniższych zaczepach, aby te funkcje działały tylko wtedy, gdy użytkownik odwiedza naszą stronę administracyjną, a nie inne strony. Jest to pomocne, ponieważ nie chcemy spowalniać czasu ładowania użytkowników, dołączając arkusze stylów ijavascript w całym administratorze WordPressa, gdy jest używany tylko na naszej stronie. //add_action( 'admin_print_scripts-'.$page , array( $this, 'AdminScripts' ) ); //add_action( 'admin_print_styles-'.$page , array( $this, 'AdminStyles' ) ); // WordPress wymaga od nas "zarejestrowania" naszych ustawień wtyczek, zanim pozwolimy użytkownikowi je zaktualizować. Jest to funkcja bezpieczeństwa, która zapobiega nieautoryzowanemu dodawaniu ustawień. //add_action( 'admin_init' , array( $this,'RegisterAdminSettings') ); } public static function registerAdminSettings() { /* Pierwszym parametrem jest nazwa grupy Ustawienia, która ma zostać zapisana. Jak widać, mam dwie oddzielne grupy ustawień, które można zapisać niezależnie. Drugi parametr to nazwa ustawienia, które chcesz zapisać. Zauważ, że dodałem nazwę wtyczki na początku ustawienia, aby uniknąć konfliktu nazw w bazie danych.*/register_setting('JFormerForWPSettings', 'JFormerForWPSettings_option1'); } /* Jest to funkcja zwrotna, którą zdefiniowaliśmy powyżej, aby uruchomić, gdy użytkownik kliknie łącze, aby przejść do strony konfiguracyjnej naszej wtyczki. Mógłbyś uprościć nam instrukcję echo w tej funkcji, aby wyprowadzić tutaj cały twój html, ale aby zachować trochę czystsze i bardziej zorganizowane, używam następującej metody, aby pobrać html z zewnętrznego pliku. */ public static function configPageHtml() { $content = ''; ob_start(); // Ta funkcja rozpoczyna buforowanie wyjścia, co oznacza, że każde echo lub wyjście, które jest generowane po tej funkcji, zostanie przechwycone przez php, a nie wysłane bezpośrednio do użytkownika. require_once('html/config.php'); // Ta funkcja zawiera html mojej strony konfiguracyjnej. Otwórz plik html/config.php, aby zobaczyć, jak sformatować stronę konfiguracyjną, aby zapisać opcje. $treść = ob_get_contents(); // Ta funkcja pobiera cały html pobrany z html/config.php i przechowuje go w zmiennej $content ob_end_clean(); // Ta funkcja kończy buforowanie wyjścia echo $content; // Teraz po prostu wyświetlam treść użytkownikowi } public static function adminScripts() { } public static function adminStyles() { } /* Ten filtr pozwala nam dodawać lub posiadać linki do tej listy. Używam go, aby udostępnić użytkownikom skrót do strony ustawień wtyczki, ale może być użyty do wszystkiego (np. do wstawienia linku do darowizny lub linku do forów pomocy wtyczek). Funkcja pobiera tablicę linków, dodaje nasz link do tablicy, a następnie zwraca zmodyfikowaną tablicę. */ public static function insertSettingsLink($links) { $settings_link = ''.__('Ustawienia','JFormerForWP').'' ; array_unshift( $linki, $settings_link); zwróć $linki; } /* Ta funkcja dodaje JavaScript i CSS do strony WordPressa skierowanej do przeglądarki. Przewiń w górę do AdminStyles i AdminScripts(), aby zobaczyć, jak działają te funkcje */ public static function styles() { wp_enqueue_style('jformer', self::$pluginUrl. 'css/style.css'); } public static function scripts() { wp_enqueue_script('jformer', self::$pluginUrl . 'jFormer/jFormer.js',array('jquery')); /*wp_localize_script('JFormerForWP_SubmitForm','JFormerForWP', array( 'AjaxError'=>__('Wystąpił błąd. Spróbuj ponownie. Jeśli problem będzie się powtarzał, skontaktuj się z programistą wtyczki.','B2Template') )) ;*/ } } ?>


title: Jak automatycznie instalować domyślne wtyczki Wordpress?

text: Ustawiłem przyzwoitą liczbę klientów/przyjaciół instalacji Wordpress. Istnieje wiele wtyczek, których używam na każdej instancji. Czy istnieje dobry sposób na automatyczne instalowanie tych wtyczek w każdej instancji? Czy wystarczy skopiować folder wtyczek do nowej instalacji?


title: Dlaczego nie ma obrazów na nowej instalacji Wordpress?

text: Właśnie zainstalowałem Wordpress tutaj na arun.sanspace.in Ale nie wiem dlaczego, nie wyświetla żadnych obrazów. Chcę wiedzieć dlaczego? Mam inną instalację Wordpressa na tym samym serwerze, która działa świetnie. Na czym dokładnie polega problem? czy robię coś źle? Gdy kopiuję lokalizację obrazu z symbolu zastępczego i otwieram go samodzielnie, wyświetla obraz. Zdarza się to zarówno w IE, jak i FF.


title: Ogranicz zawartość tylko dla współtwórców przez .htaccess

text: Używam tego kodu, aby ograniczyć pobieranie treści z wp- content/uploads tylko dla zalogowanych użytkowników: RewriteEngine On RewriteBase / # Dodaj te linie zaraz po poprzednich dwóch RewriteCond %{REQUEST_FILENAME} ^.*(pdf|docx)$ RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] RewriteRule . - [R=403,L] Jednak pozwoli to wszystkim zalogowanym użytkownikom pobrać to samo. Czy istnieje sposób, aby TYLKO współtwórcy/autorzy mogli pobierać pliki, a nie subskrybenci. Dzięki za pomoc.


title: Warunkowe wyświetlanie treści

text:
Próbuję zastąpić ciąg „Coś ładnego pojawi się tutaj” w poniższym bloku kodów pętlą WordPress, ale wygląda na to, że nie działa. Chciałbym, aby po kliknięciu Link1 post był Pokaż „intro-paragrafy” ID. Masz jakieś pomysły, jak zrobić to poprawnie? <?php $longString = „Tutaj pojawi się coś ładnego”; $link=$_GET['link']; if ($link == ' 1'){ echo $longString; } if ($link == '2'){ include 'page2.php'; } if ($link == '3'){ include 'page3.php'; } if ($ link == '4'){ include 'page4.php'; } ?> Tak <?php $longString = "<?php $query = new WP_Query('category_name=intro-paragraphs'); if($query->have_posts()) : while($query->have_posts()) : $query->the_post(); ?>

 <?php the_title(); ?>
 <?php fragment echo(40); ?>
 <a href="<?php echo get_permalink(); ?>">» czytaj więcej...
  <? php na czas; ?> <?php endif; ?>";


title: Niezabezpieczona strona wydaje się być chroniona po opublikowaniu na Facebooku (S2Member)

text: Niedawno usunąłem ograniczenie na następującej stronie: http://www.boulderwritersworkshop.org/2012/10/21/david-jessup/ Mogę go teraz oglądać bez logowania. Jeśli jednak opublikuję ten adres URL na moim Facebooku ściana, pokazuje stronę „Dołącz”, tak jakby Facebook uważał, że muszę się zalogować, aby wyświetlić tę treść. Próbowałem wyczyścić Quick Cache i załadować stronę ze zdalnego komputera — jest to zdecydowanie widoczne dla wszystkich. Z wyjątkiem najwyraźniej Facebooka. Pomysły?


title: Dodawanie kategorii do niestandardowego typu postu w permalinku

text: Wiem, że ludzie pytali o to wcześniej i posunęli się nawet do dodania niestandardowego typu postu i przepisania na permalink. Problem polega na tym, że mam 340 istniejących kategorii, z których chciałbym nadal korzystać. Kiedyś widziałem /category/subcategory/postname Teraz mam slug customposttype/postname. Wybranie kategorii nie pojawia się już w permalinku...Nie zmieniłem ustawienia permalinka w admin na nic innego. Czy czegoś brakuje lub muszę dodać do tego kodu? function jcj_club_post_types() { register_post_type( 'jcj_club', array( 'labels' => array( 'name' => __( 'Kluby jazzowe' ), 'singular_name' => __( 'Klub jazzowy' ), 'add_new' = > __( 'Dodaj nowy' ), 'add_new_item' => __( 'Dodaj nowy klub jazzowy' ), 'edit' => __( 'Edytuj' ), 'edit_item' => __( 'Edytuj kluby jazzowe' ), 'new_item' => __( 'Nowy Klub Jazzowy' ), 'view' => __( 'Wyświetl Klub Jazzowy' ), 'view_item' => __( 'Wyświetl Klub Jazzowy' ), 'search_items' => __( ' Wyszukaj kluby jazzowe' ), 'not_found' => __( 'Nie znaleziono klubów jazzowych' ), 'not_found_in_trash' => __( 'Nie znaleziono klubów jazzowych w Koszu' ), 'parent' => __( 'Rodzic Jazz Club' ), ), 'public' => true, 'show_ui' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, ' menu_position' => 5, 'query_var' => true, 'supports' => array( 'tytuł', 'redaktor', 'komentarze', 'poprawki', 'trackbacks', 'autor', 'fragment', 'miniaturka ', 'custom-fields', ), 'rewrite' => array( 'slug' => 'jazz-clubs-in', 'with_front' => true ), 'taxonomies' => array( 'category',' post_tag'), 'can_export' => prawda, ) );


title: Jak dostosować symbole, które pojawiają się w edytorze wizualnym, wstaw niestandardowy znak

text: Edytor TinyMCE ma świetny przycisk w zlewie kuchennym do wstawiania niestandardowych znaków / symboli. Czy istnieje sposób kontrolowania symboli wyświetlanych w tym wyskakującym okienku? (W szczególności potrzebuję kilku unikalnych znaków języka hawajskiego 'okina i macrony). Kod Znak Ā Ā ā ā Ē Ē ē ē Ī Ī ī ī Ō Ō ō ō Ū Ū ū ū ʻ ʻ Hawajski Odniesienie do znaku diakrytycznego: http://manoa.hawaii.edu/site/hawaiian_language.html


title: nawigacja po stronie nie pokazuje następnej strony, tylko odsyła do strony głównej

text: Używanie tego na moim index.php <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?> Korzystanie z wtyczki: WP-PageNavi Wp Pagenavi Style Nie wiem, jakich informacji potrzebujesz, aby to naprawić. Więc proszę daj mi znać. Strona: http://www.slashgeek.net/ edytuj: kod index.php http://pastebin.com/hThDBcyC


title: Jak dodać załącznik w funkcji wysyłania poczty woo commerce

text: Używam wtyczki woo-commerce. Po procesie kasy wysyłam maila do klienta, działa dobrze, ale chcę też dołączyć zdjęcie produktu do wiadomości. Nie mam pojęcia, jak to zrobić. function send( $to, $subject, $message, $headers = "Content-Type: text/html\r\n", $attachments = "", $content_type = 'text/html' ) { // Ustaw typ treści $this->_content_type = $content_type; // Filtry dla e-maila add_filter( 'wp_mail_from', array( $this, 'get_from_address' ) ); add_filter( 'wp_mail_from_name', array( $this, 'get_from_name') ); add_filter('wp_mail_content_type', array($this,'get_content_type')); // Wyślij wp_mail( $do, $temat, $wiadomość, $nagłówki, $załączniki ); // Odczep filtry remove_filter( 'wp_mail_from', array( $this, 'get_from_address' ) ); remove_filter( 'wp_mail_from_name', array( $this, 'get_from_name') ); remove_filter('wp_mail_content_type', array($this,'get_content_type')); }


title: Kolumnowanie niestandardowego typu posta na podstawie niestandardowej taksonomii

text:
moje pierwsze pytanie tutaj, więc postaram się być dokładny. Mam stronę, na której próbuję posortować niestandardowy typ postu z około 350 różnymi artystami według niestandardowej taksonomii. Taksonomia niestandardowa to w zasadzie alfabet, więc jestem w stanie zindeksować wszystkie posty niestandardowe według odpowiedniej litery w taksonomii niestandardowej. Np. niestandardowy post o tytule „olafur eliasson” jest indeksowany pod „e” w taksonomii niestandardowej (chcę posortować artystów według ich nazwiska). To, co próbuję uzyskać, to taki układ: A D G B E H C F I I tak dalej. Korzystam z WP_Query_Columns, aby podzielić zapytanie na kolumny. To jest fragment kodu, który udało mi się do tej pory opracować (a kod jest obecnie uruchomiony tutaj http://jonasjulekort.dk/) <?php /** Pobierz wszystkie terminy z taksonomii „alfabetu” */ $terms = get_terms('alfabet', 'orderby=slug'); /** Przejrzyj każdy termin jeden po drugim i wypisz posty, które są z nim powiązane */ if(!empty($terms)) : foreach($terms as $term) : /** Ustaw nazwę terminu */ $ termin_name = $term->slug; /** Ustaw argumenty zapytania i uruchom zapytanie*/ $args = array( 'alphabet' => $term_name, 'order' => DESC, 'post_type' => 'kunstner', 'posts_per_page' => -1 ) ; $term_posts = nowe WP_Query($args); /** Zrób coś ze wszystkimi postami */ foreach(nowy WP_Query_Columns($term_posts, 85) as $column_count) : ?> <ul class="duże-3 kolumny <?php echo $term->slug ?>" > <?php while ($column_count--) : $term_posts->the_post(); ?> <li class="kunstner <?php echo $term->slug ?>"><?php the_title();?>
 <?php endwhile; ?>
 <?php endforeach; /** Zresetuj postdata tylko dlatego, że jest to czyste i uporządkowane, nawet jeśli nie potrzebujesz ich ponownie */ wp_reset_postdata(); na każdym kroku; endif; ?> Sortowanie postu według taksonomii działa dobrze i elegancko, ale układ powoduje główne problemy, to, co otrzymuję, nie jest takie: A D G B E H C F I, ale tak: A B C D E F G H I Czego nie dostaję, czy to jest to (patrz poniżej) fragment układu kodu wszystkie posty w żądanej kolejności, ale nie daje mi to kontroli nad każdym indywidualnym terminem taksonomii ul, którego szukam. <?php $terms = get_the_terms( $post->ID, 'alfabet' ); ?> <?php $wp_query = new WP_Query('post_type=kunstner&showposts=9999&order=desc');?> <?php foreach(new WP_Query_Columns($wp_query, 85) as $column_count): ?>
 <?php while ($column_count--) : $wp_query->the_post(); ?> <li class="kunstnere <?php $terms = wp_get_post_terms($post->ID,'alfabet'); foreach ($terms jako $term) { echo $term->slug; } ?>"><? php tytuł_(); ?>
 <?php endwhile; ?>
 <?php endforeach; ?> Mam nadzieję, że wyjaśniłem swój problem i to, czego szukam wystarczająco szczegółowo, aby przekazać sprawę. Nie jestem super bystry w php, co prawdopodobnie mówi, więc mam nadzieję, że jakiś czarodziej zauważy, nad czym muszę popracować, aby osiągnąć swój cel.


title: Korzystanie z istniejącego kodu widgetu!

text: Być może odpowiedziano na to wiele razy, ale nie mogłem znaleźć odpowiedzi, więc zaczynam: Czy mogę używać kodu php widgetów z innych istniejących motywów i modyfikować go do swoich potrzeb?


title: Zmiana adresu URL witryny

text: # Przegląd: Mam samodzielną instalację WordPressa _obecnie_ bez domeny. Przykład: http://xx.xx.xxx.xxx/~nazwa_konta Za kilka dni domena będzie wskazywać tę instalację i będę musiał zaktualizować adres URL witryny. Nie migruję. Po prostu zmieniam adres URL strony domowej/witryny z adresu URL opartego na adresie IP na adres URL oparty na domenie. Przeczytałem już kodeks w tej sprawie, ale oprócz zmiany adresu URL strony domowej i adresu URL witryny w ustawieniach ogólnych, wydaje się, że kodeks zawiera poprawki, a nie jakiekolwiek inne kroki oprócz zmiany adresów URL za pomocą ustawień ogólnych. # Pytania: 1. Czy z Twojego doświadczenia wynika, że zmiana adresu URL witryny opartego na adresie IP na adres URL witryny oparty na domenie jest prostym procesem? Czy jest to problematyczna sprawa, której należy unikać, tworząc całkowicie nowe konto hostingowe? 2. Czy ktoś zdaje sobie sprawę z potencjalnych problemów, jakie może to spowodować w przypadku wtyczek takich jak WooCommerce? Uwaga: Przejrzałem istniejące pytania/odpowiedzi na tej stronie.


title: post_name puste po wp_insert_post

text: Piszę zewnętrzne narzędzie, które wstawia posty w wordpressie (korzystam z funkcji wordpress). Czytam też tę dyskusję: wp_insert_post nie pisze mojego post_name Ale mój problem jest trochę inny. Wstawiam post, ale post_name jest pusty. Kod to: // Utwórz obiekt postu $my_post = array( 'post_title' => $article_title, 'post_name' => $article_title, 'post_content' => $article_content, 'post_status' => 'w toku', 'post_author' => 1, 'post_category' => tablica(8,39) ); // Wstaw post do bazy danych wp_insert_post( $my_post ); Próbowałem z i bez post_name, ale wynik się nie zmienił. Próbowałem też po: $post_ID = (int) $wpdb->insert_id; $post_name = wp_unique_post_slug($article_title, $post_ID, $post_status, $post_type, $post_parent); $where = array( 'ID' => $post_ID ); $wpdb->update( $wpdb->posts, array( 'post_name' => $post_name ), $where ); Ale na przykład wstaw post_name, ale: 1. nie jest unikalny 2. nie oczyszczaj, na przykład „Test” nie zmienił się w „test” Co robię źle?


title: Renderowanie nieskończonego przewijania Jetpack - czy różni się w zależności od typu posta?

text: Obecnie pracuję nad motywem, który ma dwa typy postów - jeden to zwykły typ postów "posty", a drugi to posty w portfolio - "mytheme_portfolio". Używam nieskończonego przewijania JetPack do renderowania nowych postów w następujący sposób: function myteme_render_infinite_scroll() { while ( have_posts() ): the_post(); get_template_part( 'treść', 'archiwum-portfolio' ); koniec; } function mytheme_jetpack_setup() { add_theme_support( 'infinite-scroll', array( 'container' => 'treść', 'type' => 'klik', 'render' => 'mytheme_render_infinite_scroll', ) ); } add_action( 'after_setup_theme', 'mytheme_jetpack_setup' ); Działa to dobrze, ale zastanawiam się, jak mogę określić różne pliki szablonów `content-` do renderowania w zależności od tego, którą stronę archiwum/kategorii/tagu wpisu aktualnie przeglądasz. Tak jak to się teraz dzieje, wywołuję `content-archive-portfolio.php`, gdy uruchamiane jest nieskończone przewijanie, to co chciałbym nazwać `content-archive-portfolio.php` jeśli przeglądane są posty w portfolio, ale `content. php` jeśli blog jest przeglądany. Każda pomoc byłaby bardzo mile widziana, dzięki! **EDYTUJ:** Właśnie to rozpracowałem, ale ktoś inny może mieć ten sam problem, a może ktoś inny ma lepsze sugestie? Zastąp powyższą funkcję `mytheme_render_infinite_scroll` następującą: function mytheme_render_infinite_scroll() { while ( have_posts() ) : the_post(); if ('mytheme_portfolio' == get_post_type()) : get_template_part( 'content', 'archive-portfolio' ); else : get_template_part( 'zawartość', get_post_format() ); endif; koniec; }


title: next_posts_link nie działa z niestandardowym zapytaniem

text:
Staram się stworzyć system paginacji poprzez moje posty. Oto mój kod: <?php $paged = (intval(get_query_var('paged'))) ? intval(get_query_var('stronicowany')) : 1; $args = array( 'post_type' => 'programma_mensile', 'paged' => $paged, 'posts_per_page' => 1, 'monthnum' => (date('n')-1), 'year' => data('T') ); zapytanie_posty($args); if (have_posts()) : while (have_posts()) : the_post(); ?>

<?php next_posts_link(''); ?>

<?php the_title(); ?>

<?php previous_posts_link(''); ?>

 <?php $eventIds = preg_split( "/[\s,]+/", get('lista_eventi') ); ?> <?php koniec; ?> <?php endif; ?> Wszystko działa dobrze bez tych parametrów: 'monthnum' => ( date('n') - 1), 'year' => date('Y') Z tymi dwoma parametrami zapytanie działa, ale nie mogę uzyskać poprzedniego i następny link do wpisu. Ale potrzebuję ich, ponieważ chcę pokazać post z bieżącego miesiąca.. nawet jeśli post na grudzień jest już opublikowany.


title: Widżet komentarzy na Facebooku - identyfikator aplikacji

text: Zainstalowałem widżet komentarzy na Facebooku, który wydaje się działać dobrze bez identyfikatora aplikacji. Czy identyfikator aplikacji jest naprawdę potrzebny? Jakie korzyści da mi to, jeśli go dodam?


title: Wykryj stronę archiwum i kategorii

text: Chciałbym wykryć następujące strony: `http://192.168.1.100/wordpress/?m=201311` - archiwum blogów `http://192.168.1.100/wordpress/?cat=1` - kategoria blogów Na przykład post typ, który mogę łatwo wykryć: > $page_id = get_queried_object_id(); > > if (get_post_type( $page_id ) != 'slideshow') A co z powyższymi stronami? Mam na myśli dowolną kategorię lub stronę archiwum.


title: Czy istnieje sposób na ukrycie strony z pulpitu nawigacyjnego (listy wszystkich stron) LUB paska nawigacyjnego z funkcji wtyczki?

text: Próbuję dołączyć szablon z wtyczki, który wymagał wyświetlenia niektórych moich niestandardowych informacji. Napisałem funkcję wstawiania strony i dołączyłem szablon. To działa dla mnie, ale po utworzeniu strony automatycznie wyświetla się na liście menu paska nawigacyjnego (obecnie przy użyciu motywu thwentythirteen). Więc właściwie nie chcę wyświetlać mojej niestandardowej strony z NAVBAR (lista menu), a także z Dashboard listy wszystkich stron (jeśli to możliwe). Czy jest jakiś sposób na wyjście z tej sytuacji? Oto mój kod: function create_user_content_page() { $post_id = -1; // Ustaw niestandardowe zmienne $author_id = 1; $slug = 'zawartość-danych-użytkownika'; $title = 'Zawartość danych'; // Sprawdź, czy strona istnieje, jeśli nie, utwórz ją if ( null == get_page_by_title( $title )) { $dataContent_page = array( 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_author' = > $author_id, 'post_name' => $slug, 'post_title' => $title, 'post_status' => 'prywatny', 'post_type' => 'strona' ); $post_id = wp_insert_post( $dataContent_page ); if ( !$post_id ) { wp_die( 'Błąd tworzenia strony szablonu' ); } else { update_post_meta( $post_id, '_wp_page_template', 'content-template.php' ); } } // koniec sprawdzania } add_action( 'template_include', 'content_template' ); function content_template( $template ) { global $post; if ($post->post_type == 'zawartość-danych-użytkownika') { $template = dirname( __FILE__ ). '/treść-szablon.php'; } return $szablon; }


title: Dlaczego otrzymuję błąd "Wywołaj funkcję składową format() na obiekt niebędący obiektem"?

text: Próbuję dodać hak do zapisywania postów za pomocą WP Frontend User Kiedy formularz zapisuje się i post jest tworzony w ramach funkcji „save_post” Próbuję znaleźć wartość niestandardowego pola „cf_end_date” i przypisać ją do czegoś innego nie mogę wystarczająco szybko pobrać wartości pola niestandardowego „cf_end_date”. Jeśli przejdę na zaplecze i edytuję istniejący post, funkcja działa poprawnie. Oto mój kod w functions.php // przypisanie funkcji wygaśnięcia posta acf_set_exppiry($post_id){ $date = get_post_meta($post_id, 'cf_end_date', true); } //zmodyfikowana funkcja update_post_meta function expirationdate_update_post_meta_acf($id, $date) { // nie uruchamiaj echa, jeśli jest to automatyczny zapis if ( define('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return; // nie uruchamiaj echa, jeśli funkcja jest wywoływana w celu zapisania wersji. $posttype = get_post_type($id); if ( $posttype == 'rewizja' ) { return; } else { //'M j, Y' to format, w jakim wyprowadza moje pole daty ACF - może się różnić w zależności od ustawienia! $formatted_date = DateTime::createFromFormat('m-d-Y', $data); $miesiąc = intval($formatted_date->format('m')); $day = intval($formatted_date->format('d')); $rok = intval($formatted_date->format('y')); //Nie używam czasu w moim polu ACF, więc ustawiam go ręcznie na koniec dnia. $godzina = 23; $minuta = 59; $opcje = tablica(); $ts = get_gmt_from_date("$rok-$miesiąc-$dzień $godzina:$minuta:0",'U'); // Zaplanuj/Aktualizuj wygaśnięcie //$opts['expireType'] = 'szkic'; $opts['id'] = $id; _scheduleExpiratorEvent($id,$ts,$opts); } } add_action('save_post', 'acf_set_expiry',100);


title: add_image_size tworzenie wielu obrazów (o różnych rozmiarach)

text: Zastanawiam się, czy to dobry pomysł, aby użyć `add_image_size`, czy jest to tylko funkcja przekonująca. Mówię to tak, jak myślę, że `add_image_size` tworzy obrazy o różnych rozmiarach, niezależnie od tego, jakie jest użycie, jeśli obraz może np. Mogę chcieć tylko miniaturę o wymiarach 500 x 200 na moich stronach portfolio. ale WordPress utworzy obrazy o wymiarach 500x200 dla wszystkich obrazów, które przesyłam, prawda? Jeśli mam kilka opcji `add_image_size`, zaśmieca to moje przesyłane pliki bezużytecznymi obrazami, których nigdy nie użyję? Czy jest lepsze rozwiązanie? Zmień rozmiar przed przesłaniem, może trochę kłopotliwe?


title: WordPress dodaje br pomiędzy moim shortcode

text:
Mam problem z nieprawidłowym renderowaniem mojego znacznika (więcej miejsca z powodu `<br />`), ponieważ WordPress dodaje `<br />` wszędzie tam, gdzie jest przerwa, np. [x] [y]Hello world[/y] [y]Test[/y] [/x] W module obsługi `x` `$content` wygląda tak:
 [y]Hello world[/ y]
 [y]Test[/y]
 Czy mam usunąć wszystkie łamania wierszy? **UPDATE** Zauważyłem, że żadna linia nie jest łamana [x][y]Photoshop[/y][y]Notepad++[/y][/x] `[y]Notepad++[/y]` nie będzie renderowany jako krótki kod. Muszę mieć spację taką jak [x][y]Photoshop[/y] [y]Notepad++[/y][/x] ^ Czy jest?


title: WP_Query według nazwy kategorii

text:
Cześć Używam kodu do wyświetlania postów w suwaku na stronie, a na górze mam trochę kodu do filtrowania go za pomocą WP_Query. Proszę bardzo, nie wiem, co jest nie tak: <?php /** * Polecana zawartość 2 * */ $args = array( 'post_type' => 'iv_post_type', 'category' => 'commitment', ); $pętla = nowe WP_Query( $args ); if ( $loop->have_posts() ) : ?>

 <?php while ( $loop->have_posts() ): $loop->the_post(); ?>
 <?php if(has_post_thumbnail()) :?> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'bcc-video- średni' ); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php the_fragment(); ?> <?php else :?> <?php endif;?>

 ← Następne zdjęcie → Poprzednie zdjęcie
 <?php endwhile; ?>

 < ?php endif; ?>


title: Jak zmienić docelowy rozmiar klikanych obrazów w standardowej galerii Wordpress?

text: Chcę używać standardowej galerii Wordpress bez używania innych wtyczek i trzymać się skrótu galerii. Tak więc wiem, że mogę zmienić rozmiar miniatur, które są wyświetlane w siatce galerii, na przykład `[gallery size="xyz" link="plik"]`. Ale nie jestem zadowolony z tego, że Wordpress otwiera wtedy największy plik, po kliknięciu jednej z miniatur i chciałbym podać inny rozmiar, który stworzyłem z góry za pomocą `add_image_size( 'galleryimage', 900, 900 ); ` oczywiście w functions.php mojego dziecka. Oto kod, którego używam do generowania galerii na stronach statycznych: <?php $people_attachments = new WP_Query( array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'posts_per_page' => 0 , 'category_name' => 'ludzie', // uwaga: użyj kategorii SLUG ) ); $tablica_id_ludzi = tablica(); if ( $people_attachments->have_posts() ) : while ( $people_attachments->have_posts() ) : $people_attachments->the_post(); $people_id_array[] = get_the_ID(); koniec; endif; // Ważny! wp_reset_postdata(); $people_ids = implode( ',', $people_id_array ); echo do_shortcode( '[gallery link="plik" kolumny="5" order="DESC" orderby="ID" include="' . $people_ids . '"]' ); ?> Jak dodać docelowy rozmiar obrazu (rozmiar linkowanego obrazu, który ma być wyświetlany po kliknięciu)?


title: Jak mogę odfiltrować maź z Microsoft Word z wklejonej zawartości?

text: Mam użytkowników, którzy publikują posty na blogu grupowym i są w stanie wycinać i wklejać, ale ich wklejanie obejmuje takie rzeczy jak: <!– /* Definicje czcionek */ @font-face {font-family:”Cambria Math”; panoza-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:1; mso-generic-font-family:roman; mso-font-format:inne; mso-font-pitch:zmienna; mso-font-signature:0 0 0 0 0 0;} @font-face {rodzina czcionek:Calibri; panoza-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:szwajcarski; mso-font-pitch:zmienna; mso-font-signature:-520092929 1073786111 9 0 415 0;} @font-face {font-family:”Trebuchet MS”; panoza-1:2 11 6 3 2 2 2 2 2 4; mso-font-charset:0; mso-generic-font-family:szwajcarski; mso-font-pitch:zmienna; mso-font-signature:647 0 0 0 159 0;} /* Definicje stylów */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:tak; mso-style-parent:”"; margin-top:0in; margin-right:0in; margin-bottom:10,0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font -size: 12.0pt; rodzina czcionek: "Trebuchet MS", "sans-serif"; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family :”Times New Roman”; mso-bidi-theme-font:minor-bidi; color:black;} p {mso-style-noshow:yes; mso-style-priority:99; mso-margin-top-alt: auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:”Times New Roman”,” serif”; mso-fareast-font-family:”Times New Roman”;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:12.0pt; mso-ansi- font-size:12.0pt; mso-bidi-font-size:12.0pt; mso-ascii-font-family:”Trebuchet MS”; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor -latin; mso-hansi-font-family: "Trebuchet MS"; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: minor-bidi; color: black;} .MsoPapDe błąd {mso-style-type:export-only; margines-dolny: 10,0 pkt; line-height:115%;} @page WordSection1 {rozmiar:8,5 cala 11,0 cala; margines: 1,0 cala 1,0 cala 1,0 cala 1,0 cala; mso-header-margin:.5in; mso-stopka-margin:.5in; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} –> /* Definicje stylów */ table.MsoNormalTable {mso-style-name:”Table Normal”; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:tak; mso-style-priorytet:99; mso-style-qformat:tak; mso-style-parent:”"; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom: 10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:”Calibri”,”sans-serif”; mso -ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:”Times New Roman”; mso-fareast-theme-font:minor-fareast; mso-hansi -font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:”Times New Roman”; mso-bidi-theme-font:minor-bidi;} Co mogę zrobić aby automatycznie odfiltrować taki kod?


title: Jak opublikować elementy portfolio z przyszłą datą?

text: Próbuję publikować elementy portfolio z przyszłą datą (używając witryny opartej na wydarzeniach) i nie widzę żadnych wtyczek ani niczego. Widziałem je w ogólnych postach, takich jak „Przyszłość jest teraz” i tym podobnych. Nie znam się na wordpressie na tyle dobrze, żeby zakodować własne rozwiązanie tego problemu :/ Czy ktoś wie, co mógłbym zrobić? Pozdrawiam **EDYTUJ** – to znaczy chcę, żeby to zostało opublikowane teraz, ale wyświetlane online z przyszłą datą.