title: add_rewrite_rule i przekierowanie szablonu nie działają

text: Mam następujące pary: add_rewrite_rule('^questions/ask/?','index.php?pagename=ask','top'); if(is_page('ask')){ $tname = 'dodaj pytanie.php'; if(plik_istnieje(ŚcieżkaSzablon.'/'.$tnazwa)){ $zwrot szablonu = ŚCIEŻKA SZABLONU.'/'.$tnazwa; }else{ $returntemplate = $plugindir.'/default-template/'.$tname; } ahaali_do_theme_redirect($returntemplate); oraz: add_rewrite_rule('^questions/ed/([^/]*)/?','index.php?pagename=ed&id=$matches[1]','top'); if(is_page('ed')){ $tname = 'edit-question.php'; if(plik_istnieje(ŚcieżkaSzablon.'/'.$tnazwa)){ $zwrot szablonu = ŚCIEŻKA SZABLONU.'/'.$tnazwa; }else{ $returntemplate = $plugindir.'/default-template/'.$tname; } ahaali_do_theme_redirect($returntemplate); } Teraz dzieje się tak: Pierwsza reguła i przekierowanie szablonu działa, a drugie nie. Dodałem w nagłówku mojego motywu print_r($wp->query_vars); wynikiem jest: Array ( [nazwa strony] => ed [id] => 10 ) Sama reguła działa, ale przekierowanie szablonu nie. Jakiś pomysł dlaczego?


title: Zarządzanie adresami URL kategorii

text: Kiedy zachowujesz bazę kategorii (to znaczy nie usuwasz jej za pomocą wtyczki), WordPress pozwala na przeglądanie kategorii głębokiej na 2 poziomie na dwa różne sposoby, jak pokazuje poniższy przykład. powiedzmy, że twoja kategoria zawiera element najwyższego poziomu „MULTIMEDIA” i podrzędny element o nazwie WIDEO. Wizualnie mówimy o takiej sytuacji; ## Kategoria taksonomia multimedia wideo audio tematy nauka polityka Cóż, możesz dotrzeć do tego dziecka (wideo) na dwa różne sposoby; twojawitryna.com/category/multimedia/video lub twojawitryna.com/category/video Chodzi o to, że WP przenosi cię na dokładnie tę samą stronę, niezależnie od tego, który URL został użyty, i nie ma tu również przekierowań, więc oba adresy URL pozostają w przeglądarce odwiedzającego, tak jak było to żądane na początku. W przypadku dowolnego adresu URL wynikowa treść jest identyczna. To nienawistna sytuacja ze strony Google. Google karze takie witryny, ponieważ Twoja witryna ma _samą dokładną treść_ pojawiającą się pod 2 różnymi adresami URL. (Oczywiście, gdy używasz obu adresów URL.) Jasne, nikt nie chciałby tego robić celowo, ale czasami tak się kończy. I to pytanie dotyczy tej sprawy. Załóżmy, że chcesz wybrać prostszy adres URL dla kategorii WIDEO i chcesz się tylko tego trzymać. Zasadniczo chcesz, aby adres URL to twojawitryna.com/kategoria/wideo Jest to łatwe do osiągnięcia, gdy korzystasz z funkcji niestandardowego menu dostarczanej z WordPress, gdzie możesz określić adres URL dla tego konkretnego niestandardowego elementu menu. Tak więc, gdy odwiedzający klikną link WIDEO w menu niestandardowym, w końcu trafią na twojawitryna.com/category/video Na razie żadnych problemów... Ale jak tylko wybiorą post z tej kategorii i trafią przychodząc do posta, w którym metadane posta wyświetlają elementy, takie jak „KATEGORYZOWANE w” lub „OZNACZONE przez” itp., zostaną ujawnieni pod alternatywnym adresem URL dla tej kategorii WIDEO. Tak więc, jeśli użytkownik kliknie link WIDEO w obszarze „Sklasyfikowane w”, URL, który otrzyma, będzie następował: yoursite.com/category/multimedia/video A wraz z tym idzie Twój ranking SEO. Moje pytanie brzmi, jakich technik używasz tutaj, aby WordPress zawsze i zawsze używał jednego adresu URL, adresu URL zdefiniowanego w menu niestandardowym. Pomyślałem, że ślimaki kategorii mogą to zrobić, ale kiedy to sprawdziłem, funkcja ślimaka pozwala mi zmienić tylko termin kategorii w adresie URL, a nie ścieżkę do niego. Gdybym miał dać mi wybór, taki jak wideo slug: /category/video, byłbym skończony. Ale ten wybór nie jest w tej chwili dostępny. Kiedy to zrobisz, zamiast tego otrzymujesz następujący ślimak categoryvideo Dzieje się tak, ponieważ / nie jest prawidłowym znakiem dla ślimaka. Zasugeruj alternatywny sposób informowania WordPressa, aby cały czas trzymał się /category/video. Zanim zasugeruję oczywistość (no cóż, po prostu pomiń „multimedia” i spraw, aby „wideo” było kotem najwyższego poziomu. ), pozwól mi powiedzieć, że ta sugestia nie zadziała w naszej sytuacji.


title: Meta pola nie są wyświetlane, dane nie są zapisywane

text: Jak mówi tytuł, mam problem w functions.php (zakładam, że tam jest), co powoduje, że niestandardowe pola nie wyświetlają się na stronie nowego/edytuj posta, a kiedy sam dodaję metabox i zapisuję dane poprzez aktualizację post, dane znikają. Jeśli jednak zapiszę dane, klikając przycisk Aktualizuj dla samego pola meta (i nie kliknę przycisku Aktualizuj), dane zostaną zapisane i wyświetlone poprawnie. Umieściłem kod w functions.php tutaj.


title: Niestandardowy szablon posta dla określonej kategorii

text: Oto mój problem: mam jedną kategorię nadrzędną, a pod nią wiele podkategorii, np. Kategoria Podkategoria podkategoria... podkategoria... podkategoria... podkategoria... podkategoria... podkategoria... ... ........ Użyłem wtyczki WP dTree, aby wyświetlić kategorie w postaci drzewa. Teraz chcę, aby po kliknięciu dowolnej podkategorii podkategorii wyświetlała wszystkie posty z tej kategorii w jednym niestandardowym szablonie postów. Wiem, jak zrobić szablon postu i wiem, kiedy zrobię post, jeśli plik szablonu jest zdefiniowany, post pokaże ten szablon. Jednak mam wiele kategorii `"pod-podkategorii......"` które zawierają wiele postów, więc ciężko jest zawsze zdefiniować szablon dla każdego posta. Jeśli jest jakiś sposób, aby wyświetlić wszystkie posty w kategorii "pod-podkategoria..." w jednym niestandardowym szablonie, podziel się ze mną... Poniżej znajduje się przykład tego, co próbuję zrobić: ![Przykład tego, co próbuję zrobić](http://i.stack.imgur.com/w5woS.gif)


title: Problem z niestandardową wtyczką

text:
Stworzyłem odtwarzacz audio w HTML5/Flash za pomocą API SoundManager2. Teraz chcę dodać go do Wordpressa jako wtyczkę, dzięki czemu nie będziesz potrzebować umiejętności programistycznych, aby dostosować odtwarzacz. Wtyczka powinna po prostu zmodyfikować kilka wartości w kodzie HTML i JavaScript, a następnie powtórzyć div w odtwarzaczu audio na stronie głównej jako stały div. Ponieważ nie bardzo wiedziałem, jak programować wtyczki, postępowałem krok po kroku w książce „Profesjonalny WordPress : Projektowanie i rozwój”. Ale muszę powiedzieć, że naprawdę utknąłem, ponieważ pulpit Wordpress wydaje się nie wyświetlać niczego po aktywacji wtyczki poza „Identyfikatorem odtwarzacza audio” na karcie widżetów w „Wygląd”. Oto mój kod: <?php /* Nazwa wtyczki: Frontpage odtwarzacz audio Opis: Odtwarzacz audio Wersja: 0.1 */ register_activation_hook(__FILE__, 'audio_player_install'); function audio_player_install() { function custom_dependencies() { ?> <link rel="stylesheet" type="text/css" href="style-min.css" />    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base /jquery-ui.css" />  <?php } add_action('wp_head', 'custom_dependencies'); } register_deactivation_hook(__FILE__, 'odinstalowanie odtwarzacza audio'); function audio_player_uninstall() { //zrób coś } add_action('widgets_init', 'audio_player_register_widgets'); funkcja audio_player_register_widgets() { register_widget('audio_player_widget'); } class audio_player_widget extends WP_Widget { function audio_player_widget() { $widget_ops = array( 'classname' => 'audio-player-widget', 'description' => 'Wyświetla odtwarzacz audio na pierwszej stronie.', ); $this-> WP_Widget('audio_player_id', "Identyfikator odtwarzacza audio", $widget_ops); } function form($instance) { $defaults = array( "file_Path" => 'audio/test.mp3', "background_Ring_color" => '#000', "loading_Ring_color" => '#000', "playing_Ring_color" = > '#ffd700', "equalizer_Data_color" => '#ff8C00', ); $instancja = wp_parse_args((tablica)$instancja, $defaults); $file_Path = strip_tags($instancja['file_Path']); $bg_RingClr = strip_tags($instance['background_Ring_color']); $loading_RingClr = strip_tags($instance['loading_Ring_color']); $playing_RingClr = strip_tags($instance['playing_Ring_color']); $equalizer_DataClr = strip_tags($instance['equalizer_Data_color']); ?>

Ustawienia odtwarzacza audio na stronie głównej:
 <form method="POST" action="options.php"> <?php settings_fields('audio_settings_group'); ?>

 Nazwa pliku, który chcesz odtworzyć: 	  (Musisz również określić rozszerzenie pliku audio, np.: ".mp3", ".wav", ".ogg")
 (Jeśli nie określono pliku, domyślnie odtworzy ostatnio utworzony plik)   <input type="text" name="audio-File-url" value="<?php echo esc_attr('audio-File-url'); ?>" />

 Kolor tła dzwonka: 	 <input type="text" name="background-Ring-color" value="<?php echo esc_attr(' background-Ring-color'); ?>" />	 Domyślny kolor to „#000”.

 Kolor dzwonka podczas ładowania: 	 <input type="text" name="loading-ring-color" value="<?php echo esc_attr( 'ładowanie-kolor-pierścień'); ?>" />	 Domyślny kolor to „#000”.

 Kolor dzwonka już odtwarzanego dźwięku : 	 <input type="text" name="odtwarzający-kolor-dzwonka" value="<?php echo esc_attr('odtwarzający-kolor-dzwonka'); ?>" />	 Domyślny kolor to „#ffd700”.

 Korektor (wykres fali dźwiękowej) kolor : 	 <input type="text" name="kolor danych-korektora" value="<?php echo esc_attr('kolor danych-korektora'); ?>" />	 Domyślny kolor to „#ff8C00”.

 <input type="submit" class=" button-primary" value="Zapisz zmiany" />
 </form>
 <?php } aktualizacja funkcji($nowa_instancja, $stara_instancja) { $instance = $stara_instancja; $file_Path = strip_tags($ new_instance['file_Path']); $bg_RingClr = strip_tags($new_instance['background_Ring_color']); $loading_RingClr = strip_tags($new_instance['loading_Ring_color']); $playing_RingClr = strip_tags(['coloring_instance]); $equalizer_DataClr = strip_tags($new_instance['equalizer_Data_color']); return $instance; } widget funkcji($args, $instance) { extract($args); echo $before_widget; $file_Path = strip_tags($instance['file_Path' ]); $bg_RingClr = strip_tags($instance['background_Ring_color ']); $loading_RingClr = strip_tags($instance['loading_Ring_color']); $playing_RingClr = strip_tags($instance['playing_Ring_color']); $equalizer_DataClr = strip_tags($instance['equalizer_Data_color']); ?>

 <a class="audio-file" href="<?php echo $file_Path ?>">

 <?php echo $after_widget; } } ?> Z góry dziękuję za pomoc !


title: stwórz szablon front end post page za pomocą TinyMCE,

text: istnieje wiele sugestii publikowania z przodu z wstawką wp, ale czy możliwe jest utworzenie wpisu z przodu za pomocą TinyMCE i podobnego edytora


title: Drupal przechodzi na Symfony. Czy WordPress skorzystałby na tym samym?

text: Gdyby WordPress zrobił to samo, czy straciłby dużo na wydajności?


title: Przenoszenie przycisków udostępniania z wtyczki

text: Używam wtyczki Share and Follow na mojej stronie. W większości mi się to podoba, ale "interaktywne przyciski udostępniania" - te, które pojawiają się na początku postu - znajdują się w pierwszym wierszu mojego postu. To może być w porządku, z wyjątkiem tego, że wypycha obrazy, które znajdują się na początku większości moich postów, nierówne (zarówno na mojej stronie głównej, jak i poszczególnych postach). Zdecydowanie wolałbym, aby przyciski pojawiały się pod tytułem, ale przed pierwszym wierszem treści w moim poście. Ale ponieważ jest to wtyczka, nie wiem, jak zmienić miejsce, w którym pojawiają się przyciski.


title: Niestandardowe logowanie ReCaptcha

text:
Próbuję dodać ReCaptcha do mojej strony logowania. Wiem, że jest wiele wtyczek na żądanie, nie mogę używać wtyczek. Jak dotąd tak dobrze, że mogę dodać Captcha do mojego loginu, ale nie mogę wyświetlać błędów. Pojawi się błąd, gdy wprowadzę złe hasło, ale jeśli wprowadzę prawidłowe hasło i nie wprowadzę Captcha, nie otrzymuję żadnych błędów (które powinienem otrzymać błąd Captcha niewypełniony). Tak więc moja funkcja `captcha_errors` uruchamia się tylko wtedy, gdy nazwa użytkownika/hasło są nieprawidłowe. Jak uzyskać formularz logowania, aby sprawdzić ReCaptcha przed sprawdzeniem danych logowania? do_action('login_head'); // ta funkcja dodaje captcha do formularza logowania function addCaptcha() { if( session_id() == "" ) @session_start(); if (isset( $_SESSION["recaptcha_response_field"] )) unset( $_SESSION["recaptcha_response_field"] ); ?>

 <textarea name='recaptcha_challenge_field' rows='3' cols='40'></textarea> <input type='hidden' value='manual_challenge' name='recaptcha_response_field'/>

 <?php return true; } function VerifyCaptcha($pageid) { $result = false; if( session_id() == "" ) @session_start(); $pvk = 'prvk'; if (!empty($pvk) && isset($_POST['recaptcha_response_field'])) { if(!function_exists('recaptcha_check_answer')) { require_once 'recaptchalib.php'; } $resp = recaptcha_check_answer($pvk, $_SERVER['REMOTE_ADDR'], $_POST['recaptcha_challenge_field'], $_POST['recaptcha_response_field']); $wynik = $resp->jest_ważny; } if(!$result) return $_SERVER["REQUEST_URI"]; w przeciwnym razie zwróć admin_url(); } // ta funkcja sprawdza captcha wysłane za pomocą funkcji logowania captcha_errors( $errors ) { if ( isset( $_SESSION['cptch_error'] ) ) unset( $_SESSION['cptch_error'] ); // zwróć $errros.'TEST'; if ("" == $_REQUEST['recaptcha_response_field'] ) { return $errors.''. __( 'BŁĄD', 'captcha' ) .': '. __( 'Proszę wypełnić Cpatcha.', 'captcha' ); } if ( isset( $_REQUEST['recaptcha_response_field'] ) && VerifyCaptcha()) { // captcha zostało dopasowane } else { return $errors.''. __( 'BŁĄD', 'captcha' ) .': '. __( 'Wprowadź prawidłową wartość CAPTCHA.', 'captcha' ); } return( $błędy ); } add_action( 'login_form', 'addCaptcha' ); add_filter( 'login_redirect', 'verifyCaptcha', 10, 3 ); add_filter( 'login_errors', captcha_errors);


title: Shortcodes: Zwróć różne na podstawie atts

text:
Mam następujący shortcode dla pullquotes: //Pullquote shortcode function pullQuotes($atts, $content = null) { extract(shortcode_atts(array("author" => ''), $atts)); return '
'.$content.'
' . $autor . '

'; } add_shortcode("pullquote", "pullQuotes"); Zasadniczo nie chcę, aby akapit zawierający atrybut $author był zwracany, jeśli nie ma ustawionego autora (tj. domyślna wartość ''). Jakieś pomysły?


title: Dystrybuować posty do innego bloga?

text: chcę zaimportować jeden blog do drugiego, ale to ciągle się dzieje. np. kiedy bloguję w jednej witrynie, chcę, żeby pojawił się w drugiej? Dziękuję


title: Czy mogę licencjonować mój motyw WordPress na licencji GPL 3.0?

text: Zauważyłem, że WordPress korzysta z licencji GPL 2+. Czy mogę wydać swój darmowy motyw na licencji GPL 3.0, skoro jest to najnowsza wersja? Czy spowoduje to problemy ze zgodnością? Dziękuję!


title: Szablon Ajax: jak obsługiwać sekcję głowy

text: Wiem, że to _łatwe_, ale jestem w tym nowy i nie rozumiem, które podejście jest najlepsze. ## Tło Szablon, nad którym pracuję, to podwójny motyw Desktop/Mobile, oparty na UA Sniffing. _Teraz_ właśnie dodałem responsywność poprzez enquire.js i ajax i wszystko się zmieniło: mam problemy z prawidłowym działaniem rzeczy, po raz pierwszy mam do czynienia z ajaxem. ## Scenariusz Mój szablon jest _dynamicznie ładowany przez ajax_ w rzeczywistości, jeśli spróbujesz zmienić szerokość okna poniżej 1080px, pojawi się szablon mobilny. (pojawi się również na każdym urządzeniu mobilnym, ale nie jest to dla nas ważne w atm) Tak więc responsywność została zaimplementowana za pomocą wywołań enquire.js i ajax (patrz kod poniżej). Pierwotnie szablon był statyczny, więc w tej chwili cała sekcja jest nadal warunkowo ładowana przez instrukcje if w functions.php. (np. skrypt wideo powinien po prostu załadować się na niektórych stronach wersji na komputery stacjonarne) ## Problemy 1. Szablon mobilny – który został wystylizowany za pomocą arkusza stylów mobile.css – wydaje się nie mieć żadnego efektu. Czy powinienem zmienić sposób ładowania arkuszy stylów i skryptów z powodu nowej rzeczy ajax/enquire? 2. zawartość, tj. the_content(), nie pojawia się. Czemu? A jak to załadować w moim scenariuszu? znaleziony! -- document.write(data) nadpisywał wszystko! Dodałem $("body").append(data); zamiast tego ## Podąża za kodem **functions.php** //Załaduj funkcję arkusza stylów add_desktop_styles() { wp_register_style('reset', get_template_directory_uri().'/reset.css'); wp_register_style('styl', get_template_directory_uri().'/style.css', array('reset') ); wp_enqueue_style('styl'); //$mobile = mobile_device_detect(); //if ($mobile==true) { if (wp_is_mobile()) { wp_register_style('mobile', get_template_directory_uri().'/mobile.css', array('reset') ); wp_enqueue_style('mobile'); } } add_action('wp_head', 'add_desktop_styles', '1'); //UA Sniffing funkcja devicecontrol() { require_once('_/inc/mobile_device_detect.php'); } add_action('wp_loaded', 'devicecontrol', '2'); //funkcja AJAX nazwa_funkcji() { wp_enqueue_script( 'funkcja', get_template_directory_uri().'/_/js/my_js_stuff.js', array('jquery','enquire'), true); wp_localize_script( 'funkcja', 'my_ajax_script', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); } add_action('template_redirect', 'twoja_nazwa_funkcji'); function get_mobile_template() { include('templates/pages/homepage-phone.php'); umierać(); } add_action("wp_ajax_nopriv_get_mobile_template", "get_mobile_template"); add_action ("wp_ajax_get_mobile_template", "get_mobile_template"); function get_desktop_template() { if (!wp_is_mobile()) { include('templates/pages/homepage-computer.php'); } else { include('templates/pages/homepage-phone.php'); } umiera(); } add_action("wp_ajax_nopriv_get_desktop_template", "get_desktop_template"); add_action ("wp_ajax_get_desktop_template", "get_desktop_template"); //jQuery if ( !function_exists( 'core_mods' ) ) { function core_mods() { if ( !is_admin() ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', ( "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ), fałsz); wp_enqueue_script( 'jquery' ); } } add_action( 'wp_enqueue_scripts', 'core_mods','2' ); } //Skrypty Funkcja mobilna add_mobile_scripts() { wp_register_style('video-css', get_template_directory_uri().'/_/js/videojs/video-js.css'); wp_enqueue_style('video-css'); wp_register_script('video-js', get_template_directory_uri().'/_/js/videojs/video.js', null, false ); wp_enqueue_script( 'video-js' ); } function isMobile() { //$mobile = mobile_device_detect(); ///if ($mobile==true) if (wp_is_mobile()) { add_mobile_scripts(); } } add_action( 'wp_enqueue_scripts', 'isMobile', '1' ); //Skrypty Funkcja pulpitu addSlide() { /*wp_register_script( 'modernizr', get_template_directory_uri().'/_/js/modernizr.js', null, false ); wp_enqueue_script( 'modernizr' );*/ wp_register_script( 'zapytanie', get_template_directory_uri().'/_/js/enquire.min.js', null, false ); wp_enqueue_script( 'zapytaj' ); wp_register_script('jwplayer', get_template_directory_uri().'/_/js/jwplayer.js', null, false ); wp_enqueue_script( 'jwplayer' ); wp_register_script('bootstrap', get_template_directory_uri().'/_/js/bootstrap.js', array('jquery'), false ); wp_enqueue_script( 'bootstrap' ); wp_register_script('spk_slide', get_template_directory_uri().'/_/js/slides.js', array('jquery'), false ); wp_enqueue_script( 'spk_slide' ); } // Funkcja suwaka na stronie głównej isSlideshowPage() { if ( is_front_page() || is_page('Bankkaufmann') || is_page('Hochschulabsolvent') || is_page('Professional') || is_page('Die Prüfungsstellen' ) || is_page('Von Beruf Verbandsprüfer')) { addSlide(); } } add_action( 'wp_enqueue_scripts', 'isSlideshowPage' ); **Skrypt Js** ten skrypt w tej chwili ładuje się na wszystkich stronach. Opakuję go i wywołam później z szablonu strony enquire.register("screen and (max-width:1080px)", { // OPCJONALNIE / / Jeśli podane, wyzwalane, gdy zapytanie o media pasuje. match : function() { jQuery.ajax({ url: my_ajax_script.ajaxurl, data: ({action : 'get_mobile_template'}), success: function(data) { document.write (data); } }); }, unmatch : function() {$("body").empty();}, // OPCJONALNIE // Jeśli podano, wywoływane raz, gdy procedura obsługi jest zarejestrowana setup : function( ) {}, // OPCJONALNIE, domyślnie false // Jeśli ustawione na true, odracza wykonanie funkcji konfiguracji // do czasu pierwszego dopasowania zapytania o media deferSetup : true, // OPCJONALNIE // Jeśli podano, wywoływane przy ręcznym ler jest niezarejestrowany. // Umieść tutaj kod czyszczący destroy : function() {} }); enquire.register("screen and (min-width:1081px)", { // OPCJONALNIE // Jeśli podano, wywoływane po dopasowaniu zapytania o media. match : function() { jQuery.ajax({ url: my_ajax_script.ajaxurl, data : ({action : 'get_desktop_template'}), success: function(data) { document.write(data); } }); }, unmatch : function() {$("body").empty();}, // OPCJONALNE // Jeśli podano, wyzwalane raz, gdy procedura obsługi jest zarejestrowana setup : function() {}, // OPCJONALNE, domyślnie false // Jeśli ustawione na true, odracza wykonanie funkcji setup // do pierwszego czas dopasowania zapytania o media deferSetup : true, // OPCJONALNIE // Jeśli podano, wywoływane, gdy program obsługi jest niezarejestrowany // Umieść tutaj kod czyszczenia destroy : function() {} });


title: Jak kontrolować informacje o udostępnianiu Facebooka na stronie głównej?

text: Czy istnieje sposób na udowodnienie informacji na Facebooku, abym mógł kontrolować, jakie informacje o tytule i opisie pojawiają się podczas wklejania strony głównej mojego bloga na Facebooku? W tej chwili wydaje się, że chwyta przypadkowy post... nie najnowszy... dla informacji. Wolałbym albo samodzielnie ustawić informacje na stronie głównej LUB upewnić się, że wyświetlają one informacje z mojego pierwszego/polecanego posta. Jak mogę mieć nad tym kontrolę? (ponownie, nie jest to związane z przyciskiem „lubię to” ani niczym… ale publikowaniem głównego adresu URL bezpośrednio do statusu na Facebooku. Udostępnianie całej witryny, a nie posta).


title: Przekierować do posta po przesłaniu za pomocą Gravity Forms?

text: Jak przekierować do posta po przesłaniu z formularzami grawitacyjnymi. Daje możliwość wpisania wartości ciągu zapytania, ale kiedy dodam `{post_id}/{Video Title:1}` otrzymuję `mysite.com/?123/name+of+post` i po prostu wracam do strona główna. Moja struktura linku bezpośredniego to `post_id/postname`, a `{Video Title:1}` równa się nazwie posta, ale używa plusów zamiast myślników. Co ja robię źle?


title: dlaczego $wpdb->update() powoduje błąd bazy danych z poziomu wp_set_password()

text: Mam szablon strony dla mojego motywu niestandardowego, który umożliwia użytkownikowi zresetowanie hasła z poziomu frontonu. Dzwonię wp_set_password() i wszystko działa, ale hasło nie jest zmieniane w DB. Kiedy włączam $wpdb->show_errors(), otrzymuję następujące informacje: Błąd bazy danych WordPress: [] UPDATE `wp_users` SET `user_pass` = '$P$BohZQNR7x.6IVoyG1LGH4Wv3xeycd70' GDZIE `ID` = 9 błąd występuje wewnątrz wp_set_password () tutaj: funkcja wp_set_password( $password, $user_id) { global $wpdb; $hash = wp_hash_password( trim( $password ) ); $wpdb->update($wpdb->users, array('user_pass' => $hash, 'user_activatio\ n_key' => ''), array('ID' => $user_id) ); wp_cache_delete ($ user_id, 'użytkownicy'); } Ten kod to wp-includes/pluggable.php... Zgaduję, że jest coś _naprawdę_ oczywistego, czego nie rozumiem. Mam nadzieję, że ktoś może mnie podpowiedzieć... **[EDYTUJ]:** po zapoznaniu się z tym pytaniem wypróbowałem wymienioną tam sugestię i odkryłem, że update() zwraca „1”, co oznacza, że pomyślnie zaktualizował jeden wiersz, który jest co powinien robić. Ale dlaczego baza danych nie jest aktualizowana, gdy sprawdzam ją za pomocą phpmyadmina? **[EDIT 2]:** Używam również RedBeanPHP wraz z tym szablonem, aby uzyskać dostęp do tej samej bazy danych. Kiedy komentuję kod, aby połączyć się z bazą danych, aktualizacja wpływa na bazę danych. Więc może jest to pytanie dotyczące MySQL, a nie wordpress? Kiedy RedBeanPHP mający uchwyt DB do DB zatrzymuje WPDB przed aktualizacją DB? Przepraszam, jeśli to niewłaściwe miejsce na pytanie. Ogólnie chciałbym mieć pomysł na debugowanie tego typu problemu. Dziękuję!


title: Niestandardowy typ posta Przepisanie adresu URL archiwum na podstawie daty

text: > **Possible Duplicate:** > niestandardowe typy postów, wp_get_archives i add_rewrite_rule Mam niestandardowy typ posta o nazwie „kurs” i chciałbym utworzyć archiwum oparte na datach podobne do domyślnych archiwów postów, które wyglądają jak mysite.com/2012 /05. Chcę używać adresów URL takich jak mysite.com/ **kurs** /2012/05. Jak mogę to zrobić za pomocą interfejsu API przepisywania WordPressa? Unikając wtyczek. To rozwiązanie jest bardzo zbliżone. Jak nadać CPT (niestandardowy typ postu) adres URL oparty na dacie, ale chciałbym uniknąć używania zmiennej zapytania, jeśli to możliwe i trzymać się adresów URL opartych na roku/miesiącu.


title: Jak automatycznie dodawać miniatury do postów i stron w jednolity, ustalony, elegancki sposób?

text: Zastanawiam się, czy istnieje wtyczka lub hack, który umożliwia mi dołączenie ładnie wyglądającej miniatury do każdego posta lub strony, którą publikuję na moim blogu. Obecnie jestem w stanie dodać polecane obrazy, ale dodawanie tych obrazów do moich postów za pomocą poniższego kodu nie daje mi żadnych uporządkowanych wyników. <?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?> Głównie szukam czegoś prostego, które automatycznie i jednolicie naprawi te miniatury w moich postach lub stronach bez dodawania ich ręcznie i dostosowywania ich rozmiarów i pozycji w tekście jeden po drugim. Jakbym miał ponad 500 postów, muszę powtórzyć ten proces 500 razy, spędzając długie godziny na dostosowywaniu każdego pojedynczego obrazu w moich postach, co jest dosłownie bardzo czasochłonne. W tej chwili mam je już ustawione jako polecane obrazy, ale nie są wyświetlane wewnątrz postów lub stron. ## Sprawdź poniższy obrazek, aby zobaczyć przykład uporządkowanej miniatury: ![tu wpisz opis obrazu](http://i.stack.imgur.com/3XmKw.jpg) Z góry dziękuję za pomoc! wszelkie sugestie są bardzo doceniane.


title: Jak zmapować permalinki z akcentowanymi literami na odkażone ślimaki?

text: Aby zachować synchronizację starszych wpisów na blogu hostowanym na TypePad z nową instalacją WordPress... Jak zmapować ten link bezpośredni z akcentowanymi literami: domain.com/no-es-fácil-alejarse-de-la-política na to czyste WP permalink bez litery akcentowanej: domain.com/no-es-facil-alejarse-de-la-politica Jaki jest najlepszy sposób, aby to osiągnąć?


title: Dlaczego moja niestandardowa pętla nie filtruje poprawnie ani nie stronicuje?

text: Mam nadzieję, że ktoś może mi w tym pomóc, bo walczę od kilku dni. Zbudowałem formularz na stronie, który pozwala użytkownikom filtrować zdarzenia według niestandardowych taksonomii typu, okresu i czasu trwania. Działają one indywidualnie, tj. filtr pokazuje wszystkie posty z typem=x lub period=y, ale nie połączonymi. Czy ktoś może zobaczyć dlaczego? Oto mój kod w Pastie. Próbuję również dowiedzieć się, jak podzielić moje wyniki na strony dla mojej niestandardowej pętli, ale nie mogę zrozumieć, dlaczego to nie działa? Każda pomoc jest bardzo ceniona. Dzięki osu **EDIT** Ok, z jakiegoś powodu nie mogę użyć metody tablicy do przekazania moich zmiennych do query_posts() i zakładam, że dzieje się tak, ponieważ z wtyczką Query Multiple Taxonomies, którą muszę zainstalować w tym celu działa, działa tylko z metodą 'post_type=event&fttype=codziennie' itp. Oto mój nowy kod, który działa: http://www.pastie.org/1586564 JEDNAK, mimo że paginacja działa podczas pierwszej wizyty na stronie , po przesłaniu formularza podział na strony przestaje działać. Prawie już prawie, ale potrzebuję pomocy w ostatniej części, jeśli ktoś może być tak miły? Dzięki


title: Po utworzeniu hierarchicznego typu postu nadal nie można ustawić rodzica

text: Po utworzeniu niestandardowego typu posta, jak poniżej, nadal nie mam opcji ustawienia rodzica posta, czy czegoś mi brakuje? register_post_type( 'projects', array( 'labels' => array( 'name' => 'Projects', 'singular_name' => 'Project' ), 'public' => true, 'capability_type' => 'post', 'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'comments'), 'hierarchical' => true, 'menu_position' => 5 ) ); ![](http://imgur.com/m224s.jpg)


title: Wiele edytorów TinyMCE na jednej stronie administracyjnej

text: Proszę, czy ktoś mógłby mi dać przewodnik dla idiotów na temat dodawania więcej niż jednego edytora TinyMCE do strony edytora stron. Tworzę własny motyw wordpress, a liczne edytory są istotną częścią strony. Chciałbym wiedzieć, jaki kod muszę dodać i gdzie go dodaję, aby edytory pojawiły się po stronie edytora oraz kod potrzebny do wyprowadzenia kodu na działającą stronę internetową. Szukałem odpowiedzi w Internecie, ale nie mogę zrozumieć tych, które znalazłem. Dopiero zacząłem uczyć się PHP. Każda pomoc będzie mile widziana! I ja


title: Zaczep do create_category

text: Staram się w jakiś sposób podpiąć, kiedy tworzona jest nowa kategoria. To, co chciałbym zrobić, to zobaczyć termin i slug, który został utworzony i zarejestrować je / wysłać e-mailem. Próbowałem podłączyć do create_category(). To tylko daje mi identyfikator, a nie termin i ślimak. Byłoby wspaniale, gdyby ktoś mógł mnie poprowadzić na właściwą drogę.


title: Get_template_part w folderze

text: Mam więc następujący kod do wyszukiwania szablonów w niestandardowym motywie, nad którym pracuję: <?php $my_theme = wp_get_theme(); get_template_part( 'masthead', $mój_motyw->Szablon); ?> Zasadniczo to, co robi, to wyszukiwanie pliku o nazwie "masthead-nazwamotywu.php". Jeśli ten plik nie istnieje, szuka pliku o nazwie „masthead.php”. Działa to zgodnie z oczekiwaniami. Jednak chciałbym mieć coś, co wyszukuje plik w folderze o nazwie „szablony” jako pierwszą opcję, a jeśli nie, to wyszukaj nazwę szablonu w folderze głównym motywu. Próbowałem tego <?php $my_theme = wp_get_theme(); get_template_part( 'szablony/masthead', $mój_motyw->Szablon); ?> Ale to działa tylko wtedy, gdy plik istnieje w folderze szablonu. Jeśli plik istnieje w głównym folderze motywu, nie rozpoznaje go. Jakieś pomysły? Dziękuję!


title: Dodaj wartość automatycznego przyrostu do niestandardowej meta

text: Mam niestandardowy meta „kod” w moim CPT. Jak mogę sprawić, by miał numer, który będzie się automatycznie zwiększał za każdym razem, gdy administrator opublikuje post? Moim rozwiązaniem jest dodanie do bazy danych tabeli będącej „kodem”. Za każdym razem, gdy użytkownik opublikuje post, doda 1 do tabeli kodów. Następnie użyję skryptu, aby dołączyć kod z bazy danych do meta. Ale wydaje się, że nie dodaje się db. Proszę przedstawić alternatywne/lepsze rozwiązania.


title: Połącz wyniki dwóch pętli

text: Obecnie mam te 2 pętle działające na jednej stronie $related = p2p_type('artist_to_song')->my_get_related(get_queried_object() ); $features = p2p_type( 'song_to_feature' )->my_get_related( get_queried_object() ); if ( $related->have_posts() ) : while ( $related->have_posts() ) : $related->the_post(); //zawartość koniec; wp_reset_postdata(); endif; if ( $features->have_posts() ) : while ( $features->have_posts() ) : $features->the_post(); //zawartość koniec; wp_reset_postdata(); endif; Czy można połączyć wyniki tych pętli w jedną, tak aby wszystkie posty były wymienione w porządku chronologicznym, w przeciwieństwie do wyników, po których następuje „$related”, po której następuje „$features”.


title: Role użytkownika nie przyklejają się

text: Dodałem niestandardową rolę użytkownika super_poster, w zasadzie tworzą 20 postów, a po osiągnięciu limitu $ postlimit zostają automatycznie przesunięci z powrotem na poziom współtwórcy, przesuwanie w dół i liczenie postów działa dobrze, mój problem polega na tym, że system wp dodaje użytkownika na "none" zamiast na rolę współtwórcy if ($count_posts >= $postlimit) { $current_user->remove_role( 'super_poster' ); $current_user->add_role( 'współtwórca' ); } współtwórca jest domyślnie ustawiony dla nowego użytkownika podczas rejestracji, więc sytuacja, którą mam, jest na stronie edycji użytkownika wp-admin. Widzę, że nowo przeniesiony (do współtwórcy z super plakatu) nadal ma „dodatkowe możliwości współtwórcy”, jednak użytkownik rozwijane role mówi --Brak roli dla tej witryny -- Strona użytkowników wp-admin pokazuje super_poster jak w grupie użytkowników "none", co daje?


title: Jak otrzymam zdjęcia najwyżej ocenionych użytkowników?

text: Używam wtyczki Q/A do oceny użytkowników, mam funkcję jak poniżej, chcę zrobić zdjęcia najwyżej ocenionych użytkowników, w jaki sposób mogę uzyskać zdjęcia najwyżej ocenionych użytkowników i chcę je wyświetlić w domu strona z obrazami i punktacja z oddzielnymi polami, jak StackOverflow, do uruchomienia tego zapytania potrzebuję `add_filter()`. Gdzie mam dodać ten kod? funkcja the_top_qa_users() { globalna $wpdb; $user_ids = $wpdb->get_col("SELECT DISTINCT user_id FROM $wpdb->usermeta WHERE meta_key = '_qa_rep' AND meta_value NIE JEST NULL ORDER BY meta_value DESC LIMIT 0 , 5"); foreach($user_ids as $id){ the_qa_user_link($id); echo '<br/>'; } }


title: Dziedziczenie postów i stron do podstron w sieci WordPress

text: Muszę stworzyć wielonarodową, wielojęzyczną stronę internetową. Jeden kraj może mieć wiele języków. Skonfigurowałem sieć WordPress i stworzyłem podstrony dla każdego kraju, jak poniżej. abc.com/ > Witryna globalna abc.com/usa > Witryna USA abc.com/fra > Witryna francuska Wykrywam kraje za pomocą interfejsu API lokalizacji geograficznej i siłą przekierowuję je do witryny ich własnego kraju. Każdy kraj ma swój własny zestaw języków, m.in. Francja będzie miała angielski i francuski z francuskim jako językiem domyślnym. Zdecydowałem się użyć PolyLang do tłumaczeń językowych. To działa dobrze. abc.com/fra/ > domyślna francuska strona internetowa abc.com/fra/en > angielskie tłumaczenie francuskiej strony internetowej. Problem, z którym się borykam, polega na tym, że na każdej podstronie znajdują się zduplikowane treści w języku angielskim. Czy w ogóle możemy uniknąć duplikatów, a angielska wersja podstron korzysta z anglojęzycznych stron/postów z globalnej witryny. Idealnie, administrator powinien mieć możliwość wyboru, który z nich trafia do podstrony, a który nie. Istnieje również sekcja wydarzeń, która może zawierać wydarzenia globalne, a także wydarzenia na poziomie lokalnym/krajowym. Przychodzą mi do głowy następujące rozwiązania i ich wady 1. Wtyczka ThreeWP Broadcast. Ta wtyczka emituje stronę/posty do innych witryn po wybraniu. Wydaje się, że to doskonały wybór, ale powiela treść, której unikam. Co więcej, nie jestem pewien, jak będzie działać z tłumaczeniami PolyLang. 2. Dodanie akcji 'template_redirect' lub 'wp', jeśli podwitryna nie może znaleźć ślimaka, a ten sam ślimak jest dostępny w witrynie globalnej, należy go wypełnić i uniknąć błędu 404. Musimy również przechwycić lub nadpisać wywołania WP_Query, aby uruchomić to samo zapytanie na globalnym witryny i zwróć wyniki. Jeśli chodzi o PolyLang, nie jestem pewien, jak to będzie działać. Myślę, że da się to załatwić. To podejście jest skomplikowane i może się nigdzie skończyć. Czy ktoś ma lepsze rozwiązanie? Wtyczka czy pomysł, który może rozwiązać tę ciekawą zagadkę? Uważam, że jest to typowy scenariusz dla międzynarodowej firmy. Musi więc istnieć realne rozwiązanie tego problemu.


title: Shortcode nie zostanie wykonany

text: Stworzyłem krótki kod, korzystając z mojej ograniczonej wiedzy, Google i stackexchange, aby to zrobić. Ale kiedy ładuję stronę, ładuje się ona nad zawartością strony i pojawia się jako tekst html. (skrócony tekst) ------- normalnie wyświetlana zawartość strony Jak już wspomniałem, mam ograniczoną (Zerową) wiedzę na temat tego typu kodowania i nie jestem w stanie stwierdzić, która część/co nie działa. Dołączyłem skompaktowaną wersję kodu, którego użyłem, z mniejszą zawartością wyświetlaną w funkcji shortcode. // Dodaj funkcję Shortcode p_formatage( $atts , $content = null ) { // Attributes extract( shortcode_atts( array( 'postid' => '', 'ptitle' => '', 'pimage' => '', ) , $atty ) ); $postid = $atts['postid']; $ptitle = $atts['ptitle']; $pimage = $atts['pimage']; // Tytuł posta $p-ptitle = if ( empty( $ptitle ) ) { echo "Ups! Wygląda na to, że poszło nie tak!"; } else { if ( $postid == true ) { echo "' . $ptitle . '"; } else { echo "'. $ptitle. '"; } } $p-beta = if ( empty( $pimage)) { echo "$ptitle"; } else { echo ""; } $pclass = if ( $postid ) { echo "$p-ptitle"; } else { echo "$p-beta"; } // Wyjście $output = { echo "$pclass"; } return $wyjście; } add_shortcode( 'p-fmt', 'p_formatage' );


title: Jak śledzić postępy użytkowników na stronach, wstawiając dane do bazy danych Wordpress?

text: Użytkownicy mojej strony internetowej mogą uczyć się brytyjskiego języka migowego poprzez wideo, quizy, gry itp. Chciałbym śledzić postępy użytkowników na stronach kursu i dodawać te dane do bazy danych Wordpress. Struktura kursu od pierwszej strony jest mniej więcej taka: Wprowadzenie do etapu 1 --> (następna strona) Tut wideo --> Quiz --> Strona quizu 2 --> Egzamin --> Wprowadzenie do etapu 2.. itd. Myślałem o wstawianiu/aktualizowaniu liczby całkowitej lub ciągu znaków (które reprezentuje postęp) na przycisku „zapisz i następna” strony za pomocą PHP. Zwiększyłoby to liczbę lub zmieniło ciąg w bazie danych użytkowników i pozwoliłoby mi śledzić, które strony przeszli, i wyświetlać je w innych częściach witryny (strona konta, obok nazwy użytkownika, strony kursu itp.). Pozwoliłoby mi to również ograniczyć dostęp, dopóki nie spełnią wymagań wstępnych (jeśli kiedykolwiek będę chciał to zrobić). Czy ktoś mógłby mi krótko wyjaśnić, jak to zrobić lub zaproponować alternatywę? Jestem zaznajomiony z PHP i mysql, ale moje umiejętności nie są wystarczające, aby bezpiecznie wykonać coś takiego. Dziękuję Ci.


title: jak dodać rekordy limitu w zapytaniu wordpress

text: Mam to zapytanie, które zwraca wszystkie rekordy z bazy danych, których typ jest równy „quote2”. Nie, chcę wiedzieć, jak ograniczyć zapis. Chodzi mi o to, że chcę tylko pokazać ostatnie 10 rekordów dodanych do bazy danych. Jestem nowy w wordpressie i chcę poznać składnię mojego wymaganego zapytania. globalny $wpdb; $querystr = "wybierz $wpdb->posty.* Z $wpdb->posty GDZIE $wpdb->posts.post_type = 'quote2'";


title: Zagnieżdżona pętla wp_query nie wyświetla połączonych postów

text:
Mam pętlę wp_query zagnieżdżoną w innej pętli wp_query. Pierwsza pętla odpytuje najnowsze filmy. Druga pętla odpytuje osoby połączone z każdym filmem z pierwszej pętli (filmy i osoby są połączone wtyczką Posts2Posts). Obie pętle osobno działają dobrze, ale złożona tylko pierwsza pętla pokazuje filmy, a druga pętla nie pokazuje połączonych wykonawców. Co jest nie tak z zagnieżdżoną pętlą? Dziękuję!

Najnowsze filmy
 <?php // LOOP 1 $args = array( 'orderby' => 'cf-release-date', 'order' => 'opis', 'post_type' => 'film' ); $the_query = nowe WP_Query( $args ); ?> <?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
 <a href="<?php the_permalink(); ?>"><img src="<?php echo types_render_field("cf-movie-dvd-cover", array(output =>"surowy"));?>">
<a class="title-link" href="<?php the_permalink(); ?>"><?php the_title(); ?>

 <?php // PĘTLA 2: Znajdź połączone OSOBY $connected = new WP_Query( array( 'connected_type' => 'movies_to_persons', 'connected_items ' => get_queried_object(), 'connected_meta' => array( array( 'value' => 'aktor', ) ), 'nopaging' => true, 'orderby' => 'title', 'order' => ' asc')); // Wyświetl połączone OSOBY if ( $connected->have_posts() ) : ?>
Funkcja:
 <?php while ( $connected->have_posts() ) : $connected->the_post(); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php endwhile; ?> <?php // Zapobiegaj dziwności wp_reset_postdata(); endif; ?>

 <?php endwhile; else: ?>
Przepraszamy, nie ma filmów do wyświetlenia
 <?php endif; ?>


title: Wtyczka Jetpack - 'posts_per_page' nie zastępuje opcji 'Strony bloga pokazują co najwyżej', także różne wartości dla różnych typów postów?

text: Mam zainstalowany Jetpack i mam Infinite Scroll działający na moim motywie, ale `posts_per_page` nie ma żadnego efektu, liczba początkowo pokazanych i załadowanych postów to moja liczba „Blogi pokazują najwyżej” w Ustawienia -> Czytanie, która wynosi 5. funkcja miteme_render_infinite_scroll() { while ( have_posts() ): the_post(); if ('mytheme_custom_post_type' == get_post_type()) : get_template_part( 'content', 'archive-custom' ); else : get_template_part( 'zawartość', get_post_format() ); endif; koniec; } function myteme_jetpack_setup() { add_theme_support( 'infinite-scroll', array( 'container' => 'content', 'footer_widgets' => 'footer-widgets', 'type' => 'kliknij', 'render' => 'mytheme_render_infinite_scroll', 'wrapper' => prawda, 'posts_per_page' => '15' ) ); } Renderuję również inny szablon treści w zależności od tego, jaki jest bieżący typ postu, używając funkcji `mytheme_render_infinite_scroll` powyżej. Byłoby wspaniale, gdybym mógł ustawić wartość `posts_per_page` tak, aby była różna w zależności od typu posta, np. mieć 5 postów na stronie wyświetlanych w archiwum bloga, ale mieć 15 postów na stronie wyświetlanych na stronie archiwum `mytheme_custom_post_type`. Nie jestem pewien, jak to zrobić, moja próba byłaby następująca: function myteme_render_infinite_scroll() { while ( have_posts() ) : the_post(); if ('mytheme_custom_post_type' == get_post_type()) : get_template_part( 'content', 'archive-custom' ); else : get_template_part( 'zawartość', get_post_format() ); endif; koniec; } function myteme_infinite_scroll_posts_per_page() while ( have_posts() ): the_post(); if ('mytheme_custom_post_type' == get_post_type()) : return 15; inaczej : powrót 5; endif; koniec; function myteme_jetpack_setup() { add_theme_support( 'infinite-scroll', array( 'container' => 'content', 'footer_widgets' => 'footer-widgets', 'type' => 'kliknij', 'render' => ' mytheme_render_infinite_scroll', 'wrapper' => true, 'posts_per_page' => 'mytheme_infinite_scroll_posts_per_page' ) ); } add_action( 'after_setup_theme', 'mytheme_jetpack_setup' ); ... ale nie mam pojęcia, czy to zadziała, Jetpack prawdopodobnie nie jest skonfigurowany do obsługi tego! Nie mogę tego również przetestować, ponieważ jak powiedziałem powyżej argument `posts_per_page` nie daje żadnego efektu. Dokument pomocy technicznej Jetpack jest tutaj: http://jetpack.me/support/infinite-scroll/ **EDIT:** Zrobiłem kilka testów i doszedłem do wniosku, że Jetpack jest zbudowany tak, że `posts_per_page Argument ` działa tylko wtedy, gdy `typ` nie jest ustawiony na `klik`. Nie mogę znaleźć tego w żadnej dokumentacji, więc mogę się mylić, ale `posts_per_page` pracuje z `'type' => 'scroll'`, ale nie z `'type' => 'click'`


title: Pokaż wartości niestandardowego typu postu w widoku siatki Wordpress

text:
Stworzyłem niestandardowy typ posta w WordPressie, jak pokazano na rysunku. ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/71Di2.png) Chcę pokazać wartości wprowadzone w tym niestandardowym poście w widoku siatki panelu administracyjnego. Teraz panel administracyjny wyświetla tylko obrazy tytułu posta, daty i komentarza, ale chcę pokazać wartości pól Pair2, kup, sprzedaży i aktywności wprowadzone w moim niestandardowym poście. Dużo szukałem, ale nie mogłem znaleźć żadnego rozwiązania. Jak mam się do tego zabrać w WordPressie? ![tutaj wprowadź opis obrazka](http://i.stack.imgur.com/ukG7R.png) **EDYTUJ** Oto jak tworzę swój niestandardowy post <?php if( ! function_exists( 'quote_create_post_type' ) ) : function quote_create_post_type() { $labels = array( 'name' => __( 'ForexPair' ), 'singular_name' => __( 'ForexPair' ), 'add_new' => __( 'Dodaj wpis pary' ), 'all_items' => __( 'Wszystkie pary' ), 'add_new_item' => __( 'Dodaj parę' ), 'edit_item' => __( 'Edytuj parę' ), 'new_item' => __( 'Nowa para' ), 'view_item' => __( 'Wyświetl parę' ), 'search_items' => __( 'Wyszukaj pary' ), 'not_found' => __( 'Nie znaleziono pary' ), 'not_found_in_trash' => __( ' Nie znaleziono pary w koszu' ), 'parent_item_colon' => __( 'Para nadrzędna' ) //'menu_name' => domyślnie 'name' ); $args = array( 'labels' => $labels, 'public' => true, 'has_archive' => true, 'publicly_queryable' => true, 'query_var' => true, 'rewrite' => true, 'capability_type ' => 'post', 'hierarchical' => false, 'supports' => array( 'title' ), 'register_meta_box_cb' => 'quote_add_post_type_metabox' ); register_post_type( 'cytat', $args ); //flush_rewrite_rules(); } add_action( 'init', 'quote_create_post_type' ); function quote_add_post_type_metabox() { // dodaj metabox //add_meta_box( 'quote_metabox', 'quote_metabox', 'quote', 'normal' ); add_meta_box( 'quote_metabox', 'Paruj wpisy', 'quote_metabox', 'quote', 'normal' ); } funkcja quote_metabox() { global $post; // Noncename potrzebne do sprawdzenia, skąd pochodzą dane echo '<input type="hidden" name="quote_post_noncename" id="quote_post_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ).'" />'; // Pobierz dane, jeśli zostały już wprowadzone $quote_post_entryprice = get_post_meta($post->ID, '_quote_post_entryprice', true); $quote_post_stoploss = get_post_meta($post->ID, '_quote_post_stoploss', prawda); $quote_post_pairname = get_post_meta($post->ID, '_quote_post_pairname', prawda); $quote_post_buysell = get_post_meta($post->ID, '_quote_post_buysell', prawda); $quote_post_activity = get_post_meta($post->ID, '_quote_post_activity', prawda); $quote_post_takeprofit = get_post_meta($post->ID, '_quote_post_takeprofit', prawda); // Echo poza pole ?> <link rel="stylesheet" href="http://gripforex.com/wp-content/themes/Forsy/select2.css" />    <styl> .lbl{ szerokość: 86px; Blok wyświetlacza; wysokość linii: 20px; } </style>

 Paruj:  <select name="quote_post_pairname" id="e1" style="szerokość:144px;"> <option value="AUD/CAD" <?php if($quote_post_pairname=="AUD/CAD") echo "wybrany"; ?> >AUD/CAD</option> <option value="AUD/CHF" <?php if($quote_post_pairname=="AUD/CHF") echo "wybrano"; ?> >AUD/CHF</option> </select>

 Kup Sprzedaj <select name="quote_post_buysell" id="e2" style="width:144px; "> <wartość opcji="Kup" <?php if($quote_post_buysell=="Kup") echo "wybrane"; ?> >Kup</option> <option value="Sprzedaj" <?php if($quote_post_buysell=="Sprzedaj") echo "wybrane"; ?> >Sprzedaj</option> </select>

 Aktywność <select name="quote_post_activity" id="e3" style="width:144px ;"> <option value="Przygotuj się" <?php if($quote_post_activity=="Przygotuj się") echo "wybrane"; ?> >Przygotuj się</option> <option value="Aktywny" <?php if($quote_post_activity=="Aktywny") echo "wybrane"; ?> >Aktywny</option> </select>

 Cena wejścia
 <input type="text" name="quote_post_entryprice" class= "widefat" value="<?php echo $quote_post_entryprice; ?>">

Stop Loss
 <input type="text" name= "quote_post_stoploss" value="<?php echo $quote_post_stoploss; ?>" class="widefat" />

Zrealizuj zysk
 <typ danych wejściowych ="text" name="quote_post_takeprofit" value="<?php echo $quote_post_takeprofit; ?>" class="widefat" />

 <?php } funkcja quote_post_save_meta( $post_id , $post ) { // zapisz dane if( !wp_verify_nonce( $_POST['quote_post_noncename'], plugin_basename(__FILE__) ) ) { return $post->ID; } // czy użytkownik może edytować post lub stronę? if( ! current_user_can( 'edit_post', $post->ID )){ return $post->ID; } $quote_post_meta['_quote_post_entryprice'] = $_POST['quote_post_entryprice']; $quote_post_meta['_quote_post_stoploss'] = $_POST['quote_post_stoploss']; $quote_post_meta['_quote_post_pairname'] = $_POST['quote_post_pairname']; $quote_post_meta['_quote_post_buysell'] = $_POST['quote_post_buysell']; $quote_post_meta['_quote_post_activity'] = $_POST['quote_post_activity']; $quote_post_meta['_quote_post_takeprofit'] = $_POST['quote_post_takeprofit']; // dodaj wartości jako pola niestandardowe foreach( $quote_post_meta as $key => $value ) { // przejdź przez tablicę $quote_post_meta // if( $post->post_type == 'revision' ) return; // nie przechowuj niestandardowych danych dwa razy $value = implode(',', (array)$value); // jeśli $value jest tablicą, zmień ją na CSV (mało prawdopodobne) if( get_post_meta( $post->ID, $key, FALSE ) ) { // jeśli niestandardowe pole ma już wartość update_post_meta($post->ID , $klucz, $wartość); } else { // jeśli niestandardowe pole nie ma wartości add_post_meta( $post->ID, $key, $value ); } if( !$wartość ) { // usuń jeśli puste delete_post_meta( $post->ID, $key ); } } } add_action( 'save_post', 'quote_post_save_meta', 1, 2 ); // zapisz niestandardowe pola endif; // koniec function_exists() if( ! function_exists( 'view_quotes_posts' ) ) : // wyprowadzanie funkcji view_quotes_posts( $num = 4, $do_shortcode = 1, $strip_shortcodes = 0 ) { $args = array( 'numberposts' => $num, 'offset' => 0, //'category' => , 'orderby' => 'menu_order, post_date', // post_date, rand 'order' => 'DESC', 'post_type' => 'cytat ', 'post_status' => 'opublikuj', 'suppress_filters' => prawda, ); $posts = get_posts( $args ); globalny $wpdb; $querystr = "wybierz $wpdb->posty.* Z $wpdb->posty GDZIE $wpdb->posts.post_type = 'cytat'"; $html = '

Paruj	Działanie	Status	Cena wejścia	Zatrzymaj stratę	Zdobądź zysk
'; foreach ( $posts as $post ) { $meta_entryprice = get_post_meta( $post->ID, '_quote_post_entryprice', true ); $meta_stoploss = get_post_meta( $post->ID, '_quote_post_stoploss', prawda ); $meta_pairname = get_post_meta( $post->ID, '_quote_post_pairname', prawda ); $meta_buysell = get_post_meta( $post->ID, '_quote_post_buysell', prawda ); $meta_activity = get_post_meta( $post->ID, '_quote_post_activity', true ); $meta_takeprofit = get_post_meta( $post->ID, '_quote_post_takeprofit', prawda ); $html.='
'; $html .= ' '.$meta_pairname.'	 '.$meta_buysell.'	 '.$meta_activity.'	 '.$ meta_entryprice.'	 '.$meta_stoploss.'	 '.$meta_takeprofit.'	 '; $html.='
'; } $html .="
"; $html = '
'.$html.'
'; zwróć $html; } endif; ?>


title: Czy ktoś próbował umieścić PHP ActiveRecord na Wordpressie?

text: Pracowałem z Ruby on Rails i szukałem kodu, który zrobiłby coś zbliżonego do wspaniałego ActiveRecord RoR. Przeszedłem przez tę stronę. Jego PHP-ActiveRecord! Uważam to za niesamowite i dokładnie tego szukałem, ale nie znalazłem nikogo, kto próbowałby go użyć na WordPressie, więc trochę się przestraszyłem. Jakieś doświadczenia, którymi mógłbyś się podzielić? Moim pierwszym pomysłem było wymaganie biblioteki w functions.php i stworzenie motywu potomnego z modelami w folderze. Tak naprawdę nie wiem, jak poradzi sobie z tabelami w bazie danych, z którymi nie będzie mógł sobie poradzić. Cóż, poczekam na twoje wrażenia.


title: strona bloga wyświetlająca się jako strona główna/lądowa pomimo zmiany szablonu i ustawień czytania

text:
Witryna na żywo. Mam problem z dokładnym określeniem, dlaczego strona bloga jest wyświetlana jako strona główna/strona docelowa. Zmieniłem szablon strony na General/page.php i ustawiłem ustawienia czytania WP na Front Page jako Static/Home i stronę Posts jako Blog. Jakieś pomysły? Wszystkie inne strony, które ustawiłem do korzystania z szablonu Ogólne, zrobiły to bez problemu. index.php <?php get_header(); ?>

Cześć, jestem Dylan Elchami-
pasjonat zdrowia i fitnessu z zamiłowaniem do inspirujące.

Moje zainteresowania są rozległe i ciągle się zmieniają, ale moje zalety pozostają prawdziwe. Uwielbiam motywować, tworzyć, sprawiać, że ludzie są zdrowsi, silniejsi, bardziej seksowni i lepiej spłaszczać się, jednocześnie budując wspaniałe, nieskrępowane relacje. Wędruj po mojej stronie i ciesz się wszystkimi informacjami, które dla Ciebie publikuję, a jeśli masz pytanie, nie wahaj się ze mną skontaktować - to Twój sposób na oddanie wszystkich bezpłatnych informacji, ponieważ pomaganie Tobie sprawia, że czuję się NIESAMOWITE.

Bądź w kontakcie-

<img src="<?php echo get_template_directory_uri(); ?>/img/facebook.png" alt="Lubię to na Facebooku" />

<img src="<?php echo get_template_directory_uri(); ?>/img/twitter.png" alt="Obserwuj na Twitterze" />

<img src="<?php echo get_template_directory_uri(); ?>/img/linkedin.png" alt="Połącz na LinkedIn" />

 <?php $my_query = new WP_Query( array( 'posts_per_page' => 3, 'nopaging' => true ) ); echo $liczba_postów; while ( $my_query->have_posts() ): ( $my_query->the_post() ); ?>

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

 <?php the_post_thumbnail( array(120,102) ); ?>

 <?php endwhile; ?>
 <?php get_sidebar(); ?> <?php get_footer(); ?> page.php <?php /* Nazwa szablonu: Ogólne */ ?> <?php get_header(); ?>

 <?php if(have_posts()) : while(have_posts()) : the_post(); ?> <?php koniec; ?> <?php else : ?>
Nie jestem pewien, czego szukasz.
 <?php endif; ?>

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

napisany przez <?php the_author(); ?> dnia <?php data_(); ?>

 <?php the_content('czytaj więcej...'); ?>

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


title: Jak stworzyć stronę galerii?

text: Wyrywam sobie włosy, próbując wymyślić, jak zrobić stronę z galerią zdjęć. Mam nadzieję, że potrafię to wyjaśnić w sposób zrozumiały dla każdego. Mam wiele galerii na mojej stronie i chciałbym wyświetlić je na jednej stronie i mieć jeden obraz jako link do otwarcia tego posta w galerii. Polub galerię na ten temat http://themes.devilcantburn.com/stereoline/gallery/. Jestem trochę nowy w wordpressie i nie jestem pewien, jaki jest najlepszy sposób wyświetlania galerii, ktoś zasugerował utworzenie szablonu strony, który próbowałem, ale byłem zbyt skomplikowany, aby wymyślić, jak dodać obrazy do linków. Wolałbym używać kodowania niż wtyczki, ale w tym momencie jestem gotów spróbować wszystkiego, o ile uzyskam wynik, którego potrzebuję. Podoba mi się sposób, w jaki moje galerie są obecnie wyświetlane w mojej witrynie, ale nie sposób, w jaki są wyświetlane podczas ich przeszukiwania. (http://bgpworld.com/?cat=157). Jeśli ktoś ma rozwiązanie byłabym bardzo wdzięczna. Dziękuję


title: Sortuj użytkowników według niestandardowej wartości meta użytkownika

text: Próbuję posortować użytkowników według niestandardowej wartości meta „user_business”, która jest nazwą ich firmy, w ten sposób, gdy użytkownicy są wymienieni, są sortowani alfabetycznie według nazwy firmy, tak jak powinni. Obecnie używam: <?php // argumenty WP_User_Query $args = array ( 'exclude' => array( 1 ), 'count_total' => true, 'fields' => 'all_with_meta', ); // Zapytanie użytkownika $user_query = new WP_User_Query( $args ); // Pętla użytkownika if ( ! empty( $user_query->results ) ) { foreach ( $user_query->results as $user ) { ?> Czy istnieje sposób na uporządkowanie użytkowników według metaklucza "user_business"?


title: Za mało pamięci

text: Czasami po aktywacji wtyczki strona administracyjna jest pusta z komunikatem o błędzie pamięci, czasami też strona główna. Standardową poprawką jest zwiększenie pamięci w config.php. Jaki jest najlepszy sposób, aby z góry zapobiec wystąpieniu wszystkich lub większości problemów z pamięcią?


title: Wordpress Action Hooki i identyfikator posta?

text: Tworzę bardzo podstawową wtyczkę Wordpress, której celem jest wyświetlanie wartości liczbowej obok każdego postu. Moja logika dla funkcji wtyczki ( **plugin.php** ) jest następująca: <?php function foo($post_id){ $somevalue=1 //Jakaś losowa wartość add_post_meta($post_id, 'posts_numericalvalue', '0', true) lub update_post_meta($_post_id, 'posts_numericalvalue', $somevalue); } add_action('post_save', 'foo'); ?> A w **index.php** mojego szablonu mam (wewnątrz pętli): <?php .... printf(__('Stały link do %s', 'kubrick'), the_title_attribute('echo =0')); $numerical_val = get_post_meta($post->ID, posts_numericalvalue); echo 'ten post ma wartość ' .$numerical_val; .... ?> 1) Powyższy kod oczywiście nie działa. Myślę, że to dlatego, że moja funkcja w plugin.php wymaga ode mnie przekazania identyfikatora bieżącego posta, ale hak akcji nie przekazuje bieżącego identyfikatora postu (popraw mnie, jeśli się mylę). Jak przekazać identyfikator posta do mojej funkcji w plugin.php za pomocą haka akcji? 2) Jakiś inny elegancki sposób na zrobienie tego? Muszę tylko przypisać do moich postów wartość liczbową, która powinna zostać zaktualizowana o 1, jeśli post już go ma, zero, jeśli jeszcze go nie ma. Każda pomoc jest mile widziana. Dziękuję.


title: Usuń menu administratora dla niestandardowej taksonomii dołączonej do niestandardowego typu postu

text: Próbuję stworzyć taksonomię, która jest trochę ukryta, co oznacza, że zamierzam dostosować metabox tak, aby można było wybrać tylko unikalny termin z 3 opcji. „polecany”, „normalny” lub „wykluczony”. ale nie wiem, jak usunąć menu administracyjne. poniższe polecenie usuwa pozycję menu Tagi spod Postów: add_action('admin_menu','yoursite_admin_menu'); function yoursite_admin_menu() { // remove_submenu_page zostało wprowadzone w 3.1 remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=post_tag' ); } ale to nie usuwa taksonomii Featured spod Portfolio add_action('admin_menu','yoursite_admin_menu'); function yoursite_admin_menu() { // remove_submenu_page zostało wprowadzone w 3.1 remove_submenu_page( 'edit.php?post_type=portfolio', 'edit-tags.php?taxonomy=featured&post_type=portfolio' ); } Próbowałem tego na kilka różnych sposobów w odniesieniu do ślimaków, ale nie mogę zmusić żadnego z nich do pracy. czego mi brakuje?


title: Jak ograniczyć wyszukiwanie do pierwszej litery tytułu?

text: Zastanawiałem się, czy istnieje sposób, aby wyszukiwanie szukało tylko pierwszej litery w tytule posta, powiedzmy, że moje zapytanie wyszukiwania to www.mysite.com/?s=q Chcę uzyskać wszystkie posty, które się zaczynają z literą „Q”. czy to możliwe? Z góry dziękuję.


title: Jak stworzyć pełny nagłówek, ale zachować wąską treść

text:
Chcę ustawić pełny nagłówek w motywie Wordpress, a jednocześnie chcę, aby treść była wąska (w środku). Jak mogę to zrobić? Próbuję tak:
 ...

 Wyświetli obraz tła w porządku, tytuł i inny tekst wewnątrz nagłówka będą całkowicie po lewej stronie. (Ponieważ jest to opakowanie, które przechowuje centrum treści, a teraz nagłówek znajduje się poza opakowaniem). Jeśli umieszczę nagłówek wewnątrz tagu wrappera, tekst wewnątrz nagłówka jest we właściwym miejscu, ale obraz nagłówka będzie również wyświetlany tylko w obszarze wrappera (nie będzie wyświetlany na całym ciele). Chcę mieć jeden obraz w tle nagłówka i inny obraz w tle treści. Będę wdzięczny za pomoc w rozwiązaniu tego problemu.


title: Problem z utworzeniem tabeli za pomocą dbDelta

text: Pracuję nad wtyczką, która _była_ pomyślnie utworzyła tabelę. Postanowiłem jednak przetestować go w nowej instalacji Wordpressa (na moim lokalnym serwerze) i teraz tabela nie jest tworzona w moim kodzie aktywacyjnym. Zamiast tego otrzymuję komunikat o błędzie: > Wtyczka wygenerowała 149 znaków nieoczekiwanego wyniku podczas aktywacji. > Jeśli zauważysz wiadomości „nagłówki już wysłane”, problemy z syndykacją > kanały lub inne problemy, spróbuj dezaktywować lub usunąć tę wtyczkę. Oto mój kod: function nc_create_location_table() { // czyni tabelę lokalizacji globalną $wpdb; globalna $prosta_lokalizacja_wersja; $table_name = $wpdb->prefiks . "lokalizacja_nc"; $installed_ver = get_option( "prosta_lokalizacja_wersja" ); if( $installed_ver != $simple_location_version ) { $sql = "UTWÓRZ TABELĘ " . $nazwa_tabeli . " ( identyfikator_lokalizacji MEDIUMINT(9) NOT NULL AUTO_INCREMENT, PRIMARY KEY (identyfikator_lokalizacji), nazwa VARCHAR (100), nr_ulicy VARCHAR (5), nazwa_ulicy VARCHAR (75), miasto VARCHAR (75), stan_prowincji VARCHAR (75), kod_pocztowy VARCHAR( 10), kraj VARCHAR (75) );"; require_once (ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); update_option("simple_location_version", $simple_location_version); } $tmp = get_option('nc_location_options'); if(($tmp['chkbox_reset']=='on')||(!is_array($tmp))) { echo 'ustawianie wartości domyślnych'; $arr = array( "nc_location_zoom"=>10, "nc_location_width" => "200", "nc_location_height" => "200", "nc_location_drop_down_maptype" => "droga", ); update_option('nc_location_options', $arr); } } register_activation_hook(__FILE__,'nc_create_location_table'); Kiedy sprawdzam moje tabele, widzę, że moja tabela nie została utworzona, a także otrzymuję komunikat o błędzie. Jeśli ktoś może rzucić światło na to, dlaczego kod, który _był_ działał, teraz nie działa (a także, czy można zobaczyć _gdzie_ jest nieoczekiwane wyjście... ponieważ nie ma informacji o błędzie poza tym komunikatem)?


title: Przekazywanie danych wejściowych z jednej kolumny do drugiej w poście

text: Mam post z układem 2 kolumn. Pierwsza kolumna zawiera odtwarzacz mp3. Zastanawiam się nad dodaniem okna Tekst w drugiej kolumnie. W oparciu o utwór wybrany przez użytkownika, okno Słowa wyświetli tekst piosenki. (bez odświeżania całej strony). Czy jest to możliwe w samoobsługowej witrynie wordpress? Dzięki za pomoc.


title: Pomoc z walkerem do nawigacji

text:
Z jakiegoś powodu ten chodzik nie zadziała, gdy przekażę `'echo' => 0`, zawsze wypisuje nav i nigdy nie zwraca nav jako zmiennej var. Wydaje mi się, że nie potrafię rozgryźć, gdzie to jest, przekazując to w wordpressie. Czy jest szansa, że ktoś dostrzeże problem? function bones_main_nav() { $menu_args = array( 'menu' => 'main_nav', /* nazwa menu */ 'menu_class' => 'nav', 'echo ' => 0, 'theme_location' => 'main_nav', /* gdzie w motywie jest przypisany */ 'container' => 'false', /* klasa kontenera */ //'fallback_cb' => 'bones_main_nav_fallback', /* menu fallback */ 'depth' => '2' , /* wstrzymaj na razie niższe poziomy */ 'walker' => new description_walker() ); echo wp_nav_menu($menu_args); /* if(function_exists('new_beginnings')) { $topNav = wp_get_cache('topNav'); if ($topNav === false) { $topNav = wp_nav_menu($menu_args); print_r($topNav); wp_set_cache('topNav', $topNav, 4000); } echo $topNav; } else { echo wp_nav_menu($menu_args); } */ } // to jest rezerwa funkcji menu nagłówka bones_main_nav_fallback() { // nie wywoływanie tej funkcji w przypadku stron wielopoziomowych - mamy nadzieję dodać rozwijane menu jako ulepszenie //wp_page_menu( 'show_home=Home&menu_class=menu' ) ; } // to jest awaryjne rozwiązanie dla funkcji menu stopki bones_footer_links_fallback() { /* możesz umieścić tutaj wartość domyślną */ } // Mody wyjścia menu class description_walker extends Walker_Nav_Menu { function start_el(&$output, $item, $ głębokość, $args) { global $wp_query; $wcięcie = ( $głębokość ) ? str_repeat( "\t", $depth ): ''; $nazwy_klasy = $wartość = ''; // Jeśli element ma dzieci, dodaj klasę dropdown dla bootstrap if ( $args->has_children ) { $class_names = "dropdown"; } $classes = puste( $item->classes ) ? array() : (tablica) $item->classes; $class_names .= join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ); $klasy_nazwy = 'klasa="'.esc_attr( $klasy_nazwy) '"'; $wyjście .= $wcięcie . '
ID . '"' . $wartość . $klasy_nazwy .'>'; $atrybuty = ! pusty( $item->attr_title ) ? ' title="' .esc_attr( $item->attr_title) .'"' : ''; $atrybuty .= ! pusty( $item->target) ? ' target="' .esc_attr( $item->target) .''"' : ''; $atrybuty .= ! pusty( $item->xfn ) ? 'rel="' .esc_attr( $item->xfn) .'"' : ''; $atrybuty .= ! pusty( $item->url ) ? ' href="' .esc_attr( $item->url) .'"' : ''; // jeśli element ma dzieci dodaj te dwa atrybuty do znacznika kotwicy if ( $args->has_children ) { $attributes .= 'class="dropdown-toggle" data-toggle="dropdown"'; } $item_output = $args->before; $item_output .= ''; $item_output .= $args->link_before .apply_filters( 'the_title', $item->title, $item->ID ); $item_output .= $args->link_after; // jeśli element ma dzieci dodaj karetkę tuż przed zamknięciem znacznika kotwicy if ( $args->has_children ) { $item_output .= ''; } else{ $item_output .= ''; } $item_output .= $args->po; $wyjście .= zastosuj_filtry( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } function start_lvl(&$output, $depth) { $indent = str_repeat("\t", $depth); $output .= "\n$indent
\n"; } function display_element( $element, &$children_elements, $max_depth, $depth=0, $args, &$output ) { $id_field = $this->db_fields['id']; if ( is_object( $args[0] ) ) { $args[0]->has_children = ! pusty( $children_elements[$element->$id_field] ); } return parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output ); } }


title: Członkowie SQL Query według pól profilu Buddypress

text: próbuję dodać opcję wyszukiwania opartą na profilu do mojej istniejącej wtyczki. moja wtyczka już wyszukuje członków według odległości w określonym promieniu i chcę dodać opcję filtrowania wyników według pól profilu. to, co próbuję zrobić, to uzyskanie identyfikatora użytkownika, który ma pasujące wartości wprowadzone w formularzu wyszukiwania. próbuję czegoś takiego: SELECT user_id FROM {$bp->profile->table_name_data} WHERE (field_id1 = "field1" AND value1 = "value1") AND (field_id2 = "field2" AND value2 = "value2") AND (field_id3 = "pole3" AND wartość3 = "wartość3") ........ ale to nie działa. będzie działać tylko z klauzulą WHERE, ale nie podczas dodawania AND. Zakładam, że może to mieć coś wspólnego z połączeniami? jakakolwiek pomoc byłaby bardzo mile widziana.


title: Czy ktoś może wyjaśnić buforowanie Wordpress i co jest najlepsze w moim scenariuszu?

text: Tworzę serwis, który ma dwie podstawowe grupy użytkowników: Subskrybenci i Redaktorzy. Bot może tworzyć posty za pomocą niestandardowego formularza za pomocą `wp_insert_post()`, ale Redaktorzy mogą oznaczać posty jako prywatne, skutecznie dzieląc się jednym postem tylko z innymi Redaktorami. Ponieważ Wordpress już filtruje prywatne posty z pętli dla każdego, kto jest niższy niż redaktorzy, zastanawiam się, jak wpłynie to na moje buforowanie, ponieważ (o ile rozumiem) będę miał dwie pamięci podręczne: jedną wyświetlającą posty subskrybentom, a drugą wyświetlającą posty do Redakcji, które obejmują również posty prywatne. W ramach pętli używam: * `current_user_can()`: aby włączyć lub wyłączyć niektóre treści postu na podstawie subskrybenta/edytora/administratora * `get_post_status()`: aby uwzględnić lub wykluczyć niektóre treści posta na podstawie tego, czy post jest " private" lub "published" * `get_post_meta()`: do pobierania różnych pól niestandardowych Obecnie używam 26 zapytań w 0,198 sekundy na index.php i 28 zapytań w 0,193 sekundy na single.php. Jak można to skutecznie buforować? Nie mam jeszcze żadnej wtyczki do buforowania, ale mam dostęp do xCache. Wielkie dzięki!


title: Haki automatycznej aktualizacji motywu?

text: Jeśli dokonasz radykalnej aktualizacji motywu, czy możesz uniemożliwić ludziom niezamierzoną aktualizację, dopóki nie przeczytają i nie zatwierdzą ostrzeżenia informującego, że zmiany mogą zepsuć ich motywy podrzędne? A może najlepiej rozwidlić swój motyw i nazwać go Theme2 lub czymś podobnym?


title: Jak zezwolić na określone rozszerzenia i rozmiar pliku do załącznika wp_mail?

text:
Próbuję stworzyć formularz z opcją załącznika, który zostanie wysłany na e-mail, gdy formularz zostanie przesłany na stronę wordpress. Moje kody działają poprawnie i wysyłają e-maile w formacie tabeli HTMKL na mój adres e-mail. Również jestem w stanie wysłać załącznik za pomocą kodów. Problem pojawia się, gdy rozważam rozszerzenia pliku załącznika i rozmiar pliku. Nie wiem, jak ograniczyć duże rozmiary plików i ustawić załączniki tylko dla niektórych dozwolonych rozszerzeń. Mój kod to: <?php //Ustaw pustą tablicę. $błędy = tablica(); if($_POST["wyślij"]) { $to = "móje-mail@gmail.com"; $subject = "Prośba o nowe rezerwacje"; $hotel = $_POST["hotel_url"]; $nadawca = $_POST["nazwa nadawcy"]; $nadawcaEmail = $_POST["nadawcaEmail"]; //Sprawdź nazwę i upewnij się, że nie jest to pusty/pusty ciąg. if(empty($sender)){ //Puste string, dodaj błąd do tablicy $errors. $errors['sendername'] = "Proszę podać swoje imię!"; } /* załącznik */ move_uploaded_file($_FILES["attachment"]["tmp_name"],WP_CONTENT_DIR .'/uploads/'.basename($_FILES['attachment']['name'])); $attachments = array(WP_CONTENT_DIR ."/uploads/".$_FILES["załącznik"]["nazwa"]); if(empty($errors)){ $mailBody = "

 Brak	 Element	 Opis

 01	 Hotel	 $hotel

 02	 Nazwa	 $sender

 03	 E-mail	 $senderEmail
 </tabela>"; $headers = array('Od: '.$_POST['nadawca'].' <'.$_POST['senderEmail'].'>'); $mail_sent = wp_mail( $to, $temat, $mailBody, $headers, $attachments ); } } if ($mail_sent) { ?>
Żądanie wysłane
 <?php } else { ?> <form id="" name="" action="<?php echo get_permalink(); ?> " method="post" enctype="multipart/form-data"> <input type="ukryty" name="hotel_url" value="<?php echo get_permalink();?>" />

Twoje dane

Nazwa

 <input type="text" name="nadawca"/> <?php if(isset($errors['nadawca'])) { echo ''.$ błędy['nadawca'].''; } ?>

E-mail

 <input type="email" name="nadawcaEmail" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$ " required value="<?PHP if(!empty($errors)) { echo $senderEmail;} ?>"/>

 Wybierz plik do przesłania:  <input type="file" name="attachment"> <input type="submit" value="Submit" name="submit"> </form> <?php } ?> Powyższy kod wysyła załącznik do mojej poczty i zapisuje plik w moim katalogu przesłanych plików. Wiem, że muszę coś zrobić wokół tego obszaru **/* załącznik */**, aby zezwolić na określone rozszerzenia i rozmiar pliku. ale jak to zrobić? np: jeśli muszę zezwalać tylko na .png, .jpg, .pdf, a maksymalny plik to 1mb, jak mogę to zrobić? gdzie i jaki kod mam zmienić w powyższe kody?


title: Pomoc z funkcją zapytania get_calendar()

text: Mam własną funkcję (wtyczkę) "get_calendar" sklonowaną z domyślnej funkcji wp. Chcę tylko zobaczyć posty, które mają określony zestaw pól niestandardowych (prawda). Jak dodać ten cel do: $gotsome = $wpdb->get_var("SELECT 1 jako test FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' LIMIT 1"); nazwa pola wyboru pola niestandardowego to ua_allow_future_check Więc jeśli to pole zwróci true, chcę, aby te posty były wyświetlane w kalendarzu!


title: Nie wyświetla się identyfikator przyszłego wpisu

text:
Próbuję wysłać powiadomienie e-mailem o opublikowaniu zaplanowanego wpisu. Próbowałem na kilka różnych sposobów. Otrzymuję wiadomość e-mail, ale identyfikator (i inne losowe dane) nie są z nim publikowane. Czy jest coś, czego zasadniczo brakuje mi w tym kodzie? Próbowałem zarówno na zewnątrz, jak i wewnątrz i na kilka innych sposobów. Dap post to fikcyjny niestandardowy typ postu, który początkowo testowałem, a potem pomyślałem, że mogą to być niestandardowe typy postów. Więc użyłem zwykłego posta i nic. Wyłączyłem również wszystkie wtyczki oprócz tej zawierającej poniższy kod. Nadal nic nie działało. Widzę szczegóły, jeśli opublikuję natychmiast, ale nie od kiedy jest to zaplanowane. add_action( 'init', 'create_dap_post_types' ); function create_dap_post_types() { register_post_type( 'dap', array( 'labels' => array( 'name' => __( 'Daps' ), 'singular_name' => __( 'Dap' ) ), 'public' => PRAWDA,             )         ); } function status_changes( $nowy_status, $stary_status, $post ) { global $post; globalny $wpdb; globalne $wp_query; if ($new_status == 'opublikuj') { //$post = get_post($id); $id = get_the_ID(); $post = get_post($id); $post_title = $post->post_title; // $author = get_userdata($post->post_author); // reszta funkcji tutaj $link = get_permalink($post->ID); $data = mysql2date('M j Y', $post->post_data); $kategoria = get_the_category($post->ID); //$kategoria = $kategoria[0]->nazwa_kota; $to = "//pozostaw puste, aby anulować e-mail"; $temat = $post_title; $message = "

 schedulenotificte

 Zacznijmy od autora " . //$autor . " połączenie? " . $link; wp_mail( $do, $subjet, $wiadomość); } } //add_action( 'transition_post_status', 'status_changes', 100, 3 ); add_action('publish_'. $_POST['post_type'], 'scheduledNotification'); add_action('future_to_publish_dap', 'scheduledNotification'); add_action('new_to_publish_dap', 'scheduledNotification'); add_action('draft_to_publish_dap', 'scheduledNotification'); add_action('pending_to_publish_dap', 'scheduledNotification'); add_action('future_to_publish_dap', 'scheduledNotification'); add_action('auto-draft_to_publish_dap', 'scheduledNotification'); add_action('pending_to_future', 'scheduledNotification'); add_action('approved_to_future', 'scheduledNotification'); funkcja scheduleNotification() { global $post; globalne $wp_query; $post = $wp_query->post; //$post = get_post($id); $my_postid = $post->ID;//To jest identyfikator strony lub identyfikator posta $content_post = get_post($my_postid); $treść = $treść_post->post_treść; $zawartość = zastosuj_filtry('zawartość', $zawartość); $treść = str_replace(']]>', ']]>', $treść); $id = get_the_ID(); $post = get_post($id); $link = get_permalink($post->ID); $data = mysql2date('M j Y', $post->post_data); $kategoria = get_the_category($post->ID); $to = "//pozostawione puste"; $temat = $post->post_title; $message = "

 nie harmonogram

Zacznijmy dobrze?:

autor " . //$autor . " połączenie? " . $link . „
 to jest treść
” . $treść . „
to jest pomysł
” . $post->ID; wp_mail( $do, $temat, $wiadomość); } funkcja hereIsATest ($post) { global $post; globalne $wp_query; $post = $wp_query->post; $my_postid = $post->ID;//To jest identyfikator strony lub identyfikator posta $content_post = get_post($my_postid); $treść = $treść_post->post_treść; $zawartość = zastosuj_filtry('zawartość', $zawartość); $treść = str_replace(']]>', ']]>', $treść); $temat = $post->tytuł; $message = "
 hereisatest
 to jest identyfikator " . $post->identyfikator . „To jest treść”. $post->treść . „
 tytuł
” . $post->post_title . "co tam jeszcze" . $temat . „
 identyfikator
” . pobierz_ID() . „
 id_
” . $post->identyfikator . „
 identyfikator
” . $post->treść_post; wp_mail("//puste", $temat , $wiadomość); } add_action('publish_'. $_POST['post_type'], 'hereIsATest'); add_action( 'transition_post_status', 'inLoop', 100, 3 ); add_action ('wp_transition_post_status', 'inLoop'); function inLoop($nowy_status, $stary_status, $post) { global $post; $IDPoczty = $Poczta->ID; if ($new_status == 'opublikuj') { $to = "puste"; $temat = $IDPoczty; $message = "
 To jest wewnątrz pętli
" . $IDPoczty . „
 tytuł ////” . pobierz_tytuł() . „
 pobierz tytuł
” . pobierz_tytuł() . „
 stary stan to:
 ” . $stary_stan . „
 nowy status to:
 ” . $nowy_stan . „
 post zrzutu:
” . $rpost; wp_mail($do, $temat, $wiadomość); } } add_action( 'transition_post_status', 'outLoop', 100, 3 ); add_action('wp_transition_post_status', 'outLoop'); function outLoop($new_status, $old_status, $post) { // Działa w pojedynczych postach poza pętlą global $wp_query; if ($new_status == 'opublikuj') { $thePostID = $wp_query->post->ID; //$rpost = print_r($post, prawda); $to = "e-mail"; $temat = $IDPoczty; $message = "
 To jest poza pętlą
" . $IDPoczty . „
 pobierz tytuł
” . pobierz_tytuł() . „
 stary stan to:
 ” . $stary_stan . „
 nowy status to:
 ” . $nowy_stan . "
 post zrzutu:
"; wp_mail($do, $temat, $wiadomość); } }


title: Wywołanie metody klasy utworzonej przez wywołanie ajax w wordpress

text: Mam wywołanie ajax w Wordpress, które tworzą wystąpienie klasy. Chcę móc wywoływać metody klasy w innych funkcjach. Oto kod do zademonstrowania. Wywołanie Ajax: kalimahJS(.a").click(function() { var data = { 'action': 'list_items' }; kalimahJS.ajax({url: ajaxurl, type: "POST", data: data, success : function(data, textStatus, jqXHR) { console.log(data); } }) }) Klasa PHP: <?php class Plugin { var $itemsClass; funkcja publiczna __construct() { add_action('wp_ajax_list_items', array($this, 'list_items')); } function list_items() { // Pobierz instancję klasy $this->itemsClass = new itemsClass(); echo „sukces”; umierać(); } function another_function() { // Brak dostępu do tej funkcji $this->itemsClass->list_items(); zwróć fałsz; } } Nie mogę uzyskać dostępu do metody `list_items()` klasy `$this->itemsClass` ponieważ jest ona tworzona z wywołania Ajax. Czy jest na to inny sposób?


title: Jak eksportować i importować recenzje produktów woocommerce wraz z produktem?

text: Chcę eksportować, a także importować wszystkie recenzje produktów wraz z meta produktu w woocommerce. Próbowałem importować produkty woocommerce csv suite, WP CSV, eksportować komentarze. Nie eksportują komentarzy wraz ze szczegółami produktu. komentarze osobno lub dane produktu osobno, a nie razem. Każda pomoc jest mile widziana.


title: Dodawanie treści do niestandardowych stron kategorii taksonomii

text: Nie mogę rozgryźć ani znaleźć odpowiedzi, jak włączyć opis na stronach kategorii taksonomii niestandardowej. Pod polem opisu jest napisane: "Opis nie jest domyślnie widoczny; jednak niektóre motywy mogą go wyświetlać." Udało mi się włączyć go do normalnych stron kategorii, dodając ten kod do archive.php <?php echo category_description(); ?> Ale nadal jest wyłączony na stronach taksonomii. Każda pomoc będzie mile widziana. **Problem rozwiązany** Odkryłem, że mój motyw zawiera plik taksonomii.php gdzie ten kod <?php echo term_description(); ?> należy dodać, aby opis był widoczny na niestandardowej stronie taksonomii. Dziękuję @PieterGoosen za pomoc.


title: Pokaż billing_address, sku i inne informacje w e-mailu

text:
Otwieram swój pierwszy sklep z woocommerce i prawie kończę bez większych problemów. Moje umiejętności php są bardzo ograniczone i trochę utknąłem. Potrzebuję trochę danych w bardzo specjalnym formacie w mailu admin-nowe-zamówienie. Skopiowałem więc plik szablonu do mojego niestandardowego motywu i próbowałem uzyskać niezbędne pola. Udało mi się zdobyć niektóre z nich, ale dane adresowe otrzymuję tylko w postaci prostej tablicy dostarczonej przez funkcję. $adres = $zamówienie->get_billing_address( ); Rozumiem: blablastr. 55, Miasto rodzinne, 22321, DE Jak mogę uzyskać bezpośrednio pole billing_adress_1? Muszę też przejrzeć produkty, aby uzyskać kod sku, cenę i nie tylko. Również informacje o wysyłce i płatności. Nie rozumiem stron API na wootheme.com. Może ktoś wskaże mi właściwy kierunek. To jest mój dotychczasowy kod. Umieściłem go na dole admin-new-order.php $ordNr = $order->get_order_number(); $NrOrd = substr($NrNajlepszy,4,10); $data = data_i18n( woocommerce_date_format(), strtotime( $zamówienie->data_zamówienia ) ); $czas = data_i18n( woocommerce_time_format(), strtotime( $zamówienie->data_zamówienia ) ); $adres = tablica(); $adres = $zamówienie->get_billing_address( ); $officerCode = '##OFFICER-START##
 Data:' . $data . '
 Czas:' . $czas . '
' . $ordNr . '|' . $ordNr . '| | |' . $order->billing_email . '|' . $order->billing_phone . '
 |

 ##komentarz##

 ##OFFICER-END##'; print($Kod Oficera); Jak wspomniałem, nie jestem programistą i doceniam każdą pomoc.


title: Prosty kalendarz

text: Używam ACF (Advanced Custom Fields) i wybrałem selektor dat. Zastanawiam się, czy ktoś stworzył prostą wtyczkę kalendarza, która może chwycić pole i stworzyć kalendarz. Jak mam to zrobić?


title: Czy istnieje sposób, aby wyświetlić inne posty w moim poście?

text: Czy istnieje sposób na przeciągnięcie treści z innego posta do własnego posta bez pisania kodu? Mam na myśli to, że stworzyłem post o nazwie „Apple post”. Stworzyłem też post o nazwie „Pomarańczowy port”. Tworzę trzeci post o nazwie "Owoce". W tym poście chcę wyświetlić treść z dwóch pierwszych. Mam też drugi blog na innym serwerze, który ma "Pear post". Z tego też chcę wyciągnąć treść. Czy Wordpress to zrobi?


title: Automatyczne pobieranie wideo z YouTube

text: Używam WordPressa i motywu o nazwie DeTube. Jest swego rodzaju klonem YouTube i używam tej strony do przesyłania głównie filmów z YouTube. Czy mimo to można pobierać filmy i wypełniać wszystkie wymagane pola, nazwę, adres URL, tagi za pomocą wtyczki. Czy jest jakaś inna metoda, aby to zrobić. Jak na przykład pobieranie konkretnego filmu przez dodanie jego adresu URL? **Edytuj** Znalazłem tę świetną wtyczkę o nazwie Zewnętrzne filmy, robi dokładnie to, czego chcę, ale nie jest przesłuchiwana przez temat, nad którym pracuję, po prostu pobiera filmy i publikuje je jako zwykłe posty. Myślę, że jeśli nie będzie gotowego rozwiązania, będę musiał sam zakodować.


title: Używanie znaków do oddzielania menu na pasku nawigacyjnym

text: Próbuję zmodyfikować menu nawigacyjne mojego bloga (http://reasonandfolly.com/), aby powielić to, co jest tutaj: http://chimpchomp.us/ Dwie części stanowią wyzwanie: 1. Separatory 2. Linia po prawej stronie /po lewej stronie menu. Jestem całkiem nowy w WP i nie mogę być pewien, czy wymaga to zmiany w CSS lub PHP. Wszelkie wskazówki będą mile widziane!


title: Zapamiętaj wartości pól formularza podczas nawigacji po stronie

text:
Mam formularz w szablonie strony, który kontroluje, które posty pojawiają się na stronie i jak te posty są uporządkowane. Możesz zobaczyć, co mam na myśli tutaj: http://www.theseattlevine.com/the-vine Mam pytanie, w jaki sposób uzyskać formularz, aby „zapamiętał” wybrane wartości, gdy użytkownik użyje paginacji na dole do przejść do następnej strony lub określonej strony? EDYCJA: Wygląda na sesje w odpowiedzi, ale nie mogę zmusić tego do pracy. Każda pomoc jest mile widziana. Oto mój aktualny kod po sformatowaniu i dodaniu sugestii poniżej. Nadal nie działa. <?php /** * Nazwa szablonu: The Vine * * @package WordPress * @subpackage Twenty_Eleven * @since Twenty Eleven 1.0 */ ?> <?php //Przetwarzanie formularzy----------- -------------------------------------------------- --- //Wyświetl wybraną liczbę postów na stronie $gridperpage = array("8", "16", "32", "64", "96"); $listperpage = array("10", "20", "40", "65", "100");$perpagecurrent = $_POST['perpage']; //Jeśli liczba jest już ustawiona, użyj jej if (isset($_POST['perpage'])) { $perpage = $_POST['perpage']; } //Jeżeli liczba postów odpowiada wielokrotnościom numerów siatki ORAZ jesteśmy na stronie z listą, przełącz liczbę na 20 if ((!in_array($perpagecurrent, $listperpage)) && (($_POST['view ']) == 'lista')) ){ $na stronę = '20'; } //Jeśli jesteśmy na stronie siatki, a liczba jest wielokrotnością strony z listą, przełącz na 32. Zrób to również, jeśli nie ma jeszcze ustawionej wartości, ponieważ domyślnym widokiem jest siatka elseif (((!in_array( $perpagecurrent, $gridperpage)) && (($_POST['view']) == 'siatka')) || (!$_POST['perpage']) ){ $perpage = '32'; } //Wyświetl wybrane typy postów if ((!$_POST['userposts']) && (!$_POST['posts'])) : $posttype= array('tsv_userpost', 'post'); elseif ((($_POST['userposts']) == 'prawda') && (($_POST['posts']) == 'prawda')) : $posttype= array('tsv_userpost', 'post'); elseif ((($_POST['userposts']) == 'true') && (($_POST['posts']) == '')) : $posttype= 'tsv_userpost'; elseif ((($_POST['userposts']) == '') && (($_POST['posts']) == 'true')) : $posttype= 'post'; endif; //Wyświetl tylko wybrane kategorie postów użytkownika if (isset($_POST['showvideos']) && ($_POST['showvideos'] == 'true')) { $cats[]='user-video'; } if (isset($_POST['showimages']) && ($_POST['showimages'] == 'true')) { $cats[]='user-image'; } if (isset($_POST['showaudio']) && ($_POST['showaudio'] == 'true')) { $cats[]='user-audio'; } if (isset($_POST['showwriting']) && ($_POST['showwriting'] == 'true')) { $cats[]='user-writing'; } if (isset($_POST['showowevents']) && ($_POST['showowevents'] == 'true')) {$cats[]='zdarzenie-użytkownika'; } ; $upostcat = implode(',',$cats); //Wstaw wszystkie wybrane kategorie do tablicy $upostcat ?> <?php //Sortuj posty według wybranej metody if (isset($_POST['sortby']) && ($_POST['sortby'] == 'date' )) { $sortmetakey=''; $sortby='data'; } elseif (isset($_POST['sortby']) && ($_POST['sortby'] == 'rating')) { $sortmetakey='ratings_average'; $sortby='meta_value_num data'; } elseif (isset($_POST['sortby']) && ($_POST['sortby'] == 'favscount')) { $sortmetakey='wpfp_favorites'; $sortby='meta_value_num data'; } elseif (isset($_POST['sortby']) && ($_POST['sortby'] == 'liczba wyświetleń')) { $sortmetakey='_count-views_all'; $sortby='meta_value_num data'; } ; ?> <?php //Sesja session_start(); // Twoja formafields $post_fields = array( 'sortby', 'view', 'perpage' , 'posts' , 'userposts' , 'showaudio' , 'showvideos' , 'showimages' , 'showevens' , 'showwriting' ); $form_dane = tablica(); // skopiuj potrzebne dane formularza z tablicy $_POST foreach ( $post_fields jako $key ) if ( isset( $_POST[$key] ) ) $form_data[$key] = $_POST[$key]; // zapisz dane formularza w sesji, jeśli żadne dane formularza nie zostały wcześniej zapisane if ( ! empty( $form_data ) && ! isset( $_SESSION['form_data'] )) $_SESSION['form_data'] = serialize( $form_data ) ; // odczytaj zapisane dane formularza z sesji if ( isset( $_SESSION['form_data'] ) && ! empty( $_SESSION['form_data'] ) && empty( $form_data )) $form_data = unserialize( $_SESSION['form_data' ] ); ?> <?php //Początek treści get_header(); ?>
 <?php //Przeszukaj winorośl ?>
 <form metoda="get" id="formularz wyszukiwania" akcja="<?php echo esc_url( home_url( '/' ) ); ?>"> <etykieta for="s" class="tekst pomocniczy"><?php _e( 'Szukaj', 'dwadzieścia jedenaście'); ?> <input type="text" class="pole " name="s" id="vinesearch" placeholder="<?php esc_attr_e( 'Szukaj', 'dwadzieścia jedenaście' ); ?>" /> <input type="prześlij" class="prześlij" name="prześlij" id="prześlij wyszukiwanie" value="<?php esc_attr_e( 'Szukaj', 'dwadzieścia jedenaście' ); ?>" /> </form>
 <?php //Przeglądaj winorośl ?> <?php //Uruchom menu filtrów ?> <form method="post" id="vine-sort-form"> > <?php if ($_SERVER['REQUEST_METHOD']!='POST') { $notsubmitted='checked'; $notsubmitted_dd='selected'; } ; //Automatyczne wybieranie wszystkich typów postów, gdy użytkownik po raz pierwszy wybierze wyświetlanie postów użytkownika if ('true' == ($_POST['userposts']) && ('' == ($_POST['showvideos'])) && ('' == ($_POST['showaudio'])) && ( '' == ($_POST['showimages'])) && ('' == ($_POST['showwriting'])) && ('' == ($_POST['showevents'])) ) { $userpostselected='checked'; } ; //Nie zezwalaj na to, aby oba typy postów były niezaznaczone if ('true' != ($_POST['userposts']) && ('true' != ($_POST['posts']))) { $noselectnone='checked '; } ; ?> <?php php//Wybierz widok ?> <?php if (($_POST['widok'] == 'siatka') || (!isset($_POST['widok']))) { ?> <input id="viewgrid" type="radio" name="view" value="grid" onclick="ten.form.submit()" <?php if ('siatka' == ($_POST['view' ])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; endif ?> style="display:none;">   <?php } else { ?> <input id="viewgrid" type="radio" name="view" value="grid" onclick="this.form.submit()" <?php if ('grid' == ($_POST['view'])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; endif ?> style="display:none;">   <?php } ?> <?php if ($_POST['view'] == 'list') { ?> <input id="viewlist" type="radio" name="view" value= "list" onclick="this.form.submit()" <?php if ('list' == ($_POST['view'])) : echo 'sprawdzone'; endif ?> style="display:none;">   <?php } else { ?> <input id="viewlist" type="radio" name="view" value="list" onclick="this.form.submit()" <?php if ( 'list' == ($_POST['view'])) : echo 'sprawdzone'; endif ?> style="display:none;">  <?php } ?>

Na stronę:
 <?php if ((($_POST['view']) == 'siatka' ) || (!isset($_POST['perpage']))) { ?> <select name="perpage" id="perpage"> <option value="8" <?php if ('8' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">2 wiersze (8)</option> <option value="16" <?php if ('16' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">4 wiersze (16)</option> <option value="32" <?php if ('32' == ($_POST['perpage'])) : echo 'selected="selected"'; elseif ((in_array($perpagecurrent, $listperpage))) :echo 'selected="selected"'; elseif (!$_POST['perpage']) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">8 wierszy (32)</option> <option value="64" <?php if ('64' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">16 wierszy (64)</option> <option value="96" <?php if ('96' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">24 wiersze (96)</option> </select> <?php } else { ?> <select name="perpage" id="perpage"> <option value="10" <?php if ('10' == ($_POST['perpage'])) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">10 postów</option> <option value="20" <?php if ('20' == ($_POST['perpage'])) : echo 'selected="selected"'; elseif ((in_array($perpagecurrent, $gridperpage))) : echo 'selected="selected"'; elseif (!$_POST['perpage']) : echo 'selected="selected"'; endif; ?> onclick="this.form.submit()">20 postów</option> <option value="40" <?php if ('40' == ($_POST['perpage'])) : echo ' selected="wybrane"'; endif; ?> onclick="this.form.submit()">40 postów</option> <option value="65" <?php if ('65' == ($_POST['perpage'])) : echo ' selected="wybrane"'; endif; ?> onclick="this.form.submit()">65 postów</option> <option value="100" <?php if ('100' == ($_POST['perpage'])) : echo ' selected="wybrane"'; endif; ?> onclick="this.form.submit()">100 postów</option> </select> <?php } ?>
Sortuj według:
 <input type="radio" name="sortby" value="data" onclick="this.form.submit()" <?php if ('data' == ($_POST['sortby'])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; endif; ?>>Data
 <input type="radio" name="sortby" value="rating" onclick="this.form.submit()" <?php if ('rating' == ($_POST[ 'sortby'])) : echo 'sprawdzone'; endif ?>>Ocena
 <input type="radio" name="sortby" value="favscount" onclick="this.form.submit()" <?php if ('favscount' == ($_POST ['sortuj'])) : echo 'sprawdzone'; endif ?>>Liczba ulubionych
 <input type="radio" name="sortuj" value="liczba wyświetleń" onclick="this.form.submit()" <?php if ('liczba wyświetleń' == ( $_POST['sortby'])) : echo 'sprawdzone'; endif ?>>Liczba wyświetleń

Typ posta:
 <input type="pole wyboru" name="posts" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST['posts'])) : echo 'zaznaczone '; elseif ($notsubmitted) : echo $notsubmitted; elseif($noselectnone) : echo $noselectnone; endif; ?>>Polecane posty
 <input type="checkbox" name="userposts" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST ['userposts'])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; elseif($noselectnone) : echo $noselectnone; endif; ?>>Wpisy użytkownika

 <?php if ('true' == ($_POST['userposts'])) { if ('' == ($ _POST['posts'])) { ?> <input type="checkbox" name="showvideos" value="true" onclick="this.form.submit()" <?php if ('true' == ( $_POST['showvideos'])) :echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Wideo
 <input type="checkbox" name="showimages" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST[ 'showimages'])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Obrazy
 <input type="checkbox" name="showwriting" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST[ 'showwriting'])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselekcja; endif; ?>>Pisanie
 <input type="checkbox" name="showaudio" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST[ 'showaudio'])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Dźwięk
 <input type="checkbox" name="showevents" value="true" onclick="this.form.submit()" <?php if ('true' == ($_POST[ 'showevens'])) : echo 'sprawdzone'; elseif ($notsubmitted) : echo $notsubmitted; elseif ($userpostselected) : echo $userpostselected; endif; ?>>Wydarzenia
 <?php } } ?>
 </form>
<?php //.thevinemenu ?>
<?php //.vine-display ?> <?php // Zapytanie $counter = 1; $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $the_query = new WP_Query( array('post_type'=> $posttype,'posts_per_page'=>$perpage,'paged'=> $paged,'category_name'=>$upostcat,'meta_key' =>$sortmetakey, 'orderby ' =>$sortby, 'zamówienie'=> 'DESC')); //Nawigacja górna wp_pagenavi( array( 'query' => $the_query ) ); //Uruchom pętlę while ( $the_query->have_posts() ): $the_query->the_post(); if ('siatka' == ($_POST['widok']) || ($_SERVER['REQUEST_METHOD']!='POST')) : get_template_part('the-vine', 'grid'); elseif ('list' == ($_POST['view'])) : get_template_part('the-vine', 'list'); endif; ?> <?php koniec; ?>
<?php wp_pagenavi( array( 'query' => $the_query ) ); ?>
 <?php wp_reset_query(); ?>
 <?php get_footer(); ?>


title: Wprowadź zmiany w bibliotece multimediów, które wpłyną na obrazy w opublikowanych artykułach

text: Czy jest jakiś sposób/wtyczka, aby wordpress zmienił opis/tekst alternatywny/podpis obrazu używanego w już napisanych artykułach, jeśli zmienię którykolwiek z tych tekstów tego konkretnego obrazu w bibliotece multimediów?


title: Kategorie w mediatece

text: Chcę dodać do biblioteki multimediów dość dużą kolekcję dźwięków. Problem polega na tym, że nie mogę dodać kategorii do grupy plików podczas ich przesyłania... Nie mogę nawet dodać tego do jednego przesyłanego pliku.... I nie mogę znaleźć sposobu na rozwiązanie tego problemu. Dodanie kategorii do tysięcy plików dźwiękowych to wielka praca. Czy można dodać pole znacznika lub pole kategorii do biblioteki multimediów i dołączyć odpowiednie pole do strony wgrywania biblioteki multimediów? Wtyczki w odpowiedzi nie pozwalają na ustawienie kategorii w momencie wgrywania... chyba czas dodać więcej funkcji dla użytkowników do pracy z biblioteką multimediów w wordpressie?


title: Zsynchronizować zawartość i strony między dwiema instalacjami WordPress?

text: Mam kilka pytań dotyczących Sysc zawartości i stron między dwiema instalacjami WordPressa, po prostu budujemy witrynę: Example.com.au i musimy zsynchronizować wszystkie strony produktów (i niektóre inne strony) z witrynami dealerów, ale potrzebujemy niestandardowego nagłówka i stopki + na przykład inne strony, istnieją dealerzy, którzy sprzedają przyczepy kempingowe (przykładowy dealer Testing.com.au), pobierzemy kopię witryny Example.com.au i dostosujemy ją zgodnie z logo klienta i treścią specyficzną dla dealera, ale chcemy mieć pewne strony mogą być „przeciągane/synchronizowane” z Example.com.au , więc kiedy aktualizują Example.com.au, zmiany są przekazywane do innych witryn dealerów, takich jak Testing.com.au Jakakolwiek pomoc i możliwe rozwiązania? Twoje zdrowie


title: Strona kategorii przy użyciu statycznej strony głównej

text: Używam „statycznej” strony głównej z wpisami na stronie o nazwie Wiadomości. Czy jest możliwe, aby kategorie wykorzystywały to jako podstawę? Na przykład: /news/[nazwa_kategorii]/ A czy można zrobić to samo z postami? /aktualności/2012/09/17/tytuł-post


title: Kolor tła strony rejestracji zakrywający 1 ekran, a nie zakrywający całej strony

text: Dzień dobry, badam to od kilku dni i nie mogę znaleźć rozwiązania. Strona internetowa to http://gwendolinesroadtrip.com/ Kolor tła strony rejestracyjnej nie wypełnia całej strony. Wypróbowałem prawie wszystkie sugestie bez dotykania oryginalnych plików WordPress lub plików motywów Twenty Twelve. Wtyczki, których używam to jonradio Private Site i Register Plus Redux. Usunąłem je oba, ale problem nadal istnieje. Z góry dziękuję za wszelką pomoc Debbie


title: Czy istnieje sposób na zmianę listy wyboru dla nowej taksonomii niestandardowej?

text: Kiedy dodajesz kategorię w panelu administracyjnym, administrator może wybrać jej nadrzędną. Coś takiego: - Kategoria1 -- Podkategoria1 do Kategorii1 -- Podkategoria2 do Kategorii1 -- Podkategoria3 do Kategorii1 .... - Kategoria2 -- Podkategoria1 do Kategorii2 -- Podkategoria2 do Kategorii2 -- Podkategoria3 do Kategorii2 .... Utworzyłem niestandardowy taksonomia. Czy istnieje sposób, aby zmienić te opcje, aby były tylko rodzicami - wybór taki dla tej konkretnej taksonomii? - Kategoria1 - Kategoria2 .... ? (Czy w ogóle jest na to haczyk dla taksonomii?)


title: Wyświetlaj taksonomię z maksymalną liczbą liter

text:
Szukam funkcji, która wyświetla taksonomię posta z maksymalną liczbą liter. Udało mi się osiągnąć z tytułem (Jak ograniczyć maksymalną liczbę wyświetlanych znaków w tytule), ale nie jestem w stanie tego zrobić za pomocą taksonomii. Np. Mam to: echo '
'.get_the_term_list( get_the_ID( ), 'Wykonawcy', '
', '
' ).'
'; To pokazuje taksonomię „Artistas”. Chcę pokazać tylko 10 pierwszych liter. Masz pomysł, jak się podłączyć, żeby to zmienić?


title: Jak uruchomić wielostanowiskową instalację podkatalogową w subdomenie?

text: Jestem na VPS z uruchomionym Nginx jako serwerem zaplecza. Chcę skonfigurować podkatalogową instalację WordPress na wielu stronach, jednak chcę, aby wszystkie podstrony również znajdowały się w jednej subdomenie. Na przykład: Moja główna witryna: domena.com Podwitryny: klienci.domena.com/witryna1 klienci.domena.com/witryna2 klienci.domena.com/witryna3 Zdaję sobie sprawę, że mogę zainstalować kolejną kopię WordPressa pod `klientami.domena.com` i używaj go jako domu Multisite, jednak ponieważ `domena.com` już działa na WordPressie, wydaje mi się to nieefektywne pod względem zarządzania i przestrzeni dyskowej, zwłaszcza że i tak chcę obsługiwać tylko stronę logowania w katalogu głównym tej subdomeny. Zdaję sobie również sprawę, że mogę przekierować wszystkie żądania do `clients.domain.com` do `domain.com`, jednak nie chcę, aby podstrony lub powiązane z nimi pliki były dostępne przez `domain.com/site1`. Podwitryny powinny rozpoznawać swoją witrynę nadrzędną jako `domain.com`. Jaka jest najlepsza metoda na to?


title: Czy możesz grupować strony powiązane z określoną pozycją menu nadrzędnego w obszarze administracyjnym?

text: Tworzę witrynę, która ma wiele stron sąsiedztwa (27) i każda z tych stron otoczenia ma łącze do strony Użytecznych Miejsc, strony Historia i strony Galerii. Czy to oznaczałoby, że na koniec dnia w tym konkretnym przykładzie musiałbym utworzyć 108 stron, które byłyby sumą wszystkich stron sąsiedzkich i każdej z ich stron Użytecznych Miejsc, Historii i Galerii łącznie. Zdaję sobie sprawę, że każdy typ strony (Okolice, Użyteczne Miejsca, Galeria i Historia) ma swój własny szablon dla każdego typu strony z niestandardowymi polami dla poszczególnych treści i konkretnej treści, którą każda zawiera. Próbuję tylko dowiedzieć się, czy to jest ile stron będę tworzyć? Czy jest jakiś sposób na pogrupowanie tych stron, na przykład Dzielnica 1 i jej strony Użytecznych Miejsc, Historii i Galerii, aby administrator mógł po prostu przejść do określonej dzielnicy i znaleźć wszystkie odpowiednie strony do niej? A może po prostu wyświetlałyby się na długiej liście, która z tego, co mogę powiedzieć, nie pozwala nawet na przeciąganie i przesuwanie w kolejności? Jakakolwiek pomoc byłaby świetna, dziękuję.


title: Jak umożliwić użytkownikom tworzenie i udostępnianie własnych galerii obrazów?

text: Po przeszukaniu Google i tej strony znalazłem kilka starych, nieaktualnych postów na ten temat, więc pomyślałem, że zacznę nowy. Jak umożliwić użytkownikom tworzenie własnej galerii publicznej i przesyłanie do niej własnych zdjęć? Chcę utworzyć centralną stronę „Galeria”, na której użytkownicy będą mogli przeglądać wszystkie najnowsze filmy i wybierać galerię konkretnego użytkownika do przeglądania. Zasadniczo, jako administrator, nie chcę siedzieć tam i tworzyć osobne galerie dla każdego użytkownika do przesłania (myślę, że to właśnie robi NextGen): chcę, aby każdy użytkownik automatycznie otrzymał jedną i zaczął ją przesyłać i udostępniać to. Czy ktoś może zaoferować jakieś wskazówki, jak to zrobić?


title: Jak dodać ikonę nad określonym kciukiem

text: Chciałem zrobić co następuje i wiem, że to możliwe, ale nie wiem jak. Patrzę na `in_category`, ale to nie ma większego sensu. Zasadniczo to, co chcę zrobić, na przykład na mojej stronie głównej, stronie kategorii i podobnych postach jest wyświetlane z tytułem i kciukiem. I dla tego kciuka chcę dodać taką funkcję, jeśli wpis/kciuk znajduje się w kategorii wideo -> dodaj ikonę wideo nad nim. Myślę, że z css musiałbym to ustawić, na przykład w prawym dolnym rogu. Wszelkie pomysły jak to zrobić