title: Pytanie dotyczące kategorii WordPress

text:
Nie mogę zrozumieć, jak użyć funkcji wp_list_categories, aby zrobić to, czego potrzebuję: <?php if(is_page('realisations')) { ?>

Les secteurs
 <?php wp_list_categories('child_of=3&title_li='); ?>
 <?php }; if(is_category() lub is_single()) { ?>

Poszczególne sekcje
 <?php wp_list_categories('child_of=3&title_li='); ?>
 <?php }; ?> Mam nadzieję, że to nie wyjdzie zbyt zawiłe. Robi to, czego od niego potrzebuję, mimo że nie jest zbyt elegancki. Ustawiłem go tak, aby wszystkie kategorie projektu były kategoriami potomnymi kategorii głównej (`child_of=3`). Ma to na celu uniknięcie konfliktów z sekcją wiadomości na stronie. Problem polega na tym, że potrzebuję wyróżnić kategorię, w której znajduje się post, podczas przeglądania szablonu strony single.php, ale nie wiem, jak to zrobić. Gdy na stronie kategorii widok kategorii podświetla się poprawnie, ponieważ nadałem stylowi klasę, którą WordPress dodaje do wygenerowanej listy `.current-cat`. To jest crosspost z normalnej strony StackExchange, zasugerowano, że zgłoszę problem tutaj.


title: Uruchamianie page_publish, gdzie strona jest stroną podrzędną

text: Mam trudności z uruchomieniem funkcji podczas publikowania nowej strony. Chciałbym, aby uruchamiał się, gdy nowa strona jest publikowana lub edytowana, ale TYLKO wtedy, gdy ta strona ma rodzica. Oto, co mam funkcja myFunction(){ global $post; if($post->post_parent > 0){ // do rzeczy } } add_action( 'publish_page', 'myFunction' ); Jak dotąd działa to, gdy aktualizuję stronę, ale nie, gdy publikuję ją po raz pierwszy, przypuszczam, że w tym momencie nie rozpoznaje, że ma ona rodzica?


title: Jak dostosować domyślny kod HTML dla załączników Wordpress?

text:
Używam Wordpress 3.0.1 (najnowsze jak na razie) i pracuję nad motywem Whiteboard. Wygląda na to, że dla załączników (w szczególności obrazów) Wordpress generuje kod HTML automatycznie i wygląda to mniej więcej tak:

Ulepszenia mapy obszaru

 Rozumiem, że niektóre z tych atrybutów można zmienić na samym ekranie edycji — jakkolwiek chcę zmienić domyślną strukturę kodu HTML, aby móc wstawiać dodatkowe tagi, klasy CSS itp. Potrzebuję metody, aby to osiągnąć bez edytowania jakichkolwiek plików poza folderem wp-content - innymi słowy, musi istnieć sposób na zrobić to .. jakieś pomysły?


title: Uzyskiwanie tabeli użytkowników dla jednej witryny w konfiguracji wielostanowiskowej

text: Próbuję wybrać tylko użytkowników, którzy są zarejestrowani dla określonej witryny w mojej konfiguracji wielostanowiskowej i widzę, że tabela dla użytkowników zebrała wszystkich, którzy są w sieci. Czy z dala mogę uzyskać tylko użytkowników w określonej witrynie? A może tylko wybrać użytkowników z tej konkretnej witryny?


title: Uzyskać niestandardowe pole ze strony w poście?

text: Nie jestem do końca pewien, jak to działa, jeśli jesteś na poście (single.php), czy liczy page.php jako stronę, na której się znajduje? To, co muszę zrobić, to uzyskać niestandardowe pole przypisane do strony z wpisu na blogu. Potrzebuję tego, ponieważ chcę, aby użytkownik mógł zmienić tekst „Czytaj więcej” we fragmencie postu. Mogę uzyskać pole niestandardowe, używając tylko statycznego identyfikatora strony, ale jeśli użytkownik zdecyduje się coś zmienić, identyfikator może się zmienić, potrzebuję, aby był dynamiczny. Jaki byłby najlepszy sposób, aby się do tego zabrać?


title: $wpdb->get_results() zwraca dobry wynik tylko w pierwszej iteracji foreach

text:
Mam dziwny problem, gdy używam $wpdb->get_results() w content-single.php w motywie Twenty Eleven. `$wpdb->get_results()` zwraca prawidłowe wartości tylko w pierwszej iteracji pętli. Mam prostą funkcję w `functions.php` o nazwie function get_product_data($postid) { global $wpdb; $ meta_table = $ wpdb-> prefiks. 'postmeta'; $product_table = $wpdb->prefiks.'_features'; $eans = get_post_meta($postid, '_bs_prod_sym'); $eans = eksploduj(';', $eans[0]); print_r($eans); // zwraca tablicę ( [0] => abcde [1] => abcd ) foreach($eans as $ean) { $features = $wpdb->get_results("SELECT feature_name FROM $product_table WHERE product_id = '$ean'" , TABLICA_A); print_r($features);// zwraca Tablicę ( [0] => Tablica ( [nazwa_funkcji] => nazwa funkcji 1 ) [1] => Tablica ( [nazwa_funkcji] => nazwa funkcji 2 ) [2] => Tablica ( [nazwa_funkcji] => nazwa funkcji 3 ) ) foreach($features as $feature) { print_r($feature); // zwraca pojedynczy element tablicy $features } } } A oto miejsce w content-single.php, w którym wywołuję `get_product_data()`.
 <?php the_content(); ?> <?php get_product_data(get_the_ID()); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'twentyeleven') . '', ' po' => '
' ) ); ?>
 Zapytanie w zmiennej `$features` zwraca prawidłowe wartości tylko w pierwszej iteracji foreach. Jeśli zmienię wartości w tablicy `$eans` na `Array ( [0] => abcd [1] => abcde )` (wcześniej było to `Array ( [0] => abcde [1] => abcd )`) Otrzymuję odpowiednie wartości również tylko raz. Jestem pewien, że zapytania są dobre, a dane w bazie danych również w porządku.


title: register_post_type - przepisać / feedy, do czego to służy?

text: Strona kodeksu dla register_post_type wydaje się sugerować, że powinno być możliwe wyłączenie generowania kanałów dla niestandardowych typów postów: rewrite (boolean lub array) (opcjonalne) Uruchamia obsługę przepisywania dla tego typu postów. Aby zapobiec przepisywania, ustaw wartość false. ... $args array ... 'feeds' => bool Czy dla tego typu posta powinna być zbudowana struktura linków bezpośrednich. Domyślnie ma wartość has_archive. Czytałem to w następujący sposób: register_post_type('Ludzie', array('rewrite' => array('feeds' => false))); spowodowałoby to, że moja strona archiwum „Osoby” _nie_ miałaby następującego: <link rel="alternate" type="application/rss+xml" title="Moja witryna » Kanał o ludziach" href="http://mysite.com/people /feed/" /> w jego nagłówku. Jednak powyższe jest wyprowadzane w kodzie HTML. Czy źle zrozumiałem lub zrobiłem coś złego? Nie chcę, aby kanał był generowany. Każda pomoc jest bardzo ceniona. Toby


title: Zarejestruj niestandardowy parametr argumentów zapytania dla WP_Query()

text: Napisałem wtyczkę, która może przechowywać tabelę specyfikacji technicznych dla każdego posta (produktu) we własnej tabeli bazy danych. Dla funkcji wyszukiwania witryny chcę dodać niestandardowy parametr do tablicy przekazanej do `WP_Query()`. Nie mam pojęcia, gdzie zarejestrować ten niestandardowy parametr, aby był on obsługiwany przez wtyczkę, gdy tylko `WP_Query()` wykona wyszukiwanie. Czy istnieje haczyk, którego mogę użyć we wtyczce, aby ograniczyć posty znalezione przez `WP_Query()` do określonego zestawu pasującego do podanych specyfikacji? Czy w końcu muszę zbudować całe zapytanie za pomocą SQL? Zobacz następujący przykład: obok "standard"-parameters mam niestandardowy parametr `_spec` jego wartość, którą chcę w jakiś sposób przeanalizować przez wtyczkę. <?php nowe WP_Query( array( 's' => 'jakieś słowo kluczowe', //kryterium słowa kluczowego 'category' => 'jakaś kategoria', //kryterium taksonomii '_spec' => 'rok_min=1980;rok_maks=2010' , //niestandardowe kryterium do obsłużenia przez wtyczkę) ); ?>


title: Kategorie i produkty w losowej kolejności

text:
To, co staram się zrobić, to losowe wyświetlanie kategorii i produktów Woocommerce na jednej stronie. Normalne ustawienia pozwalają wyświetlać kategorie i produkty na tej samej stronie, ale najpierw są kategorie, a potem produkty. Dzieje się tak, ponieważ kategorie mają funkcję `woocommerce_product_subcategories()`, a następnie rozpoczyna się pętla produktu. To, czego chcę, to coś takiego: $args = array( 'post_type' => array('product', 'post'), 'orderby' => 'rand', 'posts_per_page' =>-1, 'post_status ' => 'opublikuj' ); $zapytanie = nowe WP_Query($args); ale nie mam pojęcia, jak uzyskać tam kategorie. rozwinę moje pytanie: udało mi się losowo wydzielić dane wyjściowe kategorii, dodając: shuffle($product_categories); do funkcji `woocommerce_product_subcategories()` lub dokładnie do utworzonego przeze mnie szablonu, ale mniej więcej skopiowałem kod z funkcji tam, po prostu pomyślałem, że może to komuś pomóc, znalazłem go tutaj: http://core.trac.wordpress .org/ticket/21875 ale to jest tylko rozwiązanie tylko dla kategorii lub jak wspomniano powyżej, jeśli kategorie są pokazane przed produktami zostaną przetasowane, ale oczywiście nadal nie z produktami * * * ok, inspirowane @ s_ha_dum odpowiedź Udało mi się uzyskać rozwiązanie: // ta 1. część jest poza woocommerce-template.php a część woocommerce_product_subcategories() $product_cat = get_term_by( 'slug', $product_cat_slug, 'product_cat' ); $product_category_parent = $product_cat->term_id; $pcat_args = array( 'child_of' => $product_category_parent, 'hide_empty' => 1, 'hierarchical' => 1, 'taksonomia' => 'product_cat', 'pad_counts' => 1 ); $product_categories = get_categories( $pcat_args ); //pobieraj według produktu post_type $prod_args = array( 'post_type' => array('product'), 'orderby' => rand, 'posts_per_page' =>-1, 'post_status' => publikuj ); $ng_query = get_posts($prod_args); //łączy, scala tablice $merge_query = array_merge( $ng_query, $product_categories ); //ułóż kolejność losowo shuffle($merge_query); //iteracja połączonych tablic foreach( $merge_query as $mqp ) { setup_postdata($mqp); if ( $mqp->taksonomia == product_cat ) { echo $mqp->category_nicename; echo "
"; } else { echo $mqp->post_title; echo "
"; } } to daje mi losową listę kategorii i produktów! tak jak @s_ha_dum powiedział, że konieczne jest rozróżnienie między połączonymi tablicami/typami obiektów. zrobiłem to dla tego uproszczonego rozwiązania, sprawdzając taksonomię - nie jestem pewien, czy jest to dobry sposób na bardziej złożone wyniki. (1st) EDIT: zaimplementowałem go teraz z całym specyficznym formatowaniem i nadal działa dobrze - więc szukanie taksonomii »product_cat« jest dobrym rozwiązaniem dla mojego scenariusza! (2nd) EDYCJA: natknąłem się na problem, że cena i przycisk dodawania do koszyka nie wyświetlały się, a iteracja się zepsuła, rozwiązaniem na to było dodanie `setup_postdata();` - dodałem to do kod powyżej


title: Problem Unicode

text: Jestem w fazie testowej, aby uruchomić nasz portal informacyjny w języku hindi. Do pisania postów w języku hindi zainstalowałem wtyczkę Indic IME, która tłumaczy moje angielskie słowo na format hindi (tak jak robi to google transliterate). Ponadto używam transliteracji Google do pisania postów, a następnie wklejam je w polu pocztowym i publikuję. Problem polega na tym, że dla 75% użytkowników język hindi, który jest wyświetlany na stronie, jest taki sam, jak ja chcę, ale w spoczynku zmienia się na inne słowa lub kwadraty. Skomentowałem również //define(‘DB_CHARSET’, ‘utf8′); //definiuj('DB_COLLATE', ”); w wp-config jak sugerowano na niektórych stronach. Ale bezskutecznie. Tylko z tego powodu odkłada się oficjalną premierę. Wróć, jeśli masz jakieś rozwiązanie. Jakakolwiek wskazówka, wielkie dzięki.


title: Uzyskaj wiele tagów według ślimaka

text: Poniższy kod działa dla mnie dobrze: $term = get_term_by('slug', 'foo', 'post_tag'); $args = array ( 'posts_per_page' => 5, 'paged' => $paged, 'post__not_in' => get_option( 'sticky_posts' ) , 'tag__not_in' => $term ); Chciałbym teraz `get_term_by` wiele tagów, np. 'foo' i 'bar' (próbuję wyświetlić wszystkie posty _z wyjątkiem_ tych oznaczonych 'foo' lub 'bar'). Zdaję sobie sprawę, że to prawdopodobnie elementarne, ale nie jestem pewien, jak się do tego zabrać. Pomysły?


title: Dodaj nowy status posta w postępie postu

text: Prowadzę stronę z około 30 autorami i 3 redaktorami. Autorzy przesyłają posty do recenzji, a redaktorzy planują je lub publikują. Przydałby się inny status posta „Edycja” między Oczekuje na sprawdzenie a Zaplanowany/opublikowany. Zdaję sobie sprawę, że pojawia się ostrzeżenie, gdy ktoś inny edytuje post, i jest to prawdopodobnie wystarczająco ważne, ale chciałbym zbadać dodanie nowego poziomu statusu. Tak więc aktualny postęp postu: Wersja robocza --> Oczekująca na sprawdzenie --> Zaplanowane/opublikowane Pożądany postęp postów: Wersja robocza --> Oczekująca na sprawdzenie --> W trakcie przeglądu --> Zaplanowane/opublikowane myśli?


title: Jak zmienić adres URL witryny na nową domenę?

text: Więc muszę zmienić nazwę domeny. Oto czego próbowałem. Najpierw zmieniłem serwery nazw w mojej nowej domenie w kierunku hotelu internetowego, którego używam. Po drugie, zalogowałem się do c-panelu i zaparkowałem nową domenę. Następnie przeszedłem do panelu administracyjnego WordPress - ustawienia - ogólne i zmieniłem adres URL strony. Po tym pomyślałem, że jedyne, co pozostało, to aktualizacja permalinków. Co się dzieje, to nowy adres URL działa (został przekierowany w pierwszej kolejności), ale witryna wygląda na zepsutą, co uznałem za coś, co może się wydarzyć przed zmianą permalinków. Ale nie mogę zalogować się do panelu administracyjnego, mu hosting powiedział, że tam nie ma komunikatów debugowania sp nie wiedzieli, co się dzieje. zmieniono z powrotem adres URL witryny w cpanel. i spróbowałem ponownie z wyłączonymi wszystkimi wtyczkami, to samo. Jak widzę, że moja domena rozprzestrzeniła się poprawnie po zmianie serwerów nazw? Prześledziłem trasę, adresy IP nie pasują dokładnie do moich serwerów nazw. Czy powinno? Czy coś przegapiłem?


title: iframe nie wyświetla się w poście (z aktywowaną wtyczką „zezwalaj na php w postach”)

text: $szerokość = 560; $wysokość = 315; $kod = "I8M_uCnxhwY"; $strona główna = "/"; $bieżąca strona = $_SERVER['REQUEST_URI']; if($homepage!=$currentpage) { echo '<iframe width=".$width." wysokość=".$wysokość." src="http://www.youtube.com/embed/'.$code.'" frameborder="0" allowfullscreen></iframe>'; } Więc to jest mój obecny kod. Próbuję wyświetlić wideo osadzone YouTube w ramce iframe w skrypcie PHP, który pokazuje powiedział iFrame tylko wtedy, gdy nie ma go na stronie głównej. (tj. jest postem na blogu) Jeśli ktoś mógłby mi pomóc, byłoby świetnie. Wydaje się potwierdzać, że coś powinno tam być, ale tego nie pokazuje. Nie otrzymuję błędów. Dziękuję!


title: Jak dodać wiele obrazów do niestandardowego typu postu?

text:
Chciałbym stworzyć prostą wtyczkę do dodawania wielu obrazów do niestandardowego typu postu. Stworzyłem wtyczkę, aby dodać pojedynczy obraz do niestandardowego typu postu, ale nie jestem w stanie dowiedzieć się, jak dodać wiele. ![tutaj podaj opis obrazka](http://i.stack.imgur.com/MtPox.png) tutaj jestem. js file- jQuery(document).ready(function($) { // dodać funkcję przesyłania obrazu var meta_image_frame; $('.meta-image-button').live('click', function(e){ e.preventDefault (); if( meta_image_frame ){ wp.media.editor.open(); return; } meta_image_frame = wp.media.frames.file_frame = wp.media({ title: 'Okno wyboru galerii obrazów portfela', przycisk: {text : 'Dodaj do galerii'}, biblioteka: { type: 'image'}, multiple: false }); meta_image_frame.on('select', function(){ var media_attachment = meta_image_frame.state().get('selection' ).first().toJSON();var url = ''; $('#meta-image').val(media_attachment.url); }); meta_image_frame.open(); }); $('#add-input').click(function(event){ add_input() }); function add_input(){ var input = "
<etykieta for='meta-obrazu' class=''>Dodaj obraz projektu" +"<input type='tekst' name='meta-obraz' id='meta-obrazu' value='' />" +"<input type='button' class='meta-image-button' value='Prześlij obraz' />" +"<input type='button ' class='meta-image-button button remove-button' value='Usuń obraz' />
"; $('#images-container').append(input); } }); //zakończ główną funkcję jquery to jest mój plik php- <?php /*--------------------------------- ------------------------- Utwórz typ posta ----------------------- --------------------------------------*/ function portfolio_create_post_type(){ $labels = array( 'name' => __('Portfolio', 'portfolio'), 'singular_name' => __('Project', 'portfolio'), 'add_new' => __('Nowy projekt', 'portfolio'), ' add_new_item' => __('Dodaj nowy projekt', 'portfolio'), 'edit_item' => __('Edytuj projekt', 'portfolio'), 'new_item' => __('Nowy projekt', 'portfolio') , 'view_item' => __('Wyświetl projekt', 'portfolio'), 'search_item' => __('Wyszukaj projekt', 'portfolio'), 'not_found' => __('Nie znaleziono produktów', 'portfolio '), 'not_found_in_trash' => __('Nie znaleziono produktów w koszu', 'portfolio') ); $args = array( 'labels' => $labels, 'public' => true, 'supports' => array( 'title', 'thumbnail', 'editor', ), 'taxonomies' => array('post_tag ', 'Kategoria')             ); register_post_type('Portfolio', $args); } add_action('init', 'portfolio_create_post_type' ); /*------------------------------------------------ ---------- Utwórz Meta Box ------------------------------------- -----------------------*/ function portfolio_meta_box(){ add_meta_box( 'portfolio_gallery', 'Galeria projektów', 'project_meta_box_cb','Portfolio', ' normalny”, „wysoki” ); }//portfolio_meta_box add_action( 'add_meta_boxes', 'portfolio_meta_box' ); /*------------------------------------------------ ---------- Pola meta pola -------------------------- -----------------------*/ function project_meta_box_cb(){ wp_nonce_field( basename( __FILE__ ), 'prfx_nonce' ); $prfx_stored_meta = get_post_meta( $post->ID ); ?>
 <input type="button" id="add-input" value="Dodaj obraz">

 <?php } /*----------------------------------- -----------------------                       Zapisz dane     ------------------------ ------------------------------------*/ function project_meta_save( $post_id ) { // Sprawdza stan zapisu $is_autosave = wp_is_post_autosave ($post_id ); $ is_revision = wp_is_post_revision ( $ post_id ); $is_valid_nonce = ( isset( $_POST[ 'prfx_nonce']) && wp_verify_nonce($_POST['prfx_nonce'], basename(__FILE__))) )? 'prawda fałsz'; // Zamyka skrypt w zależności od stanu zapisu if ( $is_autosave || $is_revision || !$is_valid_nonce ) { return; } // Sprawdza dane wejściowe i czyści/zapisuje w razie potrzeby if( isset( $_POST[ 'meta-image' ] ) ) { update_post_meta( $post_id, 'meta-image', $_POST[ 'meta-image' ] ); } } add_action( 'save_post', 'project_meta_save' ); /*------------------------------------------------ ---------- Załaduj plik JavaScript -------------------------- -----------------------*/ function project_image_enqueue() { global $typenow; if( $typenow == 'portfolio' ) { wp_enqueue_media(); // Rejestruje i umieszcza w kolejce wymagany javascript. wp_register_script('meta-box-image', plugin_dir_url(__FILE__) .'meta-box-image.js', array('jquery') ); wp_localize_script( 'meta-box-image', 'meta_image'); wp_enqueue_script( 'meta-box-image' ); } } add_action( 'admin_enqueue_scripts', 'project_image_enqueue' ); ?>


title: Czy można wstawiać obrazy bezpośrednio z serwera?

text: Przesłałem obrazy bezpośrednio na mój serwer WordPress przez FTP. Chcę dodać te obrazy do posta, więc teraz używam wtyczki Dodaj z serwera, która pozwala mi przeglądać obrazy na serwerze i dodawać je do biblioteki multimediów. Jedyne, co mi się w tym nie podoba, to to, że dodanie obrazu do biblioteki multimediów generuje dwie mniejsze wersje obrazu, które są używane do miniatur. Czy nie jest możliwe całkowite ominięcie biblioteki multimediów i dodanie obrazów bezpośrednio z serwera?


title: Czy można ukryć komunikat o wyłączeniu indeksowania wyszukiwarek/komunikat o błędzie?

text: W ustawieniach Wordpress >> Czytanie (../wp-admin/options-reading.php) znajduje się opcja o nazwie „Zniechęcaj wyszukiwarki do indeksowania tej witryny”. Jeśli to zaznaczysz, pojawi się komunikat o błędzie z powiadomieniem, że Twoja witryna nie może być przeszukiwana przez wyszukiwarki... _"Ta witryna zniechęca wyszukiwarki do indeksowania stron, co wpłynie na Twoje działania SEO. Możesz to naprawić tutaj "_ Czy ktoś wie, jak wyłączyć to powiadomienie? Mógłbym użyć css, ukrywając wyświetlanie klasy błędu, ale obawiam się, że może to wpłynąć na inne komunikaty o błędach, które mogą być przydatne.


title: html lang="" zamiast lang="en-us" - dlaczego?

text: W kilku instalacjach wordpressa początek tagu html wygląda jak <html lang="en-US" ... mimo że w wp-config nie jest określony język. define('WPLANG', ''); Jednak w jednej instalacji tag to <html lang=" " ... jak bym to zmienił na `<html lang="en-us" ...`, bez zmiany pliku wp-config, o którym mówię z przodu, a nie z pulpitu administracyjnego. Kod w pliku header.php wygląda tak: <!DOCTYPE html> <html <?php language_attributes(); ?>> <head> a renderowanie HTML wygląda tak: <!DOCTYPE html> <html lang="" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ ns/fb#" class="no-js"> <head> ...


title: Jak mogę użyć innej domyślnej ikony menu administratora dla niestandardowego typu postu?

text: Dla konkretnego niestandardowego typu wpisu, który ustawiam, chcę po prostu zmienić domyślną ikonę na ikonę stron wordpress (menu-icon-page). Wiem, że mogę przesłać własną ikonę strony i wskazać ją, ale czy mogę po prostu powiedzieć wordpressowi, aby używał domyślnej ikony stron? Oto czego używam register_post_type( 'intranet-pages', // tworzy niestandardowy panel admina array( 'labels' => array( ... 'menu_icon' => menu-icon-page, próbowałem zrobić różne odmiany i nie mogę tego rozgryźć. Myśli? Jeśli będę musiał przesłać własne, zrobię to. Po prostu nie chcę duplikować, jeśli nie jest to konieczne. Dzięki! AKTUALIZACJA: Zgodnie z tym nie można tego zrobić: Jak użyć istniejącej ikony administratora WordPressa? Przynajmniej nie tak po prostu. Czy to nadal obowiązuje? Wygląda na to, że będę ją przesyłać. AKTUALIZACJA 2: Zobacz poniżej bardziej eleganckie rozwiązanie. Po prostu przesyłanie i używanie menu_icon => nie pozwalają na ładne efekty najechania lub ikonę 32px na ekranie edycji.


title: zamówienie wp_get_nav_menu_items nie działa

text: Używam tej funkcji $args = array ( 'order' => 'DESC', ); $ pozycje = wp_get_nav_menu_items ( $ custom_menu, $args ); następnie, jeśli zmienię args na $args = array ( 'order' => 'ASC', ); a wynik jest nadal taki sam. Czy ktoś ma jakieś sugestie?


title: Potrzebujesz pomocy z niestandardową wtyczką PHP

text: Próbuję napisać małą wtyczkę do testowania danych logowania do niektórych gier, które tworzę. Ale ciągle napotykam problemy ze skryptem, których nie mogę rozgryźć. Problem, który mam, polega na tym, że kiedy trafiam do pliku, wydaje się, że nie omija on linii `$user = get_user_by( 'email', $email );`. Zrobiłem kilka testów debugowania echa i stwierdziłem, że wszystko działa dobrze, aż do tej linii. Jeśli wprowadzę niepoprawne informacje, zwraca poprawnie wprowadzony numer (402). Innym problemem jest to, że na wszystkich moich stronach Wordpress zawartość strony jest zastępowana kodem błędu (402). Oto mój skrypt, wciąż jestem nowicjuszem w PHP, więc proszę o radę :). <?php require_once(nazwa_katalogu(__PLIK__).'/../../../wp-includes/class-phpass.php'); globalny $wpdb; $DecryptCode = "XXXXXXXXXXXXXXXXXX"; if (sizeof($_GET) > 1 && $_GET["użytkownik"] != null && $_GET["hasło"] != null && $_GET["uid"] != null && $_GET["uid"] == $DecryptCode) { echo "prawidłowa informacja"; $e-mail = $_GET["użytkownik"]; echo "otrzymał użytkownika var"; $pass = $_GET["hasło"]; echo "dostałem przepustkę var"; $user = get_user_by( 'email', $email ); echo "mam użytkownika".$user->first_name; if ( $user && wp_check_password( $pass, $user->data->user_pass, $user->ID) ) echo "To jest to"; w przeciwnym razie echo "Nie"; } else{ echo "402"; } ?> Kod deszyfrujący to metoda, nad którą pracuję, aby powstrzymać ludzi przed hakowaniem i używaniem go do własnych celów. Również jako metoda późniejszego dalszego szyfrowania haseł, aby nie były wysyłane w zwykłym teście. Moja struktura wtyczki to: ![Struktura wtyczki](http://i.stack.imgur.com/LHb9b.png) A kod w pliku WordpressAuth to: <?php /** * Nazwa wtyczki: Wordpress Auth * Wtyczka URI: http://URI_Of_Page_Describing_Plugin_and_Updates * Opis: Pozwala mi autoryzować moje gry Unity z moją bazą użytkowników Wordpress * Wersja: 1.0 * Autor: Keith M */ include dirname( __FILE__ ) .'/Auth.php'; ?> Użyłbym pliku w katalogu wordpress, ale nie mam dostępu do pliku na serwerze, więc muszę skorzystać z wtyczki.


title: Wordpress Local do życia i brakujące widżety!

text: Właśnie skończyłem tworzenie lokalnego motywu wordpress woo dla klienta, który ma rozbudowane dostosowywanie paska bocznego i widżety. Zrobiłem pełny eksport i import mysql przez phpmyadmina. Jednak kiedy wchodzę na stronę demonstracyjną, nie ma widżetów przypisanych do pasków bocznych, które są rejestrowane przy użyciu tradycyjnych metod wordpress, a menedżer paska bocznego motywu woo nie ma pasków bocznych. Jestem trochę zdezorientowany!


title: próbuję, aby miniatura pojawiła się przed wpisem

text: http://news-test.gnome.org/original-posts/ Chciałbym, aby miniatura pojawiła się przed tytułem posta. Próbowałem utworzyć folder list-category-posts bezpośrednio pod moim folderem motywu, z nowym plikiem szablonu o nazwie thumb-before-title.php. Jedyną rzeczą, którą zmieniłem z default.php było umieszczenie //Post Thumbnail $lcp_display_output .= $this->get_thumbnail($single); zaraz po "Rozpocznij element listy dla każdego postu..." i tuż przed "Pokaż tytuł i link..." następnie dodałem template=thumb-before-title do mojego shortcode, ale otrzymuję pustą stronę. Jeśli dodam template=thumb-before-title.php, otrzymuję stronę z postami, ale miniatura nadal pojawia się po tytule. Próbowałem kilku innych sposobów, aby to zadziałało, ale bezskutecznie. Co sugerujesz? Dziękuję bardzo!


title: Jak stworzyć menu rozłożone na cztery linie, w tym obrazy

text: Chciałbym stworzyć dynamiczne menu WordPress za pomocą `wp_nav_menu()` podzielonego na cztery wiersze lub wiersze jako statyczną stronę internetową. Myślę, że powinienem albo zmusić menu do zrobienia tego za pomocą ograniczeń CSS i szerokości lub PHP. Myślę, że PHP jest potrzebne, ponieważ po niektórych pozycjach menu pojawią się obrazy, zanim menu będzie kontynuowane - zobacz stronę. Czy w tej sytuacji można użyć dynamicznego menu WordPressa, czy powinienem po prostu wybrać dynamiczne paski boczne lub statyczne bloki? Jeśli możliwe jest użycie dynamicznych menu WordPressa, jak mam to zrobić, biorąc pod uwagę fakt, że menu powinno być w czterech liniach i od czasu do czasu jest przerywane obrazami? Aktualizacja: Być może powinienem po prostu użyć trzech menu, aby rozwiązać problem podziału menu na trzy części, ale nadal mam problem z obrazami pomiędzy nimi. Aktualizacja 2: Zdecydowałem się na kilka pasków bocznych z kilkoma widżetami w środku. Dla każdej pozycji menu użyję widgetu tekstowego. Więc zasadniczo robię to, co polecił @Webord


title: Jak dodać niestandardowy metabox do ekranu administratora zarządzania menu?

text: Chociaż jestem bardzo wdzięczny zespołowi wordpress, że w końcu zintegrowali natywne funkcje zarządzania menu, frustrują mnie niektóre kluczowe elementy, które chciałbym zmienić. Potrzebuję sposobu na pokazywanie stron, który jest hierarchiczny w taki sam sposób, w jaki wyświetlane są hierarchiczne kategorie, a nie na liście i potrzebuję sposobu na ręczne dodawanie linków, które można dodać do menu. Jak to zrobić? Z góry dziękuję **AKTUALIZACJA** Oto dwie rzeczy, które próbuję zrobić. Obecnie, jeśli przejdziesz do domyślnego ekranu administracyjnego „zarządzania menu” wordpress, możesz wybrać wyświetlanie metaboksu „strony” po lewej stronie. Problem polega na tym, że po kliknięciu na zakładkę „wyświetl wszystko” ŻADNA ze stron nie jest uporządkowana poprawnie i nie ma wcięcia, jeśli ma to zastosowanie. **BIEŻĄCY DOMYŚLNY UKŁAD:** ![BIEŻĄCY DOMYŚLNY UKŁAD WP](http://i.stack.imgur.com/NEpXi.png) **POŻĄDANY UKŁAD:** (proszę zauważyć, że mam wcięcie, aby pokazać relacji nadrzędnej, elementy również powinny być sortowane na podstawie ich kolejności sortowania). ![co chciałbym](http://i.stack.imgur.com/7GulS.png) Dodatkowo na tej liście (lub jeśli jest to łatwiejsze to w jej własnym metaboksie) potrzebuję sposobu na twarde kodowanie linków, które powinny być prezentowana w formie listy checkboxów, dzięki której można klikać elementy i umieszczać je w menu. Powodem tego jest to, że zamiast ręcznie dodawać te elementy za pomocą „niestandardowych linków”, wolałbym wybrać je z listy.


title: Jak organizować za pomocą pól niestandardowych na stronie kategorii

text: Mam niestandardowe pole o nazwie: eventdate Wszystkie posty są w standardowym typie postów. Chcę uporządkować według tego pola rosnąco. Wypróbowałem ponad 15 różnych rozwiązań, ale bez radości. Każdy post zostaje po prostu przekształcony w listę wszystkich postów. Wypróbowałem wszystkie rozwiązania zarówno przed, jak i po. if(have_posts()){ while (have_posts()) : the_post(); Proszę o pomoc, próbuję to posortować od co najmniej 14 godzin.


title: Co jest nie tak z moim zapytaniem wp, nie mogę wykluczyć kategorii, którą chcę

text: zapytanie('showposts='.$display_count.'&orderby=comment_count&category__not_in=14'); Nie wyklucza kategorii, którą chcę. Posty nadal się pojawiają


title: Czy switch_to_blog obsługuje tablicę lub inne sposoby wyświetlania wszystkich postów w instalacji sieciowej?

text: Mam zainstalowaną sieć WordPress i szukam sposobu, aby wyświetlić wszystkie posty na stronie głównej. Używam switch_to_blog i działa, ale działa tylko przy wyświetlaniu jednego bloga. Czy switch_to_blog obsługuje wiele blogów? Jeśli nie, jaki jest najlepszy sposób wyświetlania postów z wielu blogów bez wtyczki? Wypróbowałem wtyczkę dla całej witryny i ciągle otrzymywałem błędy. Dzięki, Gregory S.


title: Kontener widżetu?

text:
Mam kilka widżetów wykonanych na zamówienie: echo $before_widget; if ( $title ) echo $before_title . $tytuł . $po_tytule; echo $wyjście; echo $after_widget; Załóżmy, że $title to „Tytuł widżetu”, a wynik to „Witaj świecie”. Otrzymuję coś takiego: > Tytuł widżetu > > Witaj świecie Teraz nie wiem, skąd to pochodzi, ale każdy z moich widżetów jest zawijany w kontener, wygląda to tak:

$title

$output

 Wszelkie pomysły, jak zmienić pierwsze "li" na "sekcję" lub "div"? :)


title: Jak uruchomić WordPressa z innej lokalizacji w tej samej domenie?

text: Cześć Mam domenę działającą w WordPressie, ścieżka do instalacji WordPressa to `/subdomain/mywordpress/` i mam do nich dostęp w `mywordpress.mysite.com`. Teraz chcę załadować stronę indeksu w mojej głównej domenie, tj. Kiedy przechodzę do `mysite.com` chcę załadować stronę indeksu WordPress, wiem, że jeśli to możliwe, linki zawsze wskazują na `mywordpress.mysite.com`, ale to jest to, co muszę wiedzieć. ponieważ nie chcę usuwać `mywordpress.mysite.com`. Potrzebuję tylko wyświetlić wszystkie posty na mojej głównej stronie, z tym samym wyglądem (dlatego wolę załadować plik Index Wordpress)


title: Funkcja taka jak is_page(), ale zwraca true, jeśli na dowolnej podstronie danej strony

text: W moim nagłówku używam tego kodu: if(is_page("stores")) { // Zrób coś } Uruchamiam kod jeśli na stronie `stores` ale to co chcę zrobić to uruchomić ten kod jeśli strona jest `stores` ` lub dowolna strona będąca podstroną sklepów. Nie tylko to, ale jest rekurencyjne, więc jeśli jesteśmy na podstronie „sklepów”, kod nadal działa.


title: WP-FB-AutoConnect: Nie można zalogować się na konto administratora

text: Właśnie kupiłem i zainstalowałem wtyczkę WP-Facebook-AutoConnect, ale nie mogę się zalogować. Poniżej znajduje się dziennik debugowania, który otrzymałem e-mailem. ---LOG:--- Rozpoczęcie procesu logowania (Klient: 178.156.161.15, Wersja: 2.0.4, Przeglądarka: Chrome 13.0.782.15 dla Mac) PREMIUM: Wykryto dodatek Premium (#671, Wersja: 22) WP: jednorazowa kontrola przeszedł WP: Znaleziono adres URL przekierowania (http://blog.i18n.ro/wp-admin/) FB: Inicjowanie połączenia z Facebookiem przez nowe API... FB: Połączono z sesją (uid 685872843) FB: Otrzymałem informacje o użytkowniku (Sorin Ionuț Sbârnea) FB: Przyznano uprawnienia do e-maila, ale tylko dla anonimowego adresu proxy (apps+116692738389663.685872843.060155133d98d19b8fa5f9c49090e749@proxymail.facebook.com) WP: Wyszukiwanie użytkownika po meta... FP: Wyszukiwanie użytkownika po hashach e-maili (8 kandydatów) z 8 wszystkich użytkowników)... Sprawdzanie użytkowników #0-7 OSTRZEŻENIE: Nie można zarejestrować hashów na Facebooku (connect_registerUsers wygenerował wyjątek). Wyszukiwanie hasz zostanie tutaj zakończone. WP: Nie znaleziono użytkownika. Automatyczna rejestracja (FB_685872843) PREMIUM: Automatyczna rejestracja jest wyłączona; przekierowanie do /. --- PROŚBA:--- Tablica ( [przekierowanie] => http://blog.i18n.ro/wp-admin/ [rememberme] => 1 [_wpnonce] => 3786067e30 [_wp_http_referer] => /wp-login .php)


title: Ustawianie wyższego limitu przesyłania

text: Jak mogę zmienić standardowy limit wysyłania 7MB? Mam pełny dostęp shellowy i administracyjny do mojego bloga Wordpress.


title: Uszkodzone połączenie z plecakiem odrzutowym

text: Zaktualizowałem 2.8.4 do 3.1.2. Było wiele problemów, które zostały w dużej mierze rozwiązane. Ale Jetpack nadal jest problematyczny. Ciągle otrzymuję ten komunikat o błędzie w bloku statystyk na pulpicie nawigacyjnym: > unknown_token: Wygląda na to, że połączenie Jetpack jest zepsute. Spróbuj > rozłączyć się z WordPress.com, a następnie połączyć ponownie. Nie znalazłem w sieci żadnych odniesień do tego problemu. (Z wyjątkiem greckiego tłumaczenia w archiwum svn Automattic.) Więc próbowałem zalogować się i wylogować z WordPress.com. Wyczyściłem też ciasteczka z mojego bloga i wordpress.com. Wszystko na próżno. Czy ktoś widział ten błąd? Jakiś pomysł, jak to rozwiązać? Dzięki za pomoc.


title: Pojedyncza kreska zamieniona na podwójną kreskę

text: Jak mówi tytuł, jeśli użyto pojedynczej kreski z odstępem między każdą stroną, np. „Szklana pułapka – film akcji” pojawia się w poście na WordPressie, a po opublikowaniu pojawia się jako „Szklana pułapka – film akcji”. Jeśli wokół kreski nie są używane spacje, działa, ale oczywiście nie jest to pożądane. Oczywiście odkryłem, że nie jest to coś, co dzieje się z domyślną instalacją Wordpressa, ale nie mogę określić przyczyny mojego motywu.


title: Uruchamianie pętli poza WordPress

text:
Mam statyczną stronę internetową i WordPressa zainstalowanego pod adresem mywebsite.com/blog. Mam stronę w mojej zewnętrznej statycznej witrynie internetowej, która wyświetla listę wszystkich postów [według kodeksu][1] przy użyciu następującego kodu

 <?php $args = array( 'numberposts' => 10, 'post_status'=>"publish",'post_type'=>"jobs",'orderby '=>"data_postu"); $lista postów = get_posts( $args ); foreach ($postslist jako $post) : setup_postdata($post); ?>

<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?>

<?php the_date(); ?>

<?php the_fragment(); ?>

 <?php endforeach; ?>
 Następnie próbowałem utworzyć stronę, która może wyświetlać pojedynczy post z <?php // Include WordPress define('WP_USE_THEMES', false); wymagaj('/serwer/ścieżka/do/twojego/wordpress/witryny/htdocs/blog/wp-blog-header.php'); query_posts('showposts=1'); ?>
 <?php while (have_posts()): the_post(); ?>
<?php the_title(); ?>
 <?php the_fragment(); ?>
<a href="<?php the_permalink(); ?>" class="red">Czytaj więcej...
 <?php endwhile; ?>
 Brakuje mi tytułu na pierwszej stronie (która zawiera wszystkie posty) z linkiem do właściwego pojedynczego postu. Zasadniczo staram się w ogóle uniknąć konieczności odwiedzania bloga wordpress, ale zawsze uruchamiam pętlę poza WordPressem. Czy to możliwe i czy ktoś mógłby mi pomóc wypełnić tę lukę!? Twoje zdrowie


title: Czy dozwolone są ograniczenia instalacji jednej domeny/wielu domen dla wtyczek?

text: Z tego, co przeczytałem, zrozumiałem, że wszystkie wtyczki do WordPressa (w tym premium) powinny być na licencji GPL. Jeśli tak jest, czy instalacja może być ograniczona do jednej domeny? O ile rozumiem, GPL pozwala na ponowne wykorzystanie kodu. Czyż nie? Pytam o to, ponieważ widziałem, jak niektóre wtyczki premium mają licencje na jedną witrynę / wiele witryn. Proszę mnie poprawić, jeśli to pytanie jest błędne.


title: Jak ustawić niestandardowy podstawowy adres URL dla postów standardowych?

text: Obecnie permalinki są ustawione na /%postname%/. Przed wszystkimi standardowymi postami chciałbym poprzedzić „blog”. Używam kilku niestandardowych typów postów, z których każdy ma własne reguły przepisywania w konfiguracji. Jak mogę ustawić niestandardowy prefiks dla moich standardowych postów WordPress?


title: Zdefiniowane przez użytkownika zamówienie na get_categories?

text:
Poniżej znajduje się podstawowy kod do wywołania określonych kategorii w naszej pętli postów na stronie głównej. Działa dobrze, z wyjątkiem tego, że mój klient chce, aby kategorie były wyświetlane w określonej kolejności. Wiem, że w Internecie są inne posty na ten temat, ale nie widziałem żadnego, który by odnosił się do tego w sposób, w jaki pyta mój klient. Czy mogę wziąć zmienną $categories utworzoną w poniższym kodzie i po prostu wywołać te obiekty w nowej tablicy? W tym przypadku wszystkie obiekty mają przed sobą numer, taki jak: [0] => wartości [1] => wartości [2] => wartości .... gdy dane wyjściowe są zrzucane. Czy mogę wziąć te dane wyjściowe i po prostu je wywołać w kolejności, w jakiej chcę? (np.: 1,3,4,2,5,0) **Aktualny kod:** ` wp_reset_postdata(); /* koniec górnych wątków */ $args = array( 'child_of' => 0, 'parent' => '', 'hide_empty' => 1, 'hierarchical' => 1, 'orderby' => 'id', 'zamówienie' => 'ASC', 'włącz' => '12,13,14,15,16,1', ); $categories = get_categories( $args ); ?> <?php echo '
'; foreach( $categories as $cat) { $slug = $cat->slug ; echo '
'; echo ''.$cat->nazwa.'cat_ID ).'" title="'.$cat->imię.'">Pokaż wszystkie '.$cat->imię.''; echo do_shortcode('[blog number_posts="6" cat_slug="'.$slug.'" exclude_cats="1" title="" thumbnail="" excerpt="" excerpt_words="20" meta_all="nie" meta_author= "" meta_categories="" meta_comments="" meta_date="" meta_link="" paging="" scrolling="" strip_html="" blog_grid_columns="" layout="medium"][/blog]'); echo '
'; } echo '
'; echo '
'; ?> `


title: Nie można usunąć kodu skróconego JW Player?

text:
W szablonie archiwum WordPress używam niestandardowej funkcji fragmentu, która zawiera odniesienie do `strip_shortcodes()`. Z jakiegoś powodu skrócone kody są renderowane i wyświetlane w archiwum. Przykład: http://arisehub.org/blog/page/2/ Przewiń w dół do „Śpiewaj nową piosenkę z Joshua Cunningham” Zwróć uwagę na kod skryptu. To jest skrótowy odnośnik do JW Playera, wyświetlany jako wyrenderowany. Oto kod, którego używam dla funkcji fragmentu niestandardowego. function custom_excerpt($length, $more_text) { global $post; $text = get_the_content(); $tekst = strip_shortcodes( $tekst ); $tekst = zastosuj_filtry('zawartość', $tekst); $text = str_replace(']]>', ']]>', $text); $text = strip_tags($text, ',
, , , '); if(!empty($długość)){ $wyciąg_długość = apply_filters('wyciąg_długość', $długość); } else { $excerpt_length = apply_filters('excerpt_length', 180); } if(!empty($more_text)){ $excerpt_more = apply_filters('excerpt_more', ' ' . '…
id).'" class=" more-link">'.$more_text.''); } else { $excerpt_more = apply_filters('excerpt_more', ' ' . '…id).'" class="more-link">+ więcej' ); } $words = preg_split('/()|\n|\r|\t|\s/', $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE ); if ( count($słowa) > $excerpt_length ) { array_pop($słowa); $text = implode(' ', $słowa); $tekst = $tekst . $wypis_więcej; } else { $text = implode(' ', $words); } $output = '
'.$text.'
'; echo $wyjście; }       Jakieś pomysły?


title: Co to jest krótki kod?

text: Jestem nowy w WordPressie i widziałem, jak ten termin został rozpowszechniony.


title: Jak uzyskać tytuł kategorii w niestandardowej pętli?

text:
Używam następującego kodu, aby wyświetlić listę postów w ramach kategorii, ale chcę wyświetlić tytuł w jego własnym tagu h2 nad listą.
 <?php $weightloss = new WP_Query(); $weightloss->query('showposts=5&include=4'); while ($weightloss->have_posts()) : $weightloss->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="zakładka"><?php the_title(); ?>
 <?php endwhile; ?>
 * * * EDIT: Próbowałem użyć `single_cat_title` , jednak tytuł nadchodzi dla kategorii nadrzędnej dla wszystkich divów podkategorii. Oto przykład div, który replikuję wiele razy, gdzie zapytanie pobiera posty z różnych podkategorii. Chciałbym tytuł każdej podkategorii nad postami. Zdaję sobie sprawę, że to nie działa, ponieważ zwracam kategorię nadrzędną za pomocą tej funkcji, po prostu nie mogę rozgryźć php...

<?php single_cat_title(); ?>
 <?php $weightloss = new WP_Query(); $weightloss->query('showposts=5&cat=4'); while ($weightloss->have_posts()) : $weightloss->the_post(); ?>
<a href="<?php the_permalink() ?>" rel="zakładka"><?php the_title(); ?>
 <?php endwhile; ?>


title: Przełącz wyświetlanie paska bocznego

text: Opracowuję motyw WordPress, który pozwala użytkownikom przełączać widoczność pasków bocznych za pomocą JavaScript w taki sam sposób, w jaki wiki pozwalają użytkownikom wyświetlać lub ukrywać spis treści. Gdy użytkownik kliknie łącze, aby ukryć pasek boczny, mam funkcję przełączania javascript toggle(), która ustawia widoczność paska bocznego na „brak”, a także ustawia plik cookie dokumentu, dzięki czemu przy następnej wizycie użytkownika na tej stronie pasek boczny zapamiętaj ostatni stan przełączenia. Mam inną funkcję javascript setToggleFromCookie(), która pobiera plik cookie i ustawia widoczność na podstawie tego pliku cookie. To wszystko działa z wyjątkiem: Jeśli pasek boczny jest ukryty (tj. widoczność paska bocznego div = "none" i plik cookie dokumentu hidesidebar = 1), gdy strona jest ładowana, pasek boczny pojawia się na krótko przed tym, jak javascript zastępuje widoczność = "blok" z widocznością = „brak”. Umieściłem setToggleFromCookie() w jQuery(document).ready(function(), ale strona nadal wydaje się ładować i wyświetlać pasek boczny ZANIM funkcja setToggleFromCookie() wskoczy, aby ją ukryć...


title: Jak używać get_categories() z wtyczką Event Organizer?

text:
Chcę wyświetlać moje kategorie w zakładkach. Wszystko jest w porządku, z wyjątkiem moich „Nadchodzących wydarzeń”, utworzonych za pomocą Event Organizer (niesamowita wtyczka na http://wordpress.org/extend/plugins/event-organiser/), nie są traktowane jak zwykła kategoria, więc nie Pojawia się. W istocie get_categories() nie zwraca kategorii zdarzeń. Jak mogę naprawić ten wyświetlacz? $args = array('type'=> 'post', 'order' => 'ASC', 'hide_empty' => 1 ); $categories = get_categories( $args ); foreach($categories as $category) { echo '
term_id).'" title="' .sprintf( __( "Wyświetl wszystkie posty w %s" ), $category->name ). '" ' . '>' . $kategoria->nazwa.'
'; array_push($cat_list,"$category->term_id"); }


title: Ukryć stronę po stronie administratora bez wtyczki?

text: Tworzę serię stron z osadzonymi w nich ramkami iFrames, ale wydaje się, że jedynym sposobem na zrobienie tego w Wordpress (tj. za pomocą systemu szablonów) jest utworzenie stron po stronie administratora, a następnie utworzenie indywidualnych szablonów dla każdej z tych stron . Czy można ukryć te strony przed administratorem bez wtyczki? Nie widzę potrzeby, aby klient oglądał te strony, gdy nie może niczego w nich edytować. Dzięki, osu


title: post_id zawsze źle we wtyczce

text: Staram się, aby dwie wtyczki współpracowały ze sobą, gdzie jedna z nich umieszcza znacznik wokół każdego tytułu z funkcją filtra. Chcę, aby wykluczył posty innej wtyczki, które mają niestandardowy post_type (ai1ec_event). Ale nie mogę uzyskać typu posta, jeśli identyfikator jest nieprawidłowy. add_filter('the_title', 'mealingua_title_filter', 10); funkcja mealingua_title_filter($title) { $post_id = get_the_ID(); #trochę rzeczy if (is_front_page() LUB is_single() LUB is_page()) { return '' . $tytuł . ''; } else { return $tytuł; } } Ale post_id jest zawsze błędny w niektórych miejscach. Jednym z nich jest menu nav_u góry. Druga to wtyczka, którą chcę naprawić. Tam id jest zawsze jednym z ostatnich postów ze strony. Próbowałem następujących alternatyw bez powodzenia: global $post; $post_id= $post->ID; globalne $wp_query; $post_id = $wp_query->post->ID; Jak mogę to obejść? Co mogę zrobić? Jestem skłonny grzebać w kodzie obu wtyczek, ale chociaż znam PHP, nie mam doświadczenia z kodowaniem wtyczek wordpress. Dzięki za wszelką pomoc.


title: Jak zmienić nagłówek motywu, aby obsługiwał wiele menu nawigacyjnych?

text: Postaram się być zwięzły... Mam motyw, który obsługuje tylko jedno menu nawigacyjne. W tym momencie chciałbym dodać 2 lub 3 więcej menu. Pomyślnie zarejestrowałem moje menu w functions.php za pomocą register_nav_menus i mogę ręcznie przełączać kod header.php między różnymi menu. Mój problem... Ponieważ mój motyw używa pojedynczego nagłówka (header.php), nie mogę przypisać moich stron ani opublikować żądanego menu nawigacyjnego bez zmiany wszystkich innych menu nawigacyjnych stron. Czy ktoś może mi w tym pomóc? Z góry dziękuję. Greg


title: Pobierz pierwszy post z wp_query

text: Jak mogę uzyskać pierwszy post z wyniku WP_Query? $connected = new WP_Query( array( // Argumenty )); // To nie działa.. echo $connected[0]->post_name;


title: Dynamiczny szablon page.php dla niestandardowych typów postów

text: Mam zarejestrowanych kilka niestandardowych typów postów. Chciałbym wyświetlić wszystkie „posty” z każdego niestandardowego typu postu na osobnej stronie, a te strony muszą być widoczne w menu nawigacyjnym. Byłoby wspaniale mieć tylko jeden szablon `page-custom.php` jako szablon strony dla każdego niestandardowego typu postu. Czy można stworzyć coś takiego?


title: Przekonwertowano posty na CPT, konieczne przekierowania 301?

text: Miałem około 300 postów, siedzących wewnątrz domyślnego typu postu. Od tego czasu stworzyłem dwa oddzielne CPT i przeniosłem te posty do nowych CPT. Czy muszę ustawić przekierowania 301 dla tych postów? a jeśli tak, jaki byłby najskuteczniejszy sposób? Dziękuję.


title: Wordpress bardzo wolno, jeśli kliknę posty?

text: Na mojej stronie mam 5000 postów, które przesłałem z pliku `CSV`. Wszystko poszło dobrze, a strona internetowa jest szybka na zapleczu i szczerze mówiąc na każdej innej stronie. Jest jeden wyjątek: jeśli kliknę post, otwarcie posta zajmuje od 8 do 9 sekund, co jest bardzo niepokojące. Używam _rok/miesiąc/rok/post-name_ jako `struktury permalink` i edytowałem plik **.htaccess** z kodem, który jest wyprowadzany przez Wordpress na stronie `settings`. Co powinienem zrobić? Użyłem WP-Minify, ale to nie przyniosło żadnego efektu. FYI: jest to strona internetowa z własnym hostingiem, działająca na szybkim serwerze. Strona działa bardzo szybko, z wyjątkiem klikania posta. Potem nagle się zmienia.


title: Zmień link do obrazu w fragmencie, aby wskazywał na post

text: Domyślnie obrazy zawarte w artykule prowadzą do adresu URL obrazu w pełnym rozmiarze. Mając taki obraz w fragmencie pokazanym na stronie startowej, ponieważ po obrazie został dodany tag more- (co jest zamierzone), obraz-miniaturka nadal prowadzi do adresu URL obrazu. **Które działanie należy wykonać, aby umieścić link do artykułu?** Czy nadal wskazuje adres URL obrazu na konkretnych stronach z artykułami? (Dla mojego Fancybox) Wyjaśnienie: nie mam na myśli post-miniatur, tylko obrazy w artykułach, jak pokazano na konkretnej stronie artykułu.


title: Skrypt PHP z funkcji php jest ładowany przez admin-ajax do div... i wynikiem jest 0, a nie pożądana treść

text: Chcę użyć menu akordeonowego http://wordpress.org/plugins/jquery-vertical-accordion-menu/ poprzez funkcję ładującą inne menu na podstawie szablonu strony. Co więcej, pragnę wzmocnić ten element. Poniżej znajdują się wszystkie skrypty z functions.php: function get_left_menu() { if (is_page_template('page-akademia-biznesu.php')) { echo do_shortcode('[dcwp-jquery-accordion menu="Menu biznesowe" auto_close="true " event="kliknij" zapisz="prawda" disable="fałsz" count="fałsz" expand="fałsz" disable_class="wyłączone"]'); } elseif (is_page_template('page-forum-wiedzy-oze.php')) { echo do_shortcode('[dcwp-jquery-accordion menu="menu OZE" auto_close="true" event="klik" save="true" disable="false" count="false" expand="false" disable_class="wyłączone"]'); } elseif (is_page_template('page-o-nas.php')) { echo do_shortcode('[dcwp-jquery-accordion menu="Informacje o menu" auto_close="true" event="kliknij" save="false" disable= "false" count="false" expand="false" disable_class="wyłączone"]'); } elseif (is_page_template('page-program-ambasadorski.php')) { echo do_shortcode('[dcwp-jquery-accordion menu="Ambasador menu" auto_close="true" event="kliknij" save="true" disable= "false" count="false" expand="false" disable_class="wyłączone"]'); } elseif (is_page_template('page-program-edukacyjny.php')) { echo do_shortcode('[dcwp-jquery-accordion menu="Menu na boku" auto_close="true" event="kliknij" save="true" disable= "false" count="false" expand="false" disable_class="wyłączone"]'); } umiera(); } add_action("wp_ajax_nopriv_get_left_menu", "get_left_menu"); add_action ("wp_ajax_get_left_menu", "get_left_menu"); function reload_menu_via_ajax() { wp_enqueue_script( 'funkcja', get_template_directory_uri().'/library/js/menuReload.js', 'jquery', prawda); wp_localize_script( 'funkcja', 'left_menu_reload', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); } add_action('template_redirect', 'reload_menu_via_ajax'); A oto skrypt jquery ajax (menuReload.js): jQuery(document).ready(function($) { $(function() { $('nav ul li').click(function() { $('# left-menu').empty();setTimeout(function() { $.ajax({ method : "POST", url : left_menu_reload.ajaxurl, data : ( { action : 'get_left_menu()' }), sukces : function (dane) { $("#menu po lewej").html(dane); } }); }, 2000; }); }); }); Nie jestem do końca uzdolniony, jeśli chodzi o wywołania ajaxowe, więc proszę wybacz mi, jeśli jest to jakaś oczywista rzecz. Ale ostatnio bardzo się tym rozpaczam i proszę o pomoc.


title: Dwie instalacje Wordpress: jedna w katalogu głównym i jedna w podkatalogu - brak obrazów w instalacji podkatalogu

text: **Konfiguracja:** Mam dwie instalacje Wordpress. Jedna w katalogu głównym serwera i jedna w podkatalogu, każda instalacja ma własną bazę danych. Instalacja podkatalogu jest połączona z subdomeną. **Problem:** Podczas instalacji podkatalogu nie pojawiają się żadne obrazy - nawet w menu administratora. Sprawdziłem ścieżki i były poprawne. Sprawdziłem też uprawnienia do pisania, wszystko jest w porządku. Więc wszystkie obrazy są na miejscu, przesyłanie również działa, ale podczas próby uzyskania dostępu do obrazów otrzymuję stronę 404 instalacji podkatalogu (/blog to nazwa folderu). **Co myślę:** Domyślam się, że plik .htdocs w katalogu głównym faktycznie blokuje dostęp do podkatalogu /blogs lub coś w tym stylu. Oczywiście szukałem już w Google, ale to niewiele pomogło. Artykuł w Kodeksie „Dawanie WordPressowi własnego katalogu” rzeczywiście wydaje się pomocny, ale nie mogę przenieść pliku index.php podkatalogu do katalogu głównego, ponieważ kolidowałoby to z instalacją Wordpressa. Jak rozwiązać mój problem? **Edytuj** W tej chwili nie jestem już taki pewien co do .htaccess. Kiedy próbuję uzyskać dostęp do blog.mojadomena.com/wp-content/uploads/2013/06/logo.jpg (blog.mojadomena.com jest subdomeną) otrzymuję 404. Ale dostęp do mojadomena.com/blog/wp-content /uploads/2013/06/logo.jpg wszystko jest w porządku. Więc może po prostu muszę jakoś ustawić Wordpress na inną ścieżkę?


title: Zapytanie o niestandardowe typy postów menu_order

text: Dodałem `'supports' => 'page-attributes'` do mojego niestandardowego typu postu, a teraz mam metabox do porządkowania stron. Kiedy używam argumentu `'sort_column' => 'menu_order'` z `get_pages()` w moim niestandardowym typie posta, wszystko układa się poprawnie. Dlaczego więc niestandardowe strony nie układają się poprawnie, gdy odpytuję posty za pomocą `query_posts(array('orderby' => 'menu_order'))` I co mogę zrobić, aby uporządkować je według kolejności menu? Oto zapytanie, którego używam, na wypadek gdyby ktoś chciał je zobaczyć. <?php $current_term = ($wp_query->query_vars['sekcja'] <> '') ? $wp_query->query_vars['sekcja'] : $menu_arr[0]; query_posts(array( 'post_type' => 'module', 'orderby' => 'menu_order', 'tax_query' => array(array( 'taxonomy' => 'section', 'field' => 'slug', ' terminy' => $current_term)), 'post_parent' => 0)); ?>


title: Treść ZNIKA po dodaniu zwykłego tekstu TYLKO JEDEN POST

text: To najdziwniejsza rzecz, jaką kiedykolwiek widziałem na wordpressie. Oto mój problem: mam całą masę tekstu. Ale kilka ostatnich linijek, które mam to:> <blockquote>[Śmiech] Robię dokładnie to samo, co na żywo. Podłącz > podkręć, włącz maszynę i graj. Niczego nie dogrywam. Nie wracam i nie powtarzam solówek. Nie wracam i nie przerabiam wokali. > Wszystko jest na żywo. Jeśli posłuchasz, usłyszysz, jak kostka gitarowa klika na > struny, kiedy śpiewam! Więc gram to na żywo tak, jakbym był przed publicznością. I tak to jest w studio, kiedy wszyscy grają razem, a ty nie wracasz i niczego nie naprawiasz. Ponieważ wiesz, że jestem naprawdę pedantem do tego. JEŚLI dodam tę linię obok (bez cudzysłowów)... "Staram się, aby nikt nie musiał wracać i cokolwiek naprawiać, żeby musieli zagrać teraz, wiesz?" **Cała treść posta znika.** Pojawia się tylko tytuł. Jeśli usunę tę linię, tekst wróci. Jeśli dodam "asdf", ciało zostaje. Jeśli dodam losową linię, ciało zniknie. Pomyślałem, że może to ukryty tam fantomowy tag html lub coś, więc skopiowałem i wkleiłem do notatnika, aby wyczyścić wszelkie potencjalne podstawowe formatowanie i nadal to robi. Nigdy czegoś takiego nie widziałem. Wbijam się w to od godzin. Próbowałem nawet przenieść całą zawartość do nowego posta. Nie ma kości. Wykasowałem i przepisałem całą obraźliwą sekcję, a potem trochę... nic. Mamy kilkaset postów i to się nigdy nie wydarzyło. W tym poście jest dobre 20 cytatów blokowych i wszystko działa dobrze. Tak naprawdę nie mamy żadnych wtyczek, które skanują tekst ani niczego, co by z tym spieprzyło. Za moje życie NIE mogę rozgryźć, co się u licha dzieje… Czy KTOŚ ma JAKIEŚ pomysły?!


title: Wyłącz wychodzące żądania internetowe

text: Ustawiłem wordpress na AWS. Chcę zmniejszyć jak najwięcej ruchu w sieci. Jakie usługi/zadania muszę wyłączyć w Wordpress?


title: Jak mogę uzyskać listę wtyczek i blogów, które ich używają?

text: Mam zamiar uaktualnić moją instalację Wordpress MU do Wordpress 3 Zanim zaktualizuję, chcę się dowiedzieć, które blogi używają jakich wtyczek. Nie widzę sposobu, aby to zrobić w interfejsie użytkownika, prawda? A co z zapytaniem do bazy mysql? Dziękuję


title: Pomóż ulepszyć moją wtyczkę do paginacji

text: Nie jestem pewien, czy jest to właściwe miejsce, aby poprosić o tego rodzaju pomoc, ponieważ nie jest to prawdziwe pytanie, ale mam nadzieję, że mogę się czegoś nauczyć. Opracowuję wtyczkę (moją pierwszą) inspirowaną wtyczką Infinite Scroll, ale zamiast wyświetlać starsze posty podczas przewijania w dół, pokazuję je po kliknięciu linku „Pokaż więcej”. Moim zamiarem jest upublicznienie tego, ale wiem, że jest wiele rzeczy, które mogę poprawić, zanim to zrobię, przetestowałem to trochę w kilku tematach i działało dobrze, ale nie jestem pewien, jak będzie się zachowywać w prawdziwym świecie. Oto link do niego na github: https://github.com/javiervd/Click-and-Load-Pagination Niektóre obawy na szczycie mojej głowy to: - Jak obsługiwać użytkowników, w tym zewnętrzną bibliotekę jQuery zamiast WP ? Obecnie kolejkuję jQuery WP, ale nie jestem pewien, jak dobre jest to. - Prostota? Jak powiedziałem, ta wtyczka jest oparta na wtyczce Infinite Scroll, więc użyłem podobnego, ale znacznie prostszego podejścia do ustawiania opcji, mam nadzieję, że można to również zoptymalizować. - Najlepsze praktyki? To moja pierwsza "prawdziwa" wtyczka Jestem pewien, że nie stosuję najlepszych praktyk :( Mam nadzieję, że niektórzy z was mogą mi pomóc, na pewno wspomnę o wszystkich, którzy to zrobią, kiedy ją wypuszczę, czuję bezpłatnie, jeśli chcesz, możesz rozwidleć/zamówić wyciągi. Z góry dziękujemy!


title: Jak używać „głębokości”?

text: Chcę użyć „głębokości” w menu paska bocznego, aby wyświetlić tylko pierwszą stronę podrzędną, i zastanawiam się, gdzie w kodzie powinienem wstawić głębokość? Chcę móc wyświetlać tylko pierwszą stronę podrzędną, a nie wszystkie strony podrzędne. Próbowałem wstawić 'głębokość' pod tym warunkiem if ( $item->current_item_ancestor && $item->menu_item_parent == '0' ) { $last_parent = $item, 'depth' => 1 } /* --- -------------------------------------------------- -------------- */ function myproject_nav_menu_objects_start_in( $sorted_menu_items, $args ) { switch ( $args->menu_id ) { case 'sidebar-menu' : $current = false; $last_parent = fałsz; $menu = tablica(); foreach( $sorted_menu_items as $item ) { if ( $item->current_item_ancestor && $item->menu_item_parent == '0' ) $last_parent = $item; if ( $item->current ) $current = $item; } if ( $bieżący ) { $klucze = array(); $last_parent = (! $last_parent)? $bieżący : $last_parent; $children = _myproject_submenu_get_children_ids( $last_parent->ID, $sorted_menu_items ); foreach ( $sorted_menu_items as $key => $item ) { if ( ! in_array( $item->ID, $children ) ) unset( $sorted_menu_items[$key] ); } } else { $sorted_menu_items = array(); }                 przerwanie; } return $sorted_menu_items; } add_filter( 'wp_nav_menu_objects', 'myproject_nav_menu_objects_start_in', 10, 2 );


title: Najłatwiejszy sposób, aby domyślnie ustawić post jako prywatny

text: Nie wiem, jak utworzyć wtyczkę, więc nie mogę zrobić tego, co jest tutaj sugerowane. Jak mogę sprawić, by strona Dodaj nowy post miała domyślnie Widoczność ustawioną na Prywatne? więc co jest alternatywą?


title: Jak podłączyć się do WordPressa, aby zapisać przesłane zdjęcie jako alternatywny rozmiar do istniejącego zdjęcia?

text: Mam wyłączoną zmianę rozmiaru obrazu w ustawieniach multimediów, ustawiając wymiary miniatury, średniego i dużego rozmiaru na 0. Do każdego zdjęcia na moim blogu **przesyłam** to samo zdjęcie w trzech rozmiarach: 1. duży/pełnowymiarowy obraz ze znakiem wodnym do użytku w FancyBox, z nienaruszonymi wszystkimi metadanymi * _nazwa_pliku_ **_duża**.jpg (1200x800) 2. obraz miniatury, bez znaku wodnego, wszystkie metadane usunięte przy użyciu ImageOptim * _nazwa_pliku_.jpg (180x120) 3. miniatura siatkówki, bez znaku wodnego, wszystkie metadane usunięte za pomocą ImageOptim * _filename_ **_x2**.jpg (360x240) 4. może więcej rozmiarów później... Obecnie każdy z nich zajmuje osobne wpisy w tabeli **wp_posts** i **wp_postmeta** . Podłączyłem się do programu do przesyłania multimediów, aby dodać przycisk _"Miniatury tytułów"_, który pobiera tytuł z dużego zdjęcia i dodaje go do dwóch miniatur z dodanym _" – Miniatura"_. **Chciałbym mieć tylko jeden wpis w bazie danych dla wszystkich tych zdjęć – w końcu to to samo zdjęcie, tylko w różnych rozmiarach.** Tak jak jest, już podpinam się pod akcję add_attachment, aby przenieść podpis IPTC do odpowiedniego pola w następujący sposób: // napraw nasze przesłane pliki poprzez przeniesienie podpisu do odpowiedniego pola add_action('add_attachment', function ($post_ID) { // to jest uruchamiane po przesłaniu załącznika i przed formularzem załącznika zostanie wyświetlony $post = get_post($post_ID);$post->post_excerpt = $post->post_content;$post->post_content = NULL;wp_update_post($post);}); **Moje pytanie brzmi: jak podpiąć się do WordPressa, aby po przesłaniu zdjęcia (np. foo.jpg lub foo_x2.jpg) sprawdzało, czy foo_large.jpg już istnieje, a jeśli tak, po prostu dodaje do niego nowy rozmiar klucz '_wp_attachment_metadata' zdjęcia w tabeli wp_postmeta zamiast tworzenia nowego wpisu w bibliotece/bazie danych? przez miniatury. (Pamiętaj, że duże zdjęcie to to, które zawiera wszystkie metadane (podpis, tytuł, informacje exif, IPTC itp.) Nie martwię się również o wsteczne działanie, tylko rozwiązanie, które będzie miało zastosowanie do wszystkich przesyłanych w przyszłości . Dziękuję!


title: Pobierz nagłówki plików w pliku niestandardowym

text: w mojej jednej z moich wtyczek mam moduły (coś w rodzaju wtyczek we wtyczce), czy istnieje funkcja taka jak `get_plugin_data()` lub `wp_get_theme()`, która pozwoli mi uzyskać sekcję nagłówka niestandardowego pliku (przez przekazywanie ścieżki jako parametru)? Przez sekcję nagłówka rozumiem /* Nazwa wtyczki: Nazwa wtyczki URI wtyczki: http://URI_Of_Page_Describing_Plugin_and_Updates Opis: Krótki opis wtyczki. Wersja: Numer wersji wtyczki, np.: 1.0 Autor: Imię i nazwisko autora wtyczki URI autora: http://URI_Of_The_Plugin_Author Licencja: Nazwa licencji „Slug”, np. GPL2 */ Dzięki @toscho poprawnym rozwiązaniem było $default_headers = array( 'Nazwa modułu' => 'Nazwa modułu', 'Nagłówek testowy' => 'Nagłówek testowy', ); $file_data = get_file_data(dirname(__file__).'/some-file.php', $default_headers); print_r($plik_dane);


title: Ciąg zapytania WordPress: get_posts('cat=5') vs WP_Query('cat=5') vs URL: /site/?cat=5

text: Możemy filtrować nasze posty za pomocą ciągu zapytania URL: `http://mysite.com/?cat=5` Możemy również użyć podobnej składni dla `get_posts('cat=5')` i `new WP_Query('cat =5')`.** `get_posts('param=value');` po prostu przekazuje ciąg do `new WP_Query('param=value');`, więc wynika z tego, że działają one tak samo. Chociaż wszystkie one wydają się mieć tę samą składnię, ciąg zapytania adresu URL obsługuje różne parametry. * Nie widzę `subpost` lub `subpost_id` udokumentowanych nigdzie w klasie WP_Query, ale wydaje się, że robi coś z adresem URL (chociaż nie mogę dokładnie określić, co) * `category__in` nie działa z Ciąg zapytania adresu URL. Po wielu poszukiwaniach w końcu znalazłem tę witrynę, która zawiera listę obsługiwanych zmiennych ciągu zapytania URL, ale nie jestem pewien, co robią wszystkie z nich. Gdzie jest dokumentacja tych zmiennych ciągu zapytania URL? WP_Query obsługuje znacznie więcej parametrów, które wydają się nie być obsługiwane w zapytaniu URL. Dlaczego ciąg zapytania URL nie jest po prostu przekazywany bezpośrednio do WP_Query?


title: Czy powinienem utworzyć wiele pasków bocznych, czy użyć lub jednego dynamicznego paska bocznego z logiką, aby określić jego możliwości?

text: Zastanawiam się, jaka jest standardowa procedura dla Sidebars w WordPressie. Mój motyw musi mieć 3 różne rodzaje pasków bocznych, które będą używane na trzech różnych stronach. Zastanawiam się, czy powinienem utworzyć osobny pasek boczny dla każdej z tych stron, czy użyć logiki, aby określić, jaką formę przybierze? Jak wspomniano wcześniej, każdy pasek boczny będzie miał różne zastosowania dla każdego szablonu strony, na którym się znajduje.


title: Wymagaj logowania dla określonych szablonów

text: Mam konkretne szablony do żądania logowania. Wypróbowałem te trzy wersje na pliku functions.php. ## `#`1 To nie działa. Musiałem zrobić `add_action( 'wp_head', 'template_login_permit' );` Ponieważ umieściłem katalog szablonów? jeśli wstawię 'wp_head', auth_redirect(); nie działa. function template_login_permit() { if ( is_page_template('templates/tpl-aa.php') || is_page_template('templates/tpl-bb.php') || is_page_template('templates/tpl-cc.php') || is_page_template ('templates/tpl-dd.php') || is_page_template('templates/tpl-ee.php') || is_page('shop') ) { //echo "ok"; //uwierz_przekierowanie(); if ( !is_user_logged_in() ) { //wp_redirect('/login'); auth_redirect(); echo "ok"; } } } add_action( 'init', 'template_login_permit' ); ## `#`2 `add_action( 'wp', 'login_redirect' );` wp są dla wszystkich szablonów, prawda? to jak mogę skonfigurować tylko określone szablony? // Przekieruj niezalogowanych użytkowników... function login_redirect() { // Bieżąca strona global $pagenow; // Sprawdź, czy użytkownik nie jest zalogowany i nie jest na stronie logowania if(!is_user_logged_in() && $pagenow != 'wp-login.php') // Jeśli użytkownik jest, przekieruj do formularza logowania. //uwierz_przekierowanie(); Echo ""; } // dodaj powyższy blok kodu do szablonu WordPress add_action( 'wp', 'login_redirect' ); ## `#`3 To tylko do testowania niestandardowej strony logowania, którą mam. add_action('init','ewentualnie_przekierowanie'); function possible_redirect(){ global $pagenow; if( 'wp-login.php' == $pagenow ) { wp_redirect('/login'); Wyjście(); } } * * * Czy istnieje sposób na zażądanie "zalogowania" (mam własną stronę logowania) dla określonych szablonów?


title: Wordpress nie przechowuje już formatowania postów

text: Podczas tworzenia nowego posta, wpisując ręcznie lub wklejając z innego dokumentu, TinyMCE (domyślny edytor WordPress) wydaje się nie mieć żadnego rodzaju formatowania. Na przykład tworzę wpis składający się z dwóch akapitów. Podczas przeglądania go na stronie pojawi się jako pojedynczy fragment tekstu w obrębie `<div class="entry-content">`. Zmusza mnie to do częstego odwiedzania postów i ręcznego wprowadzania znaczników akapitów `<p>`. Nie wiem, co powoduje ten problem. Każda pomoc byłaby mile widziana.


title: Otrzymujesz wartość metaboksu?

text: Mam niestandardowy metabox wykonany przy użyciu kodu z Wordpress Reference: http://codex.wordpress.org/Function_Reference/add_meta_box <?php /* Zdefiniuj niestandardowe pole */ // WP 3.0+ // add_action('add_meta_boxes', „mojaplugin_add_custom_box”); // kompatybilne wstecz add_action('admin_init', 'myplugin_add_custom_box', 1); /* Zrób coś z wprowadzonymi danymi */ add_action('save_post', 'myplugin_save_postdata'); /* Dodaje pole do głównej kolumny na ekranach edycji posta i strony */ function myplugin_add_custom_box() { add_meta_box( 'myplugin_sectionid', __( 'Myplugin_sectionid', 'myplugin_textdomain' ), 'myplugin_inner_custom_box', 'post' ); add_meta_box( 'myplugin_sectionid', __( 'Mój tytuł sekcji posta', 'myplugin_textdomain' ), 'myplugin_inner_custom_box', 'page' ); } /* Wyświetla zawartość pudełka */ function myplugin_inner_custom_box() { // Użyj wartości jednorazowych do weryfikacji wp_nonce_field( plugin_basename(__FILE__), 'myplugin_noncename' ); // Rzeczywiste pola do wprowadzania danych echo ''; _e("Opis tego pola", 'myplugin_textdomain' ); echo ' '; echo '<input type="text" id="moje_nowe_pole" name="moje_nowe_pole" value="cokolwiek" size="25" />'; } /* Kiedy post jest zapisywany, zapisuje nasze niestandardowe dane */ function myplugin_save_postdata( $post_id ) { // zweryfikuj, że pochodzi z naszego ekranu i z odpowiednią autoryzacją, // ponieważ save_post może zostać wywołany w innym czasie, jeśli ( !wp_verify_nonce ( $_POST['myplugin_noncename'], plugin_basename(__FILE__) ) ) return $post_id; // sprawdź, czy jest to procedura automatycznego zapisu. // Jeśli to jest nasz formularz nie został przesłany, więc nie chcemy nic robić if ( define('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; // Sprawdź uprawnienia if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id )) return $post_id; } else { if ( !current_user_can( 'edit_post', $post_id )) return $post_id; } // OK, jesteśmy uwierzytelnieni: musimy znaleźć i zapisać dane $mydata = $_POST['myplugin_new_field']; // Zrób coś z $mydata // prawdopodobnie używając add_post_meta(), update_post_meta() lub // niestandardowej tabeli (zobacz sekcję Dalsze czytanie poniżej) return $mydata; } ?> A nie jestem pewien jak wyświetlić jego wartość na każdej stronie? <?php $meta = get_post_meta($post->ID, 'myplugin_new_field'); var_dump($meta); ?> Daje: > array(0) {} Dodatkowo pole metabox nie aktualizuje swojej wartości po kliknięciu aktualizacji posta/lub strony. Dzieje się tak, ponieważ input value="cokolwiek", podczas gdy powinno to być coś w rodzaju powyższego kodu. Jakieś pomysły? Dziękuję Ci! [edytuj] Końcowy kod, który nie aktualizuje wartości wejściowych: /* Zdefiniuj niestandardowe pole */ add_action('add_meta_boxes', 'myplugin_add_custom_box'); // kompatybilne wstecz add_action('admin_init', 'myplugin_add_custom_box', 1); /* Zrób coś z wprowadzonymi danymi */ add_action('save_post', 'myplugin_save_postdata'); /* Dodaje pole do głównej kolumny na ekranach edycji postu i strony */ function myplugin_add_custom_box() { add_meta_box( 'metabox_sidebar_select', __( 'Moje tytuł sekcji posta', 'myplugin_textdomain' ), 'myplugin_inner_custom_box', 'post' ); add_meta_box( 'metabox_sidebar_select', __( 'Mój tytuł sekcji posta', 'myplugin_textdomain' ), 'metabox_sidebar_select', 'page' ); } /* Wyświetla zawartość pudełka */ function myplugin_inner_custom_box() { // Użyj wartości jednorazowych do weryfikacji wp_nonce_field( plugin_basename(__FILE__), 'myplugin_noncename' ); // Rzeczywiste pola do wprowadzania danych echo ''; _e("Opis tego pola", 'myplugin_textdomain' ); echo ' '; echo '<input type="text" id="myplugin_new_field" name="myplugin_new_field" value="'.get_post_meta($post->ID, 'myplugin_new_field',true).'" size="25" />'; } /* Kiedy post jest zapisywany, zapisuje nasze niestandardowe dane */ function myplugin_save_postdata( $post_id ) { // zweryfikuj, że pochodzi z naszego ekranu i z odpowiednią autoryzacją, // ponieważ save_post może zostać wywołany w innym czasie, jeśli ( !wp_verify_nonce ( $_POST['myplugin_noncename'], plugin_basename(__FILE__) ) ) return $post_id; // sprawdź, czy jest to procedura automatycznego zapisu. // Jeśli to jest nasz formularz nie został przesłany, więc nie chcemy nic robić if ( define('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; // Sprawdź uprawnienia if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id )) return $post_id; } else { if ( !current_user_can( 'edit_post', $post_id )) return $post_id; } // OK, jesteśmy uwierzytelnieni: musimy znaleźć i zapisać dane $mydata = $_POST['myplugin_new_field']; // Zrób coś z $mydata // prawdopodobnie używając add_post_meta(), update_post_meta() lub // niestandardowej tabeli (zobacz sekcję Dalsze czytanie poniżej) global $post; update_post_meta($post->ID, myplugin_new_field, $mydata); zwróć $mojedane; }


title: Licencjonowanie motywu premium php wywoływanego przez AJAX

text: Przeczytałem więc to pytanie dotyczące licencjonowania kodu PHP na licencji GPL v2. Jak również kompromis twórcy motywu Thesis, jeśli chodzi o licencjonowanie całego PHP na licencji GPL, ale prawa autorskie do js, css, obrazów itp. Moje pytanie brzmi: czy **WSZYSTKIE** php musi być na licencji GPL? Rozważmy następujący scenariusz: > * php, który generuje treść/układ wp jest na licencji GPL > * JS jest chroniony prawami autorskimi (podobnie do pytania, do którego link znajduje się powyżej) > * JS wysyła żądania AJAX do kodu php, który generuje określone dane > * te dane -generowanie kodu php używa własnej warstwy danych (nie wordpressa) > i nie używa kodu wordpress. > Czy php generujące dane (oddzielone do innego folderu w motywie) może być licencjonowane na innej licencji niż GPL?


title: update_post_meta i update_field działają tylko podczas zapisywania posta

text: Używam zaawansowanych pól niestandardowych (ACF) do przechowywania danych w polu niestandardowym. Miałem informacje o szerokości i długości geograficznej przechowywane osobno, ale muszą one znajdować się w jednym niestandardowym polu, więc stworzyłem poniższą funkcję. `$query` po prostu wysyła zapytanie do wszystkich odpowiednich postów. <?php $zapytanie = zapytanie_niestandardowe_posty(); if($query->have_posts()): while ($query->have_posts()): $query->the_post(); if(get_field('map_lat') && get_field('map_lng')): $lat = get_field('map_lat'); $long = get_field('map_lng'); $coord = $lat.','.$long; $post_id = get_the_ID(); update_post_meta($post_id, 'map_coor', $coord); endif; koniec; wp_reset_query(); endif; ?> Teraz powyższa funkcja działa. Pole map_coor zostaje wypełnione latem i długo oddzielone przecinkiem (widzę informacje w polu). Dziwne jest to, że jeśli użyję `get_field('map_coor')` na interfejsie użytkownika, nic się nie pojawi. Jeśli zapiszę odpowiedni post, pojawi się informacja. W powyższej funkcji próbowałem również użyć funkcji `update_field` (z ACF) w następujący sposób: `update_field($post_id, 'map_coor', $coord)` ale problem nadal istnieje. Więc moje pytanie brzmi; czy muszę zmienić powyższą funkcję, czy po prostu uruchomić funkcję, która zapisuje wszystkie posty? Jeśli to drugie ma miejsce; jak mogę to zrobić? Znalazłem hak `save_posts`, ale nie jestem pewien, jak uruchomić go przez wszystkie posty.


title: Błąd wtyczki dsIDX Pro i pliku Juicebox Xml.

text: mam pewne problemy z wtyczką dsIDX i błąd nie znaleziono pliku. Wtyczka wyszukuje właściwości i wyświetla je na stronie, gdy wybierzesz wyświetlanie szczegółów właściwości, ma być pokaz slajdów właściwości. Zamiast tego otrzymuję komunikat o błędzie: „Błąd Juicebox: Nie znaleziono pliku Config XML”. Skontaktowałem się z pomocą techniczną i powiedziano mi, że powodem jest: > „Wywołujemy plugins_url(), który znajduje się w wp-includes/link-> template.php. Funkcja plugins_url() ustawia pluginUrl na podstawie > ich konfiguracji . Dlatego oni lub ich programiści mogą zajrzeć do plugins_url() > i stamtąd prześledzić, dlaczego w polu pluginUrl jest ustawiony pusty ciąg > zamiast rzeczywistego adresu URL do katalogu wtyczek”. Powtórzyłem plugins_url i wydaje się, że wskazuje on na prawidłową lokalizację ścieżki wtyczki, więc nie jestem pewien, czy o to chodzi. Jestem zbity z tropu i nie wiem, co to może być. Wygooglowałem to i pojawiło się na forum całkiem sporo, a niektóre rozwiązania działają jak www.domain.com vs domain.com (bez www.) wydają się być problemem. Pracuję nad adresem IP witryny i muszę jeszcze przekazać domenę do lokalizacji, więc może to jest problem, ale wątpię, ponieważ WSZYSTKO działa, z wyjątkiem pliku, którego nie znaleziono. Jest to część kodu PLUGIN, która buduje funkcję statyczną pokazu slajdów SlideshowXml() { $uriSuffix = ''; if (array_key_exists('uriSuffix', $_GET)) $uriSuffix = $_GET['uriSuffix']; $urlBase = $_GET['uriBase']; if (!preg_match("/^http:\/\//", $urlBase)) $urlBase = "http://" . $urlBase; $urlBase = str_replace(array('&', '"'), array('&', '"'), $urlBase); header('Typ treści: text/xml'); echo '<?xml version="1.0"?><gallery><album lgpath="' . $urlBase . '" tnpath="' . $urlBase . '">'; for($i = 0; $i < (int)$_GET['count']; $i++) { echo '<img src="' . $i . '-medium.jpg' . $uriSuffix . '" tn ="' . $i . '-medium.jpg' . $uriSuffix . '" link="javascript:dsidx.details.LaunchLargePhoto('. $i .','. $_GET['liczba'] .',\ ''. $urlBase .'\',\''. $uriSuffix .'\')" target="_blank" />'; } echo '</album></gallery>'; } Wszelkie pomysły są mile widziane.


title: Jak wyłączyć pojedynczy widok dla niestandardowego typu postu?

text: Stworzyłem niestandardowy typ posta: register_post_type('sample_post_type',array( 'labels' => array( 'name' => _x('Sample Posts', 'post type general name'), 'singular_name' => _x(' Przykładowy post', 'post type pojedyncza nazwa') ), 'public' => true, 'show_in_nav_menus' => false, 'exclude_from_search' => true )); Jak mogę wyłączyć widok pojedynczego wpisu dla tego konkretnego typu wpisu? Wyświetlenie prostego błędu 404 jest w porządku lub przekierowanie na stronę główną. To jest wewnątrz wtyczki, więc nie mogę utworzyć pliku single-sample_post_type.php, aby ustawić pustą stronę.


title: Tworzysz menu nawigacyjne wszystkich postów niestandardowego typu postów i ich postów podrzędnych?

text:
Mam rozwijane menu, które wyświetla link (permalink) do wszystkich postów niestandardowego typu postu (hrabstwo) i po prostu chciałbym wyświetlić ich dzieci. To jest kod, który mam do tej pory, ale get_children nie działa. ..
 <?php $menu = new WP_Query( array( 'post_type' => 'hrabstwo', 'post_status' => 'publish', 'posts_per_page' => -1, 'order' => 'desc' ) ); while ( $menu->have_posts() ): $menu->the_post(); ?>
 <a href="<?php the_permalink(); ?>"><?php the_title(); ?>
 <?php get_children(); ?>

 <?php endwhile; ?>
 to jest kod, który pozwala mi przypisać niestandardowy typ wiadomości jako rodzica innej funkcji show_parent_metabox() { parent_select('county'); } function parent_select ($parent_type) { global $post; globalny $wpdb; $query = "SELECT ID, post_title FROM $wpdb->posts WHERE post_type = '{$parent_type}' AND post_status = 'publish' ORDER BY post_title"; $results = $wpdb->get_results($zapytanie, OBIEKT); echo '<select name="parent_id" id="parent_id">'; echo '<option value = "">Brak</option>'; foreach ($results as $r) { echo '<option value="', $r->ID, '"', $r->ID == $post->post_parent ? ' selected="selected"' : '', '>', $r->tytuł_postu, '</option>'; } echo '</select>'; }


title: Zapytanie JOIN Wordpress SQL

text: **Cześć** Próbuję uruchomić 2 zapytania w tym samym wywołaniu zapytania. // wyślij zapytanie global $wpdb; $commentQ = "WYBIERZ * Z $wpdb->komentarze" . $whereKlauzula . $zamówienieB; $ komentarze = $ wpdb-> get_results ( $ komentarzQ, TABLICA_A); Jak dotąd to działa, ale gdy próbuję uruchomić 2 zapytania, kończy się to niepowodzeniem. To, co chcę zrobić, to uruchomić: **SELECT * FROM `wp_88_commentmeta` ORDER BY `wp_88_commentmeta`.`meta_value` ASC LIMIT 0 , 30** Próbuję uzyskać meta_value tylko z tej tabeli. Więc moje pytanie brzmi: jak mogę wywołać 2 zapytania w tym samym wywołaniu i czy istnieje lepszy sposób na zrobienie tego? **EDYTUJ:** Chcę DOŁĄCZYĆ $wpdb->komentarze z komentarzami. Próbuję tylko uzyskać pole „meta_value”. globalny $wpdb; $commentQ = "WYBIERZ * Z $wpdb->komentarze" . $whereKlauzula . $zamówienieB; $ komentarze = $ wpdb-> get_results ( $ komentarzQ, TABLICA_A); // zbuduj łańcuch $commentString = ""; $liczba = 0; if( $komentarze ){ $pierwszy = prawda; foreach( $comments as $row ){ if( $first ){ // etykiety kolumn foreach ( $row as $col => $value ){ //$commentString .= $col . chr( 9 ); **Po dołączeniu do tabel chcę pobrać "meta_value" z wp_commentmeta_88 i wstawić ją zamiast "comment_author"** // Autor kolumny if($col == 'comment_author') { $commentString .= 'Meta użytkownika'; } // IP kolumny if($col == 'comment_author_IP') { $commentString .= ' IP '; } // Data kolumny if($col == 'comment_date') { $commentString .= ' Datum '; } // Komentarz kolumny if($col == 'comment_content') { $commentString .= ' Meddelande '; } } $KomentarzString .= chr( 13 ); $pierwszy = fałsz; }


title: Pobierz najnowszą wersję posta za pomocą wp-query

text: Jak mogę pobrać najnowszy post z poprawkami za pomocą wp-query? Próbuję odtworzyć zachowanie, gdy użytkownik aktualizuje opublikowany post i klika podgląd. Do tej pory próbowałem edytować wp-query, aby zwrócić wersje robocze, działa to w przypadku niepublikowanych postów, ale po opublikowaniu posta nie mogę uzyskać żadnych dalszych zmian. Patrzyłem też na zdobywanie dzieci, choć to nie zwróciło niczego użytecznego.


title: Zarządzanie użytkownikami / login zewnętrzny

text: Zabezpieczyłem nowego klienta, który wymaga funkcji logowania użytkownika, ale nigdy wcześniej tego nie robiłem, więc potrzebuję porady lub rekomendacji, jakich wtyczek użyć lub czy potrzebuję niestandardowych funkcji. Będzie to prywatna strona quizowa, na której zaproszeni użytkownicy będą proszeni o zalogowanie się na stronie, aby mogli ukończyć quiz. Wyniki quizu muszą być przechowywane i muszą odnosić się do danych logowania użytkownika. Nie chcę używać wbudowanego menedżera kont użytkowników w Wordpress, ponieważ nie chcę, aby uczestnicy quizu mogli zalogować się do CMS. Jak sobie z tym poradzić, czy są jakieś dobre wtyczki, które poleciłbyś?


title: Który szablon zawiera informacje do wyświetlenia, gdy wyszukiwanie nic nie zwróci

text:
Pytanie jest jasne, jak sądzę. Zwykle, który szablon jest zwracany, gdy nie zostaną znalezione żadne wyniki wyszukiwania. Powiedziałbym search.php, ale search.php mojego motywu nadrzędnego (dwadzieścia trzynaście) wygląda tak (nieco zmieniony): <?php if ( have_posts() ) : ?>
<?php printf( __( 'Wyniki wyszukiwania dla: %s', 'dwadzieścia trzynaście' ), get_search_query() ); ?>
  <?php /* Pętla */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> <?php koniec; ?> <?php dwadzieścia trzynaście_paging_nav(); ?> <?php else : ?> <?php get_template_part( 'treść', 'brak'); ?> <?php endif; ?> Czym więc jest `none` po `treść` w trzeciej, ostatniej linii? Co dokładnie jest pobierane z pliku `content.php`?


title: Jak uruchomić ładowanie CSS na podstawie opcji klikniętych w konfiguratorze motywów?

text: Mam problem. Próbuję, aby konfigurator motywu załadował inny plik CSS na podstawie klikniętych danych wejściowych radia, **na żywo!** Działa do tej pory, że opcja jest zapisywana po kliknięciu „Zapisz i opublikuj”, ładuje się tylko ręcznie przeładuj całą stronę dostosowania. Panel podglądu jest odświeżany przy zaznaczeniu, ale nie ładuje wybranego CSS i nie wiem, co tak naprawdę sprawia, że Twenty Eleven to robi, ale lubię to powiedzieć. Przyjrzałem się motywowi Twentyeleven, aby to zakodować. Różnice są następujące: * Motyw używa opcji `option` dla ustawień, a nie `theme_mod` dla niego * Ma trochę obsługi ustawień, ale myślę, że to jest dla jego oddzielnej strony opcji motywu, nie chcę tego. * Używa `skryptów w kolejce`, aby dodać swój 'ciemny' motyw do normalnego motywu i jest faktycznie stosowany na żywo, jeśli się na niego kliknie, to też lubię mieć. Jak mam to zrobić? Nie jestem pewien, jak to faktycznie działa, wydaje się, że przechowuje opcję tymczasowo tylko dla dostosowywania i odświeża ją za pomocą dołączonego ciemnego motywu. Byłbym zadowolony, gdybyś pomógł mi dowiedzieć się, jak zastosować CSS w podglądzie Customizera. Dla odniesienia: Twentyeleven theme-options.php Oto odchudzona wersja mojej wtyczki. <?php /** * Nazwa wtyczki: Skórki S * URI wtyczki: * Opis: * Wersja: 1.0 * Autor: * URI autora: * Licencja: GPLv3+ */ add_action( 'plugins_loaded', array( 'S_Color_Themes', 'get_instance ' ) ); class S_Color_Themes { /** * Wersja wtyczki, używana do pomijania pamięci podręcznej stylów i odniesień do plików skryptów. * * @od 2.6.0 * * @var string */ const WERSJA = '1.0.0'; /** * Unikalny identyfikator Twojej wtyczki. * * * Nazwa zmiennej jest używana jako domena tekstowa podczas internacjonalizacji ciągów * tekstu. Jego wartość powinna być zgodna z nagłówkiem pliku Text Domain w głównym * pliku wtyczki. * * @since 1.0.0 * * @var string */ protected $plugin_slug = 's-color-themes'; publiczne $kolory_motywy = tablica(); /** * Instancja tej klasy. * * @since 1.0.0 * * @var object */ protected static $instance = null; /** * Zainicjuj wtyczkę, ustawiając lokalizację i ładując publiczne skrypty * i style. * * @od 2.6.0 */ private function __construct() { $this->get_color_themes(); if ( is_admin ()) { add_action ('customize_register', array($this, 'wp_customize_register')); } add_filter( 'stylesheet_uri', array( $this, 'stylesheet_uri' ), 10, 2 ); } /** * Zwraca slug wtyczki. * * @since 1.0.0 * *@return Zmienna slug wtyczki. */ public function get_plugin_slug() { return $this->plugin_slug; } /** * Zwraca instancję tej klasy. * * @since 1.0.0 * * @return object Pojedyncza instancja tej klasy. */ public static function get_instance() { // Jeśli pojedyncza instancja nie została ustawiona, ustaw ją teraz. if ( null == self::$instance ) { self::$instance = nowe self; } return self::$instance; } public function stylesheet_uri( $stylesheet, $dir_uri ) { $color_theme = apply_filters( 's_color_theme', get_theme_mod( 's_skin' ) ); if ( empty( $color_theme ) || 'default' == $color_theme || ! is_file( get_stylesheet_directory() . "/style-$color_theme.css" ) ) { return $stylesheet; } return "$dir_uri/style-$color_theme.css"; } funkcja publiczna wp_customize_register( $wp_customize ) { #remove_theme_mod( 's_skin' ); $wp_customize->add_setting( 's_skin', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options', ) ); #show($color_theme_names); $schematy = tablica(); $wybory = tablica(); foreach ( $this->color_themes as $color_theme ) { $schemes[$color_theme] = array( 'value' => $color_theme, 'label' => ucfirst( $color_theme ), 'thumbnail' => get_template_directory_uri() .' /images/color-theme-thumbnails/' . $color_theme . '.png' ); $wybory[ $kolor_motywu] = UCfirst( $kolor_motywu ); } $wp_customize->add_section( 's-color-themes', array( 'title' => 'Color Themes', 'priority' => 1, ) ); $wp_customize->add_control( 's_skin', array( #'label' => __( 'Schemat kolorów', $this->plugin_slug ), 'section' => 's-color-themes', 'settings' => 's_skin', 'type' => 'radio', 'choices' => $wybory, #'priority' => 5, ) ); } public function get_color_themes() { $color_theme_files = glob( get_stylesheet_directory() . "/style-*.css" ); if ( empty( $color_theme_files ) ) { return false; } $this->color_themes = array( 'domyślnie' ); foreach ( $color_theme_files as $file ) { $this->color_themes[] = str_replace( array( get_stylesheet_directory() . '/style-', '.css' ), '', $file ); } } }


title: Oddzielna pamięć podręczna WP Super Cache dla urządzeń mobilnych

text: Używam wtyczki WP Super Cache i wewnątrz mojego motywu mam kod, który działa inaczej, jeśli witryna jest wyświetlana na urządzeniu mobilnym (iOS, Android) niż w przeglądarce na komputerze. Jak sprawić, by WP Super Cache utworzył osobną pamięć podręczną dla każdego, najprawdopodobniej za pośrednictwem agenta użytkownika? W tej chwili używam mod_rewrite do obsługi pamięci podręcznej, która, jak sądzę, WP Super Cache będzie buforować strony jako pliki html do obsługi. Ponieważ pamięć podręczna jest zapisywana z przeglądarki na komputerze, przeglądarka mobilna również to widzi. Chciałbym, aby WP Super Cache generował dwie oddzielne pamięci podręczne, jedną dla urządzeń mobilnych, a drugą dla przeglądarki komputerowej. Czy jest to coś, co może obsłużyć WP Super Cache, czy jest lepsza wtyczka pamięci podręcznej, której powinienem użyć, aby to zadziałało? Dziękuję!


title: Zmodyfikuj tablicę wybranych obrazów w media modal

text: Tworzę wtyczkę, która sprawdza, czy podczas przesyłania nie występują zduplikowane elementy multimedialne. Jeśli plik został przesłany i już istnieje w bibliotece multimediów, przedstawiam użytkownikowi opcję usunięcia przesłanego pliku i wstawienia istniejącego pliku. W modalnym oknie multimediów (tym, które pojawia się po kliknięciu „Dodaj multimedia” nad edytorem postów) wszystko działa, aby wykryć duplikat pliku i oferuje pole wyboru, które użytkownik może kliknąć, aby usunąć duplikat (poprzez „wp_ajax_save- załącznik-kompatybilność”). Gdy użytkownik usunie nowy plik, muszę znaleźć sposób na zmodyfikowanie tablicy JavaScript aktualnie wybranych elementów multimedialnych, aby zastąpić identyfikator posta usuniętego pliku identyfikatorem posta duplikatu, aby po kliknięciu przez użytkownika przycisku „Wstaw” Do postu” zostanie wstawiony prawidłowy obraz. Oto kod zdrapki, którego obecnie używam. Uruchamia się za każdym razem, gdy w domyślnym trybie mediów zostanie dokonany nowy wybór. ( function( $ ) { var _AttachmentDisplay = wp.media.view.Settings.AttachmentDisplay; wp.media.view.Settings.AttachmentDisplay = _AttachmentDisplay.extend({ render: function() { _AttachmentDisplay.prototype.render.apply(to, argumenty); wybór = this.controller.state().get('wybór').first().toJSON(); //wybór = this.controller.state().get('wybór'); nazwa pliku = wybór .filename; attachment = wp.media.attachment(id); // pobierz załącznik z identyfikatorem console.dir(nazwa pliku); console.dir(wybór); } }); } )( jQuery );


title: Pobieranie post-miniatur z innej witryny WP

text: Mam dwie instalacje WordPressa, jedną na http://inversekarma.in, a drugą na http://inversekarma.in/photos. Ten ostatni to fotoblog, a jego motyw wykorzystuje standardowe miniatury postów WP ( **EDYTUJ:** polecane obrazy, aby być precyzyjnym!). Czy istnieje sposób wyświetlania najnowszych miniatur z drugiej witryny na pasku bocznym mojej pierwszej witryny?


title: Problem nieskończonej pętli z wtyczką WordPress MU Domain Mapping

text: Kiedy jestem wylogowany, wszystko działa dobrze. Kiedy jestem zalogowany, nie mogę wejść na front-end mojej witryny. Moja strona główna znajduje się w podfolderze mojej instalacji wielostanowiskowej: http://beta.eamann.com/mindshare/. Mapuję domenę do tej instalacji: http://mindsharestrategy.com/. Kiedy jestem zalogowany, front-end mojej witryny ciągle przeskakuje między tymi dwiema domenami. Nadal mogę dostać się do strony administratora, ale nie do front-endu. Jeśli się wyloguję, mogę zobaczyć front-end rzeczy w porządku. Korzystam z rozwojowej wersji wtyczki, tak jak poinstruowano mnie w kilku rozmowach z twórcami. Pomysły? Powinienem również zauważyć, że inne witryny w tej sieci nie mają tego problemu. Działają poprawnie: * http://eamann.com -> http://beta.eamann.com/portfolio/ * http://prosepainting.com -> http://beta.eamann.com/creative/ Tam nie ma tu nieskończonej pętli przekierowań. Co mogę sprawdzić, aby rozwiązać problem?


title: Jak używać paginacji w liście kategorii?

text:
Użyj paginacji w funkcji ? function get_posts_for_cat_ordered( $cats = array(), $posts_per_cat = 2 ) { if ( empty($cats) ) return false; $q = nowe WP_Query( array('posts_per_page' => 99, 'category__in' => $cats) ); $posts_ordered = tablica(); $gotowe = 0; while ( $q->have_posts() ): $q->the_post(); globalny $post; $koty = pobierz_kategorię(); $kot = array_shift( $koty ); if ( ! isset($posts_ordered[$cat->slug]) ) $posts_ordered[$cat->slug] = array('term' => $cat); if ( ! isset($posts_ordered[$cat->slug]['posts']) ) $posts_ordered[$cat->slug]['posts'] = array(); if ( count($posts_ordered[$cat->slug]['posts']) == $posts_per_cat ) { $zrobione++; if ( $done == count($cats) ) return $posts_ordered; kontynuować; } $posts_ordered[$cat->slug]['posts'][] = $post; koniec; wp_reset_postdata(); return $posts_ordered; } użyj $cats = array(12, 13, 14); $posts_per_category = 2; $posts_ordered = get_posts_for_cat_ordered( $koty, $posts_per_category ); if ( ! empty($posts_ordered)) { foreach ( $posts_ordered as $loop_data) { // Przykładowy nagłówek kategorii echo '
' . $loop_data['term']->nazwa . '
'; globalny $post; foreach ( $loop_data['posts'] as $post) { setup_postdata($post); ?>  <?php the_title(); ?>
 <?php the_content(); ?>
 <?php } wp_reset_postdata(); } }


title: Tablica pola wyboru widżetu jest pusta przy funkcji aktualizacji

text:
Mam widżet, który nie przekazuje stanu pola wyboru do $new_instance, w szczególności $instance[ 'posts']; jeśli zrzucę $new_instance w funkcji aktualizacji, jest ona pusta? Wszystkie inne zmienne instancji są w porządku i zgodnie z oczekiwaniami? /** * Wyświetla formularz opcji na admin * * @param array $instance Opcje widgetu */ public function form( $instance ) { if ( isset( $instance[ 'type' ] ) ) { $type = $instance[ 'rodzaj' ]; } else { $type = __( 'Wybierz typ', 'text_domain' ); } if ( isset( $instance[ 'icon' ] ) ) { $icon = $instance[ 'icon']; } else { $icon = __( 'Wybierz ikonę', 'text_domain' ); } if ( isset( $instance[ 'title' ] ) ) { $title = $instance[ 'title' ]; } else { $title = __( 'Nowy tytuł', 'text_domain' ); } if ( isset( $instance[ 'posty' ] ) ) { $theposts['posty'] = $instance[ 'posty' ]; } ?>
 <label for="<?php echo $this->get_field_id( 'typ' ); ?>"><?php _e( 'Typ:' ); ?> <select id="<?php echo $this->get_field_id('type'); ?>" name="<?php echo $this->get_field_name('type'); ?>" class="widefat" style="width:100%;"> <?php $types = array('Wybierz typ', 'wynajem' => 'Wynajem', 'cloud' => 'Chmura', 'połączenie' = > 'Połącz', 'Wsparcie' => 'Wsparcie'); foreach($types as $type => $v) { ?> <?php if ( isset( $instance[ 'type' ] ) ) { ?> <option <?php if ( $instance['type'] == $type ) echo 'selected="selected"'; ?> value="<?php echo $typ; ?>"><?php echo $v; ?></option> <?php } else { ?> <opcja wartość="<?php echo $typ; ?>"><?php echo $v; ?></option> <?php } ?> <?php } ?> </select>

 <label for="<?php echo $this->get_field_id( 'icon' ); ? >"><?php _e( 'ikona:' ); ?> <select id="<?php echo $this->get_field_id('icon'); ?>" name="<?php echo $this->get_field_name('icon'); ?>" class="widefat" style="width:100%;"> <?php $icons = array('Wybierz ikonę', 'monitor', 'użytkownicy', 'przełącznik', 'chmura', 'strzałki-ccw', „użytkownik”, „dodaj użytkownika”, „link”, „blokada”, „kciuki w górę”, „przesyłanie chmury”, „logowanie”, „baza danych”, „instalacja”, „koło ratunkowe”, „sygnał”, 'sieć'); foreach($icons as $ico) { ?> <?php if ( isset( $instance[ 'icon' ] ) ) { ?> <option <?php if ( $instance['icon'] == $ico ) echo 'selected="wybrane"'; ?> value="<?php echo $ico; ?>"><?php echo $ico; ?></option> <?php } else { ?> <option value="<?php echo $ico; ?>"><?php echo $ico; ?></option> <?php } ?> <?php } ?> </select>

 <label for="<?php echo $this->get_field_id( 'title' ); ? >"><?php _e( 'Tytuł:' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />

 <label for="<?php echo $this->get_field_id( 'posty' ); ?>"><?php _e( 'Wpis do pokazania:' ); ?>
 <?php if ($instance ['type'] == 'konnect') {$instance ['type'] == 'konect';} $newags = array('posts_per_page ' => -1, 'post_type' => $instance[ 'typ' ], 'post_parent' => 0,); $specyficzneposty = get_posts( $newags ); ?> <?php foreach($określonypost jako $nazwa => $określonypost) { ?> <?php if ( in_array( $określonypost->ID, $instance[ 'posty' ] ) ) { ?> <p class=" <?php echo $specificpost->ID; ?>"><input type="pole wyboru" name="<?php echo $instance[ 'posts' ][$specificpost->ID]; ?>" value="< ?php echo $specificpost->ID; ?>" zaznaczone="zaznaczone" /> <etykieta><?php echo $specificpost->tytuł_postu; ?>
 <?php } else { ?> <p class="<?php echo $specificpost->ID; ?>"><input type="pole wyboru" name="<?php echo $this->get_field_name('posts'). '['.$specificpost->ID.']'; ?>" value="<?php echo $specificpost->ID; ?>" />  <?php echo $specificpost->post_title; ?>
 <?php } ?> <?php } ?>
 <?php }


title: Pytanie include_template

text: W tej chwili buduję wirtualne strony na instalacji Wordpress. Używam haka include_template, aby dodać logikę, która sprawdza stronę 404 i wyrażenie regularne, aby wyszukać określony wzorzec. Wydaje się to strasznie nieefektywne. Jeśli robi to moja wtyczka, a robią to inne wtyczki, czy nie wszyscy po prostu dodajemy mnóstwo kodu, który ma być analizowany za każdym razem, gdy strona ładuje się w witrynie? Co się stanie, gdy moje wtyczki ogromnie się rozrosną. Ten system haków jest okropny. Czy robię to dobrze?


Ładuję kilka postów używając tego argumentu: $args = array( 'category__in' => $catID, 'category__not_in' => 1, 'posts_per_page'=>10, 'date_query' => array( array( 'before' = > pobierz_datę() ) ) ); Problem, jaki mam, polega na tym, że chcę dołączyć aktualny post, na którym się znajduję, jest to kontynuowane po bieżącym poście. Próbowałem dodać `'offset'=>-1`, ale to nie działa. Jak mogę załadować posty zaczynając od bieżącego posta i włączając go? **Edycja: próbowałem użyć opcji „włącznie”, ale wydawało się, że nie działa.** <? php $args = array( 'category__in' = > $catID, 'category__not_in' = > 1, 'posts_per_page' = > 10, 'date_query' = > array('before' = > get_the_date(), 'inclusive' = > true )); $pętla = nowe WP_Query($args); while ($loop -> have_posts()) { $loop -> the_post(); get_template_part('szablon-paska-postów'); } wp_reset_postdata(); ?>


title: Jak d0 otrzymuję liczbę załączników w poście

text: Czy istnieje funkcja, która pozwala mi uzyskać liczbę zdjęć dołączonych do posta, a także pobiera adres URL pierwszego załącznika, aby przejść do strony załącznika dla każdego posta? Oto przykład tego, co chciałem osiągnąć, co zrobiłem w Photoshopie ![tu wpisz opis obrazu](http://i.stack.imgur.com/nP6PI.jpg) Czy widzisz liczbę szesnaście obok miniatur , to jest to, co chcę osiągnąć, kod, który pozwala użytkownikom wiedzieć, ile zdjęć jest dołączonych do bieżącego posta, który czytają, a także numer działa jako link. Chcę, aby link zawierał pierwszy adres URL załącznika ze zdjęciem. Moje załączniki są skonfigurowane w ten sposób > /rok-miesiąc-dzień/tytuł-postu/załącznik Czy to w ogóle możliwe?


title: Przywracanie z kopii zapasowej po aktualizacji

text: Niedawno zaktualizowałem stronę WP z 3.0.1 do 3.3.1. Od czasu aktualizacji strona ma wiele problemów. Chcę przywrócić witrynę do wersji, której kopię zapasową utworzyłem tuż przed aktualizacją. Do wykonania kopii zapasowej strony użyłem wtyczki EZPZ OCB. Czy przywrócenie go jest tak proste, jak usunięcie bieżących plików serwera, a następnie przesłanie kopii zapasowej przez FTP? Dziękuję


title: qTranslate spowalnia moją stronę

text: Po aktywacji wtyczki qTranslate moja strona działa bardzo wolno. Jeśli wtyczka jest dezaktywowana, witryna otwiera się szybciej. Jak mogę przyspieszyć działanie strony z aktywowaną wtyczką?


jaki jest najlepszy sposób na dodanie klasy do div z klasą postu co 4 sekundy za pomocą jquery?

Nagłówek Wiadomości, część 2

testowanie nowej zawartości

Nagłówek wiadomości, część 2

testowanie nowej treści

Nagłówek Wiadomości Część 2

testowanie nowej zawartości

 więc chcę, aby pierwsza miała klasę „display”, a następnie po 4 sekundach, chcę usunąć klasę na ten i dodaj go do drugiego. a następnie po kolejnych 4 sekundach wyjmij go z drugiego i dodaj do trzeciego. kiedy dociera do końca, zawraca.


title: Permalink Structure nie aktualizuje .htaccess

text: Próbuję zaktualizować strukturę permalinków za pomocą zaplecza i Ustawienia -> Permalinki. Plik `.htaccess` nie jest aktualizowany. Dałem `.htaccess` pełny dostęp za pomocą `chmod -R 777 .htaccess` i nadal Wordpress mówi, że permalinki są aktualizowane, ale nie przechodzą. Kiedy klikam, nadal otrzymuję błędy 404 z `apache2`.


title: Próbuję wyświetlić tylko 1 kategorię za pomocą get_posts

text: Próbuję wyświetlić tylko posty z określonej kategorii w widżecie. Próbowałem go na kilka różnych sposobów, ale nadal wyświetla posty ze wszystkich kategorii. Oto mój kod w tej chwili: $posts = get_posts(array ('category'=>6, 'numberposts'=>$number, 'order'=>'DESC', 'orderby'=>'data')); foreach ($posts as $post){ setup_postdata($post);.... Dzięki.


title: wordpress get_post_meta / the_meta, aby wyprowadzić wartość pola niestandardowego

text:
To, co próbuję zrobić, jest dość proste: chcę dodać niestandardowe pole o nazwie „Przycisk” do każdego postu, który będzie wyświetlał przycisk (obraz) na stronie z wartością jako łączem. Zasadniczo jest to przycisk, który będzie się wyświetlał w każdym poście, link, na który wskazuje przycisk, zostanie wprowadzony w polu wartości pola niestandardowego. To jest kod, którego użyłem w single.php:
 <a href="<?php get_post_meta($post->ID, 'Button', true); ?>"> <img src= "<?php echo get_template_directory_uri() . '/images/button.png'; ?>" alt="link" />
 Problem polega na tym, że dane wyjściowe pola wartości nie pojawiają się . Link, który powinien znajdować się na obrazie przycisku, nie jest na swoim miejscu. Zamiast tego przycisk prowadzi do posta. To jest strona internetowa, o której mowa: http://digitalmediaboard.com


title: Wybieranie posta w Dashboard

text: Jak zrobić w panelu administratora <select> z listą wszystkich postów określonego typu posta? Potrzebuję tego, aby zapisać identyfikator posta za pomocą wywołania `set_option()`. Jak to zrobić?