title: Jaka jest przewaga korzystania z home.php nad index.php na stronie głównej?

text: Tworzę motyw i zastanawiam się, czy dołączyć plik home.php, czy nie. Motyw (który nie będzie dostępny publicznie) będzie używany głównie ze statyczną stroną główną i oddzielną stroną z wpisami na blogu. Rozumiem, że włączenie pliku front-page.php oznacza, że statyczna strona główna będzie obsługiwana przez ten plik; i że gdybym miał dołączyć plik home.php, to posty na blogu byłyby przez niego obsługiwane. Moje pytanie brzmi: Jeśli z przyjemnością używam index.php jako układu postów na blogu zamiast home.php, czy jest jakaś korzyść z posiadania pliku home.php? Albo spytać o to w inny sposób: Czy jedynym celem home.php jest umożliwienie oddzielnego stylu/układu strony postów na blogu w porównaniu z szablonem index.php (tj. szablonem awaryjnym). Powinienem dodać, że zawarłem w motywie większość innych szablonów (pojedyncze, archiwum, strona itp.), więc tak naprawdę spodziewam się, że index.php zostanie użyty jako rezerwa i będzie działał tylko w tym zakresie, jeśli przegapiłem coś tak, miejmy nadzieję, nie tak często.


title: usuwanie domyślnego kodu wordpress ze strony

text: Próbuję stworzyć stronę w wordpressie z własnym unikalnym kodem html, więc moja własna głowa, html, tagi ciała itp. Nie mogę zmusić tego do pracy, ale potem wordpress chucks we własnej głowie, tagi html itp., więc dodaje spacje na stronie, czy istnieje sposób na usunięcie kodu wordpress z jednej strony i użycie odpowiedniego kodu? Możliwe jak?


title: Konflikt WP Query na tag.php i szablonie category.php

text: Moje WP_query w menu nagłówka nie pobiera żadnych postów tylko na stronach tagów i kategorii. Błąd występuje nawet po usunięciu pętli z tych stron szablonu. Menu w nagłówku zawiera listę rodziców. Następnie dla każdego rodzica wysyła zapytanie o posty i obrazy podrzędne. Co ciekawe, (WSZYSTKIE) posty pojawiają się, gdy warunek 'post_parent' zostanie usunięty z $group_nav. Jestem stosunkowo nowy w php, więc każda pomoc jest bardzo doceniana. Ten problem przysparzał mi żalu przez ostatnie 3 dni! Rozwijane menu można zobaczyć tutaj: http://d1079691-5522.myweb.westnethosting.com.au/wspie.com.au/?industry=construction i niewłaściwe zachowanie tutaj: http://d1079691-5522. myweb.westnethosting.com.au/wspie.com.au/?tag=skóra syntetyczna Kodowanie w header.php <?php $temp_query = klon $wp_query; ?> <?php $group_nav_ids = array(916,917,918,919,920,921); //identyfikatory nadrzędne niestandardowego typu postu dla każdego ($group_nav_ids jako $group_nav_id): ?> *do rzeczy <?php $group_nav = new WP_Query(array( //pobierz wpisy potomne 'post_type' => 'pgroup', 'post_parent' = > $group_nav_id, 'order' => 'ASC', 'orderby' => 'menu_order', 'posts_per_page' => -1 )); if ($group_nav->have_posts()) : ?> <?php while ($group_nav->have_posts()) : $group_nav->the_post(); ?> *zrób coś <?php endwhile; ?> <?php endif; ?> <?php endforeach; ?> <?php wp_reset_query(); wp_reset_postdata(); rewind_posts(); ?> <?php $wp_query = klon $temp_query; ?>


title: Jak uzyskać uchwyt $ dla wszystkich umieszczonych w kolejce skryptów?

text: Czy jest jakiś sposób na uzyskanie uchwytu $ dla każdego skryptu, który został umieszczony w kolejce? Czy istnieje jakaś tablica, która przechowuje wszystkie uchwyty, dzięki czemu mogę przejść przez nią w pętli i zrobić coś za pomocą każdego uchwytu $?


title: Czy istnieje wtyczka lub prosty sposób na dodanie metaboxa wielu obrazów do posta?

text: Szukam sposobu na stworzenie niestandardowego pola/metaboxu, które pozwoli dołączyć **wiele** i **nieskończone** obrazy do posta. Umożliwiłoby to stworzenie niestandardowego typu postu dla portfolio i umożliwiłoby dołączanie obrazów **bez wklejania ich w obszarze tekstowym posta**. Większość wtyczek, które widziałem, pozwala tylko na 1 obraz. Czerpię inspirację z niesamowitego CMS ProcessWire, który pozwala na tę funkcjonalność zaraz po wyjęciu z pudełka. Byłoby wspaniale mieć to również w Wordpress! Czy brakuje mi wtyczki? Czy można to zrobić?


title: Jakie filtry są stosowane do funkcji the_content?

text: W jaki sposób WordPress konwertuje surowe dane z bazy danych do czytelnego formatu w funkcji the_content? Zauważyłem, że stosuje filtr the_content, ale co robi filtr the_content?


title: Filtruj dla wyróżnionego obrazu

text: Czy istnieje filtr, gdy wyróżniony obraz jest ustawiony/rozbrojony lub zmieniony. Muszę usunąć dane przejściowe, gdy wystąpi powyższe.


title: Optymalizacja Jetpack dla Wordpress

text: Yslow zgłasza następujące problemy z Jetpack: 1) Skompresuj http://stats.wordpress.com/e-201219.js za pomocą gzip 2) Skonfiguruj tagi etag dla http://stats.wordpress.com/g.gif?... Zmodyfikowano format, aby był łatwiejszy do zrozumienia. Jak mogę podjąć działania przeciwko tym elementom. Używam już najnowszej wersji wtyczki W3 Total cache. Proszę o poradę.


title: Jak stworzyć drugi index.php?

text: Potrzebuję duplikatu `index.php`, ale nieco zmodyfikowanego. Dodałem wtyczkę "vote it up". Dlatego chcę, aby użytkownik wybrał sposób wyświetlania postów - według nowych lub popularnych. Wiem, co dodać do drugiego `index.php`, ale jak stworzyć drugi `index.php`, to jest problem.


title: Zaktualizuj wpis w bazie danych WP za pomocą formularza zaplecza

text: Próbuję znaleźć sposób na UPDATE wpisu w moim WP DB za pośrednictwem formularza. Moim pomysłem jest pobranie aktualnych wartości wpisów, linkowanie do innej strony z innym formularzem i wyświetlenie ich tam wewnątrz kontenerów. Uniemożliwiłoby to użytkownikowi konieczność wybierania wpisu i kopiowania wklejania za każdym razem, gdy musi go zmienić. Teraz po prostu zmienia to, co chce, naciśnij submit en wallah. Ma sens? Problem w tym, że nie mam pojęcia, jak się do tego zabrać w WP! Myślałem o użyciu action="some_php_file_here.php" lub funkcji. Ale czy WP ma określony sposób łączenia stron w backendzie? Jak wywołać te strony. Tak naprawdę nie istnieją jako pozycje menu, więc gdzie one są? Również do aktualizacji wpisu. Jeśli ktoś ma lepszą propozycję proszę daj mi znać. Dziękuję za Twój czas.


title: Zapytanie o zamówienie przy użyciu niestandardowych metadanych

text:
Stworzyłem niestandardowy typ posta o nazwie `Events` o nazwie `events` function add_events_post_type() { register_post_type("events", array( "label" => __("Events"), "singular_label" => __( "events"), "public" => true, "capability_type" => "post", "hierarchical" => false, "rewrite" => array("slug" => "event"), "query_var" => false, "show_ui" => true, "obsługuje" => array("tytuł", "redaktor", "autor") )); } add_action('init', 'add_events_post_type'); Używam następującego do utworzenia mojego niestandardowego pola meta define('MY_WORDPRESS_FOLDER',$_SERVER['DOCUMENT_ROOT']); define('MY_THEME_FOLDER',str_replace("\\",'/',dirname(__FILE__))); define('MY_THEME_PATH','/' .substr(MY_THEME_FOLDER,stripos(MY_THEME_FOLDER,'wp-content'))); add_action('admin_init','my_meta_init'); function my_meta_init() { // przejrzyj dokumentację funkcji w celu uzyskania szczegółów parametrów // http://codex.wordpress.org/Function_Reference/wp_enqueue_script // http://codex.wordpress.org/Function_Reference/wp_enqueue_style //wp_enqueue_script('my_meta_js ', MY_THEME_PATH . '/custom/meta.js', array('jquery')); wp_enqueue_style('mój_meta_css', MY_THEME_PATH. '/custom/meta.css'); // przejrzyj referencję funkcji w celu uzyskania szczegółów parametrów // http://codex.wordpress.org/Function_Reference/add_meta_box // dodaj meta pole dla każdego typu strony wordpress: posty i strony foreach (array('events') jako $type) { add_meta_box('my_all_meta', 'Informacje o wydarzeniu', 'my_meta_setup', $type, 'normal', 'high'); } // dodaj funkcję zwrotną, aby zapisać wszelkie dane wprowadzone przez użytkownika w add_action('save_post','my_meta_save'); } function my_meta_setup() { global $post; // użycie podkreślenia zapobiega wyświetlaniu // metazmiennej w sekcji pól niestandardowych $meta = get_post_meta($post->ID,'_my_meta',TRUE); // zamiast pisać tutaj HTML, zróbmy include(MÓJ_FOLDER_TEMU . '/custom/events.php'); // utwórz niestandardowy numer jednorazowy do późniejszego przesłania weryfikacji echo '<input type="hidden" name="my_meta_noncename" value="' .wp_create_nonce(__FILE__) .'" />'; } function my_meta_save($post_id) { // sprawdzanie uwierzytelnienia // upewnij się, że dane pochodzą z naszego meta pola if (!wp_verify_nonce($_POST['my_meta_noncename'],__FILE__)) return $post_id; // sprawdź uprawnienia użytkownika if ($_POST['post_type'] == 'strona') { if (!current_user_can('edit_page', $post_id)) return $post_id; } else { if (!current_user_can('edit_post', $post_id)) return $post_id; } // uwierzytelnienie zakończone, zapisz dane // typy var // single: _my_meta[var] // array: _my_meta[var][] // grouped array: _my_meta[var_group][0][var_1], _my_meta[var_group] [0][var_2] $current_data = get_post_meta($post_id, '_my_meta', TRUE); $nowe_dane = $_POST['_my_meta']; my_meta_clean($new_data); if ($current_data) { if (is_null($new_data)) delete_post_meta($post_id,'_my_meta'); jeszcze update_post_meta($post_id,'_my_meta',$new_data); } elseif (!is_null($new_data)) { add_post_meta($post_id,'_my_meta',$new_data,TRUE); } return $post_id; } function my_meta_clean(&$arr) { if (is_array($arr)) { foreach ($arr as $i => $v) { if (is_array($arr[$i])) { my_meta_clean($arr[$ i]); if (!count($arr[$i])) { unset($arr[$i]); } } else { if (trim($arr[$i]) == '') { unset($arr[$i]); } } } if (!count($arr)) { $arr = NULL; } } } i moje niestandardowe pole wygląda jak poniżej

Wypełnij te informacje, aby wydarzenia były wyświetlane.
 Data rozpoczęcia wydarzenia
< input type="tekst" name="_my_meta[eventstartdate]" class="date-pick" value="<?php if(!empty($meta['eventstartdate'])) echo $meta['eventstartdate']; ?>"/>
 Data zakończenia wydarzenia
<input type="text" name="_my_meta[eventenddate]" class="date-pick" value="<?php if(!empty($meta['eventenddate'])) echo $meta['eventenddate']; ?>"/>
 Data publikacji
<input type="text " name="_my_meta[opublikuj]" class="date-pick" value="<?php if(!empty($meta['publish'])) echo $meta['publish']; ?>"/>
 Ukryj datę
<input type="tekst" name="_my_meta[ukryj]" class="date-pick" value="<?php if(!empty($ meta['hide'])) echo $meta['hide']; ?>"/>
 Przyklejony
<input type="pole wyboru" name="_my_meta[przyklejony ]" value="przyklejony" < ?php if($meta['przyklejony'] == 'przyklejony') { echo 'sprawdzone="sprawdzone"'; } ?>/>

 Pytam o posty w niestandardowym typie postów na stronie głównej witryny za pomocą tego zapytania. <?php $args = array( 'post_type' => 'zdarzenia', 'posts_per_page' => 3 ); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); $dane = get_post_custom(get_the_ID()); $dane2 = $dane['_my_meta']; $dane3 = unserialize($dane2[0]); if($data3['sticky'] == 'sticky') { echo ''.get_the_title().'
'; } else { echo ''.get_the_title().'
'; } koniec; ?> Chciałbym zamówić zapytanie przy użyciu daty rozpoczęcia wydarzenia z niestandardowego pola meta. Próbowałem tego bez powodzenia. Czy ktoś może mi w tym pomóc?


title: Fragment dla własnych (gr)awatarów

text: Poniższy fragment używany (i działa świetnie), ale generuje łańcuch przekierowań :(. If (function_excists('basicgravatar') function basicgravatar ($avatar_defaults) { $myavatar = get_stylesheet_directory_uri() . '/images/gravatar.png'; //Child motyw //$myavatar = get_bloginfo('template_directory') '/images/gravatar.png'; //Główny motyw $avatar_defaults[$myavatar] = "Nowy domyślny awatar"; return $avatar_defaults; } add_filter( 'avatar_defaults', „basicgravatar” ); Używając GTmetrix, który wyświetla następujące informacje: > Jeśli to możliwe, usuń następujący łańcuch przekierowań: > http://0.gravatar.com/avatar/?d=http://oursite.com/media/wp- > content /themes/our-child-theme/images/gravatar.png&s=40 _i jeszcze 2 linie > z prawie identycznym komunikatem._ Jest to również widoczne po użyciu powyższego kodu: > Poniższe zasoby mają identyczną zawartość, ale są obsługiwane z > różne adresy URL. Wyświetlaj te zasoby ze spójnego adresu URL, aby zaoszczędzić 2 > żądania i 20,2 KiB. Im więcej komentarzy, tym więcej przekierowań. (Powyższe cytaty pokazują wyniki po zaledwie dwóch (2) komentarzach i 1 polu autora, wyobraź sobie 50 lub więcej komentarzy...).. jak rozwiązać ten problem, bez edytowania żadnego pliku podstawowego. Z góry dziękuję za czas i wysiłek.


title: Jak uporządkować posty według meta_value i tytułu?

text: Jak zamawiać produkty w WooCommerce, aby produkty były losowe, ale jednocześnie polecane produkty wyświetlały się jako pierwsze? Oto mój kod: $args = array( 'post_type' => 'product', 'showposts' => $show_posts, 'meta_key' => '_featured', 'orderby' => 'meta_value', 'order' => 'desc', 'post_status' => 'publikuj', 'paged' => $paged ); $all_products = nowe WP_Query( $args ); Próbowałem dodać `rand` po `meta_value`, ale to po prostu losuje produkty (innymi słowy, te polecane nie wyświetlają się jako pierwsze). Z góry dziękuję


title:
Jak wyświetlić treść dla danego identyfikatora strony bez opakowania

?

text: Jak wyświetlić zawartość dla danego identyfikatora strony bez opakowania `<p></p>`? Obecnie używam metody: <?php $id=21; $post = get_page($id); $content = apply_filters('the_content', $post->post_content); echo $treść; ?> Na przykład `ID strony = 21` ma następującą treść: `Pewna treść` Czym jest echo wordpress `<p>Pewna treść</p>` Wszelkie sugestie są mile widziane.


title: Edycja wp-config.php

text: Muszę dodać linię `define('WP_POST_REVISIONS', false);` do mojego pliku config.php , aby wyłączyć wersje postów. Nie mam dostępu do wp-config.php, mam uprawnienia do edycji mojego motywu i wtyczek. Czy w jakikolwiek sposób mogę dodać ten kod do function.php mojego motywu, czy jest to ich dowolny hak, aby to osiągnąć. również, czy i tak zastępują funkcję, która została zdefiniowana w wp-config.php np.: define( 'BP_DEFAULT_COMPONENT', 'profile' ); czy mogę zastąpić powyższy wiersz kodu bez dostępu do wp-config.php.


title: Lista gości podcastu

text: Więc to, co chcę zrobić, to mieć funkcję podobną do kategorii lub tagu, ale nieco bardziej niezawodną. To **dla podcastu** do _listy gości w każdym odcinku_. W idealnym przypadku zrobiłoby to kilka rzeczy: ### Dane gościa Dla _każdego_ gościa (dodanego do odcinka) wyświetl jego: * imię, * zdjęcie, * identyfikator na Twitterze, * adres URL. ### Strona gościa Kliknięcie jego zdjęcia lub nazwiska spowoduje przejście do strony _takiej jak strona autora_ , na której można przechowywać więcej informacji o tym gościu: * krótkie biografie, * wszystkie odcinki, w których gość się pojawił, * itp. .. ### Meta Box na ekranie edycji podcastu: Zarządzanie tym byłoby idealnie zarządzane tak jak teraz, poprzez pola wyboru i nazwy wymienione na stronie zapisu do wyboru. Dalsze zarządzanie (dodawanie biografii, zdjęć, itp.) odbywałoby się w innym panelu, takim jak posty. Moją pierwszą myślą były niestandardowe typy postów lub niestandardowe taksonomie, ale nie jestem pewien, która metoda jest bardziej realna. Jakieś pomysły? Dziękuję.


title: Uzyskaj link do określonego pliku szablonu

text: Planowałem stworzyć niestandardowy szablon „Archiwum”, aby stworzyć szczegółową stronę Archiwum dla mojego bloga, zawierającą listy postów według kategorii, tagu, daty i autora. Jednak zamiast używać statycznego linku, czy istnieje sposób na WordPress, aby uzyskać link do określonego pliku szablonu? Chcę, aby link działał niezależnie od adresu URL strony — czy to możliwe?


title: Jak wymusić układ jednej kolumny na niestandardowej stronie edycji typu posta?

text: Stworzyłem wtyczkę za pomocą niestandardowych typów postów i muszę wymusić domyślną stronę z dwiema kolumnami do jednej kolumny. Jednocześnie metaboks **Publikuj** musi zostać przesunięty na dół. Muszę to zrobić za pomocą funkcji w jakiś sposób. Mam kilka rozwiązań z WPSE, ale jedyne rozwiązanie, które znalazłem, faktycznie ukrywa metabox „Publikuj”. Nie wiem dlaczego. Jakieś pomysły, jak to zrobić?


title: Jak może nagle pojawić się lub zmienić plik .htaccess z uwierzytelnianiem?

text: Próbując oznaczyć komentarz jako spam, otrzymałem login w wersji basic-htaccess. Nie mogłem się zalogować, a potem przypomniałem sobie, że nie mam podstawowego loginu: jedyne, co robi mój `.htaccess` w folderze `wp-admin`, to umieszczanie dozwolonych adresów IP na białej liście. Podczas sprawdzania plików stwierdziłem, że * mam teraz kilka nowych linii nad moim `wp-admin/.htaccess` ustawiającym podstawowe uwierzytelnianie (z jakiegoś powodu, pliki użytkownika/hasła znajdujące się w /dev/ null) * Mam również dodatkowe wiersze w moim pliku dostępu do roota (`/.htaccess`) zawierające kolejną linię podstawowego uwierzytelniania, wskazującą na plik z hasłami w katalogu głównym. Oba te pliki są tworzone/modyfikowane 5 dnia, ale nie przeze mnie. * Plik haseł zawiera jeden wpis dla użytkownika o nazwie „admin” (użytkownik, którego nie używam), z hashem hasła. Aby być bezpiecznym, dopóki nie będę miał czasu, aby to naprawić, zmieniłem ten skrót hasła, więc jeśli coś używało go jako metody dostępu, nie może już (wydaje się to trochę dziwne, gdy jesteś już mogę pisać do mojego `.htaccess`. Obecnie myślę, że prawdopodobnie nie jest to hack, ponieważ wydaje się, że niewiele się zmieniło, a to, co zostało zmienione, jest dość trudne: to byłoby dziwne. Co mogę wymyślić że może to jest * aktualizacja albo poszła źle (tymczasowe ograniczenie dostępu do wp-admin tylko do administratora i nie kończenie / przywracanie tego) * lub aktualizacja, która jest zbyt paranoiczna w kwestii bezpieczeństwa i „postanowiła” dodać podstawowy login (ale nie znalazłem nikogo oburzającego, więc wątpliwe).Czy ktoś wie, czy w automatycznej aktualizacji jest proces, który robi takie rzeczy, i może scenariusze, które mogą się wydarzyć (a może nawet mogę to sprawdzić), które by zachować te pliki na miejscu? Nie potrzebuję konkretnych wskazówek, jak usunąć pliki lub zaradzić sytuacji n, głównie naprawdę chcę się dowiedzieć, jak to się stanie. W szczególności, jeśli jest to coś, co może zrobić automatyczny aktualizator.


title: Walker_Nav_menu dostęp do nazwy menu nadrzędnego

text:
Rozszerzyłem **Walker_Nav_Menu** o poniższy kod i chciałbym zastąpić [TITLE HERE] nazwą nadrzędnego menu... W moim menu wyświetlam tylko jedną głębokość nawigacji na raz. Więc chciałbym wyświetlić nazwę rodzica podmenu. Jak mógłbym to osiągnąć? function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "
"; $output .= "
**[TUTAJ TYTUŁ]**
"; $output .= "Zamknij"; $output .= "\n$indent
\n"; }      Z góry dziękuję. J.


title: Uzyskaj identyfikator polecanego obrazu za pomocą „get_post_thumbnail_id(the_ID())” – bez drukowania na ekranie?

text: Używam kodu: get_post_thumbnail_id(the_ID()), aby uzyskać identyfikator obrazu miniatury posta, ale za każdym razem, gdy to wywołam, wyświetla identyfikator na ekranie. Chcę tylko uzyskać wartość do użycia w innej funkcji, bez echa nigdzie. Jak mam to zrobic?


title: Wstrzykiwanie niestandardowego zapytania sql do strony/motywu

text: Napisałem niestandardowe zapytanie sql dla naszej witryny WordPress (dość rozbudowane i nieosiągalne za pomocą standardowego kodu wordpress) i mam je uruchomić przez `$pageposts = $wpdb->get_results($query, OBJECT);`, daje wyniki, jakich oczekuję. Teraz chciałbym zintegrować to zapytanie za pomocą hooka (najlepiej), aby nie musiał aktualizować strony motywu, abyśmy mogli nadal aktualizować motyw. Wiem, że hak `pre_get_posts()` pozwala dostosować główne zapytanie, ale z tego, co znalazłem, wydaje się, że **tylko** pozwala **dostosować**. Np. `$query->set( 'rok', $dzisiaj['rok'] );`. Chcę jednak całkowicie zastąpić zapytanie. Czy można to zrobić za pomocą haka, aby móc wykorzystać kod głównego motywu za pomocą haka z mojego kodu motywu podrzędnego? Czy też będę musiał sklonować całą stronę z motywu głównego do motywu potomnego i użyć kodu w następujący sposób: <?php $pageposts = $wpdb->get_results($q, OBJECT); if ($pageposts): globalny $post; foreach ($pageposts jako $post): setup_postdata($post); ?>


title: Jak wyświetlać posty według liczby głosów i jeśli nie ma wartości, kontynuować z najnowszymi postami bez głosów?

text: Może ktoś może mi w tym pomóc. Chcę wyświetlać posty według głosów. Użytkownicy mogą tylko głosować. Więc to, czego chcę, to - najczęściej głosowane posty według głosów liczą się na górze, a następnie najnowsze posty bez głosów. Problem z poniższym kodem polega na tym, że post jest wyświetlany tylko wtedy, gdy ma co najmniej jeden głos (+1). Przetestowałem to i sortuje tylko głosowane posty tak, jak chcę, ale jak kontynuować pętlę, jeśli nie ma wartości głosu? $args = array( 'post_type' => 'topic-post', 'posts_per_page' => -1, 'order' => 'DESC', 'meta_key' => '_topic_post_votes', 'orderby' => 'meta_value_num' , 'meta_query' => array( array( 'key' => '_topic', 'value' => array( $topic_id ), 'compare' => 'IN', ) ), 'post_status' => $status ) ;


title: Załaduj JS/CSS shortcode w poście

text: Próbuję metody Mistrza Jedi http://scribu.net/wordpress/optimal-script-loading.html class My_Shortcode { static $add_script; funkcja statyczna init() { add_shortcode('myshortcode', array(__CLASS__, 'handle_shortcode')); add_action('init', array(__CLASS__, 'register_script')); add_action('wp_footer', array(__CLASS__, 'print_script')); } funkcja statyczna handle_shortcode($atts) { self::$add_script = true; // rzeczywista obsługa krótkiego kodu tutaj } static function register_script() { wp_register_script('mój-skrypt', plugins_url('mój-skrypt.js', __FILE__), array('jquery'), '1.0', true); } funkcja statyczna print_script() { if ( ! self::$add_script ) return; wp_print_scripts('mój-skrypt'); } } Mój_krótki kod::init(); gdy [myshortcode] w widgecie, ładowany jest plik js. Ale kiedy [myshortcode] w poście , plik js nie jest ładowany. Czy możesz mi powiedzieć, jaki jest problem?


title: Opcje programu Options Framework nie są wyświetlane

text: Korzystam z opcji Framework. W options.php mojego motywu mam następujący kod: function optionsframework_options() { $options = array(); $options[] = array( 'name' => __('Nawigacja stopką', 'options_framework_theme'), 'type' => 'heading'); $options[] = array( 'name' => __('Adres URL przycisku 1', 'options_framework_theme'), 'desc' => __('Wprowadź adres URL po kliknięciu przycisku.', 'options_framework_theme') , 'id' => 'footer-nav1_URL', 'std' => '', 'type' => 'text'); $options[] = array( 'name' => __('Tekst przycisku 1', 'options_framework_theme'), 'desc' => __('Wprowadź tekst, który widzisz pod przyciskiem.', 'options_framework_theme'), ' id' => 'footer-nav1_text', 'std' => '', 'type' => 'text'); W footer.php mojego motywu mam następujący kod: <?php if (of_get_option('footer-nav1_URL', '') !== '') { ?> <a href="<?php echo of_get_option(' footer-nav1_URL', '');?>">   <?php echo of_get_option('footer-nav1_text', '');?>  <?php }?> Te opcje nie są wyświetlane w stopce. Stopka działa normalnie. Inne opcje wywoływane w front-page.php działają poprawnie. Dlaczego te opcje nie działają?


title: Wyświetl link do edycji, jeśli autor postu jest aktualnym użytkownikiem

text: Tworzę stronę author.php i wyświetlam wszystkie posty autora. Chociaż administratorzy widzą linki do edycji postów, chcę wyświetlić link, jeśli zalogowany użytkownik jest bieżącym użytkownikiem na przykład jeśli testuser jest zalogowany, a bieżąca strona to /author/testuser, może zobaczyć linki do edycji postów, ale jeśli testuser jest zalogowany a bieżąca strona to /author/theee on nie widzi aktualnie posiadanych przeze mnie linków $curauth = (isset($_GET['autor_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); $th = $curauth->nick; $cu = $bieżący_użytkownik->użytkownik_login; if ( $th = $curauth ) { edit_post_link('edit', '', ''); } else { } ale nadal tylko administratorzy mogą zobaczyć linki.


title: różne kategorie (używając tych samych etykiet kategorii) dla różnych typów postów

text: Próbuję zbudować witrynę agregującą multimedia z 6 różnymi niestandardowymi typami postów i chciałbym, aby każdy typ posta miał 12 kategorii, te same 12 etykiet kategorii, które ma pozostałe 5, tylko chciałbym, aby każdy z nich miał własne archiwum, nie udostępniać archiwów kategorii innym. Oto link do strony w obecnej formie: http://www.collectivelyconscious.net/test2 (sprawdź nawigację, aby zobaczyć kategorie) Uproszczona struktura strony wygląda następująco: 1. root/ A. news/ i. polityka/ ii. ekonomia/ iii. zdrowie/ ...itd. B. filmy/ ja. polityka/ ii. ekonomia/ iii. zdrowie/ ...itd. C. filmy dokumentalne/ ja. polityka/ ii. ekonomia/ iii. zdrowie/ ...itd. Chcę więc, aby ludzie mogli klikać tag kategorii, powiedzieć „Polityczne”, aby wyświetlić wiadomości, a archiwum pokazywało tylko najnowsze posty, które zostały posortowane w kategorii „Polityczne” z adresem URL najlepiej w w następującym formacie: `root/news/political/` Lub jeśli nie jest to możliwe, to przynajmniej można je znaleźć pod adresem: `root/category/political-news/` Bawiłem się z wtyczką Custom Post Type UI i jeśli dodam albo normalne tagi, albo normalne kategorie, używają one oczywiście tych samych kategorii/tagów i umieszczają je w jednym archiwum. Próbowałem więc utworzyć niestandardowe taksonomie, ale (1) jestem zmuszony do zmiany informacji o taksonomii dla każdego niestandardowego typu postu, (2) nie mogę znaleźć strony archiwum dla postów typu niestandardowego w taksonomii niestandardowych i (3) jest z jakiegoś powodu zachowywał się naprawdę błędnie. Nie mam pojęcia, dokąd się udać... Każda pomoc byłaby bardzo mile widziana!


title: Podświetlenie kodu WP :'=>' zastąpione przez '&gt'

text: Używam WP Code Highlight na moim blogu, ale jeśli wprowadzę znaki `=>` między `<pre>#code here...</pre>`, zmieni się na `>`. Na przykład, `'argumenty dostępu' => array('moduł administratora')` zostaną zmienione na `'argumenty dostępu' =>array('moduł administratora')`.


title: Dynamiczne paski boczne i echo

text:
Mogę z powodzeniem uruchomić dynamiczny pasek boczny w następujący sposób:

 <?php dynamic_sidebar( 'pop-photos-sidebar' ); ?>

 Teraz próbuję zmusić pasek boczny do pracy z innym kodem, który znajduje się w kodzie php. Próbowałem użyć powyższego `< ?php dynamic_sidebar( 'pop-photos-sidebar' ); ? >` i zepsuł moją witrynę, ponieważ kod php dynamic_sidebar znajduje się w innym kodzie php. Spróbowałem więc utworzyć funkcję $ taką jak: $newssidebar = dynamic_sidebar( 'pop-news-sidebar' ); echo '

 '.$newssidebar.'

'; Spowodowało to pomyślne wyświetlenie dynamicznego paska bocznego „pop-news-sidebar”, ale... nie znajduje się on najpierw w obszarze widżetów klasy ul ani w pasku bocznym div class sidebar-first. Jak sprawić, by mój dynamiczny pasek boczny był poprawnie wyświetlany w klasie ul i div wymienionej powyżej, tak jak powinien? Czy w ogóle użyłbym echa? Nie sądziłem, że trzeba wkleić cały kod, ale i tak jest tutaj: <?php if( fake if code ) { if( another fake if code ) { $newssidebar = dynamic_sidebar( 'pop-news-sidebar' ); echo '

 '.$newssidebar.'

'; }else if( fake else ) { echo 'inny kod'; } } ?> Jakakolwiek pomoc byłaby niezmiernie mile widziana! :)


title: Zaawansowane permalinki autora

text: Próbuję zbudować strukturę permalinków dla archiwów autorów, która pozwoliłaby mi wyświetlać posty różnych niestandardowych typów postów w 'podstronach/archiwach podrzędnych' archiwum autora. Więc pomysł jest taki, żeby zmienić to: /%author_base%/%user_name%/ Na to: /%author_base%/%user_name%/%CPT_slug%/ Byłbym wdzięczny za sugestie.


title: Jak sprawdzić, czy produkt znajduje się w określonej kategorii na single-product.php w Woocommerce?

text: Jak na świecie mogę sprawdzić, czy produkt jest w określonej kategorii produktów na _single-product.php_? <?php if (is_product_category('audio')) { echo 'W audio'; woocommerce_get_template_part( 'treść', 'pojedynczy produkt' ); } elseif (is_product_category('elektro')) { echo 'In elektro'; woocommerce_get_template_part( 'treść', 'pojedynczy produkt' ); } else { echo 'trochę blabla'; } ?> **is_product_category('slug')** nie ma wpływu na **single-product.php**. Chcę mieć górne warunki warunkowe. Jakieś rozwiązanie tego problemu na stronie jednego produktu?


title: Zapytanie nie zwraca postów CPT

text:
Och, uderzam głową o ścianę! Próbuję wysłać zapytanie do mojego wpisu typu „clips” w index.php, ale zwraca on tylko posty z domyślnego „post”. Potrzebuję wglądu! Co ja robię źle? Mój typ wpisu: $args = array( 'labels' => $labels, 'supports' => $supports, 'hierarchical' => false, 'menu_position' => 4, 'publicly_queryable' => true, 'show_ui' = > true, 'public' => true, 'query_var' => true, 'capability_type' => 'clip', //'map_meta_cap' => true, //'capabilites' => $capabilities, ); register_post_type( 'clip', $args ); Moje zapytanie (index.php): <?php query_posts(array('posts_per_page' => 17, 'post_type' => array('clip'))); ?> <?php if (have_posts()) : ?>
 <?php while (have_posts()) : the_post(); ?>
 <?php the_title();?>
<?php the_permalink(); ?> <a id="post-<?php the_id(); ?>" class="videolink" title="Kliknij, aby wyświetlić" href=""> <?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } else { echo "Brak miniatury"; } ?>
 <?php endwhile; ?>
 <?php else: ?>
Przepraszamy, ale ta zawartość nie jest dostępna.
 <?php endif; ?> Zauważ, że w pliku szablonu nie ma innych pętli.


title: Utwórz drugą niestandardową stronę 404 dla wybranego typu postu

text: Stworzyłem nowy niestandardowy typ posta o nazwie `event`, który działa dobrze. Stworzyłem również niestandardowy szablon strony `404`, który jest wyświetlany, jeśli wydarzenie/strona/post nie zostaną znalezione. Ale teraz najtrudniejsza część, chcę stworzyć niestandardową stronę 404 dla typu posta o wydarzeniu. Tak więc ta strona 404 jest wyświetlana tylko wtedy, gdy zdarzenie nie zostanie znalezione. Ale domyślna strona 404 powinna nadal działać z postami lub stronami. Dziękuję


title: Jak znaleźć post_id postu na blogu Wordpress, który używa ładnych adresów URL?

text: Jedyny trik tutaj: To nie jest mój blog, wiem jak to zrobić używając php na moim blogu. Chcę znaleźć identyfikator posta na innym blogu wordpress przez Internet. Czy te informacje gdzieś „wyciekają”, czy może je znaleźć osoba trzecia?


title: Komentarze: Zatwierdź, gdy administrator odpowiada, z interfejsu

text: Dziękujemy za przeczytanie, W panelu administracyjnym, gdy komentarz oczekuje na moderację, możesz w tej samej akcji „Zatwierdź i odpowiedz”. Jednak w interfejsie, jeśli pokażesz oczekujące komentarze administratorowi, a ona kliknie Odpowiedz, komentarz nie zostanie zatwierdzony. Czy ktoś wie, jak uzyskać odpowiedni link lub gdzie zmodyfikować kod, aby automatycznie zatwierdzać komentarze, gdy administrator odpowie? **Dlaczego:** Tworzę witrynę dla klienta i staram się, aby była tak prosta, jak to tylko możliwe, aby nie musiała uczyć się panelu administracyjnego WP.


title: Zbuduj sieć witryn z obsługą rss

text: Próbuję zbudować sieć witryn w mojej witrynie, która jest obsługiwana przez rss. Powinno być podobne w zakresie do http://network.smashingmagazine.com/, z wyjątkiem tego, że chcę, aby nowa treść została opublikowana automatycznie. Powinno działać z cron'em mniej więcej co godzinę i musi pasować do obecnego szablonu na mojej stronie http://www.theliverpoolview.com/ Czy jest jakaś darmowa lub open source'owa wtyczka, która ułatwia to zadanie?


title: Prawidłowa składnia pobierania niestandardowego pola w CPT

text: Nie rozumiem, kiedy używać $post->ID lub $post->post->ID z CPT. Mam: $event = get_post($event_id); $event_pre_register = get_post_meta($event->post->ID, "Ostateczny termin rejestracji wstępnej", prawda); Czy jest to : get_post_meta($event->ID ... ?


title: Czy te wtyczki będą działać z wp multisite?

text: Właśnie stworzyłem swoją pierwszą sieć stron z wordpressem i instalowałem wtyczki, zainstalowałem te: > Platinium SEO Pack (http://techblissonline.com/platinum-seo-pack/) > > TubePress (http://www. tubepress.net) > Formularz kontaktowy 7 (http://contactform7.com/) > > Zakładki społecznościowe (http://wordpress.org/extend/plugins/social-bookmarks/) > > Ściśle automatyczne tagi (http:/ /wordpress.org/extend/plugins/strictly-autotags/) >> SEO Smart Links (http://wordpress.org/extend/plugins/seo-automatic-links/) >> SEO Friendly Image (http://wordpress .org/extend/plugins/seo-image/) > > Google XML Sitemaps (http://wordpress.org/extend/plugins/google-sitemap- > generator/) "Aktywowałem w sieci" wszystkie wtyczki i poszedłem do jednego z pulpitów nawigacyjnych witryn i zobaczyłem wiadomość z Google XML Sitemaps mówiącą, że wtyczka nie działa na wielu witrynach. Teraz mój problem polega na tym, że nie wiem, czy inne wtyczki będą działać. Czy będę musiał przetestować każdą funkcję wszystkich wtyczek, czy istnieje prostszy sposób sprawdzenia, czy działają one w wielu witrynach?


title: Jak uzyskać głębię podkategorii kategorii

text: Chcę uzyskać głębokość podkategorii kategorii. Załóżmy, że mam kategorię „dziadkowie”, która ma podkategorię „rodzic”, która z kolei ma podkategorię „dziecko”. Jak uzyskać liczbę całkowitą 2? Przypuszczam, że mógłbym sprawdzić, czy „dziadek” ma podkategorie, a jeśli tak, sprawdzić, czy mają podkategorie itp., aż trafię 0. Ale wydaje się, że to dużo niepotrzebnego przetwarzania. Czy nie ma bardziej eleganckiego sposobu?


title: Autor-gość — Jak mogę użyć pól niestandardowych, aby utworzyć link do autora gościa?

text: Publikujemy artykuły, których autorami są gościnni autorzy. Autorzy-gości nie będą logować się do witryny i nie chcemy tworzyć użytkowników dla tych autorów-gości. Nie jesteśmy również zainteresowani żadną z wtyczek bloga gościnnego z WIELE powodów.. Aby wyświetlić nazwisko autora gościa w postach gościnnych, dodałem funkcję do pliku functions.php mojego motywu, aby mój gość za pomocą niestandardowego pola nazwisko autora pojawi się w miejscu nazwiska użytkownika WordPress, który opublikował artykuł. Ta funkcja jest opisana tutaj: http://www.wpbeginner.com/wp-tutorials/how-to-rewrite-guest-author-name- with-custom-fields-in-wordpress/ Korzystając z tego, mogę zmienić nazwisko autora, aby wyświetlić imię i nazwisko autora gościa.. Jednak link autora nadal wskazuje na stronę autora użytkownika WordPress, który opublikował artykuł. Więc teraz chciałbym zrobić coś podobnego z linkiem autora. Chciałbym, aby link autora przechodził do adresu URL, który wprowadzę w polu niestandardowym, tak jak wpisuję nazwisko autora gościa. To jest kod, którego używam, ale nie działa. Link autora nadal prowadzi do strony autora użytkownika WordPress, który opublikował artykuł. add_filter( 'link_autora_postów', 'link_autora_gościa', 10, 3); add_filter( 'get_author_posts_url', 'guest_author_link', 10, 3); add_filter( 'link_autora_gościa', 'link_autora_gościa', 10, 3); add_filter( 'get_author_link', 'goest_author_link', 10, 3); function guest_author_link($link, $author_id, $author_nicename) { global $post; $url = get_post_meta( $post->ID, 'guest-url', true ); if( $url ) { $link = $url; } return $link; }


title: Jak usunąć zautomatyzowany kod zamieszczony w functions.php?

text: W Internecie krąży motyw hakerski lub robak, który dodaje ten kod do wszystkich plików functions.php. Zdarzyło mi się to na moim lokalnym serwerze. Oto kod — http://pastebin.com/AUsHUng1 Jak znaleźć hack do motywu, który go tworzy? Albo robaka? **UPDATE:** Odkryłem, że ta linia: $elem == substr(__FILE__,-13)){ sprawdza plik **functions.php** (ponieważ jako jedyny ma 13 liter i używa pliku) i używając funkcji `fputs()` zapisuje się do wszystkich plików **functions.php**. Usunąłem wszystkie wystąpienia kodu i mam nadzieję, że nie powieli się on podczas innej aktywacji motywu. Mam lokalny serwer z około 60 motywami. Nadal nie znalazłem oryginalnego motywu, który zawierał kod. **AKTUALIZACJA I ROZWIĄZANIE:** Wyczyść cały złośliwy kod (zobacz mój link PasteBin powyżej) ze wszystkich plików **functions.php** (najlepiej sprawdzić globalnie za pomocą edytora tekstu takiego jak Notepad++) i gotowe. Sprawdź wszystkie pobrane motywy pod kątem kodu w pliku **functions.php**. W Internecie jest więcej motywów zainfekowanych tym kodem.


title: Usuwanie skrótów z motywu potomnego

text: Próbuję usunąć skróty z motywu potomnego. W moim pliku functions.php (dla motywu potomnego) umieściłem: function my_remove_shortcode(){ return ''; } add_shortcode('entry-twitter-link', 'my_remove_shortcode'); Gdzie entry-twitter-link to skrócony kod utworzony w rodzicu. Jednak wpis nadal pojawia się w moich postach. Pomysły na to, co jest nie tak?


title: JEŚLI have_posts zawiera posty z określonej kategorii

text:
## Ten problem został w końcu rozwiązany przeze mnie. Znajdź rozwiązanie na końcu tego posta. Pytanie było w skrócie: **Jak mogę zapytać w moim szablonie WP, JEŚLI cała tablica have_posts zawiera dowolny post z określonej kategorii** Zaprogramowałem stronę tagu tak, aby wynik był podzielony na trzy stylizowane pola zgodnie z kategoriami . Pętla jest wykonywana trzy razy i za pomocą IF sortuję kategorie. To jest _uproszczony!_ szkic struktury roboczej:

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (in_category('cat1')) : ?>
... <endif>

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (in_category('cat2')) : ?>
... <endif>

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (in_category('cat3')) : ?>
... <endif>

 Tutaj możesz zobaczyć wynik: http://imlichte.net/tag /interdependenz/ Teraz moim celem jest unikanie pustych pól, gdy w kategorii nie ma żadnych postów. Pudełka (divs) nie powinny być wtedy w ogóle renderowane. W tym celu pomyślałem, aby umieścić warunek JEŻELI dla div i ul, które są poza pętlą. Więc chcę zadać to pytanie: **IF have_posts zawiera posty z określonej kategorii** div i ul, które tworzą pole na stronie, będą wyświetlane tylko wtedy, gdy wynik nie jest zerem, a więc wynik pomijania pustych pól został osiągnięty. Mam nadzieję, że uda mi się wystarczająco dobrze wyjaśnić moją prośbę, aby została zrozumiana i mam nadzieję na rozwiązanie od ekspertów, ponieważ jestem tylko programistą hobbystycznym. Dzięki za pomoc Sofian Edit: aby było to bardzo jasne, oto cały kod, który generuje moją listę tagów strukturalnych kategorii:

Artykuł

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (in_category('wissen')) : ?>
 <?php if (has_post_thumbnail()): ?> <a href="<?php the_permalink();?>"><? php the_post_thumbnail(array(150,150));?> <?php else: ?>

 <?php endif; ?> <a class="postlisttitle" href="<?php the_permalink();?>"><?php the_title(); ?>
 <?php wyciąg_();?>

 <?php endif; koniec; endif; ?>

Wypełnienie

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (in_category('empfehlungen')) : ?>
 <?php if (has_post_thumbnail()): ?> <a href="<?php the_permalink();?>"><? php the_post_thumbnail(array(150,150));?> <?php else: ?>

 <?php endif; ?> <a class="postlisttitle" href="<?php the_permalink();?>"><?php the_title(); ?>
 <?php wyciąg_();?>

 <?php endif; koniec; endif; ?>

Seminarium

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (in_category('seminare')) : ?>
 <?php if (has_post_thumbnail()): ?> <a href="<?php the_permalink();?>"><? php the_post_thumbnail(array(150,150));?> <?php else: ?>

 <?php endif; ?> <a class="postlisttitle" href="<?php the_permalink();?>"><?php the_title(); ?>
 <?php wyciąg_();?>

 <?php endif; koniec; endif; ?>

 Rozwiązanie: Przechodzę przez całą pętlę tylko raz, aby ustawić zmienną na true, jeśli trafi na post w tej kategorii. Jeśli nie ma postu, zmienna pozostaje fałszem, a pole Div wokół bieżącej pętli nie zostanie wyświetlone. <?php $kategoriaistniejąca = fałsz; if (have_posts()) : while (have_posts()) : the_post(); if (in_category('artykuły')) : $categoryexisting = true; endif; koniec; endif; ?> <?php if ($kategoriaistniejąca): ?>

Artykuły

 <?php endif; ?> ... Rzeczywista pętla ...


title: Jak dynamicznie zmienić hasło motywu z admina?

text: jak osiągnąć tę funkcjonalność. Że mogę zmienić „hasło” motywów z admin i nie muszę edytować plików źródłowych motywów. Myślę, że istnieje kilka funkcjonalności opcji motywu. Ale jak to wykorzystać i może ktoś wskaże mi właściwą drogę. Dodano zrzut ekranu, aby wyjaśnić, co mam na myśli pod hasłem: ![tu wstaw opis obrazka](http://i.stack.imgur.com/ALjqI.png)


title: Zrozumienie formatów postów / niestandardowych typów postów itp

text: Nie rozumiem, do czego służy „Obsługa dodawania typów postów”, gdy mamy „Obsługę dodawania motywów”? Dla różnych formatów postu tak właśnie zostałem pokazany wcześniej. W ten sposób zrobiłem to dla projektu, nad którym pracowałem, czy to poprawny/dobry sposób na zrobienie tego? oto co znajduje się w moim pliku `functions.php`: <?php add_theme_support( 'post-formats', array('image', 'video', 'gallery')); ?> a oto co jest w moim pliku `index.php`: <?php get_template_part('content', get_post_format()); ?> Chcę również wiedzieć, czy powinienem „niestandardowy typ postu” dla tego, co opisuję poniżej: Powiedzmy, że mam stronę o nazwie „sklep z upominkami” z postami (również próbuję teraz rozgryźć tę część) i chcę użyć ` image` dla każdego postu, ale mam stronę, na której pokażę tylko jeden post o nazwie „newsletter” i chcę również użyć formatu `image`, ale czy ma trochę inny styl, czy to możliwe?


title: Przyciski TinyMCE, które uruchamiają formularze generowane przez Ajax

text:
jeśli będę postępować zgodnie z samouczkami na temat dodawania przycisków tinyMCE do krótkich kodów (na przykład: http://www.garyc40.com/2010/03/how-to-make-shortcodes-user-friendly/), jeśli stworzę przycisk, który uruchamia formularz w grubym polu zawsze jest ten fragment kodu do utworzenia uruchomionego formularza: // wykonuje to, gdy DOM jest gotowy jQuery(function(){ // tworzy formularz, który będzie wyświetlany po każdym kliknięciu przycisku // ty powinien to osiągnąć za pomocą AJAX zamiast bezpośredniego kodu HTML, takiego jak ten var form = jQuery('

\
\ Kolumny	\ <input type="text" id="mygallery-columns" name="kolumny" value="3" />
\ określ liczbę kolumn.	\
\
\
\ \
\
'); var table = form.find('tabela'); form.appendTo('ciało').hide(); ale jestem ciekaw w szczególności tej części: **// powinieneś to osiągnąć za pomocą AJAX zamiast bezpośredniego kodu html w ten sposób ** widziałem to w innych samouczkach i innych wtyczkach .... ale wszystko ja' Widziałem, jak nadal robię to w ten zakodowany sposób. czy ktoś ma jakiś wgląd w to, jak to zrobić przez ajax? chciałbym spopularyzować rozwijane menu wyboru z wartościami z get_options() .. czego nie mogę zrobić w jquery/java, a plik js również nie może przetworzyć php, więc pomyślałem, że ajax jest rozwiązaniem, po prostu nie wiem jak zacząć


title: Przepisanie adresu URL + Strona + Niestandardowy typ posta = Nietypowe przekierowanie

text: Jeszcze inny problem z przepisywaniem adresu URL :) ## Problem Mam regułę przepisywania adresu URL, która powinna działać, ale wbrew wszelkiej logice przekierowuje bez przekazywania zapytania var. ## The Juicy Details Witryna ma strukturę stron ustawioną w następujący sposób: > **/nasza-firma/udziałowcy** i mam niestandardowy typ wiadomości o nazwie „ _shareholder_”. Moim celem jest, aby struktura działała tak: > **/our-firm/shareholders/awesome-shareholder-name** ...a strona Akcjonariusze wykonała niestandardowe zapytanie dla postów Akcjonariuszy. Normalnie użyłbym slugu przepisywania dla postów udziałowców, ale chcę, aby treść była wyświetlana w kontekście oryginalnej struktury strony ( **nasza-firma/udziałowcy** ). Aby to osiągnąć, dodałem ten kod w functions.php (i od tego czasu przeszedłem do Permalinks i zapisałem, aby odświeżyć reguły): add_action( 'init', 'my_custom_rewrites' ); function my_custom_rewrites(){ add_rewrite_rule( 'nasza-firma/udziałowcy/([^/]+)/?', 'index.php?pagename=shareholders&shareholder_name=$matches[1]', 'top' ); } add_filter( 'query_vars', 'my_custom_query_vars' ); function my_custom_query_vars( $query_vars ){ $query_vars[] = 'nazwa_wspólnika'; zwróć $query_vars; } Wszystko na miejscu, jeśli wejdę do **/our-firm/shareholders/awesome-shareholder- name**, przekieruje mnie na stronę Akcjonariusze bez przekazywania zapytania var i faktycznie zmieni adres URL na **/our-firm /udziałowcy/**. Dziwne jest to, że jeśli zmienię nazwę strony przekierowania na cokolwiek innego, działa i bez wysiłku przekazuje var zapytania. Aby dalej to przetestować, użyłem przydatnej wtyczki Rewrite Analyzer i otrzymałem to: Zrzut ekranu testu Rewrite Analyzer ## Dodatkowe uwagi * Używam WP **3.2.1** , testuję lokalnie i nie majstrowałem przy .htaccess * Moi akcjonariusze Szablon strony nie robi nic niezwykłego, ale daj mi znać, jeśli chcesz go zobaczyć * _Czy Wordpress uwzględnia etykietę niestandardowego typu postu podczas określania adresów URL?_ Etykieta liczby mnogiej „udziałowiec” to oczywiście „ Akcjonariusze." * Dodaję CPT „wspólnika” za pomocą wtyczki **Custom Post Type UI**. Mogę ręcznie dodać go za pomocą kodu, jeśli ktoś uważa, że to pomoże. Oto ustawienia CPT: > rewrite = true, slug = 'shareholder', with_front = true, zapytanie var = true, > i hierarchical = true. * Wcześniej miałem identyfikator typu wpisu „udziałowiec” jako „udziałowcy”, ale szybko zdałem sobie sprawę, że spowoduje to problemy z tą samą nazwą, co strona, na którą próbowałem przekierować. Następnie zmieniłem typ posta na „udziałowiec”, co niestety nie rozwiązało problemu. _Czy może mieć na to wpływ fakt, że istnieje jeden z postów typu „akcjonariusze”? _ Może gdzieś jest tajna magiczna pamięć podręczna, którą mógłbym wyczyścić… * Wiem, że w sieci jest co najmniej 5 bajillionów wpisów dotyczących przepisywania adresów URL WP , ale nie mogę znaleźć takiego, który dotyczy mojego konkretnego problemu. Przepraszam, jeśli coś przegapiłem :) Jestem na wyczerpaniu – _wiem_, że to powinno zadziałać, ale tak nie jest. Mam nadzieję, że przegapiłem coś boleśnie oczywistego i jest to łatwe rozwiązanie. Daj mi znać, jeśli mogę podać więcej szczegółów/kodu/itd. Każda pomoc byłaby mile widziana, dzięki!


title: Automatyczne dodawanie postów i stron do nowych ustawień bloga

text: Używam wtyczki ThreeWP Broadcast, aby dodawać i kontrolować posty i strony z głównego bloga do wszystkich moich podblogów w sieci. Czy mimo to mogę automatycznie dodawać wszystkie moje posty i strony z mojego głównego bloga do nowych blogów, które konfiguruję bez konieczności wchodzenia w poszczególne posty i strony i dodawania ich ręcznie?


title: pobierz dane ze zdalnej bazy danych wordpress

text:
Próbuję pobrać dane ze zdalnej bazy danych wordpress. Oto kod, który mam: $server = "mój kod serwera"; $user = "moja nazwa użytkownika"; $password = "moje hasło"; $db = "mojabaza"; $con = mysql_connect($serwer,$użytkownik,$hasło); if (!$con) { die("błąd połączenia z bazą danych"); } else { mysql_select_db($db, $con); funkcja dp_get_user_liked_posts($user_id, $fields = '') { global $wpdb; $tempDB = $wpdb; $wpdb = nowy wpdb($użytkownik, $hasło, $db, $serwer); // Pobierz ustawienia użytkownika $settings = get_option('dp_post_likes'); $login_required = !empty($settings['login_required']) ? prawda fałsz; if($login_required && !is_user_logged_in()) { echo '
'.sprintf(__('Musisz zarejestrować się i logowanie, aby wyświetlić ulubione filmy wideo.', 'dp'), site_url('wp-login.php?action=register', 'login'), wp_login_url() ).'
'; } else { $settings = get_option('dp_post_likes'); $użytkownik = get_current_user_id(); $identyfikator_użytkownika = 2; $likes=query_posts(array( 'post_type' => 'post', 'ignore_sticky_posts' => true, 'filter_type' => 'user_liked', 'filter_user' => $user_id )); globalne $wp_query; $lubi=tablica(); while (have_posts()) : $lubi[]=the_post(); koniec; }}} mysql_close($con); $wpdb = $tempDB; ale nie wyświetla „$lubi”. Co się stało?


title: rozmiar obrazu w galerii

text: Od kilku dni szukam filtra do galerii WordPressa. Próbowałem wielu różnych kodów, ale wydaje się, że nic na to nie działa. Nie używam wtyczki. Mam na myśli galerię stockową. Stworzyłem dwukolumnową galerię WordPress i wstawiłem ją na stronę. To stworzyło galerię dwukolumnową, ale sprawiło również, że rozmiary obrazu wynoszą 128 x 49. Witryna jest responsywna, a rozmiary obrazu powinny wynosić około 400 na 200. Pomyślałem więc, że gdybym mógł poprosić WordPressa o usunięcie wbudowanej wysokości i szerokość, którą część responsywna przejmie i wypełni dostępną przestrzeń. Filtry, które wypróbowałem, działały na innych obrazach, ale nie na galerii. Używam motywu 2014 i jego zapytań medialnych. Czy jest jakiś konkretny filtr dla galerii? Oto filtr, którego używam do innych obrazów add_filter('wp_get_attachment_link', 'remove_img_width_height', 10, 1); function remove_img_width_height($html) { $html = preg_replace( '/(szerokość|wysokość)=\"\d*\"\s/', "", $html ); zwróć $html; }


title: Przechowywanie niestandardowych danych typu postu w niestandardowej tabeli

text: Pracuję nad niestandardową tablicą ogłoszeń dla klienta, który chce wdrożyć tę tablicę ogłoszeń w sieci z wieloma lokalizacjami. Oto mój problem, muszę przechowywać określone oferty pracy w tabeli, która byłaby dostępna dla wszystkich witryn w sieci (np. wykaz ogólnopolski), a nie tylko lokalnie (np. wykaz lokalny). Moje pytanie: czy dane z niestandardowego typu wpisu mogą być przechowywane w niestandardowej tabeli? Edycja: Być może potrzebne są dalsze wyjaśnienia. Mój klient ma wielostanowiskową tablicę zadań sieciowych. Istnieją tablice ogłoszeń dla określonych regionów (np. San Diego, Austin, Denver itp.). W tej chwili użytkownik zamieszcza ofertę pracy dla Denver w witrynie Denver, ale jeśli ma pracę, którą chce ogłosić w całym kraju, musiałby opublikować ofertę pracy we wszystkich witrynach sieci. Chcemy stworzyć niestandardowy typ ogłoszenia dla ofert pracy, który da użytkownikowi możliwość wybrania kategorii ogólnokrajowej i po zapisaniu pracy, pokaże ją we wszystkich witrynach w sieci. Jedynym sposobem, w jaki moglibyśmy zaobserwować, że ta praca będzie działać, byłoby umieszczenie zadania oznaczonego jako „ogólnokrajowe” zapisanie jego danych w oddzielnej tabeli poza typową tabelą wp_1_posts, abyśmy mogli wysłać zapytanie do tej tabeli o zadania ogólnokrajowe i wyświetlić je we WSZYSTKICH witrynach w sieć automatycznie jako część motywu.


title: Wiele wierszy w <tabeli> przy użyciu wp_query

text:
Wyświetlam posty w siatce (szerokość 4 postów i wysokość 2 postów). Używam stołu. Aby uzyskać zawartość do wyświetlenia w drugim wierszu, używam dwóch wp_queries (po jednym w każdym wierszu), ponieważ nie mogę dowiedzieć się, jak utworzyć drugi wiersz, będąc wewnątrz pętli. Próbuję dowiedzieć się, czy mogę osiągnąć ten sam układ za pomocą jednego zapytania, zamiast wykonywać dwa z nich. Jak mogę to osiągnąć? Oto część mojego kodu, do której też się odnoszę:

 <?php $args = array ( posts_per_page => 4, post_type => 'post', orderby => 'meta_value_number', meta_key => ' odcinek', kolejność => 'ASC', post_status => array('opublikuj, przyszłość') ); // Zapytanie $query = new WP_Query( $args ); // Pętla if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $pID = $post->ID ?>  <form id="odcinek-<?php echo $pID; ?>" name="odcinek-<?php echo $pID; ?>" metoda="post" action="">
 <a onclick="document.getElementById('odcinek-<?php echo $pID; ?>').submit();"><?php the_post_thumbnail( ); ?>
 <input type="ukryty" name="pID" value="<?php echo $pID; ?>" /> </form>
 Odcinek <?php the_field('odcinek'); ?>
 "<?php the_title(); ?>"
 <?php if (get_post_status() == 'opublikuj') { echo get_the_time('M d, Y'); } else { echo 'Premiery'; echo get_the_time('M d'); } ?>
 	 <? } } else { // nie znaleziono wiadomości } /* Przywróć oryginalne dane wiadomości */ wp_reset_postdata(); ?>

 <?php $args = array ( posts_per_page => 4, offset => 4, post_type => 'post', orderby => 'meta_value_number', meta_key => 'epizod', order = > 'ASC', post_status => array('opublikuj, przyszłość') ); // Zapytanie $query = new WP_Query( $args ); // Pętla if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $pID = $post->ID?>  <form id="odcinek-<?php echo $pID; ?>" name="odcinek-<?php echo $pID; ?>" metoda="post" action="">
 <a onclick="document.getElementById('odcinek-<?php echo $pID; ?>').submit();"><?php the_post_thumbnail( ); ?>
 <input type="ukryty" name="pID" value="<?php echo $pID; ?>" /> </form>
 Odcinek <?php the_field('odcinek'); ?>
 "<?php the_title(); ?>"
 <?php if (get_post_status() == 'opublikuj') { echo get_the_time('M d, Y'); } else { echo 'Premiery'; echo get_the_time('M d'); } ?>
 	 <? } } else { // nie znaleziono wiadomości } /* Przywróć oryginalne dane wiadomości */ wp_reset_postdata(); ?>


title: Po co umieszczać style w kolejce?

text: Dlaczego musimy umieszczać style w kolejce na haczyku, dlaczego nie umieszczać ich w kolejce prosto w ten sposób? wp_enqueue_style( $uchwyt, $src); strona kodeksu podaje przykład użycia haka, ale nie wyjaśnia, dlaczego (lub czy) jest to ważne.


title: Zaktualizuj meta użytkownika po rejestracji

text: Po zarejestrowaniu użytkownika tworzę dwie strony dwóch różnych niestandardowych typów postów, a następnie muszę przechowywać niestandardową wartość meta w danych użytkownika, aby później pomóc w przekierowaniach. Odkryłem, że jeśli określę niestandardowe wartości meta podczas rejestracji (w formularzu rejestracyjnym), mogę je później pobrać za pomocą: global $current_user; get_currentuserinfo(); $theirRedirectKey = $current_user->rpr_redirect_key; Jednak w poniższym fragmencie z pliku functions.php nie mogę zapisać wartości meta do późniejszego pobrania. function after_registration($user_id){ // Pobierz nowo utworzony identyfikator użytkownika $the_user = get_userdata($user_id); // Pobierz nowo utworzoną nazwę użytkownika $new_user_name = $the_user->user_login; // Utwórz unikalny prefiks kodu wycieczki na podstawie identyfikatora użytkownika $tourPrefix = $the_user->ID; // Sprawdź klucz Tour Code, jeśli został wprowadzony w formularzu rejestracyjnym $enteredKey = $the_user->rpr_redirect_key; if($enteredKey == ''){ //Utwórz pierwszą stronę Kreatora wycieczek $tourBuilder = array(); $tourBuilder['post_title'] = $nowa_nazwa_użytkownika . '| Niestandardowa wycieczka edukacyjna”; // Następna linia może nie być ważna po skonfigurowaniu hubpages. $tourBuilder['post_name'] = 'konstruktor-' . $tourPrefix; $tourBuilder['post_type'] = 'budowniczy'; $tourBuilder['post_content'] = 'To jest treść Christiana!'; $tourBuilder['post_author'] = $user_id; $tourBuilder['post_status'] = 'opublikuj'; $ tour_id = wp_insert_post ( $ tourBuilder ); // Zbuduj stronę huba $hubpage = array(); $hubpage['post_title'] = $nowa_nazwa_użytkownika . Strona główna '\'; // URL musi być unikalny $hubpage['post_name'] = $nowa_nazwa_użytkownika; $hubpage['post_type'] = 'hubpages'; $hubpage['post_author'] = $user_id; $hubpage['post_status'] = 'opublikuj'; $ hub_id = wp_insert_post ( $ hubpage ); //Aktualizuj użytkownika odpowiednimi kluczami przekierowania z jakiegoś powodu ta linia nie działa. add_user_meta($the_user, 'rpr_redirect_key', '/hubpage/'. $new_user_name, true); } } add_action('user_register', 'after_registration'); Pomoc będzie bardzo mile widziane.


title: Odmowa uprawnień w programie ładującym szablony .php

text: O stary. Próbowałem stworzyć niestandardowy szablon strony dla strony w mojej witrynie page-cumberland-principles.php Kiedy przechodzę do przeglądania tej strony, strona była całkowicie pusta. Użyłem wp_debug i znalazłem następujące: Ostrzeżenie: include(/src/cpwmweb/htdocs/wp-content/themes/striking/page-cumberland-principles.php): nie udało się otworzyć strumienia: Odmowa zezwolenia w /src/cpwmweb/ htdocs/wp-includes/template-loader.php w wierszu 43 Ostrzeżenie: include(): Nieudane otwarcie '/src/cpwmweb/htdocs/wp-content/themes/striking/page-cumberland-principles.php' do włączenia (include_path ='.:/usr/share/php:/usr/share/pear') w /src/cpwmweb/htdocs/wp-includes/template-loader.php w wierszu 43. Próbowałem zmienić uprawnienia na 755, a nawet testowałem na 777 ale nie mogę znaleźć rozwiązania. Każda pomoc Bardzo ceniona. Dziękuję Ci


title: Jak używać widżetu na stronie lub poście?

text: Po prostu używam Random Image Widget, to jest dla galerii obrazów. Proszę, aby ktoś mi powiedział, jak mogę użyć tej funkcji widżetu na mojej stronie internetowej lub w poście?


title: wyślij e-mail do wszystkich zarejestrowanych użytkowników, gdy post wygaśnie

text: Mam funkcję, która po opublikowaniu posta w CPT po trzech dniach powoduje przekierowanie strony na inny adres URL/PERMALINK. Oto kod: add_action('template_redirect', 'check_the_date_for_stats'); function check_the_date_for_stats() { if ( is_singular('debate')) { // dostosuj myCPT do swojej prawdziwej nazwy cpt $pl = get_permalink( get_queried_object() ); // permalink $is_stats = array_key_exists( 'stats', $GLOBALS['wp_query']->query ); // to statystyki? $is_cm = array_key_exists('komentarze', $GLOBALS['wp_query']->zapytanie); // to komentarze? $ts = mysql2date('Ymd', get_queried_object()->post_date_gmt ); // dzień postu $gone = ($ts + 3) < gmdate('Ymd'); // minęły ponad 3 dni? if ( $gone && ( ! $is_stats && ! $is_cm )) ) { // minęło więcej niż 3 dni i nie ma statystyk => przekieruj do statystyk wp_redirect( trailingslashit($pl) . '/stats' ); Wyjście(); } elseif( ! $gone && ( $is_stats || $is_cm )) { // jesteśmy w 3 dniowej ramce i próbujemy uzyskać dostęp do statystyk => przekieruj do posta wp_redirect( $pl ); Wyjście(); } } } Czy jest możliwe, aby po 3 dniach wysłać maila ze standardową wiadomością do wszystkich zarejestrowanych użytkowników, jeśli tak to jak mogę to zrobić ? Znam tę funkcję: `<?php wp_mail( $do, $temat, $wiadomość, $nagłówki, $załączniki); ?>` ale nie wiem jak mogę połączyć to z moją funkcją, aby wysłać e-mail do wszystkich zarejestrowanych użytkowników po upływie trzech dni. Czy ktoś może mi dać kilka wskazówek, jak mogę to osiągnąć? Dziękuję !


title: Uwzględnij format posta w permalinku

text: Używam najnowszej wersji WordPressa z włączonymi ładnymi permalinkami. Szukam sposobu na umieszczenie typu Post Format (np. link, status, cytat) w permalinku posta. Gdy post nie ma przypisanego formatu lub używa formatu „standardowego”, chcę, aby ta część linku była pusta. Przykład przy użyciu formatu posta z linkiem: http://example.com/link/spójrz-na-ta-fajna-witryna/ Przykład przy użyciu formatu posta z cytatem: http://example.com/quote/example-quote-post Przykład używając formatu bez postu: http://example.com/tylko-kolejny-post **Edytuj:** Zobacz moją odpowiedź, aby zobaczyć postęp


title: Jak uzyskać identyfikator kategorii nadrzędnej w szablonie pojedynczej strony?

text: Jak uzyskać identyfikator kategorii nadrzędnej w szablonie pojedynczej strony, poza pętlą? $kategoria = pobierz_kategorię(); echo $category[0]->term_id; Kod nie działa poprawnie poza pętlą.


title: Jak ustawić tytuł strony dynamicznie?

text: Czy można zmienić tytuł strony za pomocą kodu? Załóżmy na przykład, że nazwa strony to „Zamów zamówienie”, ale chcę ją zmienić na „Zamówienie książki nr 123”. Trochę poszukałem w Google i zajrzałem tutaj i nic nie zobaczyłem. Czy ktoś zna wtyczkę lub hack? wp_title zwraca tytuł strony, ale nie pozwala na ustawienie tytułu strony: http://codex.wordpress.org/Function_Reference/wp_title


title: Pobieraj tylko te posty, w których wypełniono post_excerpt

text: Próbuję użyć get_posts, aby zwrócić tylko posty, które mają fragment. Przeprowadziłem wiele poszukiwań i próbowałem użyć filtra "posts_where" w zapytaniu, ale brakuje mojego SQL. To jest to, czego używam, co teoretycznie powinno działać, ale tak naprawdę nie mam pojęcia o sql i nie mogę wymyślić, jak wydrukować ciąg sql dla tego zapytania w celu debugowania... $args = array( ' post_type' => 'świadectwo', 'numberposts' => 1, 'orderby' => 'rand', ); add_filter( 'posts_where' , 'posts_where_excerpt_not_empty' ); $post = get_posts($args); remove_filter( 'posts_where' , 'posts_where_excerpt_not_empty' ); [...] function posts_where_excerpt_not_empty( $where ) { $where .= " post_excerpt NOT NULL"; zwróć $gdzie; }


title: Dodatkowe metadane dla taksonomii wielostanowiskowej Wordpress

text:
Używam niestandardowych taksonomii w instalacji wielostanowiskowej Wordpress (te same taksonomie we wszystkich witrynach) i próbuję dodać do każdego z nich kilka niestandardowych pól meta (te same meta pola we wszystkich witrynach). Używam wtyczki do aktywacji globalnych metatagów i dodania odpowiedniej tabeli w bazie danych: http://wordpress.org/extend/plugins/simple- meta-tags/ Do tej pory mam też następujący kod: add_action ('nazwa_taksonomii_add_form_fields', 'nazwa_taksonomii_metabox_add', 10, 1); add_action('taxonomyname_edit_form_fields', 'taxonomyname_metabox_edit', 10, 1); function taxonomyname_metabox_add($tag) { ?>
Tytuł informacyjny pola meta

 <?php _e('Dodatkowe pole 1') ? > <input name="extrafield1" id="extrafield1" type="tekst" value="" size="40" aria-required="true" />

 <etykieta for="dodatkowe pole2"><?php _e('Dodatkowe pole 2') ?> <nazwa wejściowa="dodatkowe pole2" id="obraz2" type="tekst" wartość="" size="40" aria-required="true" />
 <?php } function nazwa_taksonomii_metabox_edit($tag) { ?>
Tytuł informacji metabox

 <ty zakres="wiersz" valign="góra"> <etykieta for="dodatkowe pole1"><?php _e('Dodatkowe pole 1'); ?> 	  <input name="extrafield1" id="extrafield1" type="tekst" value="<?php echo get_term_meta($tag->term_id, 'extrafield1', true ); ?>" size="40" aria-required="true" />

  <?php _e('Dodatkowe pole 2'); ?> 	  <input name="extrafield2" id="extrafield2" type="tekst" value="<?php echo get_term_meta($tag->term_id, 'extrafield2', true ?>" size="40" aria-required="true" />

 <?php } add_action('utworzona_nazwa_taksonomii', 'zapisz_nazwa_taksonomy_metadane', 10, 1); add_action('edytowana_nazwa_taksonomii', 'zapisz_nazwa_taksonomii_metadane', 10, 1); function save_taxonomyname_metadata($term_id){ { if (isset($_POST['extrafield1'])) update_term_meta( $term_id, 'extrafield1', $_POST['extrafield1']); } { if (isset($_POST['extrafield2'])) update_term_meta( $term_id, 'extrafield2', $_POST['extrafield2']); } } Meta pola wyświetlają się dobrze we wszystkich witrynach i oszczędzaj w witrynie głównej, ale na podwitrynach żadne dane wejściowe nie zostaną zapisane. Zakładam, że dzieje się tak, ponieważ w funkcji zapisu nie zadeklarowano żadnego blog_id ani zmiennej globalnej, ale jestem trochę zdezorientowany, jak to dodać/zrobić. Czy ktoś może pomóc, proszę?


title: Formularz kontaktowy 7 dynamiczne rozszerzenie tekstu - wypełnij formularz tytułem z poprzedniej strony

text: Przejrzałem dokumentację, ale nie mogę zrozumieć, jak mam to zrobić. Mam formularz na stronie produktu, który zawiera tylko kilka etykiet. Chcę je połączyć z formularzem kontaktowym i wypełnić formularz, do którego trafia, tytułem posta produktu, stroną, z której pochodzi. Mam więc stronę produktu, klikam w link, przechodzę do strony formularza kontaktowego z tytułem produktu (postu) wypełniającym jedno z pól. Szukałem wszędzie, ale nie mogę zrozumieć, jak mam to zrobić. Znalazłem tę stronę, która ma wyjaśnić, jak to zrobić, ale tak naprawdę nie jest. http://sevenspark.com/tutorials/how-to-create-a-dynamic-wordpress-contact-form **Aktualizacja** Mam skonfigurowany formularz kontaktowy z kluczem CF7_GET do pobrania wartości z adresu URL ale nie wiem, jak uzyskać tytuł posta w adresie URL, aby przekazać go do formularza kontaktowego. Również nagle w adresie URL, który przechodzi do mojego formularza kontaktowego, umieszcza bieżącą stronę przed zdefiniowanym przeze mnie adresem URL. Czy ktoś wie, dlaczego to robi? Jak uzyskać tytuł posta w adresie URL?


title: Przypisz wiele ról, nakładające się możliwości

text: Co się stanie, jeśli przypiszę, powiedzmy, 2 różne (niestandardowe) role do użytkownika, z których obie mają taką samą (niestandardową) zdolność?


title: Załadować arkusz stylów na stronie edycji kategorii?

text: Mam wtyczkę, którą chcę dodać arkusz stylów do każdej strony „edytuj kategorię”, ponieważ dodałem do tych stron dodatkowe pola niestandardowe. Czy istnieje prosty sposób na zrobienie tego, czy też muszę użyć adresu URL i dodać go indywidualnie za pomocą `add_action()`?


title: Motyw nie wywołuje poprawnie Jquery

text: Opracowuję motyw i wywołałem jquery wraz z innymi plikami JS z pliku theme-enqueue.php. Z jakiegoś powodu tylko plik Jquery, który jest hostowany na serwerach Google, dodaje adres URL motywu do ścieżki adresu URL, więc nie ładuje go i powoduje nieprawidłowe ładowanie innych plików JS. Podpięcie jest wykonane poprawnie i jest skierowane tylko do ich serwera i nie zawiera get_bloginfo ani get_template_uri. Plik, do którego dodaje mój adres URL motywu, to: „http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js”, „”, „1.4.2”, prawda); Oto pełna funkcja w moim pliku enqueue. Czy ktoś widzi jakieś problemy? function init_scripts() { wp_deregister_script( 'jquery' ); wp_deregister_script( 'komentarz-odpowiedź' ); // Zarejestruj skrypty wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'); wp_register_script('comment-reply', get_bloginfo('url') '/wp-includes/js/comment-reply.js?ver=20090102'); // Skrypty kolejki wp_enqueue_script('modernizr', get_bloginfo('template_url') . '/js/modernizr-1.5.min.js', '', 1.5, false); wp_enqueue_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js', '', '1.4.2', prawda); if ( get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply', get_bloginfo('url') .'/wp-includes/js/comment-reply.js?ver=20090102', 'jquery', '', PRAWDA ); }


title: Wyłącz resetowanie hasła WordPress za pośrednictwem poczty e-mail, zamiast tego powiadom administratora o żądaniu resetowania

text: Jak mogę wyłączyć resetowanie hasła za pośrednictwem poczty i powiadomić administratora pocztą e-mail o żądaniu resetowania hasła, które zgłosił użytkownik, aby mógł je zresetować ręcznie? Więc to, czego szukam tutaj, użytkownik wprowadza swoją nazwę użytkownika / identyfikator e-mail w formularzu utraconego resetu, teraz tutaj zamiast wysyłanego do niego linku do resetowania hasła, chcę, aby administrator otrzymał wiadomość e-mail z powiadomieniem, o którą poprosił użytkownik XYZ aby zresetować hasło, co administrator może zrobić ręcznie po potwierdzeniu z użytkownikiem. Czy istnieje już wtyczka, która to osiąga? Mogłem znaleźć wiele wtyczek, które wyłączają tylko resetowanie hasła dla użytkowników.


title: Zwróć nazwę taksonomii dla każdego okresu

text:
Przesyłam listę terminów z trzech różnych taksonomii. $terms = get_terms(array("kategorie-powietrze","kategorie-sieci","kategorie-ink")); Otrzymuję listę i potrzebuję, aby każda z nich łączyła się z inną sekcją mojej witryny w zależności od tego, w jakiej taksonomii się znajdują, ale nie mogę wymyślić sposobu na zwrócenie instrukcji if, w której taksonomii znajduje się każdy termin. global $ Poczta; $published_posts = wp_count_posts()->publikuj; $terms = get_terms(array("kategorie-powietrze","kategorie-sieci","kategorie-ink")); $liczba = ilość($warunki); if ( $count > 0 ){ echo "
"; foreach ( $terms as $term ) { $c = $term->count; $term_percent = log($c)*5; echo "
" . $term->nazwa . "". $term->liczba ."
"; } echo "
"; } wp_reset_query();


title: Ograniczenie liczby postów pobieranych przez pętlę

text: Używam motywu, który ma własną stronę główną, która jest tworzona za pomocą opcji motywu (tzn. Nie można dodawać treści pod Strony), więc próbuję dodać najnowsze posty na stronie, skopiowałem kod z strona o tematyce blogowej, która działa świetnie, ale wyświetla wszystkie posty, a ja chciałem wyświetlić tylko wstępnie określoną ilość, prawdopodobnie 3, ale chcę to przetestować. Zakładam, że funkcja, którą załączyłem poniżej, pobiera wszystkie utworzone przeze mnie posty, ale niewiele wiem o PHP, więc nie wiem, jak pobrać tylko x ilość postów. <?php if ( have_posts() ) : $liczba = 0; ?> <?php while ( have_posts() ): the_post(); $liczba++; globalny $post; ?>


title: Zmień język dla każdej witryny za pomocą multisite

text: Używam wordpress multisite i mam skonfigurowane trzy różne witryny; Domyślnie (angielski) niemiecki japoński Wszystkie strony działają osobno, co jest w porządku. Mój motyw zawiera pliki .mo i .po dla języka niemieckiego i japońskiego, a domenę tekstową załadowałem w moim pliku functions.php w następujący sposób: function custom_theme_setup() { // Pobierz katalog z plikami lokalizacyjnymi $lang_dir = get_template_directory () . '/Języki'; // Ustaw domenę tekstową motywu używając unikalnego identyfikatora z powyższego load_theme_textdomain('mac', $lang_dir); } // zakończ custom_theme_setup add_action('after_setup_theme', 'custom_theme_setup'); Jak mogę zmienić język dla każdej witryny, aby strona niemiecka używała niemieckich plików PO, a strona japońska używała japońskich plików PO? Chcę, aby obszar administracyjny pozostał w języku angielskim dla wszystkich trzech witryn, to tylko fronty, które wymagają zmiany


title: Modyfikowanie klas menu nawigacji za pomocą Walkera

text: Zrobiłem klasę, która rozszerza Walker_Nav_Menu, aby modyfikować domyślne klasy moich < li >, ale także modyfikować domyślne klasy moich < ul >. Wydaje się, że Walker ma wpływ tylko na podmenu. Chciałbym usunąć klasy i id pierwszego <ul> (samo menu), ale walker mi na to nie pozwala. Istnieje kilka argumentów w "wp_nav_menu ( array $ args ) " , które pozwolą mi zmienić klasę i identyfikator < ul > , ale nic do ich usunięcia . Nie chcę robić: 'menu_class' => '', 'menu_id' => '' i domyślam się, że istnieje rozwiązanie, aby całkowicie usunąć klasę i identyfikator.


title: Dodaj podpis obrazu do frescojs

text: Chcę dodać podpis pod zdjęciem do wyskakującego okienka frescojs. Poniższy kod znajduje się w functions.php: add_filter( 'wp_get_attachment_link', 'sant_prettyadd', 10, 6); function sant_prettyadd ($treść, $id, $rozmiar, $permalink, $ikona, $tekst) { if ($permalink) { return $treść; } $content = preg_replace("/<a/","post_excerpt)) { $output .= " <{$captiontag} class='wp-caption-text podpis-galerii'> " . wptexturize($attachment->post_excerpt) . " </{$captiontag}>"; } Moje pytanie brzmi, jak mogę umieścić podpis obrazu w wyskakującym okienku? * * * Aktualizacja! Edytowałem filtr następującym kodem: $args = array( 'post_type' => 'attachment', 'orderby' => 'menu_order', 'order' => 'ASC', 'post_mime_type' => 'image' ,' post_status' => null, 'numberposts' => null, 'post_parent' => $post->ID ); $załączniki = get_posts($args); if ($attachments) { foreach ( $attachments as $attachment ) { $caption = $attachment->post_excerpt; } if ($permalink) { return $treść; } $content = preg_replace("/<a/","ID\" ", $treść, 1); zwróć $treść; } } Rezultatem jest umieszczenie podpisu w wyskakującym okienku, ale z niewłaściwego obrazu. Na każdym zdjęciu umieszcza podpis 1 zdjęcia. Ktoś wie, jak to zapętlić, aby uzyskać właściwy identyfikator obrazu i podpis?


title: Potrzebujesz pomocy przy ustawianiu domyślnej wartości ustawienia przycisku radiowego w konfiguratorze motywu

text: Potrzebuję pomocy w ustaleniu, jak przycisk radiowy zapisuje swoją wartość w ustawieniach motywu. W moim motywie dodałem przyciski radiowe w konfiguratorze motywów. Jak na razie działają świetnie. Chociaż mam jeden problem. Nie mogę ustawić dla nich domyślnego ustawienia, więc jeśli zainstaluję mój motyw w nowej instalacji, lub ktoś inny to zrobi. Niż to, do czego służą przyciski opcji, nie pojawia się. Nie mówię o domyślnej wartości samego przycisku radiowego, mówię o domyślnej wartości ustawień dostosowywania motywu. Oto jak tworzę przyciski opcji: /** Opcje przycisku nagłówka */ $wp_customize->add_setting( 'header_btn_options', array( 'default' => 'duplicatebtn', ) ); $wp_customize->add_control( 'header_btn_options', array( 'type' => 'radio', 'priority' => 30, 'label' => 'Typ przycisków nagłówka', 'section' => 'mytheme_header', 'choices ' => array( 'duplicatebtn' => 'Użyj ustawień bohatera', 'createcustom' => 'Użyj własnych ustawień (zmień poniżej)', 'hidebtn' => 'Nie wyświetlaj przycisku', ), ) ); Oto jak ustawić domyślne ustawienia motywu. Robię to, aby po zakończeniu nowej instalacji motyw wyglądał dobrze. function mytheme_get_theme_mods() { $defaults = array( 'mytheme_header_btn_options' => 'duplicatebtn' ); zwróć $domyślne; Więc to jest moje zamieszanie. Mimo że próbowałem ustawić domyślne ustawienie na wybór z tablicy, to nie działa. Chociaż kiedy zapisuję nową wartość z przycisków radiowych w konfiguratorze motywów, działa to tak. Więc wyraźnie ma jakąś wartość, po prostu nie „duplicatebtn”, a może jest i robię to źle. Czy ktoś może mi pomóc to rozgryźć?


title: Dodaj nowe pole niestandardowe dla taksonomii niestandardowej - nie znaleziono pola print_r

text:
Dzięki tej stronie udało mi się dodać pole do mojej niestandardowej taksonomii (moja taksonomia nazywa się „ptype”), ale kiedy próbuję użyć funkcji do zapisania danych, nie mam własnego pola w $_POST zmienny. Oto mój kod, widzisz, gdzie zawiodłem? <?php add_action('ptype_add_form_fields','category_edit_form_fields'); add_action('ptype_edit_form_fields','category_edit_form_fields'); add_action('ptype_add_form','category_edit_form'); add_action('ptype_edit_form','category_edit_form'); function category_edit_form_fields() { wp_enqueue_style('wp-extends-css', plugins_url() . '/wpmarketplace/css/extends_page.css'); ?>
 <?php _e('Obraz kategorii', ''); ?> <input type="file" id="visual" name="visual" />
 <?php } function category_edit_form() { ?>  <?php } add_action('created_ptype','wpse_created_term',10,3); function wpse_created_term($term_id, $tt_id) { echo "
"; print_r($_FILES); echo "
"; echo "
"; print_r($_POST); echo "
"; umierać(); } // Ajoute la colonne visuel au tableau des catégories add_filter('manage_edit-ptype_columns', 'ptype_columns'); function ptype_columns($kolumny) { unset($kolumny['opis']); $kolumny['wizualne'] = "Widok"; return $kolumny; } // Na récupère l'image ajouter à la table wp_terms() add_filter('manage_ptype_custom_column', 'add_post_tag_column_content',10,3); funkcja add_post_tag_column_content($i,$column_name,$id){ wp_enqueue_style('wp-extends-css', plugins_url(). '/wpmarketplace/css/extends_page.css'); switch($nazwa_kolumny) { przypadek 'wizualny': $term = get_term($id,'ptype'); $obraz = WP_CONTENT_URL."/uploads/wpmp_terms/".$term->wizualny; $str = (strlen($term->wizualne) > 1) ? "" : "
Nada
"; $treść .= $str; przerwanie; } return $treść; } ... ?> A oto wynik funkcji print_r : Array ( ) Array ( [akcja] => add-tag [screen] => edit-ptype [taksonomia] => ptype [post_type] => wpmarketplace [ _wpnonce_add-tag] => 1bfcd0a2e1 [_wp_http_referer] => /gc/wp-admin/edit-tags.php?taxonomy=ptype&post_type=wpmarketplace [nazwa-tagu] => rzer [slug] => eferg [nadrzędny] => - 1 [opis] => efgr ) Na koniec, kiedy sprawdzam formularz, jest na nim enctype. Więc proszę, jeśli możesz mi pomóc, będę wdzięczny ^^ ! Pozdrawiam, zed13


title: Pętla przejściowa nie działa zgodnie z oczekiwaniami

text: Stworzyłem więc obiekt przejściowy, który używał `get_posts()`, aby uzyskać serię postów opartych na jakimś argumencie. Cóż, transient był przechowywany - został utworzony - YAY - teraz próbowałem napisać tę pętlę: public function transient_loop($transient_name){ global $post; if(false !== get_transient($transient_name)){ foreach(get_transient($transient_name) as $post){ setup_postdata($post); $this->_loop_content(); } } } To szuka nazwy przejściowej, jeśli istnieje, zapętla ją - konfiguruje dane posta, a następnie wywołuje metodę, która przechodzi i wykonuje typowe rzeczy pętli, takie jak obrazy, tytuł, linki i inne - wszystkie twoje typowy jazz, Teraz wróciło: `Uwaga: Próba uzyskania właściwości nie-obiektu w /var/www/wordpress/wp-includes/query.php w wierszu 3645` setup_postdata($post)` więc zrzuciłem `$post` i dostałem `int 1` Nie jestem pewien, czy to normalne. Postanowiłem więc var_dump transjent - może post lub zestaw postów w ogóle nie przechodzi. **Uwaga:** Używam xdebug - dlatego obiekt jest ładnie sformatowany. Ale zrobiłem: `var_dump($transient_name)` i wróciłem: object(WP_Post)[259] public 'ID' => int 1 public 'post_author' => string '1' (length=1) public 'post_date' = > ciąg '2013-08-16 22:57:23' (length=19) public 'post_date_gmt' => ciąg '2013-08-16 22:57:23' (length=19) public 'post_content' => ciąg „Witamy w WordPressie. To jest Twój pierwszy post. Edytuj go lub usuń, a następnie zacznij blogować!' (length=86) public 'post_title' => string 'Witaj świecie!' (length=12) public 'post_excerpt' => string '' (length=0) public 'post_status' => string 'publish' (length=7) public 'comment_status' => string 'open' (length=4) public 'ping_status' => string 'open' (length=4) public 'post_password' => string '' (length=0) public 'post_name' => string 'hello-world' (length=11) public 'to_ping' = > string '' (length=0) public 'pinged' => string '' (length=0) public 'post_modified' => string '2013-08-16 22:57:23' (length=19) public 'post_modified_gmt ' => string '2013-08-16 22:57:23' (length=19) public 'post_content_filtered' => string '' (length=0) public 'post_parent' => int 0 public 'guid' => string 'http://localhost/wordpress/?p=1' (length=31) public 'menu_order' => int 0 public 'post_type' => string 'post' (length=4) public 'post_mime_type' => string ' ' (length=0) public 'comment_count' => string '1' (length=1) public 'filter' => string 'surowy' ( length=3) public 'format_content' => null Więc o co chodzi z błędem?


title: Efektywnie zarządzaj ogromną liczbą blogów z uwagi na ograniczenia po stronie serwera

text: Pracuję w firmie, która opiera się na sprzedaży klientom blogów WordPress za miesięczną opłatą plus trochę pieniędzy z góry na prace projektowe. Szef przewiduje, że będziemy mieć kilka tysięcy klientów, z których każdy będzie płacić około dwudziestu euro miesięcznie, a wszystko będzie obsługiwane przez jednego informatyka pracującego w normalnych godzinach i kilku sprzedawców/projektantów. Obecnie mamy około 500 aktywnych blogów w jednej instalacji WordPressa na umiarkowanie wydajnym serwerze zarządzanym. Pracujemy na SharDB, ponieważ MySQL nie lubi mieć 20.000 tabel w tej samej bazie danych. Ponieważ interfejs administratora serwera (Plesk 11) nie pozwala nam powiązać więcej niż jednej bazy danych z użytkownikiem bazy danych, SharDB został zmodyfikowany tak, że każda baza danych używa własnego oddzielnego połączenia z własnymi danymi uwierzytelniającymi użytkownika. Stwarza to problemy, gdy administrator próbuje cokolwiek zrobić. Interfejs administratora wywołuje `get_blogs_of_user()` przy każdym ładowaniu strony, co z kolei łączy się z każdą bazą danych, aby uzyskać opcje bloga itp. Oznacza to, że aktywne połączenie jest wielokrotnie zamykane i zastępowane innym, co oznacza, że pojedyncza strona wywołanie powoduje otwarcie 1.600 połączeń z bazą danych (w porównaniu do 60 dla zwykłego użytkownika). To znacznie obniża wydajność. Jednym z rozwiązań byłoby podzielenie naszych instalacji WordPress. Ograniczyłoby to liczbę koniecznych połączeń z bazą danych, a tym samym nieco przyspieszyło działanie. Niestety oznaczałoby to również, że musielibyśmy zarządzać każdą instalacją WordPressa osobno. Na przykład, ponieważ nie mamy dostępu do serwera w powłoce, musielibyśmy dokonywać jakichkolwiek zmian w plikach przez FTP, powtarzając ten proces dla każdej instalacji WordPressa. Innym rozwiązaniem byłoby zdobycie serwera powłoki i uruchomienie własnej instalacji MySQL, aby uniknąć problemu z jedną bazą danych na użytkownika, ale niestety nie możemy mieć żadnych niezarządzanych serwerów z powodów prawnych – np. w przypadku przestoju musimy być w stanie zrzucić winę na dostawcę hostingu, na co serwer powłoki nam nie pozwala. (Zmiana winy jest ważna, ponieważ szef obawia się, że nasi klienci (głównie MŚP) zarzuciliby nas ogromnymi pozwami o utracone interesy, gdyby nasz serwer uległ awarii, a my byliśmy odpowiedzialni. W ten sposób możemy zrzucić winę na naszego dostawcę i najwyraźniej to sprawia, że jesteśmy bezpieczni.) Czy są jakieś inne opcje, które przeoczyłem? Oto **ograniczenia**, których musieliby przestrzegać: 1. Musi być skalowalny. Szef przewiduje bazę klientów końcowych w wysokości około 20 000, która powinna być osiągalna za pomocą danego rozwiązania (z wyłączeniem dodatkowych zakupów sprzętu itp.). 2. Nie może kosztować poważnych pieniędzy. Powiedzmy, że około 1 EUR miesięcznie na klienta jest w porządku. 3. Nie może obejmować serwera samodzielnie administrowanego. Wszystko, co wymaga nawet dostępu do powłoki, jest zabronione. Nadal musimy być w stanie obwiniać dostawcę usług hostingowych, jeśli wystąpią jakiekolwiek przestoje. 4. Musi być możliwe do administrowania przez jedną osobę. Biznesplan najwyraźniej nie działa, jeśli musimy płacić więcej niż jednemu informatykowi w pełnym wymiarze godzin. 5. Musi nadal być oparty na WordPressie. Nie możemy przenieść naszych obecnych klientów do czegoś innego; są już wystarczająco zdezorientowani. (Nie kierujemy się dokładnie do tłumu obeznanego z technologią.) To wszystko.


title: Jak wyświetlać w wynikach wyszukiwania posty z określonym tagiem w określonej kategorii?

text: Jako stronę główną mojego bloga mam stronę statyczną. Tam chcę pokazać nawigację strony. Kategoria1 * Podkategoria1 * tag1, tag2, tag3 Kategoria1 * Podkategoria2 * tag1, tag2, tag3 Kategoria2 * Podkategoria1 * tag1, tag2, tag3 Kategoria2 * Podkategoria2 * tag1, tag2, tag3 Wszystkie powyższe słowa są hiperłączami . Teraz potrzebuję, gdy użytkownik kliknie tag1 w podkategorii1 w kategorii2, wszystkie posty z kategorii2, w podkategorii1 mające tag1 zostaną zwrócone. czy w tym celu można mieć adres URL typu domena.com/kategoria2/podkategoria1/tag1?


title: Meta Box nie wyświetla się na stronie administratora

text:
Używając WordPress 3.7.1 i PHP 5.4.12 Próbuję dodać pole Meta - pole tekstowe do mojego niestandardowego typu posta. Moja nazwa typu postu to "news", a to jest mój kod: <?php /* Niestandardowy Meta Boxex */ add_action('add_meta_boxes', 'my_cmbox_add'); add_action('save_post', 'save_options'); function my_cmbox_add() { add_meta_box( "prodInfo-meta", "Źródło wiadomości ", "źródło_wiadomości", "wiadomości", "normalny", "niski" ); } function news_source() { global $post; $custom = get_post_custom($post->ID); $źródło = $niestandardowe['źródło'][0]; ?>

 <?php echo 'Źródło wiadomości :'; ?>	 <?php echo '<nazwa wejścia="źródło" wartość="'. $źródło . '" style="szerokość:250px;" />'; ?>

 <?php } function save_options() { global $post; if (!isset($_POST['źródło']) || $post->post_type != 'wiadomości') { return $post; } update_post_meta($post->ID, "źródło", $_POST['źródło']); } Nie otrzymuję żadnego błędu, ale jak powiedziałem, nic nie pojawia się na stronie. Czy możesz dać mi znać, co tu robię źle?


title: Czy lokalizując motyw, tworzę .mo i .po

text: Tworzę motyw i chcę dodać internacjonalizację. Sam mam skonfigurowany motyw z odpowiednimi funkcjami i textdomain. Interesuje mnie tworzenie plików .pot, .po i .mo. Większość samouczków, które czytam, dotyczy tworzenia wszystkich 3, ale dwadzieścia trzynaście/dwanaście/jedenaście zawiera tylko plik POT w katalogu języków. Mam tworzyć tylko .pot, czy też .po i .mo? (uwaga: ten temat nie będzie dla mnie, ale taki, który będę rozpowszechniał).


title: Wyświetlanie listy załączników do postów warunkowo na podstawie nazwy pliku

text:
Próbuję wyświetlić załączniki niestandardowego typu postu na podstawie ich nazwy pliku (numeracja na końcu), a następnie przypisać go do tytułu. Mam 10 wstępnie zdefiniowanych tytułów, które chcę połączyć z określonym załącznikiem, jeśli jest dostępny (co oznacza, że plik jest aktualnie dołączony do posta), a jeśli nie może znaleźć pliku, tytuł nie zostanie wyświetlony. Mam więc ul linków z tymi samymi tytułami dla każdego posta CPT: Tytuł 1 --> NazwaPliku-01.jpg lub pdf Tytuł 2 --> NazwaPliku-02.jpg lub pdf Tytuł 3 --> NazwaPliku-02 .jpg lub pdf itp. HTML to coś takiego:

Wstępnie zdefiniowany tytuł 1

Wstępnie zdefiniowany tytuł 2

 Jeśli nie można znaleźć określonego pliku w załącznikach, tytuł nie zostanie wyświetlony. Jeśli więc brakuje załącznika 2, tytuł 2 nie będzie wyświetlany. Tytuł 1 --> Nazwa pliku-01.jpg lub pdf Tytuł 3 --> Nazwa pliku-02.jpg lub pdf Mogę to zrobić, aby znaleźć załączniki bez polecanego obrazu: Lista załączników posta - Usuń miniatury obrazów Nie wiem, jak filtrować i jednak dopasuj załączniki. Dziękuję! Więcej informacji: Zasadniczo mają bibliotekę z ponad 200 stronami danych na temat różnych metod naukowych/badań. Strony danych zawierają różne sekcje z informacjami badawczymi, tabelami, formułami itp. (które ustawiłem szablon do korzystania z wtyczki zaawansowanych niestandardowych pól) oraz listę z linkami do maksymalnie 10 plików jpg/pdf (wykresy, diagramy, itp). Tytuły hiperłączy dla nich są zawsze takie same, zmieniają się tylko nazwy plików. Tak więc staram się osiągnąć powyższe, abym mógł (a później klient) po prostu skopiować tekst, tabele itp. do odpowiednich sekcji szablonu, a następnie wgrać wszystkie załączniki (jpg, pdf) od razu (raz czyli wszystkie pliki dla każdego postu). Następnie funkcja wyświetli 10 lub mniej hiperłączy do załączonych plików jpg, pdf. W ten sposób ja, a później klient, nie musimy ręcznie tworzyć hiperłączy dla każdego pliku. Obecnie mogę wylistować wszystkie załączniki, ale nie jestem do końca pewien jak ustawiłbym tablicę, aby automatycznie sprawdzała ile plików zostało przesłanych, dopasowuje 2 ostatnie cyfry nazwy pliku do prawidłowego tytułu, pomija tytuły które nie mają pasującego pliku, a na końcu wyprowadza wygenerowane linki do załączonych plików w poście.


title: Jak dostosować produkty związane z woocommerce?

text:
Mam następujące wiersze kodu w mojej witrynie, które będą wyświetlać **_produkty powiązane_** na dole strony pojedynczego produktu w WooCommerce... **functions.php:** // wyświetlają up-sells i powiązane produkty w ramach dedykowanych div z inną kolumną i liczbą produktów remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products',20); remove_action( 'woocommerce_after_single_product', 'woocommerce_output_related_products',10); add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20); funkcja woocommerce_output_related_products() { $output = null; ob_start(); woocommerce_related_products(4,4); $treść = ob_get_clean(); if($zawartość) { $wyjście .= $zawartość; } echo '

' . $wyjście; } Ponieważ wyświetla 4 produkty, które zostały skategoryzowane pod tą samą nazwą, jak mam zmodyfikować powyższe, aby zamiast tego wyświetlały **_related tags_**? Na przykład mam kategorię produktów o nazwie 'Motoryzacja' iw tej kategorii jest kilka tagów - 'Holden', 'Ford', 'Toyota', 'Nissan' itp. Chciałbym, aby na dole były wyświetlane 4 produkty , związane z tagiem produktu, który użytkownik aktualnie przegląda.


title: Uzyskaj informacje o użytkowniku na subdomenie z WordPressa zainstalowanego na domenie głównej

text: Mam WordPressa zainstalowanego na **www.mainsite.com**. Odwiedzając subdomenę **subdomena.mainsite.com** , chciałbym pobrać adres e-mail użytkownika, jeśli jest on zalogowany na stronie głównej. W przeciwnym razie wypisz NULL. Zrobiłem to za pomocą JSONP, jak opisano tutaj, ale nie mogę uwierzytelnić użytkownika bez brzydkiego odświeżenia strony. Wolałbym móc używać cURL lub file_get_contents. Sprawdziłem REST API, ale nie mogę uruchomić nawet najbardziej podstawowych przykładów. Gdy próbuję tego kodu, pojawia się błąd „Token OAuth2 jest nieprawidłowy”. Moim ostatnim pomysłem jest użycie wtyczki Root Cookie, ale nie jestem pewien, jak postępować. Musiałby wysłać zapytanie o adres e-mail użytkownika na podstawie ogólnosystemowego pliku cookie. Oto mój kod: require('wp-blog-header.php'); if ( is_user_logged_in() ) { global $bieżący_użytkownik; get_currentuserinfo(); $currentUserEmail = $current_user->user_email; } else { $currentUserEmail = "NULL"; } echo $bieżącyE-mailUżytkownika; Ten kod działa na głównej domenie, ale muszę go uruchomić z subdomeny. jakieś pomysły?