title: Metabox przesyłania multimediów obrazu

text:
Utworzyłem mój pierwszy metabox przesyłania obrazu, ale wygląda na to, że mam problemy. 1. Dane nie są zapisywane, gdy dodaję obraz, a następnie aktualizuję stronę - jestem pewien, że to pomyłka po mojej stronie, której nie widzę. 2. Przycisk przesyłania obrazu drugiego pola wejściowego nie ładuje pola biblioteki multimediów, tak jak robi to pierwszy - prawdopodobnie problem z Js? Oto mój kod <?php /* Nazwa wtyczki: Meta Box Media Library URI obrazu wtyczki: Opis: Dodaje możliwość wyboru obrazu z biblioteki multimediów Wersja: 1.0 Autor: Danny Wardle URI autora: www.thevisionists.com Licencja: GPLv2 */ //drugi metabox ?> <?php add_action( 'add_meta_boxes', 'dd_image_create' ); function dd_image_create() { //utwórz niestandardowe pole meta obrazu add_meta_box ( 'dd-meta-image', 'Wyświetl wybrany obraz', 'dd_image_function', 'page', 'normal', 'high' ); } ?> <?php function dd_image_function( $post ) { $dd_image_one = get_post_meta ($post->ID, 'dd_image_one', true); $dd_image_two = get_post_meta($post->ID, 'dd_image_two', prawda); ?> Obraz pierwszy <input id="dd_image_one" type="text" size="75" name="dd_image_one" value="<?php echo esc_url( $dd_image_one ); ?>" /> <input id="upload_image_button " value="Przesyłanie biblioteki multimediów" class="button-secondary" />
 Wprowadź adres URL obrazu lub użyj obrazu z Biblioteki multimediów

 Obraz drugi <input id="dd_image_two" type="tekst" size="75" name="dd_image_two" value="<?php echo esc_url( $dd_image_two ); ?>" /> <input id="upload_image_button" value="Przesyłanie biblioteki multimediów" class=" button-secondary" />
 Wprowadź adres URL obrazu lub użyj obrazu z Biblioteki multimediów <?php } //akcje skryptu z wykrywaniem strony add_action('admin_print_scripts-post.php', 'dd_image_admin_scripts'); add_action('admin_print_scripts-post-new.php', 'dd_image_admin_scripts'); function dd_image_admin_scripts() { wp_enqueue_script( 'boj-image-upload', plugins_url( '/dd-meta-box/dd-meta-image.js' ), array( 'jquery', 'media-upload', 'thickbox' ) ); } //styl akcji z wykrywaniem strony add_action('admin_print_styles-post.php', 'dd_image_admin_styles'); add_action('admin_print_styles-post-new.php', 'dd_image_admin_styles'); funkcja dd_image_admin_styles() { wp_enqueue_style( 'thickbox' ); } // zaczep, aby zapisać metadane add_action ( 'save_post', 'dd_image_save_meta' ); function dd_image_save_meta( $post_id ) { //zapisz metadane //sprawdź, czy metadane są ustawione if ( isset ($_POST['dd_image_one'])) { //zapisz metadane update_post_meta( $post_id, 'dd_image_one', esc_url_raw( $ _POST['dd_image'])); } if ( isset ($_POST['dd_image_two'])) { update_post_meta( $post_id, 'dd_image_two', esc_url_raw( $_POST['dd_image'])); } } ?> kod pliku js jQuery(document).ready(function($) { var formfield = null; $('#upload_image_button').click(function() { $('html').addClass('Image' ); formfield = $('#dd_image').attr('name'); tb_show('', 'media-upload.php?type=image&TB_iframe=true'); return false; }); // użytkownik wstawia plik do postu. //uruchom niestandardowe tylko wtedy, gdy użytkownik uruchomił proces za pomocą powyższego procesu // window.send_to_editor(html) to sposób, w jaki wp normalnie obsługuje otrzymane dane window.original_send_to_editor = window.send_to_editor; window.send_to_editor = function(html){ var fileurl; if (formfield != null) { fileurl = $('img',html).attr('src'); $('#dd_image').val(fileurl); tb_remove(); $('html' ).removeClass('Obraz');formfield = null;} else { window.original_send_to_editor(html); } }; });


title: Zaczep skrypty i style w WordPress

text: Jak wyjaśniono na tej stronie, stworzyłem niestandardowy pulpit nawigacyjny WordPress. Teraz wszystko działa dobrze. Ale teraz nie mogę przechwycić skryptów i stylów. Oto mój kod do podpinania skryptów i stylów. add_action('wp_enqueue_scripts',array(&$this,'register_scripts_styles')); funkcja register_scripts_styles() { wp_enqueue_script('jquery'); wp_register_script( 'wirtualny-skrypt', plugins_url('js/wirtualny-skrypt.js', __PLIK__)); wp_register_style('virtual-css',plugins_url('css/virtual.css',__FILE__));*/ wp_enqueue_script('virtual-script'); wp_enqueue_style('wirtualny-css'); } //koniec rejestrowania skryptów i stylów


title: WooCommerce: Lista wszystkich kategorii

text: Używam wtyczki WooCommerce z WordPress i w moim motywie chciałbym wyświetlić wszystkie kategorie w menu nawigacyjnym z PHP. Próbowałem użyć `woocommerce_product_categories();`, ale nie chcę obrazów ani innych elementów HTML, tylko ich nazw (i może permalinków). Jak mogę uzyskać te dane?


title: Jak zezwolić użytkownikowi na dodawanie, ale nie edycję posta?

text: Widziałem coś bardzo fajnego na peerwise (w zasadzie w sieci społecznościowej studentów medycyny do tworzenia pytań egzaminacyjnych), które pozwala ludziom dodawać do czegoś, ale nie edytować oryginalnego posta. Doceniam, że to nie jest wordpress, ale myślałem, że mógłbym zrobić coś podobnego z moją instalacją wordpress p2. Zasadniczo dodaj nieograniczoną liczbę (lub np. 5) dodatkowych pól, które są puste podczas pisania oryginalnego postu, ale można je „edytować”, aby dodać więcej treści do posta. Czy wydaje się to prawdopodobnym rozwiązaniem umożliwiającym użytkownikom dodawanie, ale nie edycję posta? Czy istnieją lepsze alternatywy?


title: Nie można przesłać obrazów podczas lokalnej instalacji systemu Windows

text: Mam błąd „Słynny” nie udało się przesłać z powodu błędu „Unable to create directory”, na który natrafia tak wiele osób. Każde wyszukiwanie w Google StackExchange spowoduje, że wynik będzie powszechny, zmień odpowiedź dotyczącą uprawnień do plików / folderów. Cóż, używam WordPress vs 3.5.1 w systemie Windows 7. Uprawnienia nie są tak proste, jak ustawienie `chmod 777` w systemie Windows. Sprawdziłem, a nawet próbowałem zresetować uprawnienia do plików w systemie Windows, co z tego, co mogę powiedzieć, polega w zasadzie na ustawieniu użytkownika jako właściciela. Czy ktoś, kto miał ten problem w systemie Windows, rzeczywiście go naprawił? Wszystkie moje wyszukiwania nigdy nie dały odpowiedzi dla nie-Linuksa lub Maca ![tu wpisz opis obrazu](http://i.stack.imgur.com/Wmti9.png) ![tu wpisz opis obrazu](http:// /i.stack.imgur.com/4jrLJ.png)


title: Oświadczenie warunkowe — najlepszy sposób na usunięcie Nav na stronie kontaktowej

text: Myślałem o usunięciu nawigacji na mojej stronie kontaktowej. Myślałem o wstawieniu instrukcji warunkowej i wbudowanego stylu CSS do "display: none;" jeśli szablon strony był stroną kontaktową. Czy jest lepszy sposób? Używam Twenty Eleven jako motywu nadrzędnego.


title: Problemy z plikami CSS i JS W3 Total Cache GZip

text: Po sprawdzeniu mojej strony z google page speed i gzipwtf.com zauważyłem, że moje pliki css i js nie są kompresowane (chociaż html jest). Próbowałem usunąć zaznaczenie " Zapobiegaj buforowaniu obiektów po zmianie ustawień " i w ten sposób usunęli ciągi zapytań z tych plików, ale to nie przyniosło efektu. Próbowałem również dodać następujące (zarówno powyżej, jak i poniżej reguły wordpress) w htaccess również bez skutku: # BEGIN GZIP <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x -javascript application/javascript </ifmodule> # ZAKOŃCZ GZIP Czy ktoś ma jakieś rady, co mogę zrobić, aby to naprawić? Wielkie dzięki


title: Jak otrzymujemy wiadomości o sukcesie

text: Jak możemy uzyskać komunikaty o sukcesie, tak jak możemy uzyskać komunikaty o błędach, po prostu używając zmiennej `$error` . Więc istnieje jakakolwiek inna zmienna, taka jak `$sukces`. Obecnie używam tego kodu do rejestracji nowego użytkownika. więc po rejestracji chcę wyświetlić komunikat o sukcesie. if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'adduser' ) { $user_pass = wp_generate_password(); $userdata = array( 'user_login' => esc_attr( $_POST['user_name'] ), 'user_pass' => esc_attr( $_POST['pass1']), 'user_email' => esc_attr( $_POST['email' ] ), 'user_url' => esc_attr( $_POST['strona internetowa'] ), 'description' => esc_attr( $_POST['opis'] ), 'role' => get_option( 'default_role' ), ); if ( !$userdata['user_login'] ) $error = __('Do rejestracji wymagana jest nazwa użytkownika.', 'frontendprofile'); elseif ( username_exists($userdata['user_login']) ) $error = __('Przepraszamy, ta nazwa użytkownika już istnieje!', 'frontendprofile'); elseif ( !is_email($userdata['user_email'], true) ) $error = __('Musisz podać poprawny adres e-mail.', 'frontendprofile'); elseif ( email_exists($userdata['user_email']) ) $error = __('Przepraszamy, ten adres e-mail jest już używany!', 'frontendprofile'); else if ( $_POST['pass1'] !== $_POST['pass2'] ) { $error = __('Przepraszamy, hasła muszą być zgodne', 'frontendprofile'); } else if ( strlen( $_POST['pass1'] ) < 6 ) { $error = __('Przepraszamy, hasło musi mieć co najmniej sześć znaków', 'frontendprofile'); } else{ $new_user = wp_insert_user( $userdata); wp_new_user_notification ($ new_user, $ user_pass); } }


title: jak utworzyć okruszek chleba do pracy z wieloma niestandardowymi taksonomiami?

text: Stworzyłem kilka niestandardowych typów postów i niestandardowych taksonomii do zarządzania moim dużym portfolio artystycznym. Wszystko to działa bardzo dobrze. Istnieje typ postu dla „sztuka” i „projekt”, a także niestandardowe taksonomie dla rzeczy takich jak „kolor”. Chcę dodać bułkę tartą, która pokaże taksonomię klikniętą przez użytkownika, aby uzyskać konkretny obraz. Na przykład: ze strony `achive-art.php` ktoś klika niestandardową taksonomię „kolor”, a następnie klasyfikację fioletu zostaje przeniesiony na stronę `taxonomy-color.php`, która zawiera listę wyników. Gdy klikną miniaturę, aby zobaczyć cały post, chciałbym zobaczyć menu nawigacyjne, które brzmi: grafika > fioletowy > tytuł posta Wypróbowałem mnóstwo wtyczek, ale działają one tylko z jedną taksonomią lub wyświetlają: grafika > tytuł posta. Wciąż jestem nowy w wordpressie i staram się wszystko owijać w głowę.


title: Alfabetycznie posortuj szablon taksonomii.php według tytułu posta

text: Mówiąc najprościej, czy możliwe jest posortowanie szablonu taksonomii.php tymi samymi metodami, co za pomocą czegoś takiego jak `wp_query`, aby archiwum wyświetlało wszystkie posty w kolejności rosnącej alfabetycznie według tytułu?


title: Opublikuj galerie zdjęć

text: Czy ktoś wie, jak zrobić post w galerii, w którym jeden obraz jest okładką galerii zdjęć, a po kliknięciu łączy się z galerią? Użyj tej metody na thechive.com. Naprawdę nie jestem zaznajomiony z niestandardowymi typami postów, czy tak to się robi?


title: Importuj dane sql z dużego pliku podczas instalacji wtyczki

text: Tworzę swoją pierwszą wtyczkę i muszę zaimportować około 31 000 rekordów z pliku sql do wpdb, gdy wtyczka zostanie po raz pierwszy zainstalowana przez użytkownika, ale importuje tylko około połowy z nich, około 18 000 rekordów. W funkcji instalacji mam te wiersze, aby WSTAWIĆ dane: $sql = file_get_contents(ABSPATH .'wp-content/plugins/plugin-name/sql.sql'); dbDelta($sql); W pliku sql mam to: <? $sql = "UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE $table_name ( `book` int(11) domyślnie NULL, `chapter` int(11) domyślnie NULL, `verse` int(11) domyślnie NULL, `text` text ) ENGINE=MyISAM DOMYŚLNY ZESTAW ZNAKÓW = utf8; INSERT IN TO $table_name VALUES (4, 6, 27, 'ciąg tekstowy tutaj'), (4, 6, 28, 'ciąg tekstowy tutaj'), (4, 6, 29, 'ciąg tekstowy tutaj') ), (4, 6, 30, 'ciąg tekstowy tutaj'); "; ?> Próbowałem użyć wpdb->query i wpdb->prepare, ale nadal nie działa. Próbowałem tak wielu różnych sposobów i spędziłem wiele godzin próbując to rozgryźć, ale to nie działa. Co mogę zrobić, aby móc zaimportować 100% rekordów po zainstalowaniu wtyczki? Z góry dziękuję.


title: Dodaj rel=lightbox do niestandardowego ciągu

text:
Używam następującego kodu w moim functions.php, aby wyświetlić miniaturki w moim fragmencie: function pietergoosen_kry_eerste_prentjie() { global $post; $pierwszy_img = ''; $output = preg_match_all('//i', $post->post_content, $matches); $ first_img = $pasuje [1] [0]; return $first_img; } function pietergoosen_kyk_url_bestaan($url) { $headers = wp_get_http_headers($url); if (!is_array($headers)) : return FALSE; elseif (isset($) headers["content-type"]) && (strpos($headers["content-type"],"image") !== false)) : return TRUE; else : return FALSE; endif; } function pietergoosen_verstel_prentjie_grootte($image , $alt, $newwidth, $newheight) { if (!file_exists($image) && !pietergoosen_kyk_url_bestaan($image)) return ''; list($width, $height, $type, $attr) = getimagesize($image if (!$szerokość || !$wysokość) return '';if ($nowaszerokość) $nowaszerokość = intval($nowaszerokość/$szerokość * $wysokość); else $nowaszerokość = intval($nowawysokość/$wysokość * $ szerokość); zwróć ''; } Wywołuję te funkcje do mojego szablonu content.php tuż pod_fragmentem w następujący sposób:
 <a href="<?php the_permalink() ?>"> <?php echo pietergoosen_verstel_prentjie_grootte(pietergoosen_kry_eerste_prentjie(), get_the_title(), 125, 0); ?>
 Teraz muszę dodać atrybut rel="lightbox" do wyświetlanej miniatury. Oto jak to robię dla wszystkich innych obrazów: function pietergoosen_voeg_lightbox_rel_attribute_by_the_content($content) { global $post; $pattern ="//i"; $replacement = 'post_title.'"$6>'; $content = preg_replace($pattern, $replacement, $content); return $ content; } add_filter('the_content', 'pietergoosen_voeg_lightbo x_rel_attribute_by_the_content'); Nie mogę zmusić tej metody do pracy na miniaturach fragmentów. Wszelkie pomysły, jak sprawić, by to zadziałało.


title: Menu API nie przełącza menu?

text: Używam interfejsu API menu i chcę przełączyć się do innego menu, ale z jakiegoś powodu trzyma ono pierwsze. Oto mój kod w functions.php add_action( 'init', 'register_my_menus',10 ); function register_my_menus() { register_nav_menu('nawigacja główna', 'Nawigacja główna'); } Oto kod w moim pliku motywu (header.php) <?php $args = array( 'menu' => 'main-navigation', 'container_id' => 'navigation', 'fallback_cb' => 'wp_page_menu' ); wp_nav_menu($args); ?>


title: Subskrybuj komentarze do posta bez samodzielnego publikowania komentarza

text: Widziałem kilka wtyczek (subskrybuj2, subskrybuj komentarze), które umożliwiają osobom, które skomentowały, otrzymywanie e-maili zawierających kolejne komentarze. To, co chcę zrobić, jest nieco inne. Chcę publikować, aby mieć przycisk „Subskrybuj”. Kliknięcie tego umożliwiłoby użytkownikowi otrzymywanie e-mailem kolejnych komentarzy do tego posta. Nie musieliby sami zamieszczać komentarza. Czy jest to możliwe z wtyczką, kodem czy mieszanką tych dwóch?


title: usuń <div class="textwidget"> z text-widget

text: Gdy dodajesz widżet tekstowy do paska bocznego w Wordpress, widżet zawiera następujący kod <div class="textwidget"> Jak mogę to usunąć bez edytowania rdzenia? FYI - myślę, że ta linia znajduje się tutaj: wp-includes/default-widgets.php (linia 383)


title: the_post_thumbnail z wtyczką lazyload JQ

text: Muszę zmodyfikować funkcję the_post_thumbnail, aby uruchomić na niej "Lazyload", myślę, że są dwa rozwiązania: 1- zmodyfikuj argumenty tak, aby były podobne do tego the_post_thumbnail('product', array('data-original'=> $src, ' src'=>'szary.gif')); (((NIE DZIAŁA!))) 2- pobierz tylko adres URL obrazu z funkcji ... próbowałem wielu fragmentów i nic nie działało dla mnie, tak jak ten! $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "rozmiar" ); jakieś pomysły?? Dziękuję


title: Jak mogę połączyć dwóch autorów?

text: Zauważyłem, że na jednej z moich instalacji WordPress mam dwóch administratorów z tym samym adresem e-mail. Obaj mają przypisane posty. Oba są dla tej samej osoby, więc chciałbym połączyć oba konta w jedno. W jaki sposób mogę to zrobić?


title: Stylizacja pojedynczego posta z podkategorii?

text: *WYJAŚNIENIE: Próbuję nadać styl widokowi pojedynczego posta niektórych kategorii i podkategorii. Sugerowane rozwiązanie działa, ale tylko na stronie postów z wybranych kategorii. Np. Jeśli post ma kategorię 0f 59 (lub jest kategorią podrzędną 59), załaduj arkusz stylów. Oto czego próbowałem z Kodeksu- <?php // jeśli kategoria to 59 lub 59 SUBcategory if (cat_is_ancestor_of(59, $cat) or in_category(59)): ?> <link rel="stylesheet" href ="<?php bloginfo('template_url'); ?>/products.css" type="text/css" media="screen" /><?php endif; ?> Jakieś pomysły dlaczego to nie działa? Dziękuję


title: Gdzie jest dziennik zmian w wersji 3.5? gdzie jest lista dodanych usuniętych plików?

text: To: http://codex.wordpress.org/Changelog/3.5 nie jest dziennikiem zmian. To: http://codex.wordpress.org/Version_3.5 podaje kilka zmian itp., ale nie ma listy dodanych i usuniętych plików. Gdzie znajdę listę „najważniejszych zmian”? Czynności i filtry, które działają inaczej?


title: Błąd kasy Woocommerce przy użyciu rozszerzenia cardave

text: Mam problem z integracją bramki płatności cardave z wtyczką woocommerce dla WordPress. Na stronie kasy sprawdzam koszyk i wybieram złożenie zamówienia. Pojawia się następujący błąd: { "result": "failure", "messages": " \n\t\t\t Akcja nie powiodła się. Odśwież stronę i spróbuj ponownie .<\/li>\n\t\t\t Imię<\/strong> jest polem wymaganym.<\/li>\n\t\t\t Nazwisko<\/strong> jest polem wymaganym .<\/li>\n\t\t\t Adres<\/strong> jest polem wymaganym.<\/li>\n\t\t\t Miasto\/Miasto<\/strong> jest wymagane pole.<\/li>\n\t\t\t Kod pocztowy<\/strong> jest polem wymaganym.<\/li>\n\t\t\t Kraj<\/strong> jest polem wymaganym. <\/li>\n\t\t\t Adres e-mail<\/strong> to pole wymagane.<\/li>\n\t\t\t Telefon<\/strong> to pole wymagane.< \/li>\n\t\t\t Imię<\/strong> to pole wymagane.<\/li>\n\t\t\t Nazwisko<\/strong> to pole wymagane.< \/li>\n\t\t\t Adres<\/strong> to pole wymagane.<\/li>\n\t\t\t Miasto\/Miasto<\/strong> to pole wymagane. <\/li>\n\t\t\t Kod pocztowy<\/strong> to pole wymagane.<\/l i>\n\t\t\t Kraj<\/strong> to pole wymagane.<\/li>\n\t\t\t Nieprawidłowa metoda dostawy.<\/li>\n\t\t\ t Nieprawidłowa metoda płatności.<\/li>\n\t<\/ul>", "refresh": "false" } Próbowałem dodać konto PayPal, wszystko działa poprawnie. Problem pojawia się tylko wtedy, gdy wybiorę rodzaj płatności cardave. Każda pomoc jest bardzo ceniona


title: Pobierz obraz z galerii posta

text: Czy w Wordpressie istnieje możliwość uzyskania obrazu z galerii postów? Obrazy nie są umieszczane w poście, znajdują się w jego galerii. Próbuję zrobić stronę „indeks galerii” i zamiast tego, aby użytkownik ustawił „obraz okładki”, chciałbym wziąć dowolny z załączonych do posta jako część galerii. Próbowałem wp_get_attachment_image() bez powodzenia, myślę, że ponieważ działa dla wstawionych obrazów, a nie tych w galerii. Z góry dziękuję. Juan.-


title: Próbuję zmienić kolejność postów według pola niestandardowego

text: Używam WooCommerce i próbuję ustawić domyślny sposób wyświetlania produktu, który będzie sortowany według pola sku w kolejności rosnącej. Do tej pory wymyśliłem to: /* Zamów produkty według SKU */ function reorder_products_by_sku( $query ) { if(is_shop() && ! is_admin() && $query->is_main_query()) { $query->set ('orderby', 'meta_value_num'); $query->set('meta_key', 'sku'); $query->set('zamówienie', 'ASC'); } } add_action( 'pre_get_posts', 'reorder_products_by_sku' ); To tylko mówi mi, że nie znaleziono produktów pasujących do mojego wyboru. Czy ktoś może wskazać mi, co robię źle? Dziękuję


title: Kupiłem niestandardowe menu nawigacyjne z codecanyon, jak zmienić feature.php?

text: Kupiłem nav-menu z css, ale nie jestem pewien, jak tego użyć w moim motywie wordpress. Czy istnieje standardowy sposób na jego wdrożenie? Jak to pytanie: http://wordpress.stackexchange.com/questions/32186/how-to-create-a-custom-wordpress-navigation-menu-with-the-code Dokumentacja dołączona do menu nawigacyjnego: jest to: http ://www.hicenengineering.com/navmenu.html


title: Jeden post na stronie głównej i strona archiwum

text: Opracowuję motyw za pomocą motywu startowego z podkreśleniami i chciałbym mieć stronę główną z ostatnim postem i paginacją, a następnie osobną stronę ze ślimakiem „archiwum”, aby pokazać wszystkie posty z paginacją. Czy można to zrobić programowo (dodając filtry i akcje w pliku functions.php) bez tworzenia dodatkowych szablonów? Z góry dziękuję **UPDATE:** @ialocin odpowiedział na część mojego pytania dotyczącą „strony głównej”. Oto co wymyśliłem dla części mojego pytania `archives`: function rewrite_init() { add_rewrite_rule('archives', 'index.php?archives=yes', 'top'); } add_action('init', 'rewrite_init'); function rewrite_query_vars($query_vars) { $query_vars[] = 'archiwa'; zwróć $query_vars; } add_action('query_vars', 'rewrite_query_vars'); function rewrite_template_include($template){ if (get_query_var('archives')) { $template = locate_template(array('archive.php')); } return $szablon; } add_filter('template_include', 'rewrite_template_include');


title: policz posty z niestandardowych terminów taksonomii według roku

text:
Chcę tworzyć tabele przypominające statystyki z liczbą postów w określonych terminach taksonomii niestandardowej i wyświetlać je według roku wraz z całkowitą liczbą postów z tego roku. Na przykład: > **2014** > > |_Taksonomia Termin A: 8 postów > > |_ Taksonomia Termin B: 12 postów > > **Łączna liczba postów w 2014 r.:** 20 postów Funkcja oczywiście musi wykonać następujące czynności: * zlicz posty z my-custom-post-type, które zostały opublikowane w 2014, 2013, ... (całkowita liczba na rok) * zlicz posty w każdym terminie taksonomii z my-custom-taksonomia w ujęciu rocznym **dynamic list for the years** , użyłem fragmentu, który gdzieś znalazłem i wygląda to tak: function posts_by_year() { // array do użycia dla wyników $years = array(); // pobierz posty z WP $posts = get_posts(array( 'numberposts' => -1, 'orderby' => 'post_date', 'order' => 'ASC', 'post_type' => 'my-custom-post -type', 'post_status' => 'opublikuj' )); // pętla przez posty, wypełniając tablice $years foreach($posts as $post) { $years[date('Y', strtotime($post->post_date))][] = $post; } // sortowanie odwrotne według roku krsort($lata); zwróć $lat; } W moim niestandardowym szablonie strony używam: <?php foreach(posts_by_year() jako $rok => $posts) : ?>
<?php echo $rok; ?>
 // kod potrzebny do wyświetlenia liczby postów na rok <?php endforeach; ?> **Moje pytanie brzmi:** Jak zbudować wp_query, aby móc wyprowadzić liczbę postów na okres taksonomii na rok? Byłbym bardzo zadowolony, gdyby ktoś pomógł mi to rozwiązać. PS: Mam już tabelę zawierającą WSZYSTKIE opublikowane posty z my-custom-post-type według terminu taksonomii, znalazłem tutaj pomoc i użyłem kodu deflime. **Edytuj:** To jest fragment tekstu Pietera Goosena zawierający moje modyfikacje: $oldest = get_posts( 'post_type=my-custom-post-type&post_status=publish&posts_per_page=1&order=ASC' ); $oldest_date = $oldest[0]->post_data; $pierwsza_data = data('Y', strtotime($najstarsza_data)); $dzisiejsza_data = data('Y'); $zakres_roku = zakres($dzis_data, $pierwsza_data); foreach ($zakres_roku jako $rok) { // dynamiczne tabele roczne echo '
' . $rok . '
'; $terms = get_terms('moja-niestandardowa-taksonomia'); $total_posts = 0; if ( !empty( $terms ) && !is_wp_error( $terms ) ) { // treść tabeli echo '

 '; echo '

 Termin taksonomiczny	 Procent	 Liczba

 '; echo '

 Łączna liczba postów	 '.$total_posts.'

 '; foreach ( $terms as $term ) { // konfiguracja tabeli
 na termin taksonomii $args = array( 'posts_per_page' => -1, 'post_type' => 'my-custom-post-type', 'post_status' => 'publish', 'year' => $year, 'tax_query' => array( array( 'taxonomy' => 'my-custom-taksonomia', 'field' => 'slug', 'terms' => $term->slug ), ), ); $total_posts += $term->liczba; // Pobierz %, zaokrąglij do 2 miejsc po przecinku $percentage = round( (($yearly_posts_per_term->post_count / $total_posts)*100), 2 ); // doda do 100 na końcu? $total_check += $procent; $yearly_posts_per_term = nowe WP_Query($args); echo '
 '.$term->nazwa.'

 '.$percentage.'%	 '.$yearly_posts_per_term->post_count.'
 '; } // endforeach echo '

 '; } //koniec tabeli } // koniec rocznej listy


title: pobieranie określonych pozycji z menu

text: Próbując zbudować 2 połączone menu, powiedzmy, że hierarchia jest taka (w opcjach menu) - A - B - C - D - D1 - D2 - A1 Pierwsze menu, które chcę, aby zostało to naprawione, Pobrałem go za pomocą `'głębokości' => 1,`. Drugie menu musi zostać zmienione zgodnie z pierwszym menu (na przykład, jeśli nacisnę "A", pokaże tylko "B" i "C" ORAZ "D", a kiedy nacisnę "B", nadal musi zostać otwarty jako " B”, „C”, „D” (to samo, jeśli nacisnę „D1”). Myślę, że rozumiemy, jak to powinno działać. Kiedy próbowałem to zbudować, udało mi się pobrać menu tylko wtedy, gdy wybierzesz z menu głównego (np. "A" lub "A1"), ale gdy wybierasz głębiej w menu głębi, pokazuje to potomstwo cześć. (tak jak jeśli wybiorę "D", podmenu stanie się "D1" i "D2 `) i nie chcę tego, próbowałem sprawdzić, na jakiej głębokości jest menu, lub uzyskać coś, co pomoże mi zrobić to posortowanie, ale nic nie mogłem znaleźć.Oto kod: function: function submenu_get_children_ids( $id , $items ) { $ids = wp_filter_object_list( $items, array( 'menu_item_parent' => $id ), 'and', 'ID' ); foreach ( $ids as $id ) { $ids = array_merge( $ids, submenu_get_children_ids( $id, $items ) ); } zwróć identyfikatory $; } pobieranie menu : $menu = wp_nav_menu(array( 'container' => false, // usuń kontener nawigacji 'container_class' => 'right_menu', // klasa kontenera (jeśli chcesz go użyć) 'menu' = > __( 'top_main_nav', 'bonestheme' ), // nazwa nawigacji 'menu_class' => 'main_bar_menu '.$lang.'', // dodanie własnej klasy nawigacji 'theme_location' => 'main-nav', // gdzie znajduje się w motywie 'before' => '', // przed menu 'after' => '', // za menu 'link_before' => '', // przed każdym linkiem 'link_after' => '', // po każdym linku 'depth' => 1, // ogranicz głębokość nawigacji 'fallback_cb' => '' // funkcja fallback (jeśli istnieje) )); $bieżąca_strona = 0; // sprawdź, czy bieżąca strona ma menu. foreach(wp_get_nav_menu_items('top_main_nav') as $pagec) { if(get_the_title() == $pagec->title) { $current_page = $pagec->title; } } if($bieżąca_strona === 0) { $bieżąca_strona = "Strona główna"; } $args = array( 'container' => false, 'container_class' => 'main_bar_menu', 'menu' => 'top_main_nav', 'menu_class' => 'main_bar_menu', 'submenu' => $bieżąca_strona, ); wp_nav_menu ($args ); Próbuję znaleźć rozwiązanie około 2 dni teraz :\ gdyby ktoś mógł mnie z tym poprowadzić, byłbym bardzo wdzięczny! wielkie dzięki!


title: Wygląda na to, że nie widzę fragmentów wyświetlanych wewnątrz get_pages i nie wiem dlaczego?

text:
Tak więc mam pętlę foreach w get_pages, która pokazuje listę stron podrzędnych w ramach identyfikatora nadrzędnego. Tytuły, wyróżniony obraz i linki są w porządku, jednak nie mogę w ogóle wyświetlić fragmentów. Odnoszę się do http://codex.wordpress.org/Function_Reference/get_pages $args = array( 'child_of' => 16, 'title_li' => '', 'depth' => 0, 'sort_order' => ' DESC', 'sort_column' => 'menu_order' ); $strony = get_pages( $args ); $wyjście = ''; foreach($strony jako $wartość){ $thumb = get_the_post_thumbnail( $value->ID, $attr = '' ); $output .= "

"; $output .= "
post_name . "' >" . $kciuk . "
"; $output .= "
post_name . "' >" . $value->post_title . „
”; $output .= "
". $value->post_excerpt . "
"; $wyjście .= "

"; } echo $wyjście; Mogę zmienić `$value->post_excerpt` na `$value->post_content` i to działa poprawnie, pokazując całą zawartość strony. Próbowałem również z różnymi odmianami, w tym `get_the_excerpt()`, `the_excerpt()` i `post_excerpt`, ale bezskutecznie. Czy czegoś mi brakuje? Na stronie Codexu znajduje się `post_excerpt` jako poprawny zwrot, więc nie jestem do końca pewien, dlaczego się nie wyświetla. (Przy okazji tak, dodałem tag MORE do moich stron) AKTUALIZACJA: `var_dump($value)` object(WP_Post)[276] public 'ID' => int 155 public 'post_author' => string '1' (length=1) public 'post_date' => string '2014-08-07 09:40:53' (length=19) public 'post_date_gmt' => string '2014-08-07 09:40:53' (długość =19) public 'post_content' => string '
Śledzenie telefonów komórkowych

Rodzice chcą znać lokalizację swoich dzieci, a firmy dążące do zapewnienia bezpieczeństwa samotnym pracownikom od 2004 roku, mogli zakupić usługę śledzenia telefonów komórkowych, zaprojektowaną i wdrożoną przez InverOak, we współpracy z Cybit dla The Carphone Warehouse.

The Carphone Warehouse, wiodący europejski niezależny sprzedawca telefonów komórkowych i usług, poprosił firmę InverOak o zaprojektowanie systemu, który śledzi lokalizację dowolnego telefonu komórkowego w Wielkiej Brytanii, '... (length=2656) public 'post_title' => string 'The Carphone Warehouse' (length=22) public 'post_excer pt' => string '' (length=0) public 'post_status' => string 'publish' (length=7) public 'comment_status' => string 'closed' (length=6) public 'ping_status' => string ' closed' (length=6) public 'post_password' => string '' (length=0) public 'post_name' => string 'magazyn-samofonów' (length=22) public 'to_ping' => string '' ( length=0) public 'pinged' => string '' (length=0) public 'post_modified' => string '2014-08-11 10:01:34' (length=19) public 'post_modified_gmt' => string ' 2014-08-11 10:01:34' (length=19) public 'post_content_filtered' => string '' (length=0) public 'post_parent' => int 16 public 'guid' => string 'http:// inveroak.local/?page_id=155' (length=34) public 'menu_order' => int 0 public 'post_type' => string 'page' (length=4) public 'post_mime_type' => string '' (length=0 ) public 'comment_count' => string '0' (length=1) public 'filter' => string 'raw' (length=3) Zatem post_excerpt jest pusty. Ale nie do końca rozumiem dlaczego, jeśli jest to uwzględnione w zwrocie z kodeksu? AKTUALIZACJA: Odkryłem, że fragment strony został usunięty w wersji 3.1 i znalazłem funkcję ręcznego fragmentu dodaną do pliku functions.php motywu: add_post_type_support( 'strona', 'wyciąg' ); Chociaż wydaje się to działać w porządku, czy jest jakaś różnica między tym a używaniem tagu w edytorze? Co jest czystsze?


title: Próbnik kolorów tęczówki

text: próbuję zaimplementować próbnik kolorów Iris w moim motywie wordpress i działa dobrze, ale kiedy dołączam pliki próbnika kolorów Iris, nie mogę wywołać funkcji niestandardowej za pomocą tagu. to są pliki próbnika kolorów Iris:     to jest skrypt js w nagłówku:  a to jest link do funkcji: Wstaw wideo Jeśli usunę pliki Iris, w przeciwnym razie funkcja nie zostanie uruchomiona.


title: zapisz dane wstępne w bazie danych przy aktywacji motywu

text: Opracowałem motyw dla mojego klienta. Motyw ma predefiniowane posty, strony i suwaki itp. Gdy ktoś aktywuje motyw, motyw wykonuje następujące kroki na haku aktywacji motywu. 1:- Opróżnij bieżącą bazę danych WordPress, aby uniknąć problemu z duplikatem wprowadzania danych. 2:- Wstawia wstępnie zdefiniowane dane do podstawowych tabel WordPress i tworzy inne wymagane niestandardowe tabele z danymi. Wszystko działa dobrze, akceptuję jeden problem i to jest mój motyw usuwa wszystkie poprzednie dane z bazy danych. aby klient utracił wszystkie poprzednie dane. potrzebuję pomysłu lub pomocy w rozwiązaniu tego problemu. Użytkownik chce tylko dodać nowy motyw za pomocą pliku zip motywu, a wszystkie posty i strony powinny być zrobione automatycznie. Każda pomoc lub pomysł będą bardzo mile widziane.


title: Jak zastąpić informacje o blogu(template_url)

text: Zasadniczo użyłem `bloginfo(template_url)` w motywie WordPress, ale kiedy uruchamiam narzędzie do sprawdzania motywów, zalecam zastąpienie `bloginfo(template_url)` `get_template_directory_uri()`, jednak gdy używam `get_template_directory_uri()` to nie działa. Działa dobrze, jeśli użyję go do zastąpienia `get_bloginfo(template_url)`, ale nie tego teraz chcę. Czy „bloginfo(template_url)” jest przestarzałe? Jeśli tak, to co jest zamiennikiem? Dziękuję


title: Jak wyświetlić wbudowaną galerię wewnątrz widżetu?

text: Chcę wyświetlić określoną galerię (bez wtyczki = wbudowana galeria WordPress) wewnątrz widżetu. Próbowałem shortcode `[gallery ids="717"]`, ale to nie działa. Może obejściem może być włączenie skrótów w widżetach? jeśli tak, jak mam to zrobić?


title: Czy mogę mieć dwa przyciski przesyłania w jednym formularzu?

text: Chcę dostarczyć 2 przyciski w jednym formularzu. Użytkownik klika dowolny przycisk, może przesłać formularz, ale wykonuje inne zadania – jeden przycisk to import zaznaczonych plików, inny przycisk to tworzenie plików. Czy to zmyli Wordpress?


title: Wtyczka do niestandardowych postów i pól

text: Potrzebuję wtyczki, aby wykonać następujące czynności: * Dodaj niestandardowe typy postów, takie jak „Książki” lub „Samochody” * Dodaj niestandardowe pola, takie jak „URL”, „Etykieta”, „Liczba kół”, „Nazwisko pasażera” lub „Wiek pasażera” Istnieją pewne wymagania 1. Powinno to działać w przypadku instalacji wielostanowiskowej i powinno być możliwe pobieranie postów i danych dla tego posta z innej lokalizacji w sieci wielostanowiskowej 2. Niektóre pola muszą być pogrupowane, np. "Nazwisko pasażera" i "Wiek pasażera" 3. Niektóre pola muszą być uporządkowane (przez użytkownika), np. użytkownik chce uporządkować grupę wiekową pasażera, więc po wyświetleniu nazwiska będą się w nich pojawiać zamów Czy znasz jakiś plugin, który to zrobi?


title: Czy powinienem używać Wordpressa do skórowania witryny bazy danych?

text: Zacznę programować stronę internetową, dzięki której użytkownicy będą mogli zamieszczać ogłoszenia o sprzedaży samolotów. (Pomyśl o autotraderze samolotów). Będzie darmowy. Istnieje kilka witryn, które już to robią, ale wszystkie są wadliwe z różnych powodów. Potrafię swobodnie używać php i mySQL, więc planuję użyć ich do 'zaplecza'. Jestem również kompetentny w HTML jako języku, ale jestem kiepski w grafice i sprawianiu, że wyglądają ładnie. Dlatego chciałbym użyć jakiejś formy „skórki” do umieszczenia nad budowanym przeze mnie kodem. Rozważałem użycie Wordpressa, ponieważ istnieje wiele darmowych motywów, które są estetyczne. Nigdy wcześniej nie korzystałem z Wordpressa. Wiem, że to już strona z bazą danych. Czy jest odpowiedni do tworzenia niestandardowych baz danych/serwisów internetowych i wyświetlania wyników wyszukiwania itp. LUB... Czy mogę użyć dołączonej bazy danych jako magazynu informacji i umożliwić użytkownikom tworzenie kont i publikowanie elementów itp. Wszelkie przemyślenia/porady mile widziane.


title: wp_query, nadaj pierwszemu postowi inne formatowanie

text:
Chcę móc nadać pierwszemu postowi w niestandardowej instancji `wp_query` inne formatowanie niż reszta. To jest próbka mojej obecnej pętli (z kilkoma bitami uproszczonymi, aby skrócić mój kod); $args1 = array( 'post_type' => 'post', 'posts_per_page' => 4 ); $pętla = nowe WP_Query($args); while ($loop->have_posts()) : $loop->the_post(); echo '
'.the_title().'
'; koniec; wp_reset_postdata(); Ale dla pierwszego posta w tej pętli chcę zmienić formatowanie, abym mógł pokazać miniaturę posta, krótki fragment treści itp.


title: Jak uzyskać liczbę dla każdego terminu taksonomii?

text: Wiem, że to `$term[0]->count;` Jednak moje warunki są umieszczone we wtyczce menu niestandardowego. Moje terminy mają obecnie strukturę Rodzic Dziecko Rodzic Dziecko Jak dodać liczbę terminów każdego terminu? Szukałem wszędzie i nie znalazłem rozwiązania. Moje wyjście powinno być: Rodzic(2) Dziecko(1) Rodzic(5) Dziecko(2) Nadal nie wiem, jak się do tego zabrać. Tak więc każda pomoc zostanie doceniona. EDYCJA: Jeśli ktoś wie, gdzie znaleźć plik niestandardowego widżetu menu, myślę, że mogę edytować jego wyjście.


title: Jak pobrać warunki taksonomii aktualnego postu niestandardowego?

text: Mam niestandardową taksonomię _worktype_ i mam 3 typy w tej ostatniej niestandardowej taksonomii: - tworzenie - współpraca - laboratorium Mam również niestandardowy typ postu "works". _worktype_ jest używany tylko dla niestandardowych postów typu _works_ Mam szablon single-works.php i wszystko jest w porządku, ALE muszę pobrać typ pracy bieżącego pojedynczego posta. Jak mogę to zrobić ? (ostateczny pomysł: zbuduj taki okruszek chleba > ; w celu nieco lepszej nawigacji)


title: jak zarejestrować / dodać wiele opcji w jednym polu w wordpressie?

text: Jak mogę się zarejestrować lub dodać wiele opcji do jednego pola. Na przykład zapisujemy logo w get_options() rejestrując ustawienie i dodając pola za pomocą funkcji add_settings_field() i odpowiednio je wyprowadzamy. Ale co, jeśli chcemy zapisać wiele opcji w jednym polu, tak jak mamy opcję na naszej stronie o nazwie „Wybierz swój ulubiony kolor” i są pola wyboru z różnymi kolorami, a użytkownik musi wybrać wiele kolorów (nie jeden kolor) to jak moglibyśmy to zapisać w opcjach WordPressa i jak to również wyprowadzić?


title: Czy można dodać pasek boczny w haczyku woocommerce?

text:
Próbuję dodać pasek boczny do haka woocommerce woocommerce_before_shop_loop. Używam następującego kodu w pliku functions.php: add_action( 'woocommerce_before_shop_loop', 'my_custom_before_shop_loop_sidebar', 1); function my_custom_before_shop_loop_sidebar() { echo get_sidebar('my_custom_sidebar'); } Problem, który mam, polega na tym, że wyświetla domyślny pasek boczny wordpress zamiast paska bocznego z identyfikatorem my_custom_sidebar. czy istnieje sposób, aby to osiągnąć? Dziękuję! A tak przy okazji, rejestruję pasek boczny w ten sposób: /** * Zarejestruj paski boczne */ function meir_widgets_init() { register_sidebar( array( 'name' => 'Mój niestandardowy pasek boczny', 'id' => 'my_custom_sidebar' , 'description' => 'Pasek boczny najlepszych filtrów.', 'before_widget' => '
', 'after_widget' => '

', 'before_title' => '
', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'meir_widgets_init' );


title: Buddypress Group Activity Loop Filter Typ aktywności

text: Używam Buddypress 1.8.1 Kiedy strona główna grupy ładuje się, chcę pokazać tylko aktywności 'activity_update' i 'joined_group' w Activity Loop. Oto mój kod pętli aktywności. Jest to standardowy kod pętli. <?php if ( bp_has_activities( bp_ajax_querystring( 'aktywność' ) ) ) : ?> <?php while ( bp_activities() ): bp_the_activity(); ?> <?php locate_template( array( 'aktywność/wpis.php' ), prawda, fałsz ); ?> <?php koniec; ?> <?php endif; ?> Jak filtrować te działania podczas ładowania strony. Dziękuję.


title: Czy to prawidłowe użycie filtrów w WordPressie?

text: Tworzę wtyczkę i mam wątpliwości, czy kod, którego używam, jest prawidłowym sposobem działania w odniesieniu do hooków i filtrów WordPress. Scenariusz polega na tym, że kod w określonym punkcie musi wiedzieć, czy zrobić to, czy coś innego. Prosta sprawa, mógłbym skorzystać z opcji w adminie wtyczki. Ale aby nie zaśmiecać administratora wtyczki i biorąc pod uwagę, że ta opcja będzie prawdopodobnie używana przez bardzo mały procent użytkowników, zdecydowałem się nie mieć opcji GUI i zamiast tego ustawić tę wartość prawda/fałsz za pomocą kodu (frameworka Genesis często korzysta z tej metodologii). Zaczynamy od wartości domyślnej w zmiennej: $force_default_thumbnail = apply_filters( 'image_priority', FALSE ); // reszta logiki idzie tutaj Tak więc zmienna zaczyna być FALSE, a użytkownik wtyczki może to zmienić, używając filtra w pliku functions.php swojego motywu (lub jako osobna wtyczka) w następujący sposób: add_filter( 'image_priority', 'my_force_default_thumbnail' ); To z kolei uruchomiłoby następującą funkcję, która jest również zawarta w głównym pliku wtyczki. function my_force_default_thumbnail( $force ) { return TRUE; } Po uruchomieniu tej funkcji domyślna wartość zmienia się na true, a logif wtyczki zmienia się na podstawie tej modyfikacji. Mam nadzieję, że wyjaśniłem to wystarczająco dobrze i czekam na twoją radę.


title: Theme My Login Plugin Zmień język witryny na język domyślny

text: Mam trzy strony internetowe z tym samym problemem: używam qTranslate i motywuję moje wtyczki logowania. Jeśli użytkownik chce się zarejestrować, zalogować lub odzyskać hasło i poda błędne dane (puste pole tekstowe, błędna nazwa użytkownika lub błędny adres e-mail), zmienia się język na domyślny. Wszystkie komunikaty o błędach są wyświetlane w nowo zmienionym języku domyślnym. przykład: jeśli użytkownik chce zarejestrować się w języku x, a adres URL to: example.com/x/register/ i wprowadzi zły adres e-mail/nazwę użytkownika, a następnie kliknie _rejestr_ , język zmieni się na domyślny. Komunikat o błędzie i wszystko inne jest wyświetlane w języku domyślnym, a adres URL to: example.com/register/


title: Pokaż najnowsze reklamy z określonych kategorii

text:
Proszę o pomoc ekspertom, problem polega na tym: używam szablonu sklasyfikowanego, są wyświetlane na stronie głównej dla najnowszego przesłania, ale chciałbym wyświetlać reklamy w różnych kategoriach. Pozwolę sobie wyjaśnić, chciałbym wyświetlić najnowsze w danej kategorii. To jest kod w index.php dotyczący najnowszego: <?php $latest=get_option('colabs_latest_submit'); if(''==$ostatni)$ostatni=10; $the_query = nowe WP_Query('post_type=ad&showposts='.$latest); if($the_query->have_posts()): ?>

<?php _e('Najnowsze zgłoszenie' ,'colabsthemes');?>

 <?php while ( $the_query->have_posts() ) : $the_query- >post(); ?>
 <?php colabs_image('width=42&height=42');?> <a class="latest-title" href="<?php the_permalink();?>"><?php the_title() ;?>
 <?php endwhile; ?>

 <?php endif;?> Wielkie dzięki dla wszystkich!


title: Dodawanie kontrolek do konfiguratora motywów, jeśli określony szablon strony jest aktywny

text: Jak warunkowo dodać kontrolki w panelu Theme Customizer. Warunkowe, takie jak `is_page()` lub `is_page_template()` oczywiście nie działa/nie będzie działać, ponieważ wyświetlana strona to `customize.php`. ## Przykład kodu add_action( 'customize_register', 'my_theme_customize_register', 11 ); function my_theme_customize_register($wp_customize){ if( is_page_template('my-template.php'){ // dodaj specjalną kontrolkę } } **Kolejną obserwacją** jest to, że panel sterowania ustawieniami dostosowywania nie odświeża się po przełączeniu na strony. ajax, aby załadować podgląd motywu. Wydaje mi się, że dostosowywanie motywu nie zamierzało używać do ustawień specyficznych dla posta/strony. Więc czy trafiam w ślepy zaułek?


title: Niestandardowy typ wpisu wtyczki — wewnętrzny błąd serwera

text: Muszę utworzyć wtyczkę w wordpressie 3.9 dla niestandardowych typów postów. Kiedy aktywuję wtyczkę, otrzymuję wewnętrzny błąd serwera 500. Również wtyczki nie są wyświetlane w panelu administratora. Oto mój kod: <?php /** * Nazwa wtyczki: Nazwa wtyczki * URI wtyczki: http://URI_Of_Page_Describing_Plugin_and_Updates * Opis: Krótki opis wtyczki. * Wersja: Numer wersji wtyczki, np.: 1.0 * Autor: Imię i nazwisko autora wtyczki * URI autora: http://URI_Of_The_Plugin_Author * Licencja: Nazwa licencji „Slug”, np. GPL2 */ add_action('init', 'register_wp_questions'); $labels = array( 'name' => __( 'Pytania', 'wp_question' ), 'singular_name' => __( 'Pytanie', 'wp_question' ), 'add_new' => __( 'Dodaj nowe', ' wp_question' ), 'add_new_item' => __( 'Dodaj nowe pytanie', 'wp_question' ), 'edit_item' => __( 'Edytuj pytania', 'wp_question' ), 'new_item' => __( 'Nowe pytanie' , 'wp_question' ), 'view_item' => __( 'Wyświetl pytanie', 'wp_question' ), 'search_items' => __( 'Wyszukaj pytania', 'wp_question' ), 'not_found' => __( 'Brak pytań found', 'wp_question' ), 'not_found_in_trash' => __( 'Nie znaleziono pytań w Koszu','wp_question' ), 'parent_item_colon' => __( 'Pytanie nadrzędne:', 'wp_question'), 'menu_name' = > __( 'Pytania', 'wp_pytanie') ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'description' => __( 'Pytania i odpowiedzi', 'wp_question' ), 'supports' => array( 'title', ' editor', 'comments' ), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'publicly_queryable' => true, 'exclude_from_search' => true, 'has_archive' => prawda, 'query_var' => prawda, 'can_export' => prawda, 'rewrite' => prawda, 'capability_type' => prawda ); register_post_type ('wp_question', $args); ?> Proszę o pomoc. Jak mogę znaleźć błąd? Dziękuję


title: Dodaj menu trzeciego poziomu na wordpress

text: Chciałbym dodać menu trzeciego poziomu na WordPressie. To jest kod, który dodałem do pliku functions.php, aby utworzyć drugie menu, ale gdy próbuję powtórzyć ten sam kod z trzecim menu, pojawia się błąd. add_action( 'init', 'moje_niestandardowe_menu' ); function my_custom_menus() { register_nav_menus( array( 'primary-menu' => __( 'Główne menu' ), 'secondary-menu' => __( 'Menu dodatkowe' )


title: Jak ustawić zmienne globalne na stronie szablonu?

text: Wiem, że to działa. W `functions.php` wykonaj: $zmienna = "wartość"; aw `header.php` użyj: global $variable; echo $zmienna; Czy można ustawić zmienną globalną na stronie szablonu lub dołączyć plik php?


title: Ustaw jako domyślny pierwszy link podrzędny zamiast jego rodzica

text: Chcę zrobić coś takiego: jeśli rodzic ma dzieci, uzyskaj link do strony pierwszego dziecka, a inny link do strony samego siebie. Na przykład: Strona 1 * Podstrona 1 ( **pobierz ten link** ) * Podstrona 2 * Podstrona 3 Strona 2 ( **pobierz ten link** ) Strona 3 * Podstrona 1 ( ** pobierz ten link** ) * Podstrona 2 Strona 4 ( **uzyskaj ten link** )


title: Problemy z fragmentacją APC na instancji Apache AWS EC2 Small z WordPress i W3TC

text: > Zadałem to pytanie przy błędzie serwera i otrzymałem potwierdzenie, że > W3TC jest najprawdopodobniej przyczyną problemu, ale na kilka z moich bardziej specyficznych > problemów W3TC/Wordpress nie udało się znaleźć odpowiedzi. Ponowne publikowanie tutaj, ponieważ ta społeczność miała > miejmy nadzieję, że odpowiem na te lepsze. Ośmielam je poniżej.* AWS EC2 Mała instancja, Apache 2 z systemem WordPress i W3TC. W ciągu godziny fragmentacja mojego APC osiąga 100%. Moje ustawienia APC to: apc.enabled = 1 apc.shm_segments = 1 apc.shm_size = 100M apc.optimization = 0 apc.num_files_hint = 512 apc.user_entries_hint = 1024 apc.ttl = 7200 apc.user_ttl.600_ apc = 7200_apc apc.cache_by_default = 1 apc.use_request_time = 1 apc.filters = "apc\.php$" apc.mmap_file_mask = "/tmp/apc.XXXXXX" apc.slam_defense = 0 apc.file_update_protection = 2 apc.enable_cli = 0 max_file_size = 2M apc.stat = 1 apc.write_lock = 1 apc.report_autofilter = 0 apc.include_once_override = 0 apc.rfc1867 = 0 apc.rfc1867_prefix = "upload_" apc.rfc1867_name = "PROCFRESS_UPALCACH" = 0 apc.localcache.size = 256M apc.coredump_unmap = 0 apc.stat_ctime = 0 apc.canonicalize = 1 apc.lazy_functions = 0 apc.lazy_classes = 0 /etc/php.d/apc.ini Więcej kupy można zobaczyć tutaj . Głównie ustawienia łóżeczkowe stąd. Shm miał być zmniejszony z tak wysokiej wartości po pewnej obserwacji, ale najwyraźniej tak duża wartość nie jest nawet wystarczająco wysoka.... Znalazłem tutaj podobne pytanie/odpowiedź. Mam kilka konfiguracji wirtualnych hostów, ale w ogóle ich nie dotykam. Posiadanie użytkowników zalogowanych do panelu administracyjnego WP pogarsza sytuację, ale z pewnością nie jest to główny winowajca. Pytający wydaje się sugerować, że prawdopodobnie przyczyną problemu jest W3TC, z czym autor wtyczki wydaje się zgadzać, ale poza tym nie ma żadnych pomocnych szczegółów. **Dlaczego to powoduje problem? Czy można to naprawić?** **Czy mam na razie włączyć i wyłączyć buforowanie obiektów za pomocą APC? Czy nic nie mogę zrobić? Czy APC włączony bez użycia do buforowania obiektów rzeczywiście w czymkolwiek pomaga? Czy memcache byłby dobrym substytutem tylko buforowania obiektów tutaj? Na koniec, może po prostu nie powinienem się tak przejmować fragmentacją?**


title: JQuery NoConflict Problem

text: Tworzę motyw wordpress i korzystam z niektórych skryptów korzystających z jQuery. Działało dobrze, dopóki nie włączyłem konkretnej wtyczki o nazwie „Płatne pobieranie”. To faktycznie sprawiło, że wszystkie zależności jquery przestały działać. Więc myślę, że może robię coś złego. Na przykład używam prettyPhoto i inicjuję je tak: /* Pretty Photo */ wp_register_style('pretty-photo-css', LIBRARIES_URI . "prettyPhoto/css/prettyPhoto.css"); wp_enqueue_style('ładne zdjęcie-css'); wp_register_script('jquery-ładne-zdjęcie', LIBRARIES_URI . "prettyPhoto/js/jquery.prettyPhoto.js"); wp_enqueue_script('jquery-ładne-zdjęcie', array('jquery-my')); jquery.prettyPhoto.js to rzeczywisty plik prettyPhoto i właśnie dodałem te kilka wierszy na końcu tego pliku, aby wywołać efekt prettyPhoto : jQuery.noConflict() jQuery(function(){ jQuery("a[rel ^='ładneZdjęcie']").ładneZdjęcie(); }); JQuery jest umieszczane w kolejce jak: wp_register_script('jquery-my', "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"); wp_enqueue_script('jquery-my'); Jak wspomniałem, działało to przed włączeniem wtyczki „Płatne pobieranie”. Zastanawiam się. Czy robię coś źle ? Gdy wtyczka jest włączona, pojawiają się takie błędy w konsoli javascript Chrome: Uncaught TypeError: Object [object Object] nie ma metody 'prettyPhoto' Wygląda na to, że jest konflikt, ponieważ wtyczka dodaje jquery do własnych celów ? Jakieś pomysły ?


title: W jaki sposób shortcode może zastąpić polecany obraz w poście?

text:
Gdy w poście znajduje się określony krótki kod (na przykład `[sc]cokolwiek[/sc]`), chcę ukryć polecany i zająć jego miejsce. Jak mogę to zrobić? Dodaję to do mojej funkcji motywu // Funkcja TopWide Shortcode wpsite_topwide( $atts, $content = null ){ return '
' . do_shortcode($zawartość) . '
'; } add_shortcode( 'topwide', 'wpsite_topwide' ); /** * Sprawdź, czy treść zawiera krótki kod z góry. */ function wpsite_has_topwide_shortcode() { global $post; if ( ! is_single() ) return; if ( false === strpos( $post->post_content, '[topwide' ) ) return false; zwróć prawdę; } i to w jednym poście <?php if (wpsite_has_topwide_shortcode() && has_post_thumbnail() ) { echo '
' . get_the_post_thumbnail( $post->ID, 'pełny') . '
'; } ?> Ale nie zastępuje wyróżnionego obrazu w poście...


title: Kanały RSS i wordpress?

text: Pracuję nad moją pierwszą stroną wordpressową i tak naprawdę nigdy nie pracowałem z kanałami RSS. Jednak mój znajomy, dla którego robię stronę internetową, chce to tam. więc sądzę, że jestem na kursie awaryjnym z google, aby dowiedzieć się wszystkiego, co mogę o kanałach RSS. Miałem nadzieję, że znajdę wtyczkę, która pozwoliła odwiedzającemu zasubskrybować bloga, ale wszystkie są dość brzydkie lub nie to, czego chcę. ![tutaj podaj opis obrazka](http://i.stack.imgur.com/M4Jyw.png) Mam nadzieję, że pole e-mail będzie można zmienić w taki sposób, w jaki zaprojektowałem je tutaj. Lub nawet coś w rodzaju sposobu, w jaki zrobiła to ta strona. Czy są jakieś dobre wtyczki i artykuły do przeczytania dla początkującego twórcy motywów wordpress, aby poznać te informacje o kanale RSS?


title: Jak znaleźć galerie WordPress Nextgen, które nie są używane w postach WordPress?

text: Od jakiegoś czasu używam **WordPress** z **Nextgen Gallery** Alexa Rabe'a. Dawno, dawno temu miałem na swojej stronie sporą ilość galerii, które były wykorzystywane w wielu postach poprzez shortcode nextgen. Ale w celu poprawy jakości usunąłem wiele postów, ale galerie związane z tymi postami pozostają w systemie plików jako osierocone. Jak znaleźć galerie nieużywane w bazie postów? ## **Tabela dodana przez galerię nextgen:** ### wp_ngg_gallery Typ kolumny Null Domyślnie Komentarze gid bigint(20) Brak nazwy varchar(255) Brak slug varchar(255) Brak ścieżki mediumtext Tak NULL title mediumtext Tak NULL galdesc mediumtext Tak NULL pageid bigint(20) Tak 0 previewpic bigint(20) Tak 0 author bigint(20) * * * ### wp_posts (domyślna tabela Wordpress) Typ kolumny Wartość domyślna zero Komentarze ID bigint(20) Nie post_author bigint(20) Nie 0 post_date datetime Nie 0000-00-00 00:00:00 post_date_gmt datetime Nie 0000-00-00 00:00:00 post_content longtext Żaden gid nie jest identyfikatorem galerii. na przykład, jeśli gid wynosi 8, używam skrótu galerii nextgen **[nggallery id=8]** w poście i jest on zapisywany w polu post_content tabeli wp_posts. chcę znać gid, którego nie ma w żadnym post_content całej tabeli wp_posts.


title: Jak dodać ikonę „czekania” na ajax w nakładce WP?

text: To jest mój kod js wyszukiwania do przetwarzania wyszukiwania: jQuery(document).ready(function($){ $('#searchsubmit').click(function(e){ e.preventDefault(); var searchval = $('# s').val(); // pobierz wyszukiwany termin $.post( WPaAjax.ajaxurl, { action : 'wpa56343_more', searchval : searchval }, function( response ) { $('#results').empty(); $('#wyniki').append(odpowiedź); }); }); }); Moje pytanie brzmi, jak dodać ikonę oczekiwania (tę, która jest używana w WP admin) obok przycisku wyszukiwania (#searchsubmit), aby użytkownik wiedział po kliknięciu, że to działa? Najlepiej byłoby, gdybym używał tylko javasccript w moim istniejącym kodzie js, który zamieściłem tutaj.


title: klasa current-menu-item dla niestandardowego rodzica typu post

text:
Mam problem z moim menu i niestandardowym typem posta. Mam niestandardowy post typu „usługi”. Utworzyłem dla niego nową stronę o nazwie Usługi. Na tej stronie wyświetlam listę wszystkich postów z tego niestandardowego typu postu. Klasa current-menu-item działa zgodnie z założeniami. Problem polega jednak na tym, że klikam jedną z usług i przechodzę do mysite.com/services/service-1, pozycja bieżącego menu ze strony usług w menu znika. Muszę wykazać, że ten obecny post jest potomkiem strony Usługi. Wszystkie elementy menu mają ten sam kod HTML:
Služby
 Nie ma klasy CSS, której mógłbym użyć do nadania stylu tego linku jako nadrzędnego. Coś jak current-menu-parent czy coś takiego. Jak mogę to naprawić? Dziękuję.


title: Zastąp TimThumb w istniejących motywach WordPress

text: Jestem pewien, że większość z nich zdaje sobie sprawę z ostatnich problemów z Timthumb. Wiem, że założyli opatrunek na ten problem, ale naprawdę nie dbam o scenariusz z kilku powodów. Zanim zacząłem budować swoje motywy, kupiłem kilka z różnych rynków. Próbuję wymyślić najlepszą metodę usunięcia Timthumb i zastąpienia go czymś innym. Udało mi się zastąpić go jednym motywem za pomocą the_post_thumbnail, ale było to sporo pracy. Jestem tylko ciekaw, czy ktoś zna lepszą metodę. W obecnej formie muszę rozważyć, ile czasu zajmie mi moja metoda, w porównaniu do tego, jak bardzo podoba mi się ten motyw. Czy możesz podać jakieś sugestie lub linki do sprawdzonych artykułów?


title: Jak stworzyć nieresponsywny motyw WordPress za pomocą Genesis Framework?

text: Jestem nowy w kodowaniu i naprawdę nie wiem, jak stworzyć niereagujący motyw potomny, który działa na frameworku Genesis. Poza tym próbowałem zmodyfikować motyw potomny i wszystko poszło dobrze, ale pewnego dnia, kiedy próbowałem zmienić rozmiar okna przeglądarki, zauważyłem, że motyw był pomieszany i wyglądał brzydko. Naprawdę chcę wiedzieć, czy można usunąć responsywność z motywu potomnego Genesis, czy nie.


title: POST z jQuery do PHP

text:
Mam formularz, który przekazuje wartości pól do jQuery, które sprawdza poprawność pól i tworzy zmienne wysyłane w `data: {}` w poniższym fragmencie. $.ajax({ type: "POST", url: "<?php bloginfo('stylesheet_directory'); ?>/process.php", dataType: "json", data: { "title":title, "goals" :goals, "progress":progress, "categories":categories, "tags":tags, "video":video, "audio":audio, }, success: function() { //pobierz permalink do posta z php i idź do niego } }); process.php nie otrzymuje żadnych danych lub nie wysyła danych. Nie wiem dlaczego. Oto process.php <?php $user_submitted_title = sanitize_text_field($_POST['user_submitted_title']); $user_submitted_progress = $_POST['user_submitted_progress']; $user_submitted_goals = $_POST['user_submitted_goals']; $user_submitted_categories = $_POST['user_submitted_categories']; $user_submitted_tags = sanitize_text_field($_POST['user_submitted_tags']); $user_submitted_video = sanitize_text_field($_POST['user_submitted_video']); $user_submitted_audio = sanitize_text_field($_POST['user_submitted_audio']); $user_post = array( 'comment_status' => 'open', 'post_author' => $user_ID, 'post_category' => array($user_submitted_categories), 'post_content' => '
Postęp projektu
' . $user_submitted_progress '
Cele projektu
' . $user_submitted_goals, 'post_status' => 'publish', 'post_title' => $user_submitted_title, 'post_type' => 'post', 'tags_input' => $ user_submitted_tags ); $ user_post_id = wp_insert_post ($ user_post); add_post_meta ($user_post_id, 'wpcf-video', $user_submitted_video); add_post_meta ($user_post_id, 'wpcf-audio', $user_submitted_audio); $user_post_redirect = get_permalink($user_post_id); ?> Muszę dowiedzieć się, dlaczego nic nie publikuje, gdy używam formularza, i muszę dowiedzieć się, jak wysłać $user_post_redirect z powrotem do jquery, abym mógł do niego przekierować. Czy ktoś może mi pomóc?


title: Przenieś terminy z jednej taksonomii do drugiej, zachowując hierarchię

text: Po raz pierwszy tworzę **niestandardową taksonomię**. Próbuję dodać taksonomię „Lokalizacja”. To, co faktycznie próbuję zrobić, to użyć istniejących _kategorii_, aby przekształcić je w _lokalizacje_. Wszedłem do tabeli bazy danych `wp_term_taxonomy` i ręcznie zmieniłem kolumnę `taksonomii` tych, które chciałem z `category` na `location`. Wydawało się, że to działa całkiem nieźle, posty są przypisane do żądanych lokalizacji i wszystko wydaje się być w porządku, dopóki nie przejdę do strony _Lokalizacje_ w interfejsie administratora i znajdę pustą listę, mimo że wykrywa istniejące lokalizacje i wyświetla je : ![zrzut ekranu](http://zaharamh.com/locationwtf.gif) Jeśli ręcznie dodam nową _Lokalizacja_ przez interfejs, pojawia się ona poprawnie na liście. Co może być tego przyczyną?


title: wp_signon() nie uwierzytelnia wskazówek użytkownika potrzebnych

text: Używam formularza do wysyłania żądania POST do strony i logowania użytkownika za pomocą `wp_signon()` w celu uwierzytelnienia użytkownika w mojej instalacji wordpress, jak opisano w dokumentacji WP: $creds = array(); $creds['user_login'] = $_POST["user-login"]; $creds['user_password'] = $_POST["user-password"]; $creds['pamiętaj'] = prawda; $użytkownik = wp_signon ($kredyty, fałsz ); Po tym małym kawałku kodu sprawdzam, czy użytkownik był zalogowany: if ( is_user_logged_in() ) { echo "SUKCES"; } else { echo "BŁĄD!"; } Ale przez cały czas pojawia się komunikat `NIEPOWODZENIE!`. Następnie po wąchaniu znalazłem tę małą sztuczkę: wp_set_current_user($user); if ( is_user_logged_in() ) { echo "SUKCES"; } else { echo "BŁĄD!"; } Mam na tej stronie `SUCCESS`, ale kiedy opuszczam tę stronę, raz za razem otrzymuję `FAIL`. Czy ktoś może mi wyjaśnić, jak zalogować się użytkownika za pomocą `wp_signon()` bez wylogowywania go po zmianie lub przeładowaniu strony lub cokolwiek innego. * * * Osiągnąłem pożądany rezultat, kiedy przechodzę do `/wp_admin` i loguję się za pomocą domyślnego formularza logowania WP. Mogę nawigować po każdej stronie mojej witryny WP, która pozostaje zalogowana przez cały czas. Ale kiedy próbuję to zrobić poza domyślnym formularzem, `FAIL`. Prowadź mnie! PROSZĘ!


title: Dlaczego aktualizacja jednym kliknięciem kończy się niepowodzeniem na hoście lokalnym przy użyciu protokołu FTP z uprawnieniami 777 do plików witryny?

text: Potrafię z powodzeniem przesyłać/usuwać multimedia, dodawać/usuwać wtyczki i edytować pliki motywów w ramach administratora CP. Jedyne, czego nie mogę zrobić w admin CP, to normalna aktualizacja jednym kliknięciem z WordPressa 3.7.1 do 3.8. Pomysły? Komunikat o błędzie przy próbie uruchomienia aktualizacji: > Pobieranie aktualizacji z https://wordpress.org/wordpress-3.8-new-bundled.zip… > > Rozpakowywanie aktualizacji… > > Nie można zainstalować aktualizacji, ponieważ nie będziemy mogli skopiować niektóre pliki. > Zwykle jest to spowodowane niespójnymi uprawnieniami do plików.: wp- > admin/includes/update-core.php > > Instalacja nie powiodła się Do celów testowych, mam ustawione wszystkie katalogi i pliki od rodzica z uprawnieniami 777 i własnością user:group ustawić na mój serwer WWW użytkownika www-data. > -rwxrwxrwx 1 www-data www-data every-freakin-file.php Wyjście `grep www-data /etc/group` pokazuje mojego użytkownika vsftpd i mój główny login. > www-data:x:33:ftps,ryan Pliki witryny znajdują się w katalogu użytkowników z obsługą witryn poza /var/www. Jest on instalowany na prywatnym lokalnym hoście LAMP z plikami ports.conf skonfigurowanymi w następujący sposób. > NameVirtualHost *:80 Listen 127.0.0.1:80 > > # Jeśli dodasz tutaj NameVirtualHost *:443, będziesz musiał również zmienić > # instrukcję VirtualHost w /etc/apache2/sites-available/default-ssl > # na > # Wskazanie nazwy serwera dla wirtualnych hostów o nazwie SSL nie jest obecnie > # obsługiwane przez przeglądarkę MSIE w systemie Windows XP. > Listen 443 > > > Listen 443 Uwagi końcowe: Czy jest inny użytkownik, który musi zostać dodany do grupy www-data? Czy posiadanie uprawnień 777 do każdego pliku i katalogu wyklucza uprawnienia jako przyczynę niepowodzenia aktualizacji? Widzę jeden rozwiązany wątek z wybraną odpowiedzią na temat pliku konfiguracyjnego "vsftp", ale jest zbyt niejasny, aby był użyteczny. Moja konfiguracja /etc/vsftpd.conf działa świetnie, z wyjątkiem sytuacji, gdy próbuję aktualizacji jednym kliknięciem. Aktualizacja WP nie może utworzyć katalogu, mimo że uprawnienia to 777 **Aktualizacja:** Mój phpinfo.php pokazuje APACHE_RUN_USER, a APACHE_RUN_GROUP to dane www. Potwierdziłem, że ta grupa user:group jest właścicielem wszystkich plików z uprawnieniami do odczytu/zapisu/wykonywania.


title: Wyczerpał się dozwolony rozmiar pamięci. Rozwiązanie po stronie WordPress

text: W tytule pytania pojawia się dobrze znany błąd. Problem w tym, że strona działa na współdzielonym serwerze i nie mam dostępu do pliku php.ini. Ustawiłem `php_value memory_limit' wewnątrz .htaccess na wyższą wartość. Ustawiłem `WP_MEMORY_LIMIT` wewnątrz wp_config.php na wyższą wartość. `phpinfo()` mówi, że `max_execution_time` jest ustawiony na 30, a `safe_mode` jest wyłączony. Moje pytanie brzmi, czy mogę coś zmienić w mojej instalacji WordPressa, aby moja strona działała? Czytałem o `set_time_limit`. Czy może mi to jakoś pomóc, czy jedynym rozwiązaniem jest przejście na inny serwer?


title: Pokaż treść, jeśli użytkownik coś zrobił

text: Szukam łatwego sposobu na ustalenie warunków, które użytkownik musi spełnić, aby niektóre treści były dla niego dostępne. Chcę stworzyć coś w rodzaju tunelu stron, na przykład, w którym użytkownik będzie mógł przejść do określonej strony tylko z określonego adresu URL. Albo jakaś strona będzie dla niego dostępna tylko wtedy, gdy odwiedzi URL X. Czy jest coś prostego, aby to osiągnąć, czy będę musiał zacząć grzebać w kodzie?


title: Jak używać wp_remote_get zamiast file_get_contents?

text:
Próbuję zaimplementować tę wtyczkę ( http://wp.tutsplus.com/tutorials/creative-coding/creating-a-simple-backuprestore-settings-feature/ ) z moim motywem. Wszystko działa świetnie. ale problem jest w środowisku wordpress, nie mogę użyć `file_get_contents`. Muszę użyć `wp_remote_get` lub `wp_remote_post`. Próbowałem różnych metod ich realizacji. Ale to nie działa. Czy możesz mi pomóc zastąpić file_get_contents odpowiednikiem wordpress? Dziękuję. Oto pełny kod: <?php /* Nazwa wtyczki: I/E Option Plugin URI: http://wp.tutsplus.com/ Opis: To jest przykładowa wtyczka z opcjami tworzenia kopii zapasowych i przywracania. Autor: Lee Pham Wersja: 1.0 URI autora: https://twitter.com/leephamj */ ob_start(); function register_ie_option() { add_menu_page('Strona opcji IE', 'Opcja IE', 'activate_plugins', 'ie-option', 'ie_option_page', ''); add_submenu_page('ie-option', 'Import', 'Import', 'activate_plugins', 'ie-import-option', 'ie_import_option_page'); add_submenu_page('ie-option', 'Eksport', 'Eksport', 'activate_plugins', 'ie-opcja-eksportu', 'ie_export_option_page'); } /* * Strona główna */ function ie_option_page() { ?>

Kopia zapasowa & Przywróć

To jest tylko przykładowa wtyczka, która pokazuje, jak utworzyć prostą funkcję importu/eksportu dla własnych szablonów lub wtyczek.

Mam nadzieję, że będzie dla Ciebie przydatna!

Skontaktuj się ze mną:

E-mail: leephamj@gmail.com

Twitter: @leephamj

Facebook: Lee Pham

 <?php } /* * Funkcja importu */ function ie_import_option_page() { ?>

Importuj
 <?php if (isset($_FILES['import' ]) && check_admin_referer('ie-import')) { if ($_FILES['import']['error'] > 0) wp_die("Wystąpił błąd"); else { $nazwa_pliku = $_FILES['import']['nazwa']; $file_ext = strtolower(end(explode(".", $file_name))); $file_size = $_FILES['import']['size']; if (($file_ext == "json") && ($file_size < 500000)) { $encode_options = file_get_contents($_FILES['import']['tmp_name']); $options = json_decode($encode_options, true); foreach ($opcje jako $klucz => $wartość) { update_option($klucz, $wartość); } echo "

Wszystkie opcje zostały pomyślnie przywrócone.

"; } else echo "

Nieprawidłowy plik lub zbyt duży rozmiar pliku.

"; } } ?>
Kliknij przycisk Przeglądaj i wybierz plik json, który wcześniej tworzysz.

Naciśnij przycisk Przywróć, Wordpress zrobi resztę za Ciebie.
 <form method='post' enctype ='multipart/form-data'>
 <?php wp_nonce_field('ie-import'); ?> <input type='plik' name='import' /> <input type='submit' name='submit' value='Przywróć'/>
 </form>
 <?php } /* * Funkcja eksportu */ function ie_export_option_page() { if (!isset($_POST['export'])) { ?>

Eksportuj

Kiedy klikniesz przycisk <tt>Utwórz kopię zapasową wszystkich opcji</tt>, system wygeneruje plik JSON do zapisania na komputerze .

Ten plik kopii zapasowej zawiera wszystkie opcje konfiguracji i ustawień na naszej stronie internetowej. Pamiętaj, że NIE zawiera on postów, stron ani żadnych istotnych danych, tylko wszystkie opcje.

Po wyeksportowaniu możesz użyć pliku kopii zapasowej, aby przywrócić ustawienia w tym zakresie. ponownie witrynę lub inną witrynę Wordpress.
 <form method='post'>
 <?php wp_nonce_field('ie-export'); ?> <input type='submit' name='export' value='Utwórz kopię zapasową wszystkich opcji'/>
 </form>
 <?php } elseif (check_admin_referer('ie-export')) { $nazwa bloga = str_replace(" ", "", get_option('nazwa bloga')); $data = data("m-d-R"); $json_name = $blogname."-".$data; // Nazywanie nazwy pliku zostanie wygenerowane. $opcje = get_alloptions(); // Pobierz wszystkie dane opcji, zwróć tablicę foreach ($opcje jako $klucz => $wartość) { $wartość = może_unserialize($wartość); $potrzebne_opcje[$klucz] = $wartość; } $json_file = json_encode($need_options); // Zakoduj dane w json data ob_clean(); echo $json_file; header("Typ treści: text/json; charset=" . get_option( 'blog_charset')); header("Dyspozycja zawartości: załącznik; nazwa pliku=$json_name.json"); Wyjście(); } } add_action('admin_menu', 'register_ie_option');


title: Pobieranie danych JSON w żądaniu ajax z programu do przesyłania multimediów

text: Mam problemy z pobieraniem moich danych JSON, które są przesyłane za pośrednictwem żądania ajax. Próbuję zaimplementować narzędzie do przesyłania multimediów na stronie ustawień wtyczek. Sprawiłem, że działa poprawnie przy użyciu **tej metody**, jeśli chodzi o funkcjonalność przesyłania multimediów. Chciałbym móc pobrać dane „załącznika” w PHP, zdekodować je, a następnie przetworzyć po zamknięciu programu do przesyłania multimediów i wybraniu obrazów. Żądanie ajax działa, ponieważ mogę powtórzyć odpowiedź i ją odbiera, ale kiedy próbuję zdekodować ciąg JSON i wykonać vardump, zwraca wartość null, a jeśli spróbuję uzyskać dostęp do klucza tablicy, jest on pusty. Oto kod js... jQuery(document).ready(function($){ var file_frame; jQuery('.upload_image_button').live('click', function( event ){ event.preventDefault(); if ( file_frame ) { file_frame.open (); return; } file_frame = wp.media.frames.file_frame = wp.media({ title: jQuery( this ).data( 'uploader_title' ), button: { text: jQuery( this) .data( 'uploader_button_text' ), }, multiple: true }); file_frame.on( 'select', function() { var selection = file_frame.state().get('selection'); selection.map( function( załącznik ) { załącznik = załącznik.toJSON(); $.post(ajax_object.ajaxurl, { akcja: 'ajax_action', dane: załącznik }, function(data) { console.log(dane; }); }); } ); ramka_pliku.open(); }); }); A oto funkcja php, która znajduje się w głównym pliku wtyczki, która odbiera żądanie ajax... function ajax_action_stuff() { $image_data = $_POST['data']; $dane = json_decode( $dane_obrazu, prawda ); var_dump($dane); // echo $dane[url]; umierać(); } add_action( 'wp_ajax_ajax_action', 'ajax_action_stuff' ); Oraz skrypty umieszczone w kolejce, które znajdują się w głównym pliku wtyczki... function gzmu_load_scripts() { wp_enqueue_media(); wp_enqueue_script( 'gzmu-media-upload', plugin_dir_url(__FILE__) . 'gzmu-media-upload.js' ); wp_localize_script( 'gzmu-media-upload', 'ajax_object', array( 'ajaxurl' => admin_url( 'admin-ajax.php') ) ); wp_enqueue_style( 'style-administratorów', katalog_wtyczek_url(__FILE__) . '/css/admin.css' ); } add_action( 'admin_enqueue_scripts', 'gzmu_load_scripts' ); Nigdy wcześniej nie pracowałem z JSON, więc jestem trochę zdezorientowany, jak obchodzić się z danymi. Wszelkie porady dotyczące tego, co mogę zrobić źle, byłyby bardzo mile widziane. Dziękuję...


title: Jak skonfigurować wp multisite?

text: Po zainstalowaniu wchodzących wszystkich kroków (http://codex.wordpress.org/Create_A_Network) próbowałem tworzyć strony. Nie mam dostępu do pulpitu nawigacyjnego żadnej utworzonej witryny. Mówi, że strona nie została znaleziona (błąd 404). Aby zacząć od nowa, odinstalowałem WP, a następnie zainstalowałem po każdym kroku. Nie mam pojęcia, co robić. Mam dostęp tylko do pulpitu nawigacyjnego witryny głównej. Cała reszta nie mogę.


title: skąd pochodzi ten $post_id?

text: Próbowałem dowiedzieć się, dlaczego `save_post` nie był uruchamiany po 'Szybkiej edycji' i znalazłem tutaj rozwiązanie - najwyraźniej globalny `$post` nie jest dostępny podczas aktualizacji posta w trybie szybkiej edycji. Tak więc – mam to teraz działające – patrz przykład działania poniżej, ale nie rozumiem _dlaczego_ to działa. function mytestfunc($post_id) { $klucz = 'test'; $data = 'to jest test'; update_post_meta( $post_id, $klucz, $dane ); } add_action( 'save_post', 'mytestfunc' ); Czy ktoś może mi wyjaśnić, skąd pochodzi ten `$post_id`? Nie przekazuję wartości w `add_action` - więc nie rozumiem, dlaczego `mytestfunc` wie, na który post kieruję?


title: Dodanie posta do zakładek w zamian za wiadomość e-mail?

text: Zostałem poproszony o zaimplementowanie funkcji tej witryny https://medium.com/, którą jest możliwość dodania zakładki do konkretnego posta poprzez zmuszenie użytkownika do zarejestrowania konta w witrynie. Jest to idealny scenariusz: użytkownik będzie mógł dodać zakładkę po przesłaniu wiadomości e-mail i automatycznie zostanie ona dodana do bazy danych (w tym konkretnym przypadku będzie to MailChimp). Może jeśli uruchomię bazę e-maili (ogólnie to powinno być bezpieczne, słyszałem o upewnieniu się, że jest coś z SSL...), a potem jakoś przekażę te e-maile do MailChimp?.. Zainstalowałem wtyczkę o nazwie „WP Favorite” Posty” i oferują możliwość uczynienia posta „ulubionym”, jeśli mają konto WP, lub może po prostu być zapisany w plikach cookie przeglądarki użytkownika. Ale to nie pasuje do powyższego pomysłu. Naprawdę nie wiem, jak łatwo/trudno byłoby zrobić coś takiego. Jakieś sugestie?


title: w tym plik php z bramki płatności

text: Wdrażam bramkę płatniczą o nazwie point, to szwedzka firma. Z tymi plikami wszystko jest w porządku, ponieważ testowałem już poza wordpressem.<> Ale teraz, kiedy wdrażam to na wordpressie, mam kilka problemów. Struktura moich folderów: ![tutaj wstaw opis obrazka](http:// i.stack.imgur.com/8EYWS.png) Czy jest to najlepszy sposób na dołączenie tych plików? A teraz w jednym szablonie umieszczam `'./point/createForm.php';` Żadnych problemów z włączeniem tego pliku. Ale ten plik zawiera `'signatureutil.php'`. Ten plik próbuje utworzyć obiekt z Crypt/RSA.php To jest problem, kod łamie się na `$rsa = new Crypt_RSA();` Tutaj fragmenty mojego kodu. createForm.php: $fields["s-t-256-256_signature-one"] = generatesignature($datatosign); kolejność renderowania($pola); signatureutil.php: /** Tworzy podpis dla danych * @param $data dane do creta * @return string */ function generatesignature($data) { include('Crypt/RSA.php'); dołącz 'configvars.php'; $rsa = nowy Crypt_RSA(); //TO ZRYWA TUTAJ $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1); $rsa->loadKey(file_get_contents($shop_private_key_file, true)); $podpis = $rsa->znak($dane); return strtoupper(bin2hex($podpis)); } Nie sądzę, że jest to z powodu mojego kodu, ponieważ testowałem dokładnie to samo, czyli w folderze point, w pustym projekcie i bez błędów.


title: Czy istnieje sposób na randomizację i połączenie obrazu tła i nagłówka?

text: W tej chwili używam innego CMS i napisałem trochę PHP, który pomaga mi (używając treści z ukrytych stron) wprowadzić połączone tło i nagłówek i losowo je wyświetlić, CHYBA ŻE adres URL jest jednym dla strony z tagami. Oto kod, którego używam teraz dla mojego innego CMS: <?php $randarts = $this->find('/random-header-background/')->children(array()); $randart = array_rand($randarts, 1); $rand = $randarts[$randart]; ?> Jest to połączone z dwoma innymi wywołaniami PHP, które wprowadzają tło i nagłówek (które znajdują się wewnątrz określonych stron w ustawieniu strony "Random Header Background"... <?php if (url_match('/glorkian') OR url_match('/dino-run') OR url_match('/potato')){echo $this->content('background');} else {echo $rand->content('background');} ?> i <?php if (url_match('/glorkian') OR url_match('/dino-run') OR url_match('/potato')){echo $this->content('header');} else {echo $rand ->content();} ?> Czy jest na to sposób w Wordpress? Albo losowo użyć tła XYZ i jeśli tło = X, użyj obrazu nagłówka X, chyba że strona (tag lub kategoria) = Y w takim przypadku zawsze używałby tła i nagłówka Y? Czy to ma sens? Sprawdź http://pixeljam.com na przykład (tylko strona główna nie buforuje dla tego efektu, reszta jest buforowana, ale losowo, z wyjątkiem „Dino Run Strony ", "Glork" i "Potatoman" wyświetlają powiązane ze sobą tło nagłówka. Edycja: OK, po trochę pracy nad tym czuję, że wymyśliłem rozwiązanie, ale z jakiegoś powodu nie działa, może uda mi się uzyskać jakieś zalecenia dotyczące tego rozwiązania: <?php $bg = array („dinorun.css”, „potatoman.css”, „glorkian.css”, „coś.css”, „coś.css”); $randombg = mt_rand(0,3); if (in_category('dino run')) { ?> <link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/dinorun.css"> <?php } elseif (in_category(' potatoman')) { ?> <link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/potatoman.scss"> <?php } elseif (in_category(array('glorkian',' glork'))) { ?> <link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/glorkian.css"> <?php } else { ?> <link rel="stylesheet " href="<?php bloginfo('stylesheet_directory') . $bg[$randombg]; ?>" <?php } ?>` W ten sposób mógłbym po prostu pominąć moje instrukcje in_category dla nagłówka i po prostu zmienić css dla tło nagłówka, tło strony i nagłówek zawsze będą do siebie pasować.


title: Oddzielenie widoku i logiki

text: Uważam, że bardzo łatwo moje poglądy zostają zaśmiecone logiką, m.in. sprawdzanie wartości null, sprawdzanie poprawności wiadomości e-mail i pobieranie wartości z obiektu post. Jak oddzieliłbyś to w Wordpressie? Czy jest jakiś rodzaj frameworka MVC, z którym masz doświadczenie? EDYCJA: Wygląda na to, że wszystko w Wordpressie jest globalne. Nie mam dużego doświadczenia z PHP.


title: Wspólna funkcjonalność między moimi własnymi wtyczkami

text: Czytałem, że tworząc nowe typy postów, tworząc stronę ustawień i tworząc nową taksonomię, powinieneś stworzyć wtyczkę. Więc to zrobiłem. Ale mam funkcjonalność, która może być uogólniona lub identyczna, w moich wtyczkach. Przykładem może być funkcja zapisująca do bazy danych. Ponieważ wszystko wydaje się być umieszczone w zasięgu globalnym, jeśli coś takiego istnieje w PHP, czy powinienem stworzyć inną wtyczkę ze współdzieloną funkcjonalnością, czy umieścić współdzieloną funkcjonalność w pliku `functions.php`?


title: Nawigacja „Wyróżnianie” po kliknięciu

text: Używam motywu Twenty Fourteen i ładuję strony za pomocą Ajax. Co chcę, aby się stało - pasek menu, aby odogniskować poprzednią stronę na pasku nawigacyjnym i podświetlić bieżącą stronę. Co się właściwie dzieje - Nic, po prostu pozostaje takie samo. Mój kod: // podświetl aktualną pozycję menu jQuery('ul.menu li').each(function() { jQuery(this).removeClass('current-menu-item'); }); jQuery(thiss).parents('li').addClass('bieżąca pozycja-menu'); Próbowałem również tego jQuery('ul.menu li').each(function() { jQuery(this).removeClass('current-menu-item'); jQuery(this).removeClass('current_page_item');} ); jQuery(this).parents('li').addClass('current_page_item'); jQuery(this).parents('li').addClass('bieżąca pozycja-menu'); Pasek nawigacji powinien być ustawiony tak, jak w przypadku standardowej instalacji WP, ponieważ używam domyślnego motywu <nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation"> CSS plik zawiera ten .site-navigation li .current_page_item> a, .site-navigation li .current_page_ancestor> a, .site-navigation li .current-menu-item> a, .site-navigation li .current-menu-ancestor> a Wygląda więc na to, że JS używa poprawnego wywołania. Czy istnieje alternatywny sposób, w jaki mogę spróbować, aby to zadziałało? Mam inny skrypt JS, który przełącza pasek nawigacyjny, gdy przycisk jest widoczny (mobilny), który działa poprawnie. EDYCJA: Po sugestiach w tym pytaniu wypróbowałem również ten kod jQuery('ul.menu li').each(function() { jQuery(this).removeClass('current-menu-item'); jQuery(this) .removeClass('current_page_item'); jQuery(this).removeClass('current_page_ancestor') jQuery(this).removeClass('current_menu_ancestor') }); jQuery(this).parents('li').addClass('current_page_item'); jQuery(this).parents('li').addClass('bieżąca pozycja-menu');


title: Uwzględnij post w zewnętrznej witrynie niestandardowej

text:
Jak dołączyć pojedynczy post (mam na myśli obraz, tytuł i fragment tekstu) we własnej niestandardowej witrynie? Mam wp w podkatalogu i chcę tylko zrobić pole "Ostatni artykuł" na mojej stronie. Szukałem go już 2 godziny i nic. Mam już coś takiego, ale pokazuje tylko ikonę posta. (Udostępniam wiele filmów na WP, więc miniatura wideo się nie pokaże) i oczywiście wygląda to źle. (Chcę wygląd mojego motywu) // The Loop the_post(); echo '
'; the_post_thumbnail (tablica(180, 120) ); echo '

'; tytuł(); echo '
'; echo '';


title: Dlaczego WordPress nadal nie obsługuje SFTP?

text: Od wielu lat WordPress 2, WordPress 3, a teraz nawet WordPress 4, który ma zostać wkrótce wydany, WordPress Publishing Platform nie obsługuje SFTP jako opcji przesyłania motywów, pobierania aktualizacji i konfigurowania wtyczek? Wiele innych platform, takich jak MovableType i ExpressionEngine i Umbraco, jest również napędzanych przez przedsiębiorstwa, ponieważ WordPress okazał się produktem korporacyjnym, ale dlaczego nadal nie obsługuje SFTP? Pozdrowienia


title: Strona z linkami do treści kategorii

text: Mam stronę zatytułowaną: owoc... potem mam trzy strony potomne zatytułowane wiśnia, cytryna i brzoskwinia. Mam też kategorię zwaną owocami i trzy kategorie potomne o nazwie wiśnia, cytryna i brzoskwinia. To, co próbuję zrobić, to gdy użytkownik kliknie jedną ze stron podrzędnych IE: „Cherry”, użytkownik otrzymuje stronę kategorii ze wszystkimi postami powiązanymi z kategorią „Cherry”. Normalnie nie byłaby to wielka sprawa, ręcznie wykonałbym `<?php if (is_page("cherry")) { ?>` w moim szablonie, ale szukam sposobu, aby to zrobić dynamicznie, więc jeśli ktoś utworzy nową stronę podrzędną i pasującą kategorię podrzędną, wszystko będzie dobrze iść bez konieczności ręcznego dostosowywania szablonu. Sądzę, że zabrałoby stronę i przekierowało ją do odpowiedniej strony kategorii, ale czy to możliwe? Dzięki, Josh


title: jQuery nie działa, gdy jest używane z menu wordpress

text: Używam motywu startowego, który podarował mi znajomy i kilka razy z powodzeniem zaimplementowałem jQuery na stronie. Chcę zmienić obraz tła wewnątrz div, gdy użytkownik kliknie li w menu. <ul class="mainNav"> <?php wp_nav_menu( array( 'container' => false, 'theme_location' => 'primary' ) ); ?> </ul> $(function(){ $('.menu-item-23').click(function(){ $('#changeMe').css('background-image','url(" ../wp-content/themes/theme-name/i/logo4.png")'); }); jestem w stanie to zadziałać, jeśli zastąpię .menu-item-23 innymi elementami na stronie - tak Wiem, że nie jest to problem ze ścieżką do pliku i nie sądzę, że jest to kod jQuery.Wygląda na to, że nie wybieram poprawnie elementu listy, ale wypróbowałem dziesiątki różnych selektorów (li#menu-item -23, li.menu-item-23, ul.mainNav li#menu-item-23 itd.)


title: Który z moich blogów i danych osobowych jest przesyłany, gdy Wordpress automatycznie sprawdza dostępność aktualizacji?

text: Generalnie obawiam się o prywatność i słyszałem, że przy każdym kontakcie z API Wordpress w celu sprawdzenia aktualizacji i tym podobnych wiele danych z mojego bloga jest przesyłanych. Aby uzyskać lepsze wrażenie, chciałbym dokładniej wiedzieć, które dane są przesyłane i kiedy. Co zrobiono z informacjami i kto ma do nich dostęp? Jak długo jest przechowywany? Do tej pory nie znalazłem informacji na ten temat w plikach readme ani na stronie worpdress.org.


title: dodanie pola wyboru do dostosowywania motywu

text: Próbowałem dodać pole wyboru do dostosowywania motywów. Mam dodane pole wyboru przy użyciu tego kodu w mojej funkcji functions.php theme_customizer_register_checkbox($wp_customize) { $wp_customize->add_section( 'savior_global_options', array( 'title' => 'Opcje globalne', ) ); $wp_customize->add_setting( 'show_supporters', array( 'default' => true, 'type' => 'option', 'capability' => 'edit_theme_options') ); $wp_customize->add_control( 'display_supporters', array( 'settings' => 'show_supporters', 'label' => 'Pokaż sekcję zwolenników', 'section' => 'savior_global_options', 'type' => 'pole wyboru', ) ); } add_action( 'customize_register', 'theme_customizer_register_checkbox' ); Kiedy już pole wyboru działa. Zauważyłem, że kiedy zaznaczyłem to pole, stan się nie zmienił. Zawsze było sprawdzane. Poszukałem trochę i znalazłem post na tej stronie, który został rozwiązany, ale nie zostawił odpowiedzi. Post skłonił mnie do myślenia, że muszę zmienić wartość w mojej funkcji `$wp_customize->add_control()` na unikalną wartość. Więc zmieniłem to na `display_supporters`. To rozwiązało mój problem, ale teraz nie mogę uzyskać wartości pola wyboru. Kiedy zrzucam tę zmienną, $supporters = get_theme_mod('display_supporters); Dostaję bool(false) i tak już pozostaje. bez względu na to, co zrobię z polem wyboru. czego mi brakuje?


title: Przedłużanie postu przez e-mail

text: Po prostu wystawiając moje czułki na tym, muszę być w stanie akceptować przychodzące wiadomości e-mail i dodawać je jako posty, jednak chcę najpierw trochę przetworzyć, na przykład chcę zmienić ślimak, dodać ciąg znaków do tytułu itp. Czy jest jakiś sposób, abym mógł podłączyć się do funkcji poczty e-mail, zmienić niektóre dane, a następnie pozwolić jej kontynuować. Mogę też chcieć odrzucić wiadomość e-mail, jeśli nie jest ona wysłana z zatwierdzonej domeny (będzie to pole w niestandardowym typie posta). Czy moje wymagania są osiągalne, czy szczekam na niewłaściwe drzewo? **Edytuj** Odkryłem hak `save_post`, chociaż uruchamia się on po zapisaniu posta... nie do końca to, czego szukam. Czy istnieje haczyk, który zostaje zwolniony przed zapisaniem posta, dając mi wszystkie informacje o poście, zwłaszcza o tym, skąd został utworzony. **Edytuj 2** Ewentualnie czy istnieje sposób na ręczne dodanie posta... więc zajmę się odbiorem wiadomości e-mail za pomocą własnego kodu + cron, a następnie mam API do stworzenia nowego posta?


title: Wybór rozmiaru obrazów podczas przesyłania

text: Czy istnieje sposób na wybranie rozmiaru obrazu, który chcę zmienić podczas przesyłania? Potrzebuję jednego typu obrazu dla polecanego obrazu (zmiana rozmiaru dotyczyłaby rozmiaru miniatury i 900x350), a drugiego typu dla galerii (zmiana rozmiaru każdego obrazu dla rozmiaru miniatury i 640x480). Więc kiedy chcę przesłać obraz, mogę wybrać typ, z którym chcę pracować. Czytałem o rejestrowaniu rozmiarów obrazów w kodeksie Wp i to wszystko jasne tylko, że nie wiem, jak dokonać selekcji podczas przesyłania. Nie udało się znaleźć żadnej wtyczki, która by to zrobiła. Wszelkie informacje, bez względu na to, jak małe są naprawdę mile widziane


title: Dynamicznie twórz/usuwaj terminy w taksonomii, gdy niestandardowy typ posta jest publikowany/usuwany do kosza

text: Trochę zmagam się z tworzeniem i usuwaniem terminów na podstawie tego, kiedy niestandardowy typ posta jest publikowany i usuwany. W idealnym przypadku chciałbym utworzyć nowy termin w mojej niestandardowej taksonomii po opublikowaniu niestandardowego typu posta. Następnie, gdy ten wpis w niestandardowym typie wpisu zostanie usunięty, muszę sprawdzić i upewnić się, że licznik tego terminu wynosi 0, a jeśli tak, automatycznie usunąć odpowiedni termin. Oto, co mam do tej pory. Funkcja tworzenia działa poprawnie, ale nie mogę znaleźć funkcji, która została skasowana. Twoja wiedza jest bardzo ceniona!! <?php /** * Automatycznie tworzy terminy w 'custom_taxonomy' kiedy nowy post jest dodawany do jego 'custom_post_type' */ function add_cpt_term($post_ID) { $post = get_post($post_ID); if (!term_exists($post->post_name, 'custom_taxonomy')) wp_insert_term($post->post_title, 'custom_taxonomy', array('slug' => $post->post_name)); } add_action('publish_{custom_post_type}', 'add_cpt_term'); ?> ...a teraz dla funkcji trudno mi się dostać do pracy tak, jak chcę: /** * Automatycznie usuwa termin z 'custom_taxonomy', gdy post z 'custom_post_type' jest skasowany */ function remove_cpt_term($post_ID) { $post = get_post($post_ID); $term = get_term_by('name', $post->post_name, 'custom_taxonomy', 'ARRAY_A'); if ($post->post_type == 'custom_post_type' && $term['count'] == 0) wp_delete_term($term['term_id'], 'custom_taxonomy'); } add_action('wp_trash_post', 'remove_cpt_term'); ?>


title: Wordpress Enqueue tylko dla strony głównej, functions.php, wp-framework

text: Chciałbym wymienić moje: if(is_home()) { wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true ); wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true ); }; Który jest obecnie w pliku header.php, umieszczając go w pliku functions.php. Próba uporządkowania wszystkiego na rozległej stronie klienta. Używam wp-framework i najlepiej trzymać to wewnątrz funkcji enqueue_assets w głównej klasie parent_theme. Chociaż nie jest to tak naprawdę problem wp-framework, chciałbym tylko wiedzieć: Jak mogę uzyskać funkcję is_home() do pracy z pliku funkcji? Czy istnieje alternatywa, używając globalnych, o której muszę wiedzieć?


title: Walcząc z add_rewrite_rule

text: Przeczytałem to: Przekierowanie Wordpress w celu uzyskania przyjaznego adresu URL To doprowadziło mnie do tego: 1) wp.tutsplus.com/tutorials/creative-coding/the-rewrite-api-the-basics/ 2) wp.tutsplus.com/ tutorials/creative-coding/the-rewrite-api-post-types-taksonomies/ i pod koniec #1 zainstalowałem to: wordpress.org/extend/plugins/monkeyman-rewrite-analyzer/ Z wtyczką, którą widzę i przetestuj regułę dodaną przez add_rewrite_rule. Jednak, gdy próbuję tego samego żądania adresu URL w witrynie front-end, otrzymuję 404. Mam problem z wyjaśnieniem, dlaczego reguła nie jest stosowana. p.s. Przepraszam, że linki nie są linkami, ale mój przedstawiciel ze StackOverFlow nie wydaje się przenosić na wp.SE


title: Połącz oferty z obrazem

text: Więc jestem naprawdę nowy w Wordpress i próbuję stworzyć prosty widget. Chcę, aby widżet wyświetlał logo podmiotów stowarzyszonych mojej witryny (podobnie jak w sekcji „sprawdź nasze programy” na http://www.howstuffworks.com/). Chcę również, aby administratorzy mogli łatwo dodawać/usuwać obrazy z listy partnerów. Innymi słowy, nie chcę modyfikować kodu widgetu w celu zmiany partnerów. Na bardzo wysokim poziomie, jakie kroki mogę wykonać, aby zbudować ten widżet?


title: Wyświetlanie ostatniej strony postów

text: Używam niestandardowej pętli do wyświetlania postów przy użyciu paginacji. Moje zapytanie pokazuje 4 posty na stronie i są 4 strony, więc łącznie 16 postów. Czy można najpierw załadować ostatnią stronę postów? Więc kiedy ładuję zapytanie, najpierw wyświetla się strona 4, a kiedy klikam „pokaż dalej”, pokazuje stronę 3 i tak dalej?


title: Jak zarządzać dużą kolekcją plików za pomocą wordpress?

text: Mam kolekcję prawie 3000 plików swf, które zostaną użyte w niektórych postach WP. Dwie opcje, które mogę wymyślić: 1. Prześlij je do WP Media Library, staną się załącznikami, mogę wysłać zapytanie o załącznik, aby je uzyskać. 2. FTP do hosta, utwórz tabelę bazy danych, zapytaj je bezpośrednio. Który sposób byś polecił?


title: Jak sprawić, by Facebook wyświetlał treści z YouTube/Blip podczas udostępniania linku?

text: Prowadzę kanał ze szkicami komediowymi, który regularnie publikuje nowe treści. Na naszej stronie (obsługiwanej przez WordPress.org) osadzamy odtwarzacze Blip.tv. Problem polega na tym, że za każdym razem, gdy udostępniamy na Facebooku link do jednej z naszych stron z filmami wideo w naszej witrynie, w ogóle nie rozpoznajemy, że na stronie znajduje się film. Po prostu ładuje polecany obraz posta. Chciałbym, żeby widzowie mogli oglądać nasze filmy na swoich ścianach – ktoś dostał odpowiedź? Jeśli nie jesteś pewien, o czym mówię, oto link do jednej z naszych stron wideo, dzięki czemu możesz sam przetestować na FB: http://www.juliansmith.tv/2009/11/malk/


title: Korzystanie z wtyczki sprawdzania pisowni w TinyMCE

text: Zainstalowałem PSpell i zaktualizowałem plik konfiguracyjny, aby używać go zamiast GoogleSpell. Następnie w moim pliku funkcji dodałem sprawdzanie pisowni do części wtyczek i przycisku. Pojawia się przycisk, ale nie działa. Po spojrzeniu na kod źródłowy widzę, że sprawdzanie pisowni nie jest zawarte w init TinyMCE. function custom_tinymce($in) { $in['remove_linebreaks'] = false; $in['gecko_spellcheck'] = fałsz; $in['keep_styles'] = prawda; $in['accessibility_focus'] = prawda; $in['tabfocus_elements'] = 'główne-działania-publikacyjne'; $in['media_strict'] = fałsz; $in['paste_remove_styles'] = fałsz; $in['paste_remove_spans'] = fałsz; $in['paste_strip_class_attributes'] = 'brak'; $in['paste_text_use_dialog'] = prawda; $in['wpeditimage_disable_captions'] = prawda; $in['plugins'] = 'inlinepopups,tabfocus,paste,media,fullscreen,wordpress,wpeditimage,wpgallery,wplink,wpdialogs,wpfullscreen,spellchecker'; $in['content_css'] = get_template_directory_uri() . "/styl-edytora.css"; $in['wpautop'] = prawda; $in['apply_source_formatting'] = fałsz; $in['theme_advanced_buttons1'] = 'formatselect,|,bold,kursywa,podkreślenie,|,bullist,numlist,blockquote,|,link,unlink,|,wklejtekst,wklej,usuńformat,sprawdzanie pisowni,|,charmap,|,outdent ,wcięcie,|,cofnij,ponownie,|,wp_fullscreen'; $in['theme_advanced_buttons2'] = ''; $in['theme_advanced_buttons3'] = ''; $in['theme_advanced_buttons4'] = ''; zwróć $w; } Przeglądając źródło widzę ładowane wtyczki, ale nie sprawdzam pisowni. ref : {wtyczki:"inlinepopups,tabfocus,paste,media,fullscreen,wordpress,wpeditimage,wpgallery,wplink,wpdialogs,wpfullscreen",theme:"advanced",language:"en"} Czego mi brakuje?


title: Woocommerce wyklucza produkty z określonej kategorii z powiązanych produktów

text: Staram się wykluczyć produkty z dwóch określonych kategorii z wyświetlania w powiązanych produktach na stronie treści pojedynczych produktów. Najbliższym pomysłem, na który natknąłem się, jest ten kod z http://docs.woothemes.com/document/exclude-a-category-from-the-shop-page/. Masz pomysł, jak zmodyfikować go dla powiązanych produktów, a NIE dla strony sklepu? add_action( 'pre_get_posts', 'custom_pre_get_posts_query' ); function custom_pre_get_posts_query( $q ) { if ( ! $q->is_main_query() ) return; if ( ! $q->is_post_type_archive() ) return; if ( ! is_admin() && is_shop() ) { $q->set( 'tax_query', array(array( 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => array ( 'noże' ), // Nie wyświetlaj produktów w kategorii noże na stronie sklepu 'operator' => 'NOT IN' ))); } remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' ); }


title: Zmień domyślny styl postu na kolumny

text: Staram się sformatować każdy post przesyłany przez użytkownika. Potrzebuję, aby akapity były unoszone w lewo w pierwszej kolumnie, a obrazy w lewej w drugiej kolumnie. (Próbowałem opublikować obraz, ale potrzebuję co najmniej 10 reputacji) Jestem nowy w rozwoju Wordpress, więc przepraszam, jeśli to głupie pytanie.


Używam $wpdb do łączenia się z inną bazą danych niż moja WordPress w następujący sposób: $newdb = new wpdb(DB_NEW_USER, DB_NEW_PASSWORD, DB_NEW_NAME, DB_NEW_HOST); Muszę wstawić wiele wierszy do bazy danych. Użyłem kodu z tej odpowiedzi StackOverflow. Do uruchomienia zapytania użyłem następującego kodu: $newdb->query( $newdb->prepare("$query", $values)); Kiedy zrobiłem `echo $zapytanie`, oto wynik: (jest więcej niż 3 kolumny, ale skróciłem je ze względu na czasy) INSERT INTO (kolumna1, kolumna2, kolumna3) VALUES ('%s', '%s' , '%s') Kiedy zrobiłem `var_dump($values)`, zwrócił mi tablicę z taką samą ilością ciągów, jaka mam kolumny. Kiedy uruchomiłem zapytanie, otrzymałem następujący błąd: > Błąd bazy danych WordPress: [Zapytanie było puste] Próbowałem wybrać z bazy danych w podobny sposób i zadziałało, więc moje połączenie z bazą danych działa. Co ja robię źle?


title: Tag podsumowania HTML5 w edytorze

text: Chciałbym użyć tagu podsumowania do podsumowania treści posta, ale mam do czynienia z kilkoma problemami: 1. W wysiwygu nie ma takiej opcji - jak mogę dodać elementy do format rozwijany? 2. Wordpress usuwa element po załadowaniu edytora, więc ponowne zapisanie strony usuwa tag. Jak mogę dodać „podsumowanie” do białej listy?


title: Tag warunkowy oparty na dacie

text: Chciałbym mieć tag warunkowy podobny do tego: <?php if (is_single()&&is_older_than_october_2011()){do this}; ?> Część, którą staram się podkreślić, to aspekt is_older_than_october_2011(). Wydaje się, że nie ma żadnego tagu warunkowego oferowanego przez WP, który ma tę funkcję? Dzięki, Brad


title: Jaki jest oficjalny sposób korzystania z API Wordpress? (api.wordpress.org)

text: Zastanawiałem się, czy ktoś tutaj wie, czy API na api.wordpress.org można używać bez kluczy. Tak naprawdę nie znalazłem żadnych informacji o rejestracji kluczy. Chciałbym go użyć, aby wysłać kilka próśb dziennie, naprawdę niewiele < 50 próśb. Jaki jest oficjalny sposób korzystania z tego interfejsu API? Dziękuję!


title: Używanie AJAX we wtyczce do przesyłania formularza - NAPRAWDĘ zdezorientowane

text:
Trochę kłopotów z używaniem wszystkich haków ajaxowych i funkcji Wordpressa. Czytałem ten post: 5 wskazówek dotyczących używania Ajax w Wordpress Ale pomyliłem się po wypróbowaniu całego kodu i zastosowaniu go do formularza Ajax. Wywołuję funkcję z mojej klasy wtyczek, aby wyświetlić echo na stronach z pojedynczymi postami, aby użytkownicy mogli „Omdleć”. Formularz drukuje się dobrze. Oto kod formularza: //formularz html dla funkcji frontendowej ds_swoons_form(){ global $post, $current_user; get_currentuserinfo(); $form = '
'; $form .= '
'; $form .= '<form id="entry_swoon_form" name="entry_swoon_form" action="" method="POST">'; $form .= '<input type="hidden" name="ds_postid" value="'.$post->ID.'" />'; $form .= '<input type="hidden" name="ds_userid" value="'.$current_user->ID." />'; $form .= '<input type="submit" value="Swoon" class="swoon-submit" />'; $form .= '</form>'; zwróć formularz $; }//koniec ds_swoons_form Moje kolejki: wp_enqueue_script('json-form'); // osadź plik javascript, który tworzy żądanie AJAX swoons wp_enqueue_script( 'swoon_ajax_request', plugins_url('ds-swoons/js/swoon-ajax-form.js'), array( 'jquery' ) ); // zadeklaruj adres URL do pliku obsługującego żądanie AJAX (wp-admin/admin-ajax.php) wp_localize_script( 'swoon_ajax_request', 'SwoonAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )) ); //dodaj akcję AJAX add_action( 'wp_ajax_swoons_submit_action', array('DS_Swoons','ds_ajax_swoons_form_submit') ); I mój javascript: jQuery('#entry_swoon_form').ajaxForm({ target: '#swoon-response', dataType: 'html', data: { action: 'swoons_submit_action' }, url: SwoonAjax.ajaxurl, success : function( responseText) { jQuery('#swoon-response').html('Omdlenie!'); } }); Jestem nowicjuszem, jeśli chodzi o AJAX, więc może mi się to nie podobać. Artykuł, który przeczytałem, był dobry, dopóki nie dotarłem do końca, w którym pokazał przykładowe żądanie ajaxForm i zgubiłem się. Funkcja formularza ajax nigdy się nie uruchamia, a strona po prostu ładuje się ponownie. WIĘC Zgaduję, że jedna z moich funkcji kolejkowania nie jest poprawna. Z góry dzięki. EDYTOWAĆ ------------------------------------------------- ------- Nowy kod metody jQuery.post - ale nadal nie działa jQuery(document).ready(function(){ jQuery('.swoon-submit').click(function(){ jQuery.post( // zobacz wskazówkę nr 1, jak deklarujemy globalne zmienne javascript SwoonAjax.ajaxurl, { // tutaj deklarujemy parametry do wysłania wraz z żądaniem // oznacza to, że zostaną uruchomione następujące hooki akcji: // wp_ajax_nopriv_myajax-submit i wp_ajax_myajax -submit action : 'swoons_submit_action', //nonce do walidacji //swoonNonce : SwoonAjax.swoonNonce, // inne parametry można dodać wraz z postid "action" : SwoonAjax.postid, userid : SwoonAjax.userid }, function( response ) { alert( odpowiedź ); } ); }); conso le.log(SwoonAjax.ajaxurl) }); Otrzymuję naprawdę szybki błąd w FireBug, ale nie widzę, co się dzieje wystarczająco szybko przed zakończeniem żądania. I żaden błąd nie pozostaje po uruchomieniu .post. Żadne dane nie są aktualizowane w DB, więc wiem, że nie jest zwalniany. Dzięki EDYCJA 2 ----------------------------------------------- ------------------ Otrzymałem formularz do przesłania i aktualizuje on bazę danych za pomocą następującego kodu: jQuery(document).ready(function(){ jQuery(' .swoon-submit').click(function(){ var $form = $( 'form#entry_swoon_form' ), postid = $form.find( 'input[name="ds_postid"]' ).val(), userid = $form.find( 'input[name="ds_userid"]' ).val(); jQuery.post( // zobacz wskazówkę nr 1, jak deklarujemy globalne zmienne javascript SwoonAjax.ajaxurl, { // tutaj deklarujemy parametry do wysłania wraz z żądaniem // oznacza to, że zostaną uruchomione następujące podpięcia akcji: // wp_ajax_nopriv_myajax-submit i wp_ajax_myajax-submit akcja : 'swoons_submit_action', //nonce do walidacji //swoonNonce : SwoonAjax.swoonNonce, //inne parametry można dodawać wzdłuż z "action" ds_postid: postid, ds_userid: userid }, function(odpowiedź) { alert(odpowiedź); } ); zwróć fałsz; }); Jednak: Nie wydaje mi się, aby wartości pól formularza (ukryte) zostały wysłane do funkcji PHP w celu wstawienia bazy danych. Informacje znajdują się w konsoli Firebug jako wysyłane, ale żadne informacje nie trafiają do funkcji PHP. Myślę, że ma to coś wspólnego z wysyłaniem pól do funkcji PHP, ale nie jestem pewien. Dzięki!


title: Jaki jest najlepszy sposób dodania tagu zaawansowanego / średniozaawansowanego / początkującego do posta?

text: Załóżmy, że masz bloga WordPress, którego używasz do tworzenia samouczków i chcesz podzielić swoje posty według poziomu umiejętności (tj. początkujący, średniozaawansowany, zaawansowany) w zależności od tego, jak techniczny/trudny/zaawansowany jest samouczek. Ponadto blog w pytaniach obejmuje kilka kategorii, więc korzystanie z nich może być niewłaściwe. Więc jaki jest najlepszy sposób? Używasz pola niestandardowego?, tagów?, post-type? czy nawet podkategorie? Zakładam, że nigdy nie będzie wymagane pobieranie wszystkich „początkujących” postów ze wszystkich kategorii, chociaż ta elastyczność byłaby bonusem.