title: Motyw „Bones”: ładować skrypty giełdowe w stopce zamiast w nagłówku?

text: Używam motywu „Bones” w mojej najnowszej witrynie WordPress i po uruchomieniu witryny przez Google PageSpeed otrzymuję następujący błąd: > Wyeliminuj kod JavaScript i CSS blokujący renderowanie w treści strony widocznej na ekranie: > > https ://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js/ > https://www.default.com/…includes/js/jquery/jquery-migrate.min.js > https://ajax.googleapis.com/…ax/libs/jqueryui/1.10.3/jquery-ui.min.js > https://www.default.com/…lugins/node.tmp/js/jquery .transit.min.js > https://www.default.com/…gins/node.tmp/js/jquery.touchwipe.min.js > https://www.default.com/…ntent/plugins/node .tmp/js/jquery.sidr.js > https://www.default.com/…ugins/node.tmp/js/mobile.nav.frontend.js > https://www.default.com/…/ library/js/libs/modernizr.custom.min.js Jak mogę załadować te skrypty w stopce zamiast w nagłówku, tak jak obecnie robi to motyw? Następujące elementy są zawarte w bones.php, które inicjują motyw: /************************* SKRYPTY I KOLEJKOWANIE *********** **********/ // ładowanie modernizr i jquery oraz funkcja skryptu odpowiedzi bones_scripts_and_styles() { global $wp_styles; // wywołaj globalną zmienną $wp_styles, aby dodać warunkowe opakowanie, np. arkusz stylów w sposób WordPress if (!is_admin()) { // modernizr (bez zapytania o media polyfill) wp_register_script( 'bones-modernizr', get_stylesheet_directory_uri() . '/library/ js/libs/modernizr.custom.min.js', array(), '2.5.3', false ); // zarejestruj główny arkusz stylów wp_register_style( 'bones-stylesheet', get_stylesheet_directory_uri() . '/library/css/style.css', array(), '', 'all' ); // ie-only arkusz stylów wp_register_style( 'bones-ie-only', get_stylesheet_directory_uri() . '/library/css/ie.css', array(), '' ); // skrypt odpowiedzi na komentarz dla komentarzy w wątkach if ( is_singular() AND comments_open() AND (get_option('thread_comments') == 1)) { wp_enqueue_script( 'comment-reply' ); } //dodanie pliku skryptów w stopce wp_register_script( 'bones-js', get_stylesheet_directory_uri() . '/library/js/scripts.js', array( 'jquery' ), '', true ); // dodaj style i skrypty do kolejki wp_enqueue_script( 'bones-modernizr' ); wp_enqueue_style( 'bones-stylesheet' ); wp_enqueue_style( 'tylko kości-ie' ); $wp_styles->add_data( 'tylko kości', 'warunkowe', 'lt IE 9'); // dodaj wrapper warunkowy wokół np. arkusza stylów /* Polecam użycie wtyczki do wywołania jQuery za pomocą google cdn. W ten sposób pozostaje w pamięci podręcznej, a Twoja witryna ładuje się szybciej. */ wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'kości-js' ); } }


title: wyłącz przycisk publikowania, dopóki warunek nie zostanie spełniony

text: Obecnie napisałem wtyczki, aby dostosować moją witrynę Wordpress. Zaskakująco łatwo jest zrobić wiele rzeczy z hakiem. Teraz chcę, aby autor nie mógł nacisnąć przycisku publikowania, jeśli nie wybrano żadnej kategorii (nie chcę nieskategoryzowanego artykułu i zmuszać autora do wybrania czegoś) Jak mogę to zrobić za pomocą małej wiadomości mówiącej użytkownikowi, aby wybrał kategorię kiedy próbuje kliknąć przycisk publikowania, jeśli żadna kategoria nie jest zaznaczona. Dziękuję


title: Dodaj hiperłącze logowania do dodatkowego menu nawigacyjnego

text:
Mam następujące wiersze kodu w moim pliku **functions.php**: #------------------------------- ----------------------------------# # Menu niestandardowe #----------- -------------------------------------------------- ----# if ( function_exists( 'register_nav_menus' ) ) { register_nav_menus( array( 'top_nav' => 'Górne menu nawigacji', 'secondary_nav' => 'Dodatkowe menu nawigacji
 Wyświetlane tylko, jeśli odpowiedni układ nagłówka jest wybrany tutaj.' ) ); } //strzałki rozwijane class Theme_Arrow_Walker_Nav_Menu extends Walker_Nav_Menu { function display_element($element, &$children_elements, $max_depth, $depth=0, $args, &$output) { $id_field = $this->db_fields['id']; if (!empty($children_elements[$element->$id_field]) && $element->menu_item_parent == 0) { $element->title = $element->title . ''; $element->classes[] = 'sf-with-ul'; } if (!empty($children_elements[$element->$id_field]) && $element->menu_item_parent != 0) { $element->title = $element->title . ''; } Walker_Nav_Menu::display_element($element, $children_elements, $max_depth, $depth, $args, $output); } } Oraz następujące wiersze kodu w moim pliku **header.php**: <?php if(has_nav_menu('secondary_nav')) { ?>
 <?php wp_nav_menu( array ('walker' => nowe Theme_Arrow_Walker_Nav_Menu, 'theme_location' => 'secondary_nav', 'container' => '', 'items_wrap' => '%3$s' ) ); ?>
 <?php } ?> Które wyświetla podstawowe i co ważniejsze w związku z tym problemem, drugorzędne menu nawigacyjne: ![wprowadź opis obrazu tutaj](http://i.stack.imgur.com/6Vfcj. png) ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/qckMA.png) Chciałbym dodać hiperłącze nawigacji logowania tuż pod hiperłączem _Moje konto_ i usunąć je, jeśli użytkownik jest Zalogowany. Podczas dodawania tego za pomocą _Admin_ > _Wygląd_ > _Menus_ ustawienia... ![tu wpisz opis obrazu](http://i.stack.imgur.com/fcKXh.png) Pozostawia tam hiperłącze nawigacji logowania, nawet jeśli użytkownik jest zalogowany. Jak mogę dodać hiperłącze do nawigacji logowania do mojego dodatkowego menu nawigacyjnego i usunąć je z listy, gdy użytkownik jest zalogowany na stronie i jeśli to możliwe bez dodatkowej wtyczki? Dziękuję Ci.


title: Dostosowane slugi autora nie działają z metodą get_author_posts_url

text: Naprawdę doceniam rozwiązanie dla reguł przepisywania autora tutaj: Zmień bazę autora dla różnych ról Rozwiązanie zadziałało dla mnie, jednak kiedy teraz używam metody get_author_posts_url($id), aby uzyskać adres URL linku autora, zapewnia link bez ślimak, taki jak www.mojawitryna.com//nazwa_użytkownika -- jeśli wpiszę poprawny adres URL w przeglądarce www.mojawitryna.com/slug/nazwa_użytkownika, zadziała i wyświetli mój szablon autora. Próbuję uzyskać poprawny adres URL posta autora wygenerowany z WP. Masz pomysł, że metoda get_author_posts_url zwraca adres URL z pustym ślimakiem? Oto kod, który zrobiłem, aby zmodyfikować adresy URL autorów: $sds_author_levels = array( 'fans' ); add_action( 'init', 'sds_user_init' ); funkcja sds_user_init() { globalne $wp_rewrite; $author_levels = $GLOBALS['sds_author_levels']; // Zdefiniuj tag i użyj go w regule przepisywania add_rewrite_tag( '%author_level%', '(' .implode( '|', $author_levels ) . ')' ); $wp_rewrite->author_base = '%author_level%'; } add_filter( 'link_autora', 'link_autora_sds', 10, 2 ); function sds_author_link( $link, $author_id ) { $author_level = 'fanów'; $link = str_replace( '%poziom_autora%', $poziom_autora, $link ); zwróć $link; } Więc kiedy używam metody get_author_posts_url($id), zwraca ona www.mojawitryna.com//nazwa_użytkownika zamiast www.mojawitryna.com/fans/nazwa_użytkownika Masz pomysł, dlaczego slug "fans" nie jest dołączony?


title: Nie można zmienić lokalnego języka za pomocą funkcji

text: Próbuję dodać funkcję w moim motywie, aby zmienić język lokalny dla niektórych stron. function nfo_redefine_locale($locale) { global $locale; $lokalizacja = 'de_DE'; zwróć $region; } add_filter('locale','nfo_redefine_locale'); Ale wydaje się, że to nie działa, język pozostaje tym, który został zdefiniowany w wp-config.php?


title: Lepiej użyć archiwum typu post, szablonu strony lub kodu skróconego do generowania wysoce konfigurowalnego archiwum CPT?

text: Buduję motyw, w którym mam typ posta, który będzie miał archiwum w układzie siatki. Prawdopodobnie myślisz: „Po prostu użyj archiwum CPT!” Cóż, są pewne wady tej metody, których chciałbym uniknąć, które opisałem poniżej. Ta strona archiwum musi być jak najłatwiejsza w obsłudze dla użytkownika końcowego i najlepiej konfigurowalna. Rozważam te trzy różne sposoby dostarczenia archiwum CPT i zastanawiam się, która metoda będzie najłatwiejsza w użyciu dla osoby konfigurującej motyw. Mam następujące kryteria: * Użytkownik musi mieć możliwość dodania własnej zawartości WYSIWYG (tekst, obrazy itp.) nad archiwum typu post, bez edytowania plików szablonów i ręcznego pisania HTML. * Dodanie treści poniżej archiwum byłoby plusem, choć niekoniecznie trudnym wymaganiem. * Użytkownik musi mieć możliwość łatwego dodania strony archiwum typu postu do swojego menu nawigacyjnego i wyświetlenia go jako wybranej pozycji menu podczas przeglądania archiwum. * Użytkownik musi mieć możliwość łatwej zmiany kilku ustawień wyświetlania siatki archiwum. Zastanawiam się, która metoda jest najlepsza, biorąc pod uwagę moje wymagania, ale także czy przeoczyłem jakieś zalety lub wady którejkolwiek z tych metod, które powinienem rozważyć. Pamiętaj, staram się, aby było to jak najłatwiejsze dla użytkownika. 1) **Wbudowane archiwum CPT** Plusy: * Najbardziej "WordPress-y" sposób na zrobienie tego * Strona jest tworzona automatycznie przez WordPress, jeśli parametr `has_archive` jest prawdziwy w rejestracji typu posta * Mogę łatwo pobrać Adres URL archiwum CPT do wykorzystania w innym miejscu witryny. Wady: * Jedynym sposobem dodania tekstu nad lub pod archiwum bez ręcznej edycji pliku szablonu byłoby dodanie obszaru tekstowego w panelu opcji dostosowania lub motywu. Jest to negatywne, ponieważ najprawdopodobniej nie byłby to pełny edytor WordPress WYSIWYG, na przykład biblioteka multimediów nie mogłaby być przeglądana podczas wstawiania obrazów. * Nie pojawia się w menu nawigacji, należy dodać jako niestandardowy link. Moi użytkownicy prawdopodobnie nie będą w stanie sami tego zrozumieć. * Nie uruchamia klasy css "bieżącego elementu menu" w menu, gdy strona archiwum CPT jest wyświetlana na interfejsie użytkownika. * Użytkownik nie może zmienić tytułu strony (chyba, że jest to przewidziane w opcjach motywu). * Użytkownik nie może ustawić polecanego obrazu na stronie. * Użytkownik nie może zmienić adresu URL strony archiwum. 2) **Szablon strony** Zalety: * Użytkownik może użyć edytora WYSIWYG zawartości strony do tworzenia zawartości strony. * Ustawienia archiwum można zmienić w meta polu * Łatwe dodawanie do menu Wady: * Nie jest to najbardziej "WordPress-y" sposób na zrobienie tego * Wymaga dodatkowego kroku dla użytkownika, aby wybrać szablon strony * Brak miejsca do edycji Zawartość WYSIWYG poniżej archiwum * Nie mogę automatycznie pobrać adresu URL strony archiwum w innym miejscu witryny. 3) **Archive Shortcode** Plusy: * Można dodać zawartość WYSIWYG zarówno powyżej, jak i poniżej siatki archiwum * Można określić ustawienia archiwum za pomocą parametrów shortcode Wady: * Najmniej "WordPress-y" sposób na zrobienie tego * Używanie krótkich kodów i parametrów shortcode nie są tak łatwe w użyciu, jak ustawienia wskaż i kliknij w meta polu. * Nie mogę automatycznie pobrać adresu URL strony archiwum w innym miejscu witryny. Wszelkie porady lub zalety / wady, które przeoczyłem, byłyby mile widziane.


title: Link Powrót do kategorii nadrzędnej - Woocommerce

text: Używam woocommerce i niestandardowego posta type=product i taxonomy=product_cat. Potrzebuję linku z powrotem do kategorii nadrzędnej na każdym pojedynczym produkcie i stronach kategorii. Przeczytałem już kilka postów w sieci, ale nie mogłem sprawić, by działało tak, jak potrzebuję. Myślałem, aby w razie potrzeby wyświetlić funkcję na pasku bocznym za pomocą wtyczki widżetu tekstowego, która akceptuje php. Gdzie wstawić funkcję, ponieważ używam woocomerce i myślę, że motyw używa różnych szablonów dla pojedynczych stron produktów i kategorii? Tylko w functions.php? Czy mógłbyś więc pomóc w kodzie funkcji i wyjściu html? Z góry dziękuję


title: Menu przycisku Bootstrap na wordpressie

text:
Mam proste 4-punktowe menu na wordpressie. W tym menu chcę użyć stylu przycisku ładowania początkowego. To jest ręcznie robiony kod tego, co chcę dostać.

Link 1

Link 2

Link 3

Link 4

 Nie mam pojęcia, jak powiedzieć wp_nav_menu(), aby zbudować menu w tym droga. Pracuję ponad dwadzieścia trzynaście jako motyw początkowy, więc muszę zmienić domyślne menu na ten styl, który chcę. Próbowałem skorzystać z tego przewodnika, ale nie mogę uzyskać pożądanego rezultatu. Czy ktoś ma na to rozwiązanie?


title: Nie można otworzyć advanced-cache.php, co psuje bibliotekę multimediów

text: W mojej instalacji WordPressa, która jest w wersji 3.8 i ma zaktualizowane wszystkie wtyczki, używa między innymi Magic Fields 2 i Hypercache. Nie mogę wstawiać obrazów do postów, ponieważ podczas przesyłania pojawia się błąd: > Wystąpił błąd podczas przesyłania. Spróbuj ponownie później. Okno biblioteki multimediów z wpisu „Wstaw multimedia” jest puste, chociaż wiem, że są tam obrazy i mogę je wyświetlić, przechodząc tam na pasku bocznym. Kiedy próbuję wstawić obrazy za pomocą Magicznego Pola, kiedy klikam "wstaw do posta", okno jest puste i nie wstawia obrazu. W wp-config.php ustawiłem debugowanie na true: > define('WP_DEBUG', true); I otrzymuję te błędy przy wyłączonych WSZYSTKICH wtyczkach i problem nie został rozwiązany: > Ostrzeżenie: include(/myPath/wordpress/wp-content/advanced-cache.php) > [function.include]: nie udało się otworzyć strumienia: Nie taki plik lub katalog w > /myPath/wordpress/wp-settings.php w wierszu 65 > > Ostrzeżenie: include() [function.include]: Nieudane otwarcie '/myPath/wordpress/wp- > content/advanced-cache.php ' do włączenia > (include_path='.:/Applications/MAMP/bin/php/php5.3.6/lib/php') w > /myPath/wordpress/wp-settings.php w wierszu 65 Sprawdziłem wp- zawartości folderu i nie widzę pliku advanced-cache.php - czy problem polega na tym, że POWINIEN on istnieć? Jakieś sugestie? * * * UPDATE 4/27/2014 Tak więc zgodnie z sugestią Milo ustawiłem wp_cache na false: define('WP_CACHE', false); I znów mogę wstawiać obrazy do zwykłych postów. Nie mogę jednak nadal wstawiać obrazów z magicznym polem typu media - ten sam problem. Kiedy klikam „ustaw obraz” i wybieram obraz do „wstawienia do posta”, okno staje się puste, a obraz nigdy nie pojawia się w polu, jeśli odświeżę stronę. ![Magiczne pole, w którym znajduje się „Ustaw obraz”](http://i.stack.imgur.com/xlqdH.png) ![Wyświetla się okno wyboru obrazu dla magicznego pola](http://i.stack .imgur.com/5cTD6.png) ![Wybieram obraz i wypróbowałam kilka rozmiarów, a następnie klikam „wstaw do posta”](http://i.stack.imgur.com/89KUr.png) ![A to jest puste okno po kliknięciu „wstaw do posta”](http://i.stack.imgur.com/iCnG8.png) Jedyne błędy, które widzę z wp_debug nadal prawdziwe, to: > Uwaga: wywołano get_plugin_data z argumentem, który jest przestarzały od > wersji 3.0! Tylko dla całej witryny: prawdziwy nagłówek wtyczki jest przestarzały. Użyj > Sieć: zamiast tego prawda. w /myPath/wordpress/wp-includes/functions.php on > line 3006 Widzę te błędy tylko na stronie Wtyczki. A potem otrzymuję również błąd konsoli na stronie, na której próbuję zmienić te magiczne pola: > TypeError: a.ref is undefined Wskazuje na wp-includes/js/tinymce/tiny_mce.js Więc podejrzewam, że może miał błąd skryptu w moich plikach motywów, skomentowałem wszystkie moje pliki js. Błąd konsoli teraz zniknął. Ale nadal nie mogę wstawić obrazu za pomocą Magic Fields - zdarzyło mi się to wcześniej podczas aktualizacji do 3.8 - i po prostu nie pamiętam, jaka była tego przyczyna po przejściu przez przestarzały kod. Otwórz na więcej sugestii.


title: Niestandardowy typ posta - Przepisz

text: Tworzę rodzaj wtyczki czytnika, która używa niestandardowych typów postów „seria” i „rozdział” i potrzebuję niestandardowej reguły przepisywania, która pozwoli mi wykonać następujące czynności: /series/series_name/chapter/ Używam następującego kod, ale otrzymuję stronę 404, gdy idę do adresu URL w ten sposób add_action('wp_loaded', 'reader_flush_rules'); funkcja reader_flush_rules(){ $rules = get_option('rewrite_rules'); globalne $wp_rewrite; if (!isset($rules['(series)/([^/]*)/(\d*)/?$'])) { $wp_rewrite->flush_rules(); zwrócić; } } add_action('init', 'reader_rewrite'); function reader_rewrite() { add_rewrite_rule('(series)/([^/]*)/(\d*)/?$','index.php?post_type=$matches[1]&p=$matches[2]&rozdział =$pasuje[3]','góra'); add_rewrite_tag('%chapter%','(\d*)'); } Używam motywu Twenty Twelve i nie mam zainstalowanych innych wtyczek. Zaktualizowałem moje permalinki po zastosowaniu przepisywania i nadal nie mam szczęścia. Jeśli ktoś ma jakieś wskazówki, które mogłyby mi pomóc, bardzo bym to docenił. Dziękuję!


title: Pobierz określoną liczbę słów z post_Content

text: Chciałbym pobrać określoną liczbę słów z post_content, ale nie chcę usuwać tagów. Używałem wp_trim_words(), zanim zdałem sobie sprawę, że wszystkie moje obrazy są usuwane, więc potrzebuję alternatywnego sposobu na zrobienie tego.


title: Musisz stworzyć funkcję, która będzie działać niezależnie od W3TC PageCache dla każdego żądania strony

text: Chcę utworzyć wyspecjalizowaną funkcję, która sprawdza pewne parametry (żądana strona, adres IP użytkownika z listą), jeśli użytkownik pasuje, zostanie przekierowany do innej witryny, jeśli nie pasuje, będzie mógł przejść do oryginalna żądana strona. Jednak witryna jest buforowana przy użyciu pamięci podręcznej stron W3TC i nie mogę znaleźć miejsca, w którym powinienem umieścić kod, aby działał, zanim W3TC zwróci stronę z pamięci podręcznej.


Jak utworzyć szablon strony, który nie wyświetla adresu URL, paska bocznego, menu nawigacyjnego, stopki? Na Rupununi.org, jeśli klikniesz na obrazek "Atta Rainforest Lodge", wyświetli się **lightbox**, który wyświetla szablon strony i to jest dokładnie to, co chciałbym stworzyć.


title: Wyprowadzanie niestandardowego pola w PHP

text:
Jestem zupełnym nowicjuszem w PHP, więc proszę wybacz mi. Chcę wyświetlić niektóre dane w następującym formacie: > „Nazwa posta” - „Niestandardowy ciąg pola (w tym przypadku „custom_date”)” Obecnie używam następującego kodu PHP $output .= $indent . '
ID.'">'.apply_filters( 'the_title', $page->post_title, get_post_meta($post->ID,'item_',TRUE), $current_custom_date = $page->$custom_date ).' - ' . $bieżąca_niestandardowa_data . ''; Tytuł i myślnik są wyświetlane idealnie. Jednak ciąg pola niestandardowego wyświetla tylko „Tablica”, więc teraz wygląda tak. > „Nazwa posta” — tablica W jaki sposób mam to uzyskać, aby poprawnie wyświetlać custom_date? Jak widać, już ustawiłem get_post_meta na „true”, więc to nie powinno być problemem.


title: stronicowanie niestandardowego typu postu nie działa po stronie 3

text: Mam niestandardowy typ postów o nazwie services, który ma 23 niestandardowe posty, mam też niestandardową taksonomię dla wszystkich kategorii (5 kategorii). Staram się stworzyć listę wszystkich niestandardowych postów usług i wyświetlać tylko 5 postów na raz, co zrobiłem. Staram się również, aby zostały one podzielone na strony za pomocą wp_paginate, mogę przenieść stronę 1, 2 i 3 na stronę, ale z jakiegoś powodu otrzymuję 404 na stronach 4 i 5. to jest zapytanie, którego używam do stronicowania listy: $paged = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $wp_query = new WP_Query(array('post_type' => 'usługi', 'paged'=>$paged, 'posts_per_page' => 5, 'order' => 'DESC')); mój niestandardowy kod typu postu to: register_post_type( 'services', array( 'labels' => array( 'name' => __( 'Services' ), 'singular_name' => __( 'Service' ) ), 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => 'usługi', 'capability_type' => 'strona', 'has_archive' => 'nasze -services', 'rewrite' => array( 'slug' => 'nasze-usługi/%service_categories%', 'with_front' => false), 'taksonomies' => array( 'service_categories' ), 'supports' = > array( 'tytuł', 'edytor', 'niestandardowe-pola', 'poprawki', 'miniaturka', 'atrybuty-strony' ) ) ); a mój niestandardowy kod taksonomii to: function init_service_categories() { register_taxonomy( 'service_categories', 'services', array( 'labels' => array( 'name' => 'Kategorie usług', 'add_new_item' => 'Dodaj nowe usługi Kategoria', 'new_item_name' => "Kategoria nowych usług" ), 'show_ui' => true, 'show_tagcloud' => false, 'hierarchical' => true, 'rewrite' => array( 'slug' => 'nasz -usługi' ), ) ); } add_action('init', 'init_service_categories', 0); Używam również tego fragmentu kodu, więc kiedy przechodzę do pojedynczej strony usług, ma ona kategorię przed usługą. add_filter('post_type_link', 'glossary_term_permalink', 10, 4); function glossary_term_permalink($post_link, $post, $leavename, $sample) { if ( false !== strpos( $post_link, '%service_categories%' ) ) { $glossary_letter = get_the_terms( $post->ID, 'service_categories' ) ; $post_link = str_replace( '%service_categories%', array_pop( $glossary_letter )->slug, $post_link ); } return $post_link; } Naprawdę byłbym wdzięczny za pomoc, ponieważ jestem tak zagubiony i nie rozumiem, dlaczego to nie działa. Dziękuję


title: Oddziel nazwę strony od tytułu strony

text: O ile widzę, nazwa strony (w admin) jest taka sama jak tytuł strony. W wielu przypadkach chciałbyś, aby nazwa strony była czymś innym, aby lepiej zrozumieć, o co chodzi podczas przeglądania strony administratora. Być może masz stronę o tytule „To jest to, kiedy wszystko się pojawia”, którą można oznaczyć jako stronę „informacje” i dlatego chcesz, aby nazywała się „informacja” na liście stron w admin. Tak, możesz dodać niestandardowe pole dla innego tytułu, ale myślę, że byłoby to odwrotne i nieprzyjazne dla użytkownika. Być może dodatkowe pole nazwy w szybkiej edycji, które zastąpi nazwę (nie tytuł) strony w admin? W powyższym przypadku ze stroną o nazwie "To jest to, kiedy wszystko się pojawia", wystarczy szybko edytować stronę i wpisać "about" w polu nazwy. Inne pomysły?


title: jak udostępnić rejestru użytkowników w wordpressie w innej witrynie php

text: Mam dwie witryny w dwóch różnych domenach. Jedna strona to php / html / mysql, a druga to witryna WordPress. Chciałbym, aby osoby zarejestrowane w pierwszej witrynie miały dostęp do witryny WordPress jako zalogowany użytkownik i na odwrót... Każdy, kto zarejestruje się w systemie WordPress i zaloguje się jako pierwsza witryna, jest zalogowany. ...


title: Pokaż dodatkowy pasek boczny na stronach kategorii (archiwum)

text: Moja witryna ma następującą strukturę, w której jedna kolumna jest przeznaczona na główną treść (artykuły), a druga po prawej stronie to pasek boczny (główny pasek boczny). Motyw pozwala mi na zmianę układu na trzykolorowy, jednak jest to zmiana „boczna”. Nie chcę trzech kolumn w głównej sekcji treści. Czy istnieje sposób na pokazanie tego drugiego paska bocznego tylko na stronach kategorii? Oto kod pomocniczego paska bocznego: <?php /** * Alternatywny szablon paska bocznego * * Jeśli obszar widżetów `dodatkowych` jest aktywny i zawiera widżety, * a wybrany układ ma trzecią kolumnę, wyświetl pasek boczny. * * @package WooFramework * @subpackage Szablon */ global $woo_options; $selected_layout = 'jedna kolumna'; $layouts = array( 'trzy-kolumny-lewe', 'trzy-kolumny-środkowe', 'trzy-kolumny-prawe' ); if ( is_array( $woo_options ) && array_key_exists( 'woo_layout', $woo_options ) ) { $selected_layout = $woo_options['woo_layout']; } if ( in_array( $selected_layout, $layouts ) ) { if ( woo_active_sidebar( 'secondary' ) ) { woo_sidebar_before(); ?> <aside id="sidebar-alt"> <?php woo_sidebar_inside_before(); woo_sidebar( 'dodatkowy' ); woo_sidebar_inside_after(); ?> </aside><!-- /#sidebar-alt --> <?php woo_sidebar_after(); } // Instrukcja End IF } // Instrukcja End IF ?> Myślę, że można to osiągnąć na kilka sposobów: 1) Używamy funkcji warunkowej, aby wyświetlić dodatkowy pasek boczny (który powinien znajdować się po lewej stronie głównej zawartości) tylko strony kategorii. 2) Możemy wyłączyć dodatkowy pasek boczny na pojedynczych stronach. 3) Użyj CSS, aby wyłączyć pasek boczny (nie jestem pewien, czy może to spowodować problem z ukrytą zawartością) Zastanawiam się, czy brzmi to logicznie (niestety nie jestem „programistą”) Doceń twoją pomoc.


title: Dodatkowy pasek boczny

text:
Cześć Chciałem stworzyć dodatkowy pasek boczny w moim motywie i nie jestem pewien, czy to, co zrobiłem, jest poprawne. W moim motywie functions.php znalazłem tę funkcję: function blankslate_widgets_init() { register_sidebar( array ( 'name' => __('Sidebar Widget Area', 'blankslate'), 'id' => 'primary-widget-area' , 'before_widget' => '
', 'after_widget' => "
", 'before_title' => '
', 'after_title' => '
', ) ); } i Inside wkleiłem nowy pasek boczny, więc jest tak, że teraz register_sidebar( array ( 'name' => __('Sidebar Widget Area', 'blankslate'), 'id' => 'primary-widget-area', ' before_widget' => '
', 'after_widget' => "
", 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array ( 'name' => __('Lewy pasek boczny', 'blankslate'), 'id' => 'left_sidebar', 'before_widget' => '
', 'after_widget' => "
", 'before_title' => '
', 'after_title' => '
 ', ) ); } po wykonaniu tej czynności widżet pojawia się idealnie w desce rozdzielczej, a następnie dodaję ten kod w miejscu, w którym chciałem, aby pojawił się pasek boczny <?php dynamic_sidebar('left_sidebar'); ?> i to dla mnie zadziałało idealnie. Nie jestem pewien, czy to właściwy sposób i po prostu martwię się, czy mój motyw się zmiażdży. Czy ktoś może mi doradzić?


title: Nawigacja kalendarza AJAX zwraca -1

text:
Próbuję przekazać wartości `$miesiąc` i `$rok` przez AJAX po kliknięciu poprzedniego/następnego linku, ale wszystko, co otrzymuję, to `-1` tam, gdzie powinna być zawartość. Moje funkcje JavaScript i wywołanie AJAX znajdują się w niestandardowym szablonie strony, `page-calendar.php` i `functions.php`, zobacz cały kod tutaj. Podsumowując, oto odpowiedni skrypt AJAX: W `functions.php`: /* funkcja draw_ajax_calendar($miesiąc, $rok), patrz link powyżej */ // Ustawienia zmiennej daty $miesiąc = (int) ( $_POST['miesiąc'] ? $_POST['miesiąc'] : ($_GET['miesiąc'] ? $_GET['miesiąc'] : data('m'))); $rok= (int) ($_POST['rok'] ? $_POST['rok'] : ($_GET['rok'] ? $_GET['rok'] : date('Y'))); // Dodanie hooków AJAX add_action('wp_ajax_nopriv_draw_ajax_calendar', 'draw_ajax_calendar'); add_action ('wp_ajax_draw_ajax_calendar', 'draw_ajax_calendar'); Skrypt w `page-template.php` (również calendar-script.js. patrz niżej): function nextMonthSwap(nextMonthVal,nextYearVal) { jQuery("#calendar-container").html("
ŁADOWANIE
 ").pokazać(); var url="<?php echo $_ajax; ?>"; jQuery.post(url, {miesiąc: nextMonthVal, year: nextYearVal}, function(data){ jQuery("#calendar-container").html(data).show(); }); zwróć fałsz; } // dołącz obsługę zdarzeń linku jQuery(document).ready(function($) { $('#prev-link').click(function(){ return prevMonthSwap(<?php echo $prevMonthVal; ?>,< ?php echo $prevValVal; ?>)}); $('#następny-link').click(function(){ return nextMonthSwap(<?php echo $nextValVal; ?>,<?php echo $nextYearVal; ?> )}); }); Wreszcie HTML również w `page-template.php`:
 <?php echo draw_ajax_calendar($miesiąc,$rok); ?> <a id="poprzedni-link" href="<?php echo $prev_href; ?>">← Poprzedni      <a id="następny-link" href="<?php echo $next_href; ?>">Dalej →
 Odwołałem się do tego podobnego postu i próbowałem przenieść mój JS z `page-calendar.php` do `calendar-script.js` i dołączyć skrypt z tym w ` functions.php`: function enqueue_calendar_script() { // osadzić plik javascript, który tworzy żądanie AJAX wp_register_script( 'calendar-script.js', get_bloginfo('stylesheet_directory').'/scripts/calendar-script.js'); wp_enqueue_script( 'kalendarz-script.js' ); // zadeklaruj adres URL do pliku obsługującego żądanie AJAX (wp-admin/admin-ajax.php) wp_localize_script( 'calendar-script.js', 'wp_ajax', array( 'ajaxurl' => admin_url( 'admin- ajax.php' )) ); } add_action('wp_head', 'enqueue_calendar_scripts'); Kolejkowanie pliku `calendar-script.js` w ten sposób przywraca przekazywanie wartości `$miesiąc` i `$rok` przez adres URL. Zachowanie jest takie samo po zalogowaniu i wylogowaniu, a w zależności od źródła strony skrypt jest wywoływany. Przepraszamy, jeśli jest to długo naciągane, staram się być dokładny. Każda pomoc jest bardzo ceniona!


title: Jak zmienić domyślny identyfikator e-mail WordPress dla wysłanej wiadomości e-mail?

text: Stworzyłem bloga na `careerdemo.com` i zainstalowałem WordPressa, aby go uruchomić. Kiedy osoba się zarejestruje, otrzymuje wiadomość e-mail z adresu `wordpress@careerdemo.com` (jest to, jak sądzę, domyślne ustawienie w WordPress). Chcę to zmienić, aby e-maile pochodziły z mojego adresu `contact@careerdemo.com`. (Więc każdy nowy użytkownik będzie otrzymywał e-maile z mojego własnego adresu e-mail, `contact@careerdemo.com`.) Jak mogę dostosować mój adres e-mail OD?


title: Pobierz wartości z ciągu tablicy do pracy z post__in

text: > Zasadniczo potrzebuję pomocy w zbudowaniu odpowiedniej tablicy, która będzie przekazywana jako wartość `post__in` Zasadniczo kod musi uzyskać polecane obrazy postów **tylko dla wybranych identyfikatorów**. Potrzebuję twojej pomocy, aby wyodrębnić wartości danego ciągu tablicy we właściwy sposób, ponieważ obecnie kod wyświetla ostrzeżenie `Ostrzeżenie: implode(): Nieprawidłowe argumenty przekazane w .../..`. Jednak nadal wyświetla obrazy. Problem polega na tym, że zgodnie z zamierzeniami wyświetla obrazy ze wszystkich postów zamiast **obrazów tylko z postów o wybranych identyfikatorach** . $sel_ids = $_SESSION['selected_ids']; globalny $wpdb; require_once('../../../../wp-load.php'); $args = array('post__in' => implode( ', ', $sel_ids ), 'post_type' => 'post'); $posts = get_posts($args); foreach ($posts as $post) { echo get_the_post_thumbnail($post->ID, 'coverimage'); } W pierwszym wierszu bloku kodu powyżej, ten łańcuch `$sel_ids` zawiera identyfikatory wybranych postów. Gdy „echoed” daje „Array”. Gdy `var_dump($sel_ids)` pokazuje tablicę(2) { [0]=> string(2) "67" [1]=> string(2) "16" } a `foreach` daje łańcuch taki jak `6716 `. Nie potrzebuję „foreach” w moim kodzie, ale podaję dodatkowe informacje, które pomogą ci lepiej wywnioskować. Powyższy kod nie znajduje się na stronie szablonu, ale na osobnej stronie. w rzeczywistości jest to procesor formularzy. Potrzebuję kodu do uruchomienia tutaj, ponieważ muszę pobrać te wartości i wysłać je później. Więc załadowałem globalne WordPressa. Sesja służy do przenoszenia wartości tablicy z formularza. * * * AKTUALIZACJA - @Mamaduka - Oto odpowiednia część źródła wiadomości e-mail w Gmailu Array<img src="http://xxxxxxxxx.com/wp-content/uploads/2014/04/360.jpg">


title: Pobierz każdy widżet oddzielnie z paska bocznego

text:
Chciałbym pobrać każdy widżet istniejący na pasku bocznym w kolejności np. mieszać je ze słupkami wewnątrz głównej pętli. Wiem, że mogę używać różnych obszarów widżetów (pasków bocznych), ale takie podejście zaśmieca stronę administratora widżetów kilkoma dziesiątkami pasków bocznych. Aby to złagodzić, pomyślałem, że po prostu dodaję je do jednego paska bocznego i pobieram je kolejno w razie potrzeby. Ale utknąłem. Nie mam pojęcia, jak osobno pobrać widżet. Moje wstępne podejście polega na użyciu wp_get_sidebars_widgets i the_widget, ale nie mogę pobrać nazwy klasy widżetu. Oto uproszczony fragment mojego kodu. W tym przypadku staram się dodawać widżety co trzy posty, ale jest to nadmierne uproszczenie logiki (ponieważ nie chcę po prostu dodawać ich regularnie) w celu przekazania Ci pomysłu. Chciałbym wizualizować każdy widżet za pomocą `the_widget` lub dowolnej innej funkcji. Jak mogę to osiągnąć? Czy to możliwe? <?php $i = 1; $widgety = wp_get_sidebars_widgets(); // WIEM, ŻE UŻYCIE TEGO JEST ODRADZANE (PRYWATNE), ALE NIE MOGĘ ZNALEŹĆ ALTERNATYW. if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <?php if ($i%3 == 0){ echo "
WIDGET #".($i/3)."
"; the_widget($widgets['homepage-1'][$i/3]); // TO NIE DZIAŁA, PONIEWAŻ NIE PODAJĘ NAZWY KLASY. JAK TO POBRAĆ? } get_template_part( 'zawartość', get_post_format() ); $i++; ?> <?php koniec; ?> <?php _s_paging_nav(); ?> <?php else : ?> <?php get_template_part( 'treść', 'brak'); ?> <?php endif; ?>


title: PasswordHash nie został znaleziony w przestrzeni nazw

text: Jestem bardzo nowy w programowaniu WordPress, wywodząc się z czystego środowiska OO, zapoznaję się z orientacją obiektową w PHP / WordPress. Mam klasę w podmiotach\członkowskich, które pobierane są ładowane za pośrednictwem implementacji autoloadera. Z tymi rzeczami czuję się całkiem komfortowo i do tej pory nie używałem w swoim kodzie tak naprawdę funkcji WordPressa. W przypadku członków chcę użyć wbudowanej funkcji skrótu hasła, która znajduje się w pliku pluggable.php, ale z jakiegoś powodu autoloader próbuje „wyszukać” funkcję PasswordHash jako klasę, czego nie powinien robić? Szukałem możliwych rozwiązań tego problemu, ale wydaje się, że jest to ograniczenie w WordPressie i jest to obsługa orientacji obiektowej w PHP 5+? Jak „oszukać” autoloader, aby zignorować funkcje WordPressa, jeśli to w ogóle możliwe? Próbowałem dodać require_once(ABSPATH. 'wp-includes/pluggable.php'); w klasie Members, nawet w klasie functions.php, tuż nad dołączeniem autoloadera. Nie idź.


title: Formularz edycji/przesłania tagu frontendu

text: Chciałbym mieć oddzielną stronę do przesyłania/edytowania tagów. Każdy użytkownik może edytować lub przesyłać tagi. Ale powinien zostać opublikowany dopiero po zatwierdzeniu przez administratora. Czy jest dostępna jakaś funkcja, taka jak `wp_insert_tag()`? ## Aktualizacja: Po odpowiedzi Kaisera próbowałem w ten sposób. $x = wp_insert_term( 'test', 'post_tag', array('description' => 'To jest tag testowy') ); var_dump($x); Działa dobrze. Ale jest publikowany automatycznie. Czy można go opublikować po zatwierdzeniu przez administratora?


title: Ponowne użycie header.php z aplikacji Yii

text: Tworzę stronę internetową, która używa Wordpressa jako CMS i jest zbudowana z wykorzystaniem frameworka Yii. Cała logika biznesowa działa dobrze. Większość widocznych stron jest wypełniona treścią od administratora Wordpress i tylko sekcja profilu użytkownika jest zbudowana za pomocą Yii. Mój problem polega na tym, że chciałbym ponownie wykorzystać układ stron wordpress w aplikacji Yii. Początkowo próbowałem to zrobić w pustym pliku PHP i wszystko działało zgodnie z oczekiwaniami z następującym kodem: <?php require( '/var/www/wordpress/wp-load.php' ); pobierz_nagłówek(); ?> <div> trochę zawartości tutaj </div> <?php get_footer(); ?> Problem polega na tym, że kiedy tworzę nowy układ w Yii, abym mógł ponownie użyć nagłówka i stopki, zawiesza się i wyświetla pustą stronę. Próbowałem obu z `require('/var/www/wordpress/wp-blog-header.php');` i `require('/var/www/wordpress/wp-load.php' );`. To jest kod, którego używam do ładowania funkcji wordpress w Yii, ale niestety nie działa. <?php /* @var $this Controller */ spl_autoload_unregister(array('YiiBase','autoload')); wymagać( '/var/www/wordpress/wp-load.php' ); pobierz_nagłówek(); spl_autoload_register(array('YiiBase', 'automatyczne ładowanie')); ?> Wszystko, co widzę, to całkowicie pusta strona (bez znaczników). Każda pomoc byłaby bardzo mile widziana. Idealnie chciałbym użyć funkcji wordpress `get_header()` i `get_footer()` w układach/widokach Yii. Dzięki **UPDATE** Sprawdziłem logi Apache i wygląda na to, że podczas próby otwarcia strony w mojej przeglądarce jest rejestrowany następujący błąd: `Błąd krytyczny PHP: wywołanie funkcji członkowskiej get() na obiekcie niebędącym obiektem w / var/www/wordpress/wp-includes/query.php w wierszu 27` Również kiedy komentuję wiersz `get_header();` strona otwiera się bez żadnych błędów (i bez stylizacji). Więc coś uniemożliwia get_header() działanie właściwości w Yii.


title: Ocena na podstawie liczby komentarzy lub wyświetleń

text: Czy można mieć jakąś funkcję oceniania na podstawie x liczby komentarzy lub wyświetleń? ### Przykład: zamiast 200 wyświetleń powiedz: > „gorąco” 400 wyświetleń, powiedz: > „bardzo gorąco” ### coś podobnego do instrukcji if else > wartość=200 Echo „gorąco” jeśli jeszcze echo "zimno"


title: Taksonomia niestandardowa dla wielu typów niestandardowych postów — archiwum taksonomii nie działa

text: Pracuję nad projektem, w którym mam niestandardową taksonomię, na przykład o nazwie `class-formation`, która jest współdzielona dla dwóch niestandardowych typów postów. Jednym z nich jest „produkt” CPT stworzony przez WooCommerce, a drugi jest wykonany na zamówienie dla projektu. Mogę przypisać taksonomię do obu CPT. Ale problem polega na tym, że gdy próbuję uzyskać dostęp do archiwum taksonomii dla `class-formation`, nie mam błędu 404 nie znaleziono, ale żadne posty nie są zwracane (`have_posts()` zwraca `false`) . Dzieje się też dziwna rzecz: na tej stronie brakuje każdego niestandardowego menu, które wygenerowałem za pomocą `wp_nav_menu` (testowałem z niektórymi motywami, aby sprawdzić, czy był to problem związany z motywem, ale zachowanie jest takie samo). ## Co robię: w moim **functions.php** <?php // rejestrując funkcję taksonomii "class-formation" theme_register_taxonomy(){ $labels = apply_filters( 'tax_class_formation_labels' ,array( 'name' = > _x( 'Formações Acadêmicas', 'Ogólna nazwa taksonomii', 'theme_slug' ), 'singular_name' => _x( 'Formação Acadêmica', 'Taksonomia Singular Name', 'theme_slug' ), 'menu_name' => __ Forma', 'theme_slug' ), 'all_items' => __( 'Todos jako Formações', 'theme_slug' ), 'parent_item' => __( 'Formação Pai', 'theme_slug' ), 'parent_item_colon' => __( 'Formação Pai:', 'theme_slug' ), 'new_item_name' => __( 'Nowa nazwa formy', 'theme_slug' ), 'add_new_item' => __( 'Dodatkowe nowe formy', 'theme_edit_em' ), ' ' => __( 'Edytuj formatowanie', 'theme_slug' ), 'update_item' => __( 'Aktualizuj formatowanie', 'theme_slug' ), 'oddziel_elementy_przecinkami' => __( 'Oddzielne formaty academi'egulas_slug', v , 'search_items' => __( 'Pesquisar formações', 'theme_slug' ), 'add_or_remove_items' => __( 'Dodaj lub usuń formę', 'theme_slug' ), 'choose_from_najbardziej_użyty formularz' => ' usadas', 'theme_slug' ), ) ); $rewrite = array( 'slug' => apply_filters( 'tax_class_formation_slug', _x( 'formacao-academica', 'Taxonomy Slug', 'theme_slug' ) ), 'with_front' => true, 'hierarchical' => false, ) ; $args = apply_filters( 'tax_class_formation_args', array( 'labels' => $labels, 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => prawda, 'show_in_nav_menus' => prawda, 'show_tagcloud' => fałsz, 'przepisz' => $przepisz, ) ); register_taxonomy( 'tworzenie klasy', array( 'kursy-tematyczne', 'produkt' ), $args ); } add_action( 'init', 'theme_register_taxonomy' ); // filtrowanie strony taksonomii archiwum w celu uzyskania postów z "theme-courses" CPT add_action( 'pre_get_posts', 'filter_tax_archive', 1 ); function filter_tax_archive( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_main_query() && $query->is_tax( 'tworzenie-klasy' ) ) { $query->set( 'post_type', array( 'theme-courses' ) ); zwrócić; } } Zmienna zapytania `post_type` została pomyślnie wstawiona, ale i tak mam pustą pętlę. Jakieś pomysły na przyczynę tego problemu? Dzięki za wszelką pomoc! # Edycja: Powyższy kod jest uproszczoną wersją całego kodu, którego używam. Zrobiłem gist z pełnym kodem jeśli ktoś chce sprawdzić: https://gist.github.com/diegoliv/274f09e3f3d9094b204c # Edytuj 02: Może jest jakiś konflikt z WooCommerce? Jeśli podczas rejestrowania taksonomii zastąpię CPT `product` innym, strona taksonomii będzie działać poprawnie. To samo dzieje się, jeśli wyłączę WooCommerce. Ale z rzeczywistym kodem, kiedy sprawdzam globalne `$wp_query`, aby sprawdzić wszystkie argumenty użyte do zbudowania zapytania, są pewne argumenty pochodzące z WooCommerce.


title: Jak utworzyć wp_query, które zawiera zarówno meta_query, jak i tax_query?

text: Mam wp_query, który działa świetnie, ale nie mogę mieć w nim zarówno meta kwerendy, jak i tax_query. <?php $event_query = new WP_Query( array( 'post_type' => 'event', // zapytaj tylko o zdarzenia 'meta_key' => 'event-date', // załaduj meta event_date 'orderby' => 'meta_value ', 'order' => 'asc', // rosnąco, więc wcześniejsze zdarzenia najpierw 'posts_per_page' => '-1', 'meta_query' => array( array( // ogranicz posty na podstawie wartości meta 'key' = > 'event-date', // która meta do zapytania 'value' => date("Y/m/d"), // wartość do porównania 'compare' => '>', // metoda porównania 'type ' => 'DATE' ) ), 'tax_query' => array( array( 'taxonomy' => 'event_category', 'field' => 'slug', 'terms' => $term_id, 'operator' => ' W')    ), ) // koniec tablicy ); // zamknij wywołanie konstruktora WP_Query ?> Próbuję znaleźć wszystkie zdarzenia w taksonomii $term_id i upewnić się, że wszystkie są w przyszłości i uporządkowane według ASC Jakieś pomysły?


title: Jak wyeliminować dziwne błędy 404 w wp-admin?

text: Prowadzę stronę WordPress z około 70 aktywnymi wtyczkami. Co jakiś czas otrzymuję losową stronę błędu („Nie znaleziono”, chociaż nie sprawdziłem nagłówków, aby zobaczyć, czy jest to 404) na stronie `/wp-admin/`, która pojawia się znikąd. Ponowna próba rozwiązuje błąd, jednak jest to dość niewygodne, jeśli błąd wystąpi podczas aktualizacji wtyczki (ponieważ automatyczna reaktywacja nie powiedzie się). Myślę, że ten sam problem jest odpowiedzialny za to, że niektóre moduły na moim Dashboardzie czasami nie ładują się. Biorąc pod uwagę listę zainstalowanych wtyczek, czy ktoś wie o problemach z którymkolwiek z nich lub pomiędzy nimi, które mogą powodować ten problem? ### Edycja: Informacje o hostingu: DreamHost; Myślę, że na serwerze działa niestandardowa kompilacja Debiana z serwerem httpd Apache


title: Optymalizacja wyszukiwania lokalizacji sklepów w oparciu o bliskość na współdzielonym hoście internetowym?

text:
Mam projekt, w którym muszę zbudować lokalizator sklepów dla klienta. Używam niestandardowego postu typu „`restaurant-location`” i napisałem kod do geokodowania adresów przechowywanych w postmeta za pomocą Google Geocoding API (tutaj link, który geokoduje amerykański Biały Dom w JSON i zapisałem szerokość i długość geograficzna z powrotem do pól niestandardowych.Napisałem funkcję `get_posts_by_geo_distance()`, która zwraca listę postów w kolejności tych, które są najbliższe geograficznie przy użyciu **formuły, którą znalazłem w pokazie slajdów w tym poście**. Możesz wywołać moją funkcję w ten sposób (zaczynam od stałego "źródła" lat/long): <?php include "wp-load.php"; $source_lat = 30,3935337; $source_long = -86,4957833; $results = get_posts_by_geo_distance ( 'lokalizacja-restauracji', 'geo_latitude', 'geo_longitude', $source_lat, $source_long); echo '
'; foreach($results as $post) { $edit_url = get_edit_url($post->ID); echo "
{$post->distance}: {$post->lokalizacja}
"; } echo '
'; zwrócić; Oto sama funkcja `get_posts_by_geo_distance()`: function get_posts_by_geo_distance($post_type,$lat_key,$lng_key,$source_lat,$source_lng) { global $wpdb; $sql =<<<SQL SELECT rl.ID, rl.post_title AS lokalizacja, ROUND(3956*2*ASIN(SQRT(POWER(SIN(({$source_lat}-abs(lat.lat))*pi()/ 180/2,2)+ COS({$source_lat}*pi()/180)*COS(abs(lat.lat)*pi()/180)* POWER(SIN(({$source_lng}-lng. lng)*pi()/180/2,2))),3) AS odległość FROM wp_posts rl INNER JOIN (SELECT post_id,CAST(meta_value AS DECIMAL(11,7)) AS lat FROM wp_postmeta lat WHERE lat.meta_key ='{$lat_key}') lat ON lat.post_id = rl.ID INNER JOIN (SELECT post_id,CAST(meta_value AS DECIMAL(11,7)) AS lng FROM wp_postmeta lng WHERE lng.meta_key='{$lng_key}' ) lng ON lng.post_id = rl.ID GDZIE rl.post_type='{$post_type}' AND rl.post_name<>'auto-draft' ORDER BY odległość SQL; $sql = $wpdb->przygotuj($sql,$source_lat,$source_lat,$source_lng); zwróć $wpdb->get_results($sql); } Obawiam się, że SQL jest tak niezoptymalizowany, jak to tylko możliwe. MySQL nie może uporządkować według żadnego dostępnego indeksu, ponieważ _source geo_ można zmieniać i nie ma skończonego zestawu źródłowych lokalizacji geograficznych do buforowania. Obecnie jestem zakłopotany co do sposobów na jego optymalizację. Biorąc pod uwagę to, co już zrobiłem, pytanie brzmi: **Jak zoptymalizowałbyś ten przypadek użycia?** Nie jest ważne, aby zachować wszystko, co zrobiłem, jeśli lepsze rozwiązanie kazałoby mi to wyrzucić. _Jestem otwarty na rozważenie prawie każdego rozwiązania_ z wyjątkiem takiego, które wymaga zrobienia czegoś takiego jak instalacja serwera Sphinx lub czegokolwiek, co wymaga niestandardowej konfiguracji MySQL. Zasadniczo rozwiązanie musi być w stanie działać na dowolnej zwykłej waniliowej instalacji WordPress. (To powiedziawszy, byłoby wspaniale, gdyby ktoś chciał wymienić alternatywne rozwiązania dla innych, którzy mogą być bardziej zaawansowani i dla potomnych). badania ponownie lub zamiast publikować którykolwiek z tych linków jako odpowiedź, pójdę dalej i uwzględnię je. * http://jebaird.com/blog/calculating-distance-miles-latitude-and-longitude * http://wordpress.org/extend/plugins/geolocation/screenshots/ * http://code.google.com/ apis/maps/articles/phpsqlsearch.html * http://www.rooftopsolutions.nl/blog/229 * http://planet.mysql.com/entry/?id=18085 * http://blog.peoplesdns.com /archives/24 * http://www.petefreitag.com/item/622.cfm * http://www.phpro.org/tutorials/Geo-Targetting-With-PHP-And-MySQL.html * http:/ /forum.geonames.org/gforum/posts/list/692.page * http://forums.mysql.com/list.php?23 * http://www.scribd.com/doc/2569355/Geo-Distance -Search-with-MySQL * http://developer.yahoo.com/maps/rest/V1/geocode.html * http://geocoder.us/ ## Odnośnie wyszukiwania Sphinx * http://sphinxsearch.com/ * https://launchpad.net/wp-sphinx-plugin * http://forums.site5.com/showthread.php?t=28981 * http://wordpress.org/extend/plugins/wordpress-sphinx-plugin/ * http://wordpress.org/extend/plugins/sphinx-search/ * http://www.mysqlperforman ceblog.com/2008/02/15/mysql-performance-blog-now-uses-sphinx-for-site-search/


title: Free/Open-Source Theme Frameworks jako alternatywa dla pracy dyplomowej?

text: Jakie dobre darmowe i otwarte alternatywy istnieją dla tematu Thesis?


title: Wstaw nowy post dla każdego błędu nieskończonej pętli użytkownika

text: Napisałem tę małą funkcję, aby automatycznie tworzyć posty dla każdego użytkownika bloga, ale tworzy nieskończoną pętlę (wyłączyłem ją, aby zatrzymać tworzenie nowych postów). Nie jestem zbyt wykwalifikowany w php, myślę, że błąd polega na użyciu wp_insert_post wewnątrz foreach, ale to nie działa, po prostu umieszczając go poza nawiasami klamrowymi. Jak mogę sprawić, by ta funkcja wstawiała TYLKO JEDEN post dla każdego autora? Dziękuję. $blogusers = get_users(); foreach ($blogusers as $user) { $my_post = array( 'post_title' => $user->display_name, 'post_content' => 'Bla bla bla.', 'post_status' => 'publish', 'post_author' = > $user->ID, 'post_type' => 'custom' ); wp_insert_post( $moja_post ); }


title: Jak zachować zgodność motywu ze standardami W3C?

text: Kiedy pisałem motyw, upewniłem się, że jest zgodny z XHTML 1.1 i CSS 2.1. Potem dodałem wtyczki i motyw nie jest już zgodny z XHTML 1.1. Następnie użyłem czcionki Google API w moim CSS i jest ona już zgodna z CSS 2.1. Czy istnieje sposób na zachowanie zgodności bez pozbycia się wtyczek, czcionek itp., czy też powinienem po prostu zignorować błędy walidacji?


title: Czy nagłówek w dwudziestu dziesięciu motywach jest mniej wysoki?

text: Pytanie brzmi _Jak zmniejszyć wysokość nagłówka motywu Dwadzieścia dziesięć?_ To pytanie zostało zadane w grupie LinkedIn WordPress, która jest ukryta przed wyszukiwarkami, więc pomyślałem, że skopiuję swoją odpowiedź tutaj. Stworzyłem też wiki społecznościowe, więc nie przekazuje mi reputacji.


title: Niestandardowa konstrukcja HTML podmenu Nav Walker

text:
Mam skonfigurowany Custom Nav Walker, który działa dobrze z elementami menu głównego i wyświetla je tak, jak chcę. Jednak ten sam kod HTML jest stosowany do elementów `podmenu`, czego nie chcę. Staram się, aby `podmenu` miało następującą stylizację:

Blog 1

Blog 2

Blog 3

Blog 4

 Oto struktura HTML pełnej nawigacji

 <img src="<?php echo get_template_directory_uri(); ?>/assets/drawing-pin.png">

Produkty

 <img src="<?php echo get_template_directory_uri(); ?>/assets/corner- flick-cyan.png">

Produkty 1

Produkty 2

Produkty 3

Produkty 4

Produkty 5

 Oto wywołanie HTML dla wp_nav_menu:
 <?php $walker = nowy my_nav_walker; wp_nav_menu( array( 'theme_location' => 'header-menu', 'menu' => 'ul', 'menu_class' => 'navigation', 'menu_id' => '', 'walker' => $walker ) ) ; ?>
 Oto konstrukcja dla mojego niestandardowego kodu HTML Walkera: (UWAGA: Jestem w tym naprawdę nowy, więc będzie bałagan...) class my_nav_walker extends Walker { function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $direct = get_template_directory_uri(); $item_output = $args->przed; $item_output .= '
'; $item_output .= ''; /** Ten filtr jest udokumentowany w wp-includes/post-template.php */ $item_output .= '

'; $item_output .= '

'; $item_output .= $args->link_before . Apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '

'; $item_output .= ''; $item_output .= '
'; $item_output .= $args->po; } } // Walker_Nav_Menu Oto CSS, jeśli jest potrzebny: PasteBin Link Nie jestem pewien, czy konstruuję poprawnie, aby uzyskać oddzielną stylizację, którą chcę. Co byś doradził? Czy są jakieś alternatywy? Konstruktywna krytyka kodu? (Nie bądź zbyt surowy! :P) EDIT -----: Zrobiłem trochę więcej badań nad zrozumieniem kodu php i teraz zdaję sobie sprawę, gdzie zaczyna się definiowanie początku i końca podmenu ( Z start_lvl i end_lvl), ale nadal nie rozumiem, jak oddzielić kod, który trafia do paneli nawigacyjnych Parent, a który do odpowiednich podmenu. **O to mi chodzi z wyświetlaniem nawigacji:http://jsfiddle.net/TPD5L/**


title: Paginacja z WP_Query nie działa

text:
Mam niestandardowy szablon strony w mojej witrynie, z WP_Query pobierającym listę postów. Chciałbym zaimplementować paginację, ale po prostu nie mogę tego zrobić dobrze. Oto kod, którego używam blelow, który pobiera ostatnie 2 posty dobrze, ale potem nie wyświetla linków „następny” ani „poprzedni”, jak można by się spodziewać. Dla jasności mam w sumie 5 postów, które spełniają kryteria zapytania, a ten szablon jest używany jako strona główna mojego bloga. Ponadto, inc-post-listing.php po prostu pobiera określone informacje z każdego postu, takie jak miniatura, tytuł i bezpośredni link. Jestem pewien, że brakuje mi czegoś oczywistego, więc każda pomoc jest bardzo mile widziana. <?php $stronicowany = ( get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; // Argumenty WP_Query $args = array ( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => '2', 'paged' => $paged); // Zapytanie $posts = new WP_Query( $args ); // Pętla if ( $posts->have_posts() ) { while ( $posts->have_posts() ) { $posts->the_post(); include('inc-post-listing.php'); } } else { // nie znaleziono wiadomości } // Przywróć oryginalne dane wiadomości wp_reset_postdata(); ?>
<?php posts_nav_link(' ','Poprzednia strona','Następna strona'); ?>

<?php posts_nav_link(' ', 'Wróć', 'Pokaż więcej wskazówek'); ?>


title: Usunięcie linii Mutlisite zatrzymuje połączenie DB

text: Próbuję przywrócić moją mutlisite do jednej witryny i zgodnie z przewodnikiem zalecam usunięcie następującego /*define( 'MULTISITE', true );*/ define( 'MULTISITE', false ); define( 'SUBDOMAIN_INSTALL', false ); $podstawa = '/'; zdefiniuj( 'DOMAIN_CURRENT_SITE', 'www.dreamdoors.co.uk' ); zdefiniuj( 'PATH_CURRENT_SITE', '/' ); zdefiniuj( 'SITE_ID_CURRENT_SITE', 1 ); zdefiniuj( 'BLOG_ID_CURRENT_SITE', 1 ); a także zmienić `define('WP_ALLOW_MULTISITE', true);` na false Zakomentowałem pierwszą część i zmieniłem drugą ścieżkę, ale wtedy pojawia się komunikat, że nie można znaleźć połączenia z bazą danych.


title: Fancybox ładuje mały biały kwadrat

text:
Wiem, że jest podobny temat o tym samym tytule, ale mój problem nie jest ten sam. Fancybox działał idealnie w moim szablonie html, ale po przekonwertowaniu go na wordpress, obrazy nie wyświetlają się w wyskakującym okienku, widzę tylko kwadrat białe pole oto mój kod: <?php $args = array( 'post_type' => 'portfolio' ); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); ?>
  <?php the_post_thumbnail(); ?>
 <a href="<?php the_permalink(); ?>" class="project-title"><?php the_title(); ?> <a href="<?php get_the_post_thumbnail(); ?>" class="project-img fancybox"> <a href="<?php the_permalink(); ?>" klasa ="project-link">

 <?php endwhile; ?> i oto js: $(".fancybox").fancybox({ padding : 0, margin : 100, openEffect : 'elastic', closeEffect : 'elastic', openSpeed : 400, closeSpeed : 400, helpers : { nakładka : { css : { 'tło' : 'rgba(0, 0, 0, 0,75)' } } } }); Nie jestem zawodowcem. więc sam nie mogłem znaleźć błędu. co powinienem zrobić?


title: Łączenie tekstu w obszarze tekstowym niestandardowego pola meta

text: Używam „Meta Box Script for WordPress” do tworzenia niestandardowych metaboxów i wszystko działa świetnie… z wyjątkiem następujących: Mamy obszar tekstowy, który chcemy działać, zasadniczo jako kolejny WP the_content (dotyczy ukrytej zawartości, która jest wyświetlane tylko po kliknięciu linku pokazującego ukrytą zawartość). Moi użytkownicy końcowi chcą mieć możliwość umieszczenia w polu czegoś takiego: `To jest ładny <a href="#">tekst połączony</a>.` Używam następującego kodu w moim szablonie do pokaż zawartość niestandardowego pola meta: `<?php echo get_post_meta(get_the_ID(), 'oc_code', true); ?>` Treść, którą pokazuje, jest dokładnie taka (zgaduję, że nie analizuje, jeśli jest to poprawna fraza, adres URL): `To jest ładny <a href="#">tekst z linkiem</a>. ` Co mogę zrobić, aby wyświetlić w szablonie klikalny atrybut href bez dodawania kolejnych niestandardowych pól/metapól? Patrzyłem na esc_attr, esc_url itp., ale nie wiem, że to jest rozwiązanie. TIA!


title: get_posts przypisane do określonego niestandardowego terminu taksonomicznego, a nie jego dzieci

text: Powiedzmy, że mam następujące terminy taksonomii: Termin 1 Termin 1.1 Termin 1.2 Termin 2 Termin 2.1 Jak mogę otrzymać tylko posty przypisane do Terminu 1 i nie uwzględniać tych, które są przypisane do Terminu 1.1 lub Terminu 1.2? Na przykład: $pages = get_posts(array( 'post_type' => 'page', 'numberposts' => -1, 'tax_query' => array( array( 'taxonomy' => 'nazwa-taksonomii', 'field' => 'id', 'terms' => 1 // Gdzie term_id Term 1 to "1".) ) ); daje mi również posty, które mają przypisane warunki 1.1 i 1.2. Dzięki.


title: jQuery Drążenie menu iPoda FOUC i wybór bieżącej strony

text: Używam Drill Down Ipod Menu i bardzo podoba mi się styl pokazywania podmenu, ale mam z tym dwa problemy. 1-kiedy ładuję stronę, pokazuje wszystkie podmenu otwarte na sekundę i doświadczam Flash of Unstyled Content , przez chwilę było dobrze, kiedy zmieniłem styl css, ale cofnął się ponownie (nie wiem, czy istnieje związek między css i problem). moja lista aktywnych wtyczek jest poniżej (miałem kilka innych, które je usunąłem): 1-Bulk Post Creator Plus 2-Cat + Filtr tagów 3-Kategoria Grid View Gallery 4-cforms 5-Custom Field Template 6-ShowID for Post/ Strona/Kategoria/Tag/Komentarz 7-SwfObj 8-vSlider 9-wp-jalali jak mogę zapobiec wyświetlaniu menu bez stylu? 2- kiedy przechodzę z podmenu do mojej strony głównej (z linku poza menu) menu pozostaje w poprzednim stanie, wiem, że używa ciasteczek, ale czy mimo to można wyświetlić bieżącą stronę zamiast używać ciasteczek? jeśli nie można rozwiązać tego problemu, jakiej wtyczki mogę zamiast tego użyć, aby mieć składane menu z niestandardowych menu Wordpress (nie stron i kategorii)? przepraszam za mój zły angielski dzięki z góry!


title: dbDelta nie robi tego, co mówi

text: Ok, więc musiałem przeczytać setki odpowiedzi na wordpress, wyniki google itp. na temat różnych osób, które mają problem z tworzeniem tabel dla swoich wtyczek przez dbDelta. Próbowałem wielu odmian opartych na tych odpowiedziach, aby sprawdzić, czy to załatwiłoby sprawę, ale poniższy kod nie wydaje się tworzyć tabeli. Mimo że dane zwrócone z dbDelta mówią, że utworzyły tabelę, jeśli ktoś może mi pomóc lub zobaczyć błąd, który popełniłem, byłbym bardzo wdzięczny. function aktywacja() { // Zainstaluj tabelę globalną $wpdb; $sql = "CREATE TABLE ".$this->table_name." ( id MEDIUMINT(9) NOT NULL AUTO_INCREMENT, PRIMARY KEY (id), user_id BIGINT(20) NOT NULL UNSIGNED, KEY user_id (user_id), utworzony DATETIME DEFAULT ' 0000-00-00 00:00:00' NOT NULL, url VARCHAR(55) DEFAULT '' NOT NULL, );"; var_dump($sql); require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); var_dump(dbDelta($sql)); add_option( "invite_db_version", $invite_db_version ); } Ta funkcja jest zarejestrowana w haku aktywacji w konstruktorze mojej klasy wtyczki `register_activation_hook( __FILE__, array( &$this, 'activation' ) );`


title: wp_schedule_event nie działa?

text: Nie mogę uruchomić crona Wordpress. Próbuję uruchomić ten kod, aby sprawdzić, czy mogę otrzymywać e-maile wysyłane do mnie co godzinę. Pochodzi bezpośrednio z przykładów Wordpress tutaj: http://codex.wordpress.org/Function_Reference/wp_schedule_event. Poza tym, że usunąłem podkreślenia (patrz zastrzeżenie w dokumentacji). Kod działa w moim motywie functions.php pliku. Wydaje się, że cron jest zarejestrowany, ale funkcja `prefixdothishourly` nie jest uruchamiana (o ile wiem.) add_action( 'wp', 'prefixsetupschedule' ); /** * W przypadku zaczepu o wczesnej akcji sprawdź, czy jest on zaplanowany - jeśli nie, zaplanuj go. */ function prefixsetupschedule() { if ( ! wp_next_scheduled( 'prefixhourlyevent' )) { wp_schedule_event(time(), 'hourly', 'prefixhourlyevent'); } } add_action( 'prefixhourlyevent', 'prefixdothishourly' ); /** * W haku zaplanowanej akcji uruchom funkcję. */ function prefixdothishourly() { return wp_mail("ja@example.com", "Powiadomienie TEST", "TEST", null); }


title: Wordpress we własnym katalogu nie działa

text: Mam witrynę z sekcją blogów (cóż, teraz próbuję utworzyć sekcję blogów..) WordPress jest zainstalowany (oryginalna instalacja; nie przeniesiona z roota) w `/blog/`. Linki do postów (na przykład, gdy klikam post Hello World, który został wygenerowany automatycznie) prowadzą do TLD. Więc jeśli go kliknę, zamiast przenieść mnie do http://www.example.com/blog/?p=1, zabierze mnie do http://www.example.com/?p=1. (Obecna domena TLD jest zajęta istniejącą stroną indeksu, więc przekierowanie wszystkiego z `/` do `/blog/` nie zadziała. Nowa subdomena również byłaby w tej chwili nieco niewygodna i chciałbym tego uniknąć ze względów estetycznych i struktury witryny. **Już skonfigurowałem adres URL witryny w Ustawienia > Ogólne > Adres WordPress i adres witryny.** To nie rozwiązało problemu. WordPress 3.9.1 na PHP 5.2.17.


title: Szablon strony z niestandardowymi polami html wewnątrz treści

text: Piszę niestandardowy szablon strony i chcę zrobić coś takiego: po wpisaniu tagu wewnątrz treści strony, na przykład [custom-email-form] chcę umieścić wewnątrz treści jakiś formularz e-mail html5. Jak to osiągnąć? Dziękuję.


title: Paginowane archiwum terminów taksonomii, w tym jeden post na termin

text:
Mam niestandardowe zapytanie, które pobiera wszystkie niestandardowe taksonomie dla niestandardowego typu postu i wyświetla najnowszy post w każdym. W tej chwili wciąga wszystkie taksonomie. Czy istnieje sposób, aby ograniczyć liczbę wyświetlanych taksonomii do określonej liczby na stronie i podzielić je na strony? // Ustaw typ posta $post_type = 'prints'; // Pobierz wszystkie taksonomie dla tego typu postu $taxonomies = get_object_taxonomies( (object) array( 'post_type' => $post_type ) ); foreach( $taxonomies as $taxonomy ) : // Pobierz każdą „kategorię” (termin) w tej taksonomii, aby uzyskać odpowiednie posty $terms = get_terms( $taxonomy ); foreach( $terms as $term ) : // Zapytanie o pokazanie pierwszego posta w taksonomii $posts = new WP_Query( "taxonomy=$taxonomy&term=$term->slug&posts_per_page=1" ); if( $posts->have_posts() ): while( $posts->have_posts() ) : $posts->the_post(); ?>
 <a href="<?php esc_url( the_permalink() ); ?>"> <?php the_post_thumbnail ('medium'); ?>
<?php echo $term->nazwa; ?>

<?php endwhile; endif; na każdym kroku; na każdym kroku;


title: jak dodać niestandardową pozycję menu, taką jak nazwa użytkownika tylko w menu nagłówka

text:
Jestem nowy w Wordpress Konfiguruję witrynę Wordpress, która ma 3 menu * Menu górne * Menu nagłówka * Menu stopki Mój problem polega na tym, że muszę dodać nazwę użytkownika do Mojego górnego menu Tylko wtedy, gdy użytkownik jest zalogowany, ale używając poniższego fragmentu kodu dodaje pozycję menu niestandardowego we wszystkich menu w poniższym kodzie, które znalazłem podczas wyszukiwania w Google rozwiązania dla powyższej funkcji zapytania my_custom_menu_item($items) { if(is_user_logged_in()) { $user=wp_get_current_user(); $name=$user->display_name; // lub user_login , user_firstname, user_lastname $items .= '
Witaj '.$name.'
'; } return $items; } add_filter('wp_nav_menu_items', 'my_custom_menu_item'); To jest moje Top menu Struktura **jeśli użytkownik nie jest zalogowany** * Moje konto * Zaloguj się * Zarejestruj się * Utracone hasło **jeśli użytkownik jest zalogowany** * Witamy Nikhil * Profil * Zmień hasło * Wyloguj się * blogi


title: Jak wziąć listę słów i wstawić je jako terminy, aby stać się tagami postu?

text:
Pracuję nad wtyczką, która będzie pobierać słowa z określoną liczbą znaków z tytułu posta i tworzyć listę sugerowanych tagów w moim metaboxie Tag Suggester. Stworzyłem funkcję wyszukiwania i wyświetlania słów spełniających moje kryteria. Jak wziąć tę listę słów i wstawić je jako terminy, aby stały się znacznikami postu. Oto co mam do tej pory: <?php //renderuje html dla funkcji metabox tagsuggester_display_meta_box( $post, $args ) { wp_nonce_field( plugins_url( __FILE__ ), 'tagsuggester_plugin_noncename' ); ?>
Lista dostępnych tagów:
 <?php //get_the_title() $title = get_the_title(); $title_array = rozbij(' ', $title); foreach( $title_array as $word ) { //var_dump( $word ); $długość_słowa = strlen($słowo); if ( $długość_słowa > 3 ) { //echo $słowo; echo '<input type="checkbox" name="tagsuggester" value="tagsuggester"> '.$word.'
'; } } $tags = get_terms( 'post_tag', array( 'search' => $title_array) ); } //zapisz funkcję zawartości metaboksu tagsuggester_save_meta_box( $post_id, $post ) { // Nie zapisuj podczas autozapisu if ( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // Sprawdź uprawnienia przed zapisaniem if ( isset( $_POST[ 'post_type' ] ) && 'page' === $_POST[ 'post_type' ] ) { if ( ! current_user_can( 'edit_page', $post_id )) { return; } } else { if ( ! current_user_can( 'edit_post', $post_id )) { return; } } } add_action( 'save_post', 'tagsuggester_save_meta_box', 10, 2 );


title: file_get_contents_curl ciągnięcie nieprawidłowych wartości

text: Używam file_get_contents_curl, aby uzyskać polubienia posta na Facebooku i przechowywać je w mojej bazie danych. $fb = json_decode(file_get_contents_curl('http://graph.facebook.com/?id='.get_permalink($post->ID))); if( !isset( $fb->lubi) && isset($fb->udziały) ) { $fb->lubi = $fb->udziały; } Wszystko działało dobrze, dopóki nie dodałem więcej postów (teraz 700+). Ciągnięcie lajków potrzebowało coraz więcej czasu. Teraz skryptowi udaje się uzyskać odpowiednią liczbę polubień na Facebooku dla NIEKTÓRYCH postów, ale w przypadku innych postów po prostu pobiera pustą wartość. Tak więc niektóre posty z powiedzmy 8 polubieniami na FB nadal otrzymują wartość 0 polubień na FB zapisanych w bazie danych. Moja funkcja curl: function file_get_contents_curl($url) { if ( function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Ustaw curl, aby zwrócić dane zamiast drukowania ich w przeglądarce. curl_setopt($ch, CURLOPT_URL, $url); $dane = curl_exec($ch); if ($data === FALSE) { $data = "Błąd cURL: " . curl_error($ch); } curl_close($ch); } else { $dane = $url; } zwraca $dane; }


title: Ukryj metabox dla wszystkiego, ale dla określonego niestandardowego typu postu

text: Muszę zachować taksonomię tagów dla jednego niestandardowego typu postu, ale mam z tym problem. Czy istnieje sposób na usunięcie tego meta boxu ze wszystkiego ALE? * * * `remove_meta_box('tagsdiv-post_tag', 'post', 'normal');` Usunie tagi ze zwykłych postów (pożądane), ale oznacza to również, że zostały usunięte ze WSZYSTKICH niestandardowych typów postów. Mogę usunąć metabox dla poszczególnych niestandardowych typów postów, takich jak: `remove_meta_box('tagsdiv-post_tag', 'cars', 'normal');` `remove_meta_box('tagsdiv-post_tag', 'hotels', 'normal' );` itd. Ale to oznacza, że muszę pozostawić tagi dostępne w normalnych postach (niepożądane). Myślę więc, że chcę czegoś takiego, aby usunąć meta pole ze wszystkiego oprócz (np.) `lotniska`: `remove_meta_box('tagsdiv-post_tag', '!airports', 'normal');` Jakieś pomysły?


title: Zlokalizuj zmienną dla wielu skrótów

text:
Mam ten kod dla flexslider Shortcode add_shortcode('flexslider', function($atts){ global $post; $ids = explode(',', $atts[ids]); $uniqid = uniqid(); wp_enqueue_script('shortcode_flexslider '); wp_localize_script( 'shortcode_flexslider', 'slider', array('id' => $uniqid)); foreach($ids as $id) { $imgLinks = wp_get_attachment_image_src($id, large); $imgThumb = wp_get_attachment $id, thumbnail); $slider .= '
'.$imgCaptionContent.'
'; $carousel .= '

'; } $structure ='

' .$slider. '

'. '

' . $karuzela. '

'; }); Wstawiam `uniqid` dla identyfikatorów suwaków i karuzeli, aby można było umieścić więcej niż jeden krótki kod flexslider w tym samym poście, i lokalizuję `uniqid` do pliku JS shortcode_flexslider, aby znaleźć identyfikatory suwaków i karuzeli $('#carousel'+slider.id). flexslider({ // asNavFor: '#slider'+slider.id // }); $('#slider'+slider.id).flexslider({ // sync: '#carousel'+slider.id // }); Problem polega na tym, że kiedy umieszczam więcej jednego flexslider Shortcode w tym samym poście, zlokalizowana zmienna slider.id otrzymuje ostatni flexslider Shortcode uniqid , więc ostatni flexslider Shortcode jest tylko to, że działa, jak mogę przekazać wszystkie flexslider Shortcode `uniqid` nie tylko ostatni?


title: Ukryj menu we wpisach

text: Czy można nie mieć menu na stronach postów. Myślę, że byłoby to coś w stylu "jeśli strona pokazuje menu, jeśli post nie pokazuje menu", ale nie jestem pewien, jak to umieścić w PHP. Dziękuję


title: Zrozumienie szczegółów motywu w style.css

text: Tworzę motyw dla znajomego i nie jestem pewien, co umieścić dla autora, uri autora itp. Oto kod Twenty Ten: /* Nazwa motywu: Twenty Ten URI motywu: http://wordpress .org/ Opis: Domyślny motyw 2010 dla WordPressa. Autor: wordpressdotorg URI autora: http://wordpress.org/ Wersja: 1.0 Tagi: czarny, niebieski, biały, dwukolumnowy, o stałej szerokości, niestandardowy nagłówek, niestandardowe tło, komentarze z wątkami, przyklejony post, tłumaczenie -ready, mikroformaty, obsługa języka rtl, styl edytora, niestandardowe menu (opcjonalnie) Licencja: Licencja URI: Uwagi ogólne (opcjonalnie). */ * Czy w przypadku autora jest to właściciel bloga, czy twórca motywu? * URI autora, czy to osobista witryna właściciela bloga, czy autora? * URI licencji i licencji, nie są to oprogramowanie typu open source. Jak to określić?


title: Ograniczenie możliwości roli WordPress

text: Pracuję nad stroną podróżniczą i planuję dodać następującą funkcję do portalu. 1. Możliwość rejestracji użytkownika. 2. Pozwól użytkownikowi zarządzać tam profilem 3. Pozwól użytkownikowi przesłać historię podróży do zatwierdzenia. 4. Pozwól im edytować / modyfikować swoje posty 5. Podaj inny motyw / kolor dla użytkownika w desce rozdzielczej. Przejrzałem już role_i_możliwości WordPressa i wygląda na to, że będzie w stanie wykonać większość pracy za mnie. Dodatkowo wygląda na to, że rola `Contributor` pomoże mi osiągnąć wszystkie powyższe cele poza wymienionymi na poziomie 5. Przetestowałem rolę `Contributor`, ale znalazłem z nią jeden problem, zalogowany użytkownik widzi wszystkie posty w dashboardzie ( Chociaż nie może ich modyfikować poza własnymi). Chcę tylko pokazać aktualnemu użytkownikowi posty, które przesłał, jeśli przypisano mu rolę „Współautor”. Zdaję sobie sprawę, że mogę używać metod `remove_cap('zdolność do usunięcia')```` i `add_cap('');` do usuwania/dodawania możliwości. Czy jest jakiś sposób, aby `rozszerzyć` rolę `Contributor` i dodać możliwość pokazywania tylko postów stworzonych przez użytkowników. Dodatkowo, czy można zmienić motyw panelu dla wszystkich użytkowników, którzy mają rolę poniżej „admin” lub „edytor”? na marginesie, nie rozwijam żadnej wtyczki.


title: Zaimportuj bardzo starą wersję WordPressa do nowego WordPressa

text: Oto mój problem: bloguję od około sześciu lat na Blogsome.com. Nie miałem z tym żadnych problemów, aż kilka dni temu nagle ogłosili, że zamierzają zamknąć firmę w bardzo krótkim czasie. Więc w tej chwili szukam nowego bloga. W tej chwili myślę o wyborze taniego serwera hostowanego. Mój problem polega na tym, że chcę zaimportować wszystkie moje stare posty do najnowszej wersji WordPressa. Jest to problematyczne, ponieważ: * Zrzut SQL, który wyciągnąłem z ich strony kopii zapasowej, jest naprawdę duży (około 30 MB). Czy to zostanie bezpiecznie zaimportowane do nowej witryny WordPress? * Blogsome nigdy nie aktualizował swojej wersji WordPressa, więc utknął w wersji 1.5.1 WordPressa od ponad pół dekady. Jak można bezpiecznie zaimportować ten zrzut SQL do nowej wersji WordPressa? To niestety jedyny sposób, w jaki udało mi się wyeksportować bazę danych mojego bloga. Blogsome oferuje opcję tworzenia kopii zapasowych plików WRX, ale ta niestety jest zepsuta. Więc jaki byłby najmądrzejszy sposób na poradzenie sobie z tym?


title: Stylizowanie komentarzy w wątkach/zagnieżdżonych

text: Tworzę własny motyw do WordPressa. Mam problem z zagnieżdżonymi komentarzami. Nie chcę ograniczać poziomów odpowiedzi, ale chciałbym, aby pozostały w tym formacie: ![Poziomy](http://i.stack.imgur.com/OlXPy.png) To jest kod, którym się posługuję używając: <ol class="commentlist"> <?php wp_list_comments('avatar_size=48'); ?> </ol> Jak mogę nadać styl klasie „lista komentarzy”?


title: korzystanie z funkcji administracyjnych na interfejsie

text: Aktualizuję swoją wtyczkę, aby polegać na wewnętrznych funkcjach WordPressa. Mam zamiar użyć `wp_generate_attachment_metadata`, ale ta funkcja wydaje się być dostępna tylko w sekcji administratora. Czy łatwo było włączyć to również na frontendzie?


title: Jak odróżnić strukturę strony głównej od struktury strony kategorii w szablonie WordPress?

text: Jestem bardzo nowością w świecie WordPressa i napotykam pewne trudności z tworzeniem własnego szablonu. Chcę zaimplementować bloga takiego jak ten (czyli z wykorzystaniem WordPressa): http://viralpatel.net/blogs/ Mój blog musi być najprostszy i muszą być tylko dwie kolumny: jedna na ostatnie posty i jedna na najczęściej odwiedzane posty. Zacząłem od istniejącego szablonu (o nazwie Coogee) i podzieliłem obszar zawartości (plik index.php) na dwie kolumny: pierwsza pokazuje nowe posty, a druga pokazuje najczęściej czytane posty. Zaimplementowałem te funkcje za pomocą kilku linii kodu, które umieściłem w moich kolumnach, jak pokazano tutaj: http://bacsoftwareconsulting.com/blog/index.php/wordpress-cat/how-to-display-most-viewed-posts -in-wordpress-without-a-plugin/ Ok, teraz strona główna wygląda dobrze dla moich intencji, ale mam problem ze stroną kategorii. Na przykład, jeśli klikniesz link „ogólny” w menu kategorii na pasku bocznym, otrzymasz tę stronę: http://scorejava.com/wordpress351/?cat=2 Teoretycznie ta strona powinna pokazywać TYLKO artykuły, które mają „ ogólne”, ale to nieprawda. W rzeczywistości w lewej kolumnie są poprawnie pokazane artykuły z kategorią "ogólne", ale w prawej kolumnie nadal pozostaje 5 ostatnio opublikowanych artykułów... A teraz mam pytanie... wygląda na to, że WordPress używa tego `index.php ` jako szablon obszaru zawartości całej strony (z wyjątkiem tego, który wyświetla pojedynczy artykuł używający pliku `single.php`) To nie jest dla mnie dobre, ponieważ chcę, aby strona kategorii wyświetlała tylko jedną dużą kolumnę z ostatnim artykuły z aktualnej kategorii, jak tutaj: http://viralpatel.net/blogs/category/spring/spring3-mvc-framework/ Jak widać na tym blogu jest więcej kolumn na stronie głównej, ale tylko jedna dla kategorii strona Czy istnieje sposób na zdefiniowanie innej struktury (innej niż plik index.php używany do zawartości artykułów na stronie głównej) dla strony kategorii? Jeśli nie mogę użyć innej struktury dla strony kategorii i w związku z tym muszę użyć tego samego pliku `index.php` również na stronie zawartości kategorii....jest sposób na pokazanie drugiej kolumny tylko wtedy, gdy odwiedzający znajduje się na stronie głównej i nie pokazuj jej, jeśli znajduje się na stronie kategorii (nie pokazuj, jeśli odwiedzający jest na stronie takiej jak: http://scorejava.com/wordpress351/?cat=2


title: Wstawianie shortcode to wygaszanie fragmentu - jakieś pomysły?

text:
Owinąłem krótki kod wokół treści mojego posta i zauważyłem, że powoduje to, że fragment jest pusty na stronach archiwum zamiast automatycznego generowania go z the_content/post. Nie rozumiem, co to powoduje lub czego spróbować. Nawet nie wyświetla krótkiego kodu w `the_excerpt`, jest po prostu pusty. Pomyślałbym, że gdyby pojawił się problem, byłby to krótki kod pojawiający się jako część `the_excerpt`, ale to tylko pusta kropka. Wszystko, co robi mój predefiniowany shortcode, to owijanie skomplikowanymi tagami HTML5 wokół treści, które autor popełniałby regularnie, aby zachować spójność w pewnych sytuacjach, więc nie jest to skomplikowany shortcode. Mój post wyświetla się idealnie z `the_content`. Jak tylko usunę shortcode, znowu działa. Jeśli wstawię krótkie kody z powrotem i ustawię ręczny fragment, działa to tylko wtedy, gdy musi automatycznie wygenerować `the_excerpt` z postu zawartego w tym krótkim kodzie. Doceń wszelkie pomysły, jeśli ktoś inny doświadczył czegoś podobnego, a ja nie potrafię tego wyjaśnić ani rozwiązać. Wielkie dzięki. W prostych/odartych terminach zawijam na przykład to: add_shortcode( 'ARTICLE_SECTION', 'trg_shortcode_article_section'); funkcja trg_shortcode_article_section_run( $content ) { globalne $shortcode_tags; // Wykonaj kopię zapasową bieżących zarejestrowanych krótkich kodów i usuń je wszystkie $orig_shortcode_tags = $shortcode_tags; usuń_wszystkie_skrócone kody(); add_shortcode( 'ARTICLE_SECTION', 'trg_shortcode_article_section' ); // Wykonaj krótki kod (tylko ten powyżej jest zarejestrowany) $content = do_shortcode( $content ); // Odłóż oryginalne shortcodes z powrotem $shortcode_tags = $orig_shortcode_tags; zwróć $treść; } // aktualna funkcja funkcji shortcode trg_shortcode_article_section( $atts, $content = null ) { $atts = array(); $output = '<sekcja>'; $wyjście .= $zawartość . '
'; zwróć $wyjście; } add_filter( 'zawartość', 'trg_shortcode_article_section_run', 7 ); W częściowej pętli:
<?=trg_excerpt_article()?>
 Uruchomiłem debugowanie wcześnie na początku, zanim cokolwiek innego po prostu: function trg_excerpt_article(){ echo ''; } To również zwraca puste.


title: Użytkownicy z niestandardowymi rolami nie wyświetlającymi się w polu wyboru autora posta

text: Używam funkcji do tworzenia nowych ról użytkownika i usuwania niektórych ustawień domyślnych. Jednak nie pojawiają się w polu autora posta! Pojawia się tylko administrator, ponieważ został wybrany jako administrator. Żaden użytkownik z rolą niestandardową nie jest wyświetlany. Masz pomysł, dlaczego tak się dzieje? Oto moja funkcja: // Dodaj nowe role użytkowników function add_new_roles() { // Nowe role do dodania $new_roles = array( array( 'role' => 'senior_pastor', 'display' => 'Senior Pastor' ), array( 'role' => 'exec_pastor', 'display' => 'Kierujący Pastor' ), array( 'role' => 'assoc_pastor', 'display' => 'Associate Pastor' ), array( 'role' = > 'starszy', 'wyświetlacz' => 'Starszy' ), array( 'role' => 'minister_lider', 'display' => 'Lider Ministerstwa' ) ); foreach($new_roles as $role){ add_role($role['role'], $role['display'], array( 'edit_published_posts' => true, 'upload_files' => true, 'create_product' => true, 'publish_posts' => prawda, 'delete_published_posts' => prawda, 'edit_posts' => prawda, 'delete_posts' => prawda, 'czytaj' => prawda)); } // Stare role do usunięcia $old_roles = array( 'subskrybent', 'współtwórca', 'autor' 'redaktor' ); foreach($stare_role jako $rola){ usuń_role( $rola ); } } add_action('after_switch_theme', 'add_new_roles');


title: Jak uwzględnić zakładki „tekst/wizualność” we własnej instancji wp_editor?

text: Stworzyłem kilka metaboksów, które używają `wp_editor` do tworzenia obszarów tekstowych. Kiedy ktoś znajduje się na _dowolnej_ stronie w interfejsie administratora i przechodzi z zakładki „wizualne” do zakładki „tekst”, wszystkie moje pola wp_editor pokazują tylko obszar tekstowy i nie mają paska narzędzi. Ponadto, gdy ktoś przełączy się na „tekst”, oznacza to, że nie mogę już wywoływać funkcji `getContent` (zgłasza błąd). Jak mogę to wykryć i wywołać inną rzecz, aby uzyskać wartość?


title: Jak używać pola "menu_order" dla postów?

text: Mam specjalny przypadek, w którym chciałbym zamówić posty w niestandardowej kolejności i byłoby wspaniale użyć pola "menu_order", które jest zwykle używane tylko dla stron. Jaki byłby najlepszy sposób na ujawnienie tego w interfejsie administratora WordPress?


title: Jak skonfigurować strukturę permalinku dla niestandardowego typu postu?

text: Chciałbym wiedzieć, jak prawidłowo skonfigurować strukturę permalinku dla niestandardowego typu postu. Czy jest jakiś atrybut, który mam ustawić, gdy uruchamiam register_post_type() ? np. niestandardowy typ postu: oczekiwana struktura permalink produktu: /product/<slug>


title: Tworzenie menu nawigacyjnego

text: Nie znam się na WordPressie, więc moja wiedza na ten temat jest ograniczona. Pracuję nad serwisem podróżniczym, na którym muszę pokazać menu nawigacyjne i nie jestem pewien, jak osiągnąć pożądane zachowanie. Oto mój przypadek: muszę pokazać menu rozwijane oparte na miejscu docelowym, a drugie jako oparte na kategorii. Lubię miejsca docelowe -Delhi -Miejsce1 -Miejsce2 -Więcej miejsc docelowych -Mumbai -Miejsce1 -Miejsce2 -Więcej miejsc docelowych Więcej Dla kategorii muszę pokazać je jako Kategoria -Przygoda -Wzgórza -Romantyczne -Więcej Dla części kategorii mogę utworzyć kategorię nadrzędną z kategoriami podrzędnymi i może przypisywać kategorie do postów, jeśli ma to zastosowanie, ale teraz wiesz, jak osiągnąć hierarchiczną strukturę menu dla części docelowej. Czy istnieje coś takiego jak znaczniki hierarchiczne w Wordpress lub jakie są możliwe sposoby na osiągnięcie tego? Z góry dziękuję


title: Niestandardowy link bezpośredni typu wpisu dla rodzica/dziecka, błąd nie znaleziono strony 404

text: Tutaj mamy fragment z pliku functions.php... add_action('init', 'create_recipes'); function create_recipes() { $recipes_args = array( ...niektóre właściwości..., 'hierarchical' => false, 'rewrite' => array('slug' => 'recipes') ...może więcej właściwości.. } register_post_type('recipes',$recipes_args); } add_action('init', 'recipes_rewrites_init' ); function Recipes_rewrites_init(){ global $wp_rewrite; $gallery_structure = 'recipes/%post_id%/%w ->add_rewrite_tag("%recipe%", '([^/]+)', "recipe="); $wp_rewrite->add_permastruct('recipe', $gallery_structure, false); } To rejestruje niestandardowy typ postu ' przepisy” i konfiguruje strukturę permalinków, abyśmy mogli osiągnąć na przykład: (1) example.com/recipes/394/lunch/ Na stronie „obiad” będę wychwalać zalety dobrego obiadu. tak dobrze. Co jednak, jeśli chcę podzielić „lunch” na „kanapkę”, „burger”, „sałatkę” (np. na stronie „kanapka”, porozmawiam o lunch - konkretnie kanapki). Najpierw tworzę te dodatkowe strony w sekcji „przepis” niestandardowego typu posta i wybieram stronę „obiad” jako ich nadrzędną. Teraz _mam nadzieję/przypuszczam_, że następujący przykład zadziała, na przykład: (2) example.com/recipes/513/lunch/kanapka/ Och kochanie, to nie działa, ponieważ _przypuszczam_ \- otrzymujemy błąd 404. Ok, jak dostaniemy się na stronę „kanapki”? Zobaczmy... (3) example.com/recipes/513/sandwich/ Świetnie, to działa - ale chciałem, aby w adresie URL poprzedzał go nadrzędny ślimak strony „kanapka” („lunch”) ( ** patrz (2 )** ). Jak to rozwiązać? Zacznijmy od czegoś... **Krok 1** Wiem, że jeśli zmienię `'hierarchical' => false` na `'hierarchical' => true` wtedy funkcja `the_permalink()` będzie (tak jak jest pożądane) skonstruuj permalink jak w (2). Świetnie, ale spowoduje to błąd 404 z **(2)**. Zgaduję, że albo popełniłem błąd w funkcji `create_recipes`, albo może nie zrobiłem wystarczająco dużo w funkcji `recipes_rewrites_init`. **Krok 2** Przypuszczam, że mógłbym (teoretycznie) podłączyć się do funkcji permalink WP, aby przechwycić żądanie/permalink, pobrać nadrzędny slug postu (jeśli taki ma) i wrzucić go tuż przed slug postu. Jednak przypuszczalnie modyfikuje to tylko wynikowy link bezpośredni, co już zrobiłem w kroku 1. To, czego naprawdę potrzebuję, to upewnienie się, że żądanie jest prawidłowo kierowane. **Pytania** Jak mam to zrobić? Czy istnieje znany sposób WP (tj. istniejąca funkcjonalność/opcje w początkowej konfiguracji typu niestandardowego)? **Inne przemyślenia** Zdaję sobie również sprawę, że Custom Taxonomies (przynajmniej częściowo) mogą być użyte (przynajmniej częściowo) do rozwiązania problemu kategoryzacji postów - i że istnieje plugin(y) do pomocy. Jednak, jeśli to możliwe, chciałbym początkowo trzymać się niestandardowych typów postów. Dziękuję. * * * **Aktualizacja 1** Wiem o wtyczce o nazwie "Posts 2 Posts", która między innymi umożliwia połączenia między niestandardowymi typami postów - konkretnie, między różnymi niestandardowymi typami postów. Jednak w moim przykładzie używam tylko jednego niestandardowego typu postu i próbuję mieć naturalną hierarchię rodzic-dziecko (co wydaje się dość standardową rzeczą WP), zamiast wymuszać relacje między różnymi niestandardowymi typami postów. * * * **Aktualizacja 2** Trochę dalszych informacji i pewnego rodzaju rozwiązanie. Oto dwie ważne rzeczy: 1. Dodanie niestandardowych struktur permalinków do niestandardowych typów postów może być **_tricky_**. 2. Dodawanie niestandardowych struktur permalinków do niestandardowych typów postów może być **_unnecessary_**. Zdałem sobie sprawę, że walczyłem z doskonałą, gotową do użycia funkcjonalnością permalinka Wordpressa, tworząc [niepotrzebne] niestandardowe struktury permalinków (np. `example.com/recipes/513/lunch/sandwich/`), które z perspektywy czasu są zawiłe; moje rozumowanie było takie, że identyfikator postu powinien być obecny w adresie URL ze względu na wydajność (w przeciwieństwie do po prostu slugów, które mogą być wolniejsze w dopasowaniu WP). Wyobrażałem sobie, że to możliwe, ale może nie być warte zachodu. Zamiast tego wyrwałem moje niestandardowe rzeczy z permalinkami i po prostu pozwoliłem WP rozwiązać, na przykład `example.com/recipes/lunch/sandwich/` \-, który teraz działa dokładnie tak, jak oczekiwano. Pamiętaj, aby ustawić `'hierarchical' => true`, a świat jest Twoim permalinkiem. **Wniosek** Jeśli nalegasz na robienie tego, co próbowałem zrobić, może to być możliwe, ale będzie wymagało odpowiedniego skonfigurowania niestandardowej struktury permalink, aby uniknąć błędów 404 (mój pierwotny problem). Na razie zamierzam trzymać się standardowej hierarchicznej funkcjonalności permalink WP.


title: Jetpack: co stanie się z subskrybentami wiadomości e-mail, jeśli uzyskam dostęp do administratora w subdomenie?

text: Obecnie prowadzę witrynę przez http pod adresem URL, takim jak `domain.com`. Aby nadal korzystać z bezpłatnej warstwy usług CloudFlare, chcę umieścić mojego administratora w poddomenie, takiej jak `secure.domain.com` i uzyskać do niej dostęp przez SSL (ustawiłbym `secure.domain.com`, aby ominąć CloudFlare). Właśnie wróciłem do zdrowia po przerażającym epizodzie utraty wszystkich subskrybentów poczty Jetpack na moim blogu w wyniku testowania tego schematu na serwerze testowym z zupełnie inną nazwą domeny, jestem trochę zdenerwowany tym, jaki będzie efekt zmiany adresu URL dostęp do administratora. Czy ktoś ma doświadczenie w robieniu tego typu rzeczy i/lub może ktoś wyjaśnić, w jaki sposób Jetpack kojarzy subskrybentów e-maili z danym adresem URL bloga i czego się spodziewać po zmianie adresu URL dla administratora na subdomenę?


title: Jak dodać parametr orderby do sortowania w category.php

text: Jestem na stronie Category.php, która wykonuje pętlę w następujący sposób: <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?> Zwykle robię niestandardową pętlę w ten sposób: <?php //Definiuj pętlę $temp = $wp_query; $wp_query= null; $wp_query = nowe WP_Query(); $wp_query->query('posts_per_page=2&orderby='.$orderBy.'&paged='.$paged); ?> Chcę dodać zmienną orderby do pierwszej pętli (tej na category.php), ale nie wiem, jak ją zaimplementować.


title: Czy mogę wywołać niestandardową wtyczkę z bezpośrednim adresem URL?

text: Załóżmy, że napisałem wtyczkę `hello world`, główną funkcją jest po prostu wydrukowanie `hello world`. Chcę wydrukować `hello world`, kiedy uzyskuję dostęp do adresu URL typu `http://example.com?plugin=helloworld` Czy jest możliwe, aby wtyczka `hello world` działała, kiedy uzyskuję dostęp do określonego adresu URL?


title: Zaloguj się po „Czytaj więcej”, a następnie wróć do artykułu

text: Gdy użytkownik kliknie artykuł, aby „przeczytać więcej”, a następnie zostanie poproszony o zalogowanie się przy użyciu nazwy użytkownika i hasła, chcielibyśmy, aby użytkownik wrócił bezpośrednio do artykułu zamiast na stronę główną. Używamy wtyczki soap-authentication: http://matthewkellett.co.uk/portfolio/soap-auth.php Użycie redirect_to w akcji loginform w ogóle nie działa. **Dodanie kodu** wp-content/plugins/soap-authentication/soap_auth.php funkcja login_redirect($redirect_to, $request, $user) { $opts = Soap_Auth::getOptions(); //czy jest użytkownik do sprawdzenia? if(is_array($user->roles)) { //sprawdź administratorów if(in_array("administrator", $user->roles)) return home_url("/wp-admin/"); else { return $opts['auth_url']; } } } zastąpione else { if ($redirect_to =='') { return $opts['auth_url']; } return $redirect_to; }


title: Kategoria i podkategoria

text: ![wordpress](http://i.stack.imgur.com/Kif5Y.png) Istnieją dwie główne kategorie, takie jak Praca według wykształcenia i Praca mądra państwowa. zarówno dwie główne kategorie, jak i podkategorie,


title: Wykonaj funkcję bazy danych w docelowym adresie URL za pomocą jQuery.post

text:
Mam wyskakujące okienko, które pobiera dane wejściowe użytkownika (imię i adres e-mail) i wysyła je do process.php, abym mógł wysłać e-mail. Prawie to zrobiłem. Ale muszę dodać funkcję, w której użytkownicy będą również wprowadzać dane do bazy danych (mam już do tego tabelę). Mój proces.php to: <?php $to = 'móje-mail@gmail.com'; $subject = 'Dołącz '.$_POST['tytuł'].' Wydarzenie'; $message = '     Imię i nazwisko: '.$_POST['uczestnik'].'
 Adres e-mail: '.$_POST['email'].'
 Wiadomość: '.$_POST['wiadomość'].'   '; $headers = 'Wersja MIME: 1.0' . "\r\n"; $headers .= 'Typ treści: text/html; charset=iso-8859-1' . "\r\n"; $headers .= 'Od: '.$_POST['e-mail']. '\r\n'; poczta($do, $temat, $wiadomość, $nagłówki); echo "Pomyślnie zapisałeś się na to wydarzenie"; ?> Próbowałem dodać to: global $wpdb; $tabela = 'wp_mytable'; $nazwa = $_POST['uczestnik']; $e-mail = $_POST['e-mail']; $zdarzenie = $_POST['tytuł']; $wpdb->insert( $table, array( 'id' => '', 'name' => $name, 'email' => $email, 'event' => $event, ), array( '%d ', '%s', '%s', '%s', ) ); Ale otrzymuję błąd krytyczny. Próbowałem również dodać `require_once(../wp-load.php)`, ale nadal nie jest dobrze. Z góry dziękuję!


title: Wywołanie Ajax aktywuje się po przesłaniu na stronie edit-tags.php

text: Czy istnieje właściwy sposób na aktywację wywołania ajax w wordpressie na stronie edycji kategorii po naciśnięciu przycisku przesyłania?


title: Problem z cytatami

text: Mam dziwny problem z najnowszą wersją Wordpressa: niektórzy pisarze, kiedy piszą historię, widzą znak cudzysłowu `'` zastąpiony przez `/`, coś, co mi się nie przytrafia. Czy są jakieś specjalne ustawienia w CMS, które mogą powodować ten irytujący problem?


title: Czy mogę chronić typ treści w całej witrynie za pomocą jednego hasła?

text: Opracowuję motyw dla klienta, który posiada katalog produktów. Każdy produkt ma arkusz specyfikacji, który chce udostępnić zalogowanym użytkownikom. To nie jest prawdziwy problem bezpieczeństwa, tylko sposób na uproszczenie strony dla przypadkowych użytkowników. W tej chwili wysyła klientom e-maile z hasłem i śledzi loginy na podstawie tego, które hasło podał. Chciałby dalej to robić. Chciałbym więc wymyślić sposób: * zalogowania użytkownika za pomocą jednego pola * za pomocą `is_user_logged_in()` i powiązanych zapytań, aby sprawdzić, czy wyświetlać linki do chronionych treści * odmowy takim odwiedzającym dostępu do Admina strona całkowicie Czy jest to poza zakresem ról użytkownika WP? Jeśli nie, jakieś sugestie, jak mógłbym to osiągnąć?


title: Otwórz bibliotekę multimediów wordpress w wersji 3.9.1

text: Nie umiem mówić po angielsku... Mam nadzieję, że rozumiesz moje pytanie. Mam ten kod, który otwiera bibliotekę multimediów, ale działa tylko w wordpressie 3.6.1 i niższej wersji <script> var file_frame; // „mca_tray_button” to identyfikator mojego przycisku, który otwiera okno multimediów jQuery('#mca_tray_button').live('klik', function( event ){ event.preventDefault(); if ( file_frame ) { file_frame.open( ); return; } file_frame = wp.media.frames.file_frame = wp.media({ title: jQuery( this ).data( 'uploader_title' ), button: { text: jQuery( this ).data( 'uploader_button_text' ) , }, multiple: false }); file_frame.on( 'select', function() { attachment = file_frame.state().get('selection').first().toJSON( ); // "mca_features_tray" jest identyfikator mojego pola tekstowego, które otrzyma obraz // otrzymuję identyfikator zamiast adresu URL: jQuery("#mca_features_tray").val(attachment.id); // ale zamiast tego można uzyskać adres URL przez robiąc coś takiego: jQuery("#mca_features_tray" ).val(rozmiary.załącznika.adres.miniaturki); // i możesz zmienić "miniaturę", aby uzyskać inne rozmiary obrazków }); ramka_pliku.open(); }); </script> <button id="mca_tray_button">Otwórz Media</button> Teraz potrzebuję kodu (dla wersji 3.9.1), który otwiera bibliotekę multimediów, a użytkownik może wybrać plik, a następnie zwrócić jego adres URL w danych wejściowych.


title: Sprawdź i usuń z kolejki, czy istnieje wiele arkuszy stylów przy użyciu wp_style_is?

text: Muszę usunąć z kolejki style 3 wtyczek, które ładują ten sam arkusz stylów czcionek, więc wymyślam następującą funkcję, która oczywiście nie działa: add_action('wp_enqueue_scripts', 'dequeue_by_handles', 999); function dequeue_by_handles() { $uchwyt = array( 'niesamowita czcionka', 'niesamowita czcionka', 'niesamowita czcionka' ); if( wp_style_is( $uchwyt, $lista = 'umieszczony w kolejce') ) { wp_dequeue_style( $uchwyt ); } } Proszę zauważyć, że najpierw muszę sprawdzić, czy istnieje uchwyt arkusza stylów, a następnie usunąć go z kolejki. Dziękuję Ci.


title: Czy można tworzyć motywy wnuków?

text: Jeśli używam jednego z popularnych frameworków, takich jak Genesis, czy można tworzyć motywy wnuków? Jako przykład chcę użyć Genesis jako szkieletu wszystkich moich witryn. Genesis nazywa się frameworkiem, ale w rzeczywistości jest tematem nadrzędnym. Następnie wybieram jeden z motywów potomnych Genesis na sprzedaż w StudioPress i chcę kontynuować dostosowywanie go dla każdej z moich witryn. Czy utworzyłbym motyw wnuka dla wszystkich moich witryn i jak bym to zrobił?


title: pobierz miniaturę posta zwraca pełny rozmiar

text: Funkcja `get_the_post_thumbnail($post->ID, 'thumbnail');` nie zawsze zwraca rozmiar miniatury obrazu (czyli 100x100) w przypadku niektórych postów, które wykonuje, ale w przypadku większości nie. Nawet jeśli rzeczywisty plik istnieje (powiedzmy, że dla obrazu `myImg.jpg` istnieje obraz kciuka pod nazwą `myImg-100x100.jpg`), ale funkcja zwraca pełny rozmiar. jakieś przemyślenia na temat rozwiązywania tego problemu? Aktualizacja, właśnie zauważyłem, że obrazy zwracające pełny rozmiar są nazwane znakami arabskimi, czy może to powodować problem?


title: Link do niestandardowego typu postu nie wyświetla treści

text: Stworzyłem 2 niestandardowe typy postów. Jeden nazwał artystą, drugi pracą. Kiedy tworzę post w artyście i przeglądam go, link jest w porządku i mogę przeglądać treść. Jednak w pracy, kiedy dodaję nowy post i przechodzę do jego przeglądania, mówi, że nie może znaleźć treści i brakuje strony. Oto mój kod functions.php. add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'artist', array( 'labels' => array( 'name' => __( 'Talent' ), 'singular_name' => __( 'talent' ) ), 'public' => true, 'has_archive' => true, 'supports' => array( 'thumbnail' ), 'supports' => array('thumbnail', 'title', 'editor'), 'rewrite' => array('slug ' => 'talent'), ) ); register_post_type( 'work', array( 'labels' => array( 'name' => __( 'Content' ), 'singular_name' => __( 'content' ) ), 'public' => true, 'has_archive' => true, 'supports' => array( 'thumbnail' ), 'supports' => array('thumbnail', 'title', 'editor'), 'rewrite' => array('slug' => 'treść '), ) ); }


title: Czy muszę zmienić rozmiar obrazu, aby pasował do postu?

text: Zamierzam opublikować obraz w poście na blogu, najpierw przesyłając obraz na mój serwer i używając jego adresu URL. Jeśli obraz jest większy niż maksymalna szerokość mojego posta na blogu, czy pobranie zajmie więcej czasu, czy też WordPress zgniecie obraz do miejsca, w którym musi się zmieścić? Jeśli muszę dopasować obraz do odpowiedniego rozmiaru, jaki rozmiar? Mój blog jest dostępny pod adresem http://wordfruit.com/blog Dzięki,


title: Jak mogę wyróżnić komentarze administratora?

text: Zasadniczo chcę, aby wszystkie komentarze publikowane przez administratorów miały inny kolor tła niż reszta, aby można je było łatwo odróżnić. Nie udało mi się jednak znaleźć żadnej wtyczki, która by to zrobiła, a włamanie jej do motywu nie wygląda zbyt czysto. Jakieś sugestie?


title: Kilka pętli w problemach z paskiem bocznym

text:
Stworzyłem zakładki na pasku bocznym, które wyświetlają najnowsze, popularne i losowe posty. Innymi słowy, tworzę kilka pętli na moim pasku bocznym. Wydaje się to jednak powodować pewne problemy. Czy muszę coś zresetować, czy po prostu użyć zupełnie innego kodu? Kod kart paska bocznego wygląda następująco:

 Popularne

Ostatnie

Losowe

 <?php $pc = nowe WP_Query('orderby=comment_count&posts_per_page=5'); ?> <?php while ($pc->have_posts()) : $pc->the_post(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(array(50,50)); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?> <?php comments_popup_link('(0)', '(1)', '(%)'); ?>
Wysłano <?php the_time('F jS, Y') ?>
 <?php echo excerpt(8); ?>

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

 <?php $rp = nowe WP_Query(' orderby=date&posts_per_page=5'); ?> <?php while ($rp->have_posts()) : $rp->the_post(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(array(50,50)); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?> <?php comments_popup_link('(0)', '(1)', '(%)'); ?>
Wysłano <?php the_time('F jS, Y') ?>
 <?php echo excerpt(8); ?>

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

 <?php $ranp = nowe WP_Query(' orderby=rand&posts_per_page=5'); ?> <?php while ($ranp->have_posts()) : $ranp->the_post(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(array(50,50)); ?> <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?> <?php comments_popup_link('(0)', '(1)', '(%)'); ?>
Wysłano <?php the_time('F jS, Y') ?>
 <?php echo excerpt(8); ?>

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

 Bieżącym problemem jest to, że pierwsza zakładka „Popularne” wyświetla 5 postów tak, jak powinna, ale pozostałe 2 zakładki wyświetlają 6 postów, chociaż wyraźnie zakodowałem to tak, że powinno być wyświetlanych tylko 5!!!! Moja strona internetowa jest tutaj w celach informacyjnych (jeśli używasz IE - i mam nadzieję, że nie - proszę nie bądź zszokowany, że oprócz powyższej zakładki żadna inna nie działa - nagle pojawiło się wiele problemów w IE (od wczoraj) prawdopodobnie spowodowane przez CSS, może jakiś błąd HTML - aktualnie nad tym pracuję). Z góry dziękuję!


title: BBCode i BBPress 2.0?

text: Próbowałem uruchomić bbcode w treści BBPress, używając różnych wtyczek. Używam WP (3.2.1), BuddyPress Plugin (1.2.10) i BBPress 2.0-rc-5. Mam bbcode działający w postach i komentarzach wp poprzez pewne modyfikacje tej wtyczki http://wordpress.org/extend/plugins/bbcomments/ Wszystko, co zrobiłem, to dodanie kilku dodatkowych linii add_action: add_action('the_content', 'render_comment', 1); add_action('treść', 'render_comment_code', -1); Chociaż sprawienie, by kod BB działał w tematach i odpowiedziach BBPress, jest trudne, próbowałem dodać: add_action('bbp-reply-content', 'render_comment', 1); add_action('bpp-reply-treść', 'render_comment_code', -1); add_action('bbp_topic_content', 'render_comment', 1); add_action('bbp_topic_content', 'render_comment_code', -1); Ale bez kości. Próbowałem również wywołać funkcję wtyczki i akcje wewnątrz bbp-common-functions.php. Moja wiedza na temat PHP jest dość ograniczona, więc wszelkie porady dotyczące tego, gdzie szukać dalej, będą mile widziane.


title: Posty publiczne – zapobieganie duplikowaniu przesłania formularzy

text: Tworzę publiczny formularz na stronie, który umożliwia niezarejestrowanych (publicznych) odwiedzających tworzenie postów niestandardowego typu postu. Używam nonces, które naiwnie myślałem, że wygasną, gdy zostaną użyte. Wydaje się, że tak nie jest. Wydaje się, że ten post rozwiązuje problem, tworząc pole meta i weryfikując, czy nie istnieje przed utworzeniem posta. Czy istnieje najlepsza praktyka, która zapobiega składaniu formularzy w dwóch formach (która nie wymaga wpisywania metapola?) T


title: Dodaj opcję do sekcji „Ustawienia galerii”

text: Chcę dodać opcję do „Ustawienia galerii” (gdy wstawiasz galerię do posta). Kiedyś znalazłem kod, jak to zrobić, ale niestety nie mogę go już znaleźć. Nawet nie pamiętam, czy to był haczyk, ale myślę, że to było trochę hackowe ;-) Thx


title: Jak bezpieczny / oczyszczony jest wp_insert_posts()?

text: Patrząc na Kodeks dla wp_insert_post() stwierdza, że ta funkcja "... oczyszcza zmienne, wykonuje pewne kontrole, uzupełnia brakujące zmienne, takie jak data/godzina itp. " (EDYTUJ: Zaktualizowałem wpis w Kodeksie, aby zawierał bardziej niezawodny przykład obejmuje to bezpieczeństwo, a także przypisanie meta postu i kategorii) Zastanawiam się, czy muszę przeprowadzić dalsze oczyszczanie, aby zapobiec włamaniom XSS i tym podobnym, czy też wystarczy zrobić za pomocą tej funkcji. Szczerze mówiąc, sprawdziłem funkcję w rdzeniu i nie znalazłem na przykład żadnych wp_kses() ani innych środków odkażających w post_content, więc jestem trochę zaniepokojony. Wszystko, co widzę, to stripslashes_deep() na danych. Czy powinienem więc uruchamiać wp_kses() lub cokolwiek innego podczas budowania argumentów do wp_insert_post()? Jaka jest najlepsza praktyka tutaj? W swoim przykładzie Kodeks jest dość niefrasobliwy, jeśli chodzi o bezpieczeństwo. Dziękuję


title: Bezpośrednie dodawanie funkcji vs używanie hooka w function.php

text: Możemy użyć funkcji takich jak `register_nav_menu()` bezpośrednio w `function.php` i to działa, a także możemy użyć funkcji do umieszczenia `register_nav_menu()` wewnątrz niego i dołączenia tej funkcji za pomocą `haka` takiego jak init i to działa również. Dlaczego w tej konkretnej sytuacji musimy użyć „haka”?