title: Instalacja Wordpressa samoczynnie usunięta podczas restartu serwera. Tabele SQL też zniknęły!

text: Mam lub miałem w tym przypadku dwie witryny Wordpress działające na serwerze Ubuntu 12.04, które zostały zainstalowane w weekend. Po instalacji obie strony działały zgodnie z oczekiwaniami, żadnych problemów. Tabele mysql były zapełnione i życie było dobre. Dziś rano po ponownym uruchomieniu serwera, tabele mysql zniknęły, a podczas wpisywania adresu URL, aby przejść do witryn wordpress prezentuje początkową stronę instalacji z dodanym następującym adresem url ... wp-admin/install.php. Moje uprawnienia do plików są następujące: ![Uprawnienia plików do instalacji WP](http://i.stack.imgur.com/3zbbR.png) Dla obu stron istnieje dedykowany użytkownik do celów instalacji bazy danych i poświadczenia w celu oddzielenia informacji. Wszystko inne jest również oddzielne, podobnie jak katalogi instalacyjne i pliki konfiguracyjne Apache. Czy ktoś tego wcześniej doświadczył? Czy są jakieś inne przemyślenia na temat problemu? Dziękuję za pomoc.


title: Próbuję uzyskać nazwę pliku

text:
Mam niestandardowe metabox do przechowywania plików pdf. Dla tych danych wejściowych używam type="media", aby uzyskać dostęp do biblioteki multimediów Wordpress. Teraz nie mogę uzyskać nazwy pliku. Oto moja cała pętla:
 <?php $args_artigos = array('post_type' => 'artigo','posts_per_page' => -1); $artigos_posts = nowe WP_Query($args_artigos); if($artigos_posts->have_posts()) : while($artigos_posts->have_posts()) : $artigos_posts->the_post(); ?>
 <a href="<?php the_permalink(); ?>" class="artigos-titulo"><?php the_title() ?>  <?php echo esc_html( get_post_meta( get_the_ID(), 'autor', true ) ); ?> <?php $nazwa_pliku = nazwa podstawowa ( pobierz_załączony_plik( pobierz_identyfikator() ) ); echo $nazwa pliku; ?>
 <?php endwhile; else: ?> Ups, nie ma żadnych postów. <?php endif; ?>
 Ale to nie zwraca żadnych danych.


title: Ile powinien kosztować ten hosting?

text: Mam klienta z witryną wordpress, która otrzymuje następujący ruch. 1. 6,2-6,4 mln odsłon miesięcznie 2. Około 3 TB transferu miesięcznie 3. Większość użytkowników jest zalogowana, więc statyczne opcje buforowania nie są tak efektywne. Około 80% ruchu jest kierowane bezpośrednio do DB. Mamy około 20 wtyczek, ale nic szalonego. Nie wiesz znacznie więcej. Jak myślisz, ile powinni płacić miesięcznie za hosting zarządzany? Nie buduj własnych, wspieraj własne konfiguracje serwerów, ale wsparcie, które możesz zadzwonić 24-7 i ktoś, kto aktualizuje twój stos LAMP itp. Nie zatrzymywałbym nikogo do kwoty, chciałem tylko wiedzieć, co ta grupa eksperci pomyśleliby, że rozsądne jest zarządzanie / obsługiwany hosting przez 24 godziny dla czegoś o tej wielkości? Chcę się tylko upewnić, że nie jestem daleko od podstawy, kiedy mówię, że nasz obecny koszt jest rozsądny.


title: Rejestrując się zawsze wpisuj wielką literę w loginie

text: Gdy Nowy Użytkownik zarejestruje się na mojej stronie... Chciałbym, aby w Twoim loginie pierwsza litera była zawsze pisana wielką literą. ( wielka litera ) Przymusowo. Czy ktoś ma jakiś pomysł jak to zrobić?


title: dlaczego ten tekst nachodzi na siebie na pasku bocznym?

text: Próbowałem, bez powodzenia, usunąć do przesuwania tekstu: "ggplot+tło+siatka+kolor" Z lewego paska bocznego tutaj Jakieś sugestie, jak to zrobić?


title: Podstawowy motyw dla statycznej strony korporacyjnej?

text: _( **Notatka moderatora:** Pierwotnie miał tytuł „Wordpress dla statycznej strony firmowej?”)_ Szukam rozwiązania WordPress, które da mi: * statyczną stronę internetową, z menu i kilkoma stronami, * nie wygląda jak blog, wygląda jak korporacyjna strona internetowa * bardzo prosty wygląd: białe tło, prawie tylko tekst, * łatwy w konfiguracji i utrzymaniu * SEO Przykładem mojego celu jest: * rachatdecredit.net Używa WordPressa, ale Nie mogę się dowiedzieć, na który temat; być może jest to motyw na zamówienie. Zresztą nie mogę znaleźć motywu, który daje podobny efekt. Czy masz rekomendację?


title: Explode() oczekuje napisu

text: Obecnie otrzymuję ten błąd: Ostrzeżenie: explode() oczekuje, że parametr 2 będzie ciągiem, obiekt podany w D:\...\portfolio.php w linii 12. Oto moje portofolio.php: <?php $current = get_the_category( ); $bieżący_id= $bieżący[0] ->cat_ID; $categs_list = get_category_parents($current_id); $części = rozbij("/", $categs_list); //to jest linia 12. $category_name = strtolower($pieces[0]); $categs = get_cat_id($category_name); ?> Jakieś pomysły? PHP nie jest moją mocną stroną.


title: Dodaj tag span wokół obrazu

text: Chcę mieć możliwość dodania `<span></span>` wokół każdego publikowanego obrazu. Jak będę mógł to zrobić?


title: Czy jest jakaś wtyczka Share & Follow kompatybilna z W3C?

text: Próbuję zbudować blog w pełni zgodny z W3C. Ale nie mogłem znaleźć wtyczki w pełni zgodnej z W3C. Chcę prostej wtyczki, która zapewnia udostępnianie, tweetowanie i podobne ikony, towarzyski styl. Nie chcę, aby moi czytelnicy klikali przycisk, aby wyświetlić przyciski udostępniania, tylko przyciski, które chcę udostępnić wtyczką. Jakieś sugestie?


title: Opublikuj ocenę za pomocą pola niestandardowego

text: Piszę nowy motyw na mój blog. I chcę dokonać pewnego rodzaju oceny postów za pomocą niestandardowych pól. Istnieją dwa pola: „dobry post” i „zły post”. A po każdym poście umieściłem dwa guziki. Tak, „Dobry post” i „Zły post”. Na przyciskach umieściłem zdarzenie onclick, które wywołuje tę funkcję AJAX: function ajaxIncGoodPost(tempUrl) { var postID = $("good-post").attr("rel"); jQuery.ajax({ type: "POST", url : tempUrl+"/rating.php", data: "opinion=good&postID="+postID, success: function(msg){ alert( "Sпасибо за вашу хорошую оценку!") ; } }); } Wywołuje tę funkcję w `rating.php`: $postID = $_REQUEST['postID']; if ( $_REQUEST['opinia'] == 'dobry' ) { $good_post = get_post_meta($postID, 'good-post'); funkcja inc_good_post() { $good_post++; update_post_meta($postID, 'dobry-post', $good_post); } } Tak więc każde kliknięcie tego przycisku wywołuje funkcję, która zwiększa wartość `'good-post'` i przechowuje ją w polu. Ale tu pojawia się problem. Po kliknięciu przycisku wyskakuje komunikat o sukcesie funkcji AJAX, ale wartość pola niestandardowego nie ulega zmianie. Myślałem, że dzieje się tak, ponieważ nie ma takich pól w moich starych postach, ale zgodnie z Kodeksem Wordpress `upadate_post_meta()` sprawdza, czy takie pole istnieje, a jeśli nie, wywołuje `add_post_meta()`, który tworzy pole. Ale to też nie ma znaczenia. W tym momencie nie mogę znaleźć żadnego błędu. Jeśli masz jakieś domysły na temat tego problemu, podziel się nim!


title: Porządkować według menu_order i tytułu?

text: Strony możemy uporządkować według tytułu. Możemy również posortować je według menu_order. **Czy można jednocześnie zamawiać strony według menu_order i tytułu?**


title: Wordpress insert NOW() w kolumnie TIMESTAMP zwraca wszystkie zera

text: Chcę wstawić TIMESTAMP do kolumny TIMESTAMP mojej kolumny, ale zawsze otrzymuję wszystkie zera. Oto moja wstawka: $now = 'NOW()'; // wstaw datę do bazy danych $wpdb->insert( 'wp_date', array( 'name' => $name, 'date' => $now ), array( '%s', '%s') ) ; // zakończ wstawkę


title: Jak sprawić, by tytuł mojego posta działał z apostrofem (ami)?

text: Podczas zapisywania posta zatytułowanego „Jule's Gormet” zostaje on sformatowany jako „Jule's Gormet”. Jeśli zapiszę go ponownie, stanie się „Jule's Gormet”. Zgodnie z tym schematem wciąż ucieka przed znakiem ampersand i pogarsza się. **Więcej informacji** * Wersja WordPress: 3.3.2 * Motyw: http://themetrust.com's Reveal (silnie zmodyfikowany) * DB to UTF-8 * ustawienia> odczyt ma kodowanie ustawione na UTF-8 * wartości są zapisywane w bazie danych jako `Jule&#039;s` (itp.) Wyłączyłem wszystkie wtyczki i problem nadal występuje. Przejrzałem `functions.php` całkiem dobrze i nie znalazłem nic podejrzanego. Postępowałem zgodnie z instrukcją rozwiązywania problemów w komentarzu brasofilo - ale bez skutku. Jakieś pomysły? **Dodano ten kod dla funkcji tommix** get_post_title($title) { wp_mail('zlysobey@gmail.com','the title',$title); zwróć $tytuł; } add_filter ('title_save_pre','get_post_title'); **Które przyniosły te wyniki:** * Jule's Gormet - 1st ~~attempt~~ save * Jule's Gormet - 2nd ~~attempt~~ save * Jule's Gormet - 3rd ~~attempt~~ save * Jule' s Gormet - czwarta ~~próba~~ zapisz Właściwie wysłał 2 e-maile na operację zapisu - może to coś znaczy? Nie wiem. **Na szlaku!** więc ugryzłem kulkę i zacząłem nową instalację — używając całego zmodyfikowanego kodu motywu. Po całkowitym usunięciu rzeczy z `functions.php` odkryłem, że problem jest w jakiś sposób związany z klasą Tax-meta-class Bainternet, której używam do dodania pola do jednej z moich niestandardowych taksonomii. Usunięcie poniższego kodu rozwiązuje problem. (chociaż chciałbym dowiedzieć się, jak to naprawić, zachowując moje dodane pole taksonomii. // CUSTOM TAXONOMY FIELDS require_once("Tax-meta-class/Tax-meta-class.php"); $config = array( ' id' => 'focus_creative_services', 'title' => 'creative services', 'pages' => array('focus'), 'context' => 'normal', 'fields' => array(), 'local_images ' => false, 'use_with_theme' => true ); $creative_services_meta = new Tax_Meta_Class($config); $creative_services_meta->addTextarea('textarea_field_id',array('name'=> 'Creative Services ')); $creative_services_meta- >Zakończ();Upuściłem notatkę do @Bainternet na jego stronach FAQ.Mam nadzieję, że mnie rozwiąże.


title: Imię i nazwisko autora komentarza w formularzu odpowiedzi

text: Włączyłem odpowiedzi na komentarze na moim blogu. Powiedzmy, że jest komentarz napisany przez Nicka... kiedy mam zamiar odpowiedzieć, chcę wyświetlić komunikat "Odpowiadanie Nickowi" w nagłówku formularza odpowiedzi. Ktoś wie jak? Dziękuję!


title: Jak obcinać tytuły w widżecie Ostatnie posty?

text: Przeczytałem wątek tutaj na ten temat... http://wordpress.org/support/topic/truncate-titles-in-recent-posts-widget?replies=8 ale sugerowane rozwiązanie nie zadziałało, ponieważ nie Nie wiem, co zrobić z kodem. Czy ktoś może mi podać pełny kod używając kodu z linku pastebin i tutaj: http://wordpress.org/support/topic/post-title-char-count?replies=5 Proszę skrócić tytuły do 25 znaków? Naprawdę nie jestem dobry w PHP. Może być łatwiej zrobić wtyczkę, ponieważ kod już tam jest, więc każdy może wybrać, do ilu znaków ma ograniczyć tytuły? Dzięki wielkie!


title: Wordpress add_action the_post hook

text: Teraz mam problem, że chcę dodać hook do the_post. Następnie używam `print_r($post);` tutaj wyświetlam moją zawartość `print_r` i ponownie wyświetlam zawartość domyślną. ponieważ jestem tutaj w the_loop.so ponownie zawartość została wyświetlona. add_action( 'the_content', 'custom_post' ); funkcja custom_post() { global $post, $wp_query; $post_id = $post->ID; print_r($post); } Tutaj potrzebuję jak nadpisać domyślną zawartość the_post i wyświetlić moją własną zawartość. Jest to możliwe w taki sposób, że używam haka_tytuł i treść, ale tutaj funkcja została wywołana dwa razy, a następnie jej problem. więc proszę pomóż mi.


title: Wiele witryn z różnymi domenami

text: To pytanie jest podobne do Multisite z zupełnie innymi domenami? na który nie udzielono odpowiedzi. Ponownie pytam. Chcę hostować wiele domen za pomocą WP multisite, który jest zainstalowany i działa normalnie w trybie „wielu subdomen”. Tworzy to wiele witryn WP, takich jak site1.domain.com site2.domain.com Chcę użyć www.domain1.com www.domain2.com Próbowałem wtyczki mapowania domeny Wordpress MU, ale nie jestem zadowolony z jej zachowania. Ta wtyczka wydaje się po prostu przekierowywać użytkownika, czyli tzw. użytkownik wchodzi na stronę www.domena1.com, a przeglądarka jest wysyłana do witryny site1.domena.com Nie chcę, aby użytkownik wiedział, że nie jest w domenie1.com. Próbowałem również skonfigurować VirtualHosts w Apache: <VirtualHost *:80> ServerName site1.domain.com ServerAlias domain1.com ServerAlias www.domain1.com </VirtualHost> Ale to również wydaje się powodować przekierowanie do site1.domain.com w przeglądarka użytkownika.


title: Jak zmusić wp_get_archives do pracy na wielu stronach?

text:
Używam multisite i mam archiwum wiadomości na blog(3) i chciałbym użyć wp_get_archives do wyświetlania na pasku bocznym, ale nic nie pokazuje. Czy to działa na wielu stronach? Jeśli nie, czy jest to jakieś inne rozwiązanie? Próbowałem różnych warunków. W tej chwili mój kod na pasku bocznym wygląda tak, a wynik jest niczym.

Archiwum wiadomości

 <?php wp_get_archives('type=monthly&limit=15&show_post_count=true'); ?>


title: Wysyłanie danych metodą GET nie działa poprawnie

text: Używam WP 3.5.2 i WPMU. Opracowuję jedną stronę http://baohiem.info/chon-mat-gui-vang. Ta strona używa globalnego $wpdb do odpytywania tabeli _blogs.(_blogs został dostosowany, dodał kilka pól.) Podczas przesyłania formularza używam metody GET, ale po zalogowaniu mam dane ($_REQUEST; $_GET), ale się nie loguję , nie ma danych. Czemu? Nie rozumiem, co się stało. Czy ktoś może mi pomóc? Dziękuję Ci. <?php get_header(); ?> <forma działania ="" metoda="get"> <input id="pole wyszukiwania-cmgv" type="tekst" name="hoten" placeholder="Họ và tên tư vấn viên...." size =" 35" value="<?=$_REQUEST['hoten']?>"/> <!-- lokalizacja--> <select name="location"> <option value="">------ - Tỉnh/TP --------</option> <option value="Hà Nội" <?php if($_REQUEST['location']=='Hà Nội') echo 'wybrane';?> >Hà Nội</option> <wartość opcji="TP Hồ Chi Minh" <?php if($_REQUEST['lokalizacja']=='TP Hồ Chi Minh') echo 'wybrane';?> >TP Hồ Chi Minh </option> <!-- <option value="Huế" <?php if($_REQUEST['location']=='Huế') echo 'selected';?> >Huế</option>--> < option value="Đà Nẵng" <?php if($_REQUEST['location']=='Đà Nẵng') echo 'wybrane';?> >Đà Nẵng</option> <option value="Hải Phòng" <? php if($_REQUEST['location']=='Hải Phòng') echo 'wybrane';?> >Hải Phòng</option> <option value="Đồng Nai" <?ph p if($_REQUEST['location']=='Đồng Nai') echo 'selected';?> >Đồng Nai</option> <!-- <option value="Đồng Tháp">Đồng Tháp</option> <option value="Gia Lai">Gia Lai</option> --> <option value="Hà Giang" <?php if($_REQUEST['lokalizacja']=='Hà Giang') echo 'zaznaczone'; ?> >Hà Giang</option> <!-- <option value="Hà Nam">Hà Nam</option> <option value="Hà Tĩnh">Hà Tĩnh</option> --> <option value= "Hải Dương" <?php if($_REQUEST['location']=='Hải Dương') echo 'wybrane';?> >Hải Dương</option> <option value="Nghệ An" <?php if( $_REQUEST['lokalizacja']=='Nghệ An') echo 'wybrane';?> >Nghệ An</option> <option value="Tajski Nguyên" <?php if($_REQUEST['location']== 'Tajski Nguyên') echo 'wybrane';?> >Tajski Nguyên</option> <option value="Yên Bái" <?php if($_REQUEST['lokalizacja']=='Yên Bái') echo 'wybrane' ;?> >Yên Bai</option> </select> <select name="co firma"> <option value="">-------- Công ty --------</option> <option value="Prudential" <?php if($_REQUEST['firma' ]=='Ostrożny') echo 'wybrano';?> >Ostrożny</option> <option value="Manulife" <?php if($_REQUEST['firma']=='Manulife') echo 'wybrano'; ?> >Manulife</option> <option value="AIA" <?php if($_REQUEST['company']=='AIA') echo 'selected';?> >AIA</option> <option value= "Dai-ichi Life" <?php if($_REQUEST['firma']=='Dai-ichi Life') echo 'wybrane';?> >Dai-ichi Life</option> <option value="ACE Life " <?php if($_REQUEST['firma']=='ACE Life') echo 'wybrane';?> >ACE Life</option> <option value="Bo Việt" <?php if($_REQUEST[ 'firma']=='Proszę o Vit') echo 'wybrano';?> >O Việt</option> <option value="Hanwha Life" <?php if($_REQUEST['firma']=='Hanwha Life ') echo 'selected';?> >Hanwha Life</option> <option value="Generali" <?php if($_REQUEST['com pany']=='Ogólne') echo 'wybrane';?> >Ogólne</option> <opcja value="Chưa có" <?php if($_REQUEST['company']=='Cha có') echo 'selected';?> >Chưa có</option> </select> <input type="hidden" value="true" name="confirm" /> <input id="searchbutton" value="Tìm kiếm" type ="submit"> </form> <?php globalny $wpdb; // lấy thông cyna công ty, họ tên, lokalizacja $firma = $_GET['firma']; $hoten = $_GET['hoten']; $lokalizacja = $_GET['lokalizacja']; if(!$company && !$hoten && !$location){ // string query $strquery = ' SELECT bh_blogs.blog_id FROM bh_blogs WHERE bh_blogs.blog_id >1 AND bh_blogs.deleted =0 ORDER BY bh_blogs'.voted // uzyskaj wynik $res = $wpdb->query($strquery); // wyświetl wynik // // } else { //var_dump($lokalizacja); var_dump($firma); var_dump($hoten); $strquery = ' SELECT bh_blogs.blog_id FROM bh_blogs WHERE bh_blogs.blog_id > 1 AND bh_blogs.deleted =0 '; if($hoten!='') $strquery .= ' AND bh_blogs.site_name LIKE "%'.$hoten.'%" '; if($firma!='') $strquery .= ' AND bh_blogs.company="'.$firma.'" '; if($lokalizacja!='') $strquery .= ' AND bh_blogs.location="'.$lokalizacja.'" '; $strquery .= ' ZAMÓW PRZEZ bh_blogs.voted DESC '; //wyświetl wynik // // } get_footer(); ?> adres URL: http://baohiem.info/chon-mat-gui-vang/?hoten=&location=Hải+Phòng&company=Prudential nie działa. Nie mogę Get['location'],Get['hoten'],Get['company'] * * * Rozwiązany: używam wtyczki Better WP Security i filtruje ona mój adres URL. Aby włączyć przekazywanie parametrów, takich jak: example.com?src=SomeSource&page=1..... Zaloguj się do swojego ACP. Lepsze dostrojenie zabezpieczeń/systemu WP i odznacz opcję „Filtruj podejrzane ciągi zapytań”. Uwaga: uwaga z parametrami jest bezpieczna dla Twojej strony :) Wesołych Świąt.


title: Uwzględnij niestandardowe posty typu w archiwum roku/miesiąca/daty

text: Szukam rozwiązania, w którym mogę uzyskać wszystkie niestandardowe typy postów na liście archiwum rocznego, miesięcznego i datowego. Więc może to być filtrowanie według dowolnego roku, miesiąca lub daty. Szukam funkcji podobnej do poniższej, której używam do włączenia CPT dla autorów function custom_post_author_archive($query) { if ($query->is_author) $query->set( 'post_type', array('wp_plugin_review', 'png_gallery ', 'post', 'wiadomości') ); remove_action( 'pre_get_posts', 'custom_post_author_archive' ); } add_action('pre_get_posts', 'custom_post_author_archive');


title: Jak zbudować zaawansowany formularz wyszukiwania według typu posta?

text:
Próbuję zbudować formularz wyszukiwania zaawansowanego według typu posta. Na przykład... mam niestandardowy typ postu : Locatie Taxonomy : locatii Mam kategorie w PostType : Categories: -Orase - Arad - Alba.... -Tip - Puncte de livrare - Gaze Medicale Chcę otrzymać wszystkie posty w tym kategorie.. Na przykład wybieram Arad i Gaze Medica... i powinienem pokazać mi cały Punkt Medyczny dla miasta Arad. <form method="get" name="searchform" action="<?php bloginfo('url'); ?>/"> <fieldset> <legend>Centrum dystrybucji:</legend> <form> <szerokość tabeli ="500" border="0" cellpadding="0">
 Wybierz czas :	 <select name="locatie"> <option value="alba">Alba</option> <option value="arad">Arad</option> <option value="arges">Arges</option> <option value=" bacau">Bakau</option> </select>

Limiteaza cautarile

 <input name="produs" value="1" type= "pole wyboru">	 Punkt odczytu	 <input name="produs" value="1" type="pole wyboru">	 Partenery logistyka	 <input name="produs" value="1" type="checkbo x">	 Agenty

 <input name="produs" value="1" type="pole wyboru">	 Gaze Medicale	 <input name="produs" value="1" type="checkbox">	 Propan	 <input name ="produs" value="1" type="checkbox">	 Chłodziarki

 <input class="art- przycisk" type="prześlij" name="szukaj" value="<?php _e('Szukaj'); ?>" />
 </fieldset> </form>


title: Niestandardowy link bezpośredni typu post wysyła do 404.php

text:
Cześć Stworzyłem niestandardowy typ postu i niestandardową taksonomię. Niestandardowa strona typu postu nosi nazwę page-portfolio.php. Utworzyłem w nim pętlę, w której próbuję połączyć się z każdą pojedynczą stroną postów. szablon single-portfolio.php, ale z jakiegoś powodu po kliknięciu w permalinki otrzymuję link do strony 404.php. Oto mój kod całej struktury: //custom post type i deklaracja taksonomii <?php add_action('init' , 'menedżer_portfolio'); function portfolio_manager(){ $args = array( 'label' => 'Menedżer portfela', 'singular_label' => 'Menedżer portfela', 'public' => true, 'show_ui' => true, 'capability_type' => ' post', 'hierarchical' => false, 'supports' => array('title' , 'editor' , 'thumbnail'), 'rewrite' => array( 'slug' => 'portfolio', 'with_front' = >fałsz ) ); register_post_type('portfolio' , $args); } add_action('init' , 'portfolio_taxonomy'); function portfolio_taxonomy(){ register_taxonomy("portfolio-type", array("portfolio"), array("hierarchical" => true, "label" => "Typy portfela", "singular_label" => "Typ portfela", " przepisz" => prawda, "slug" => 'portfolio-type' ) ); } ?> //page-portfolio.php pętla $portfolio = new WP_Query(array( 'post_type'=>'portfolio', 'posts_per_page'=>'-1' )); while($portfolio->have_posts()): $portfolio->the_post(); globalny $post; ?> <li class ="item" data-type="<?php echo str_replace(" " , "" , strip_tags(get_the_term_list($post->ID, 'portfolio-type' , '' , '' , '' ))); ?>" data-id="id-<?php the_ID(); ?>"> <a href="<?php the_permalink(); ?>">Szczegóły <?php endif ?>
 <?php endwhile; ?> Jeśli single-portfolio.php nie jest szablonem strony, który powinienem utworzyć dla tej strony, to jaki jest właściwy szablon? Jeśli poprawnym szablonem jest single-portfolio.php, to co robię źle. Dlaczego permalink nie wysyła mnie do single.portfolio.php?


title: problem z przesyłaniem motywu wordpress

text: Znalazłem darmowy motyw dla wordpress. Ale problem polega na tym, że kiedy próbuję wgrać go na moją witrynę wordpress, witryna mówi, że nie znaleziono style.css. Ale w pliku zip jest dostępny. Gdzie jest problem i jak aktywuje ten motyw? http://www.question2answer.org/qa/36095/update-minimalist-supports-responsive-mobile-tablet-supported?show=36184


title: Ostatni post wyświetlany jako główny tytuł strony na blogu

text:
* * * Mój najnowszy wpis na blogu jest wyświetlany jako tytuł mojej strony bloga. Moja strona jest ustawiona jako statyczna dla strony głównej i wszystkie tytuły szablonów są wyświetlane u góry z wyjątkiem wpisu na blogu. Próbowałem użyć tagu warunkowego „is_home”, ale ciągle otrzymywałem błędy. Każda pomoc jest mile widziana! Oto mój kod na dole front-page.php <?php if (is_front_page()) { ?>

Uczenie dzieci, jak jeść i cieszyć się zdrową żywnością poprzez gotowanie i naukę eksperymentalną

Od 1995


title: Przepisz permalink, aby uwzględnić termin taksonomii niestandardowej

text: Stworzyłem niestandardową taksonomię dla postów używając register_taxonomy( 'discipline', array('post'), /* jeśli zmienisz nazwę register_post_type( 'custom_type', to musisz to zmienić */ array( 'hierarchical' => true, /* jeśli to prawda, działa jak kategorie */ 'labels' => array( 'name' => __( 'Disciplines' ), /* nazwa niestandardowej taksonomii */ 'singular_name' => __ ( 'Discipline' ), /* pojedyncza nazwa taksonomii */ 'search_items' => __( 'Wyszukaj dyscypliny' ), /* wyszukaj tytuł taksonomii */ 'all_items' => __( 'Wszystkie dyscypliny' ), /* wszystkie tytuł taksonomii */ 'parent_item' => __( 'Parent Discipline' ), /* tytuł rodzica dla taksonomii */ 'parent_item_colon' => __( 'Parent Discipline:' ), /* tytuł nadrzędnej taksonomii */ 'edit_item' => __( 'Edytuj dyscyplinę' ), /* edytuj własny tytuł taksonomii */ 'update_item' => __( 'Update Discipline' ), /* aktualizacja tytułu taksonomii */ 'add_new_item' => __( 'Dodaj nową dziedzinę' ), /* dodaj nowy tytuł taksonomii */ 'new_item_name' => __ ( 'Nowa nazwa dyscypliny' ) /* tytuł nazwy dla taksonomii */ ), 'rewrite' => array( 'slug' => 'discipline', 'with_front' => false ), 'show_ui' => true, 'query_var ' => prawda, ) ); Jeśli używam tylko %postname% na stronie permalinków, otrzymuję adresy URL takie jak: what.com/discipline/name-of-post Chcę uzyskać adres URL do odczytu what.com/parent-term-name/name-of- post Usunąłem część dotyczącą dyscypliny za pomocą wtyczki „Remove Taxonomy Base Slug”, ale nie mogę dowiedzieć się, jak włączyć nazwę terminu ORAZ zachować permalinki do innych części witryny.


title: Błędy TinyMCE po aktualizacji 3.7.1 do 3.9.1

text:
Po aktualizacji z 3.7.1 do 3.9.1 widzę problemy z edytorem w WordPressie. W środowisku, którego nie aktualizowałem, mogę bezbłędnie dodawać bloki treści i edytować typ bloku. Wyłączyłem wszystkie wtyczki i nadal widzę problem. W wersji 3.9.1 widzę ten błąd podczas ładowania strony: Deprecated TinyMCE API call: <target>.onInit.add(..) Po kliknięciu +Add Content Block: TypeError: r is undefined (/wp-includes/js/tinymce /wp-tinymce.php?c=1&ver=4021-20140423) Po wybraniu typu bloku: TypeError: tinyMCE.get(...) ma wartość null Zakładam, że problem wywodzi się z tego: tinymce.create('tinymce.plugins .editor_toolkit', { init : function(ed, url) { var VK = { DELETE: 46, BACKSPACE: 8, ENTER: 13, TAB: 9, SPACJA: 32, W GÓRĘ: 38, W DÓŁ: 40, W LEWO: 37, PRAWO: 39, modifierPressed: function (e) { return e.shiftKey || e.ctrlKey || e.altKey; } }; function scrollToThisNode(node, padding) { vp = ed.dom.getViewPort( ed.getWin() ) y = ed.dom.getPos(węzeł).y; if (y < vp.y || y + dopełnienie > vp.y + vp.h) { ed.getWin().scrollTo(0, y < vp.y ? y : y - vp.h + dopełnienie); } } ed.onInit.add(function(ed) { ed.dom.addClass(ed.getBody(), 'editor-toolkit'); // Ostatnia próba uporządkowania treści $('#post').submit (function(){ $( ed.getBody() ).children('p').each(function(){ $(this).replaceWith('

' + $(this).html( ) + '

'); }); return true; }); });


title: Szerokość automatycznego przycinania, a nie wysokość

text: Potrzebuję automatycznie przycinać obrazy tylko wtedy, gdy są zbyt szerokie. Zasadniczo tak: ![Crop-visualization](http://i.stack.imgur.com/bb0Qm.png) Używam go do pełnoekranowego suwaka, gdzie zbyt szerokie obrazy są rozciągane. Kadrowanie jest oczywiście najlepszym z dwóch rodzajów zła.


title: admin ajax sukces php zwraca 0

text: Przejrzałem wiele postów na tutaj i na innych stronach internetowych i nic, co robię, wydaje się nie działać. To, co robię, to mam niestandardowy plik szablonu, a wewnątrz tego pliku mam div, który chcę wypełnić za pomocą jquery ajax. Problem polega na tym, że odpowiedź zawsze wynosi 0. **Uwaga:** Użyłem tego kodu wcześniej we wtyczce, a nie w pliku szablonu i działał tak, jak powinien. To sprawia, że zastanawiam się, czy kod add_action nie działa poprawnie. <script type="text/javascript"> jQuery(document).ready(function() { jQuery.ajax({ type : "post", dataType : "html", url : "<?php echo site_url(); ? >/wp-admin/admin-ajax.php", data : {akcja : "tw_pages_results", 'strona':0, 'itemsperpage':<?php echo $item_per_page; ?>, nonce: "<?php echo $ tw_pages_nonce; ?>"}, sukces: function(odpowiedź) { jQuery("#results").html(odpowiedź); jQuery("#1-strona").addClass('active'); } }); }) ; </script> tw_page.php To jest tylko początek funkcji w pliku załadowanym przez ajax. add_action("wp_ajax_tw_pages_results", "tw_pages_results"); add_action("wp_ajax_nopriv_tw_pages_results", "tw_pages_results"); function tw_pages_results() { if ( !wp_verify_nonce( $_POST['nonce'], "tw_pages_nonce")) { exit("Bez niegrzecznych interesów"); } tw_pages_results.php


title: Wiele obszarów zawartości dynamicznej na stronie

text: Jestem nowy w Wordpress i to, czego tak naprawdę nie mogę znaleźć, to: Mam nową stronę utworzoną z CMS. Te strony mają różne moduły z tekstem. Weźmy na przykład ten szablon http://www.templatemonster.com/demo/40000.html W rzędzie znajdują się trzy moduły z ikoną, nagłówkiem i tekstem. A poniżej pozostałe cztery. Jak to możliwe, aby użytkownik mógł edytować z Wordpress każdy z tych modułów osobno?


title: Ustawianie statycznej strony głównej i strony bloga bez korzystania z ustawień

text: To może wydawać się głupim pytaniem i prawdopodobnie nie jest możliwe, ale czy mogę ustawić statyczną stronę główną (za pomocą `front-page.php`) i stronę bloga (za pomocą `home.php`, Myślę) w moim motywie, **i** czy strona bloga pojawia się w osobnym ślimaku BEZ zmiany ustawień strony w mojej instalacji Wordpress, w sekcji „Ustawienia > Czytanie”? Tak więc http://www.mysite.com/blog/ pokaże mój blog (`home.php`), a http://www.mysite.com/ pokaże moją stronę główną (`front-page.php`) ? **EDYTUJ** Powinienem zaznaczyć, ponieważ nie wskazałem tego tak wyraźnie wcześniej, chciałbym uniknąć tworzenia stron w Wordpress, jeśli mogę. Chociaż @eyedarts odpowiada na pytanie, nie daje w pełni tego, czego potrzebuję. Chociaż może to być moja wina, że tego nie wyjaśniłem.


title: Wyłącz kosz dla typu wpisu

text: Chciałbym mieć niestandardowy typ wpisu, który ma „Aktywuj” i „Dezaktywuj” zamiast „Opublikuj” i „Przenieś do kosza”. Gdy post zostanie dezaktywowany, użytkownik może przejść i trwale go usunąć. Ta funkcja jest wymagana ze względu na charakter niestandardowego typu posta. Czy można wyłączyć opróżnianie kosza (domyślnie 30 dni) dla tego konkretnego niestandardowego typu postów, aby „dezaktywowane” posty pozostały tam i nie zostały wyczyszczone?


title: Wybierz pełny rozmiar obrazu w widżecie „Genesis - Polecane posty”

text: Piszę motyw potomny dla Genesis i próbuję uzyskać pełne rozmiary obrazu na widżecie **"Genesis - Polecane posty"**. Widżet ma pole wyboru **„Pokaż wyróżniony obraz”** i „Rozmiar obrazu” o następujących wartościach. thumbnail (150x150) polecany-image(150x100) Opcje mają rozmiary miniatur i próbuję uzyskać pełny rozmiar obrazu. Próba napisania kodu w functions.php motywu potomnego, który dawałby opcję wyboru "pełnego obrazu". Kody, które wymieniły drugą opcję "Pokaż wyróżniony obraz" w widżecie to (linia genesis/lib/widgets/featured-post-widget.php: 314 - 318) <?php $sizes = genesis_get_additional_image_sizes(); foreach( (tablica) $rozmiary jako $nazwa => $rozmiar ) echo '<opcja wartość="'.esc_attr( $nazwa ).'" '.selected( $nazwa, $instance['rozmiar_obrazu'], FALSE ). '>'.esc_html( $nazwa ).' ( '.$size['szerokość'].'x'.$size['wysokość'].' )</option>'; ?> Nie jestem pewien, czy istnieje sposób na haczyk lub filtr do tego .. Jeśli istnieje sposób na wybranie „pełnego rozmiaru obrazu” w widżecie, byłbym świetny.


title: definiowanie permalinku strony podrzędnej

text: Napisałem stronę, której ślimakiem jest `mypage`. Ustawiłem go jako dziecko `mymainpage`. Jednak chcę, aby jego permalink to `www.example.org/mypage` zamiast `www.example.org/mymainpage/mypage`. Czy to możliwe?


title: Ładne adresy URL kanałów RSS dla każdego niestandardowego typu postu

text: Domyślnie WP wydaje się wyświetlać wszystkie posty wszystkich typów w głównym kanale RSS. Musisz dodać zmienną zapytania post_type, aby pokazać post określonego typu... Więc jak mogę zmienić to: `http://site.com/feed/?post_type=book` na `http://site.com /kanał/książki/` ? A jeśli to możliwe, przepisz `http://site.com/feed/` do `http://site.com/feed/blog/`, co powinno wyświetlać tylko zwykłe posty...


title: Jak mogę wyłączyć powiadomienie o aktualizacji dla osób niebędących administratorami?

text: Jak już powiedziałem, zakładam bloga dla znajomego. Oprócz tego, że nie jestem administratorem, ale redaktorem, który może wprowadzać zmiany w opcjach motywu) mam dodatkowe pytanie. Nie chcę, żeby martwił się również o aktualizacje, ani nie chcę, żeby mi przeszkadzał, ale problem polega na tym, że redaktorzy widzą nieco zmieniony wariant aktualizacji nag. Czy istnieje sposób na wyłączenie ich dla osób niebędących administratorami? To tylko przypadek, że zwykle wiemy o aktualizacjach Wordpress, jeszcze zanim zostaną spakowane i wydane.


title: otrzymuj niestandardowe archiwum postów według miesiąca

text:
Chcę stworzyć niestandardowy szablon archiwum postów, w którym będę wyświetlać tylko niestandardowy post według miesiąca.. Dodałem to w archieve-news_letter.php $args = array( 'post_type' => 'news_letter', 'posts_per_page' => 10 ); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); /* Dołącz do treści szablon specyficzny dla formatu posta. Jeśli chcesz * to zrobić w motywie potomnym, dołącz plik o nazwie content-___.php * (gdzie ___ jest formatem postu), który zostanie użyty w zamian. */ get_template_part( 'newletter', get_post_format() ); gdzie `news_letter` jest moim niestandardowym postem... dzięki temu otrzymuję wszystkie posty bez sortowania miesiąca, co oznacza, że otrzymuję wszystkie posty miesięczne w grudniu. do utworzenia linku do archiwum użyłem tego:
<?php wp_get_archives(array('type' => 'monthly','order'=>'ASC')); ?>
 wszelka pomoc byłaby wdzięczna.. Dzięki za poświęcony czas i podzielenie się wiedzą... :)


title: Aktywować motyw za pomocą skryptu wtyczki?

text: Mam wtyczkę, która instaluje folder motywów i innych wtyczek na stronie WP podczas aktywacji wtyczki. Chciałbym umieścić we wtyczce skrypt, który aktywuje jeden z motywów instalowanych przez wtyczkę. Czy ktoś może opublikować krótki przykład skryptu, który rejestruje i aktywuje znany motyw za pomocą skryptu aktywacyjnego wtyczki?


title: Sortuj kolumnę według meta klucza i meta wartości

text: W backendzie WordPressa chciałbym posortować niestandardową kolumnę typu postu według klucza i wartości meta. Klucz meta nazywa się „statusem”. Mam trzy różne wartości meta dla klucza „status”. Jak mogę je posortować alfabetycznie? Oto mój kod: // Zarejestruj funkcję kolumny status_column_register( $columns ) { $columns['status'] = __( 'status', 'bf_rapportage' ); return $kolumny; } add_filter( 'manage_edit-bf_rapportage_columns', 'status_column_register' ); // Wyświetl funkcję zawartości kolumny status_column_display( $column_name, $post_id ) { if ( 'status' != $column_name ) return; $status = get_post_meta($post_id, 'status', prawda); if ( !$status ) $status = '<em>' . __( 'niezdefiniowany', 'bf_raportage' ) . '</em>'; echo $status; } add_action( 'manage_posts_custom_column', 'status_column_display', 10, 2 ); // Zarejestruj kolumnę jako funkcję sortowalną status_column_register_sortable( $columns ) { $columns['status'] = 'status'; return $kolumny; } add_filter( 'manage_edit-bf_rapportage_sortable_columns', 'status_column_register_sortable' ); function status_column_orderby( $vars ) { if ( isset( $vars['orderby'] ) && 'status' == $vars['orderby'] ) { $vars = array_merge( $vars, array( 'meta_key' => ' status', 'orderby' => 'meta_value_num' ) ); } return $vars; } add_filter( 'żądanie', 'status_column_orderby' );


title: Wyświetl kategorię produktu na archiwalnej stronie produktu

text: Chcę wyświetlać produkty kategorii na stronie sklepu tj. archiwum- product.php. Ale na początku działało, kiedy dodałem nową kategorię, nie wyświetlał się produkt kategorii, a adres URL jest poprawny, ale trafia na stronę główną tej witryny. Czy u pls możesz mi pomóc, jakie jest rozwiązanie.


title: Chcesz pokazać tytuł w szablonie, czy nie?

text: Chcę pokazać tytuł strony na niektórych stronach, ale na innych nie. Zastanawiam się, jak to zrobić. Pomyślałem o użyciu różnych szablonów treści, jednego z tytułem, a drugiego bez. Ale zastanawiam się, czy da się to zrobić w inny sposób, np. dodając na stronie checkbox do przełączania tytułu. Jak mogę zrezygnować z wyświetlania tytułu na niektórych konkretnych stronach?


title: Napraw problem z przesuniętymi nawiasami klamrowymi ( )

text: Mam problem z wyjściem i umieszczeniem nawiasów klamrowych `()`. Gdy nawiasy klamrowe występują w kodzie, są one nieprawidłowo wyświetlane w danych wyjściowych. Czy ktoś może rozwiązać ten problem? <?php echo "Jestem (programistą)"; ? LTR .Ale po usunięciu wtyczki nadal napotykam problem.Wpływa to na całą moją witrynę.Zrobiłem wiele funkcji w mojej witrynie i efekt jest wszędzie tam, gdzie mam nawias klamrowy(), taki jak tytuł posta, treść posta itp.


title: Problem z obrazami, które nie mają dostępnych rozmiarów

text: Zauważyłem, że w moich starszych przesłanych obrazach rozmiary nie są prawidłowo dostępne. Pojawiają się oryginalne pliki, ale nie ma powiązanych rozmiarów z obrazem, a pełny rozmiar wyświetla: „Pełny rozmiar (0 x 0)”. Jak powiedziałem, dzieje się tak tylko z obrazami, które wcześniej przesłałem, wszystkie ostatnie są w porządku. Oto zrzut ekranu, może pomóc. ![Brak dostępnych rozmiarów :\(](http://i.stack.imgur.com/bu6YY.png) Dziękujemy za Twoje pomysły i pomoc.


title: check_admin_referer zawsze false kiedy używam na add_action('load-'* hook

text: Próbowałem dodać hook przy ładowaniu mojej strony wtyczki. Ale za każdym razem, gdy zapisuję konfigurację, zawsze zwraca komunikat „Czy na pewno chcesz…”. Czy jest coś, co przegapiłem? Oto mój kod: <?php class myClassPlugin { public $menu_slug; funkcja __construct() { $config = $this->get_setting(); $this->menu_slug = 'moje_menu_slug'; if (is_admin()) { $hak = 'toplevel_page_' . $this->menu_slug; add_action('load-' . $hook, array(&$this, 'save_settings')); add_action('admin_menu', array(&$this, 'create_menu')); } } function get_setting() { $config = get_option('my_options_config', array('set_a' => '','set_b' => '')); zwróć $config; } function create_menu() { $hook = add_menu_page('MojeMenu', 'Moje Menu', 'edit_others_posts', $this->menu_slug, array(&$this, 'ustawienie')); } ustawienie funkcji() { $config = $this->get_setting(); ?> <nazwa formularza="mój_formularz" action="" metoda="post"> <?php wp_nonce_field('moja_nazwa_nonce', 'moja_nazwa_nonce'); prześlij_przycisk(); ?> </form> </div> <?php // $this->save_setting(); } function save_settings() { if (isset($_POST['my_nonce_name'])) { check_admin_referer('my_nonce_name'); $options = array('set_a' => $_POST['set_a'], 'set_b' => $_POST['set_b']); update_option('moje_opcje_config', $opcje); } } } new myClassPlugin();


title: Zbuduj zapytanie z podanego adresu URL

text: Mam żądanie ajax przychodzące z parametrem o nazwie `"next_page_url" => "URL_FOR_THE_NEXT_SET_OF_POSTS"` Teraz muszę zbudować argumenty `WP_Query` używając tego adresu URL, aby odpowiedzieć na to żądanie AJAX następnym zestawem postów. Jak mogę to zrobić?


title: Tworzenie dodatkowej strony z własnym adresem URL dla każdego niestandardowego postu

text: Mam tutaj konkretny problem. Mam witrynę używającą niestandardowych typów postów i muszę stworzyć określoną funkcjonalność dla tych niestandardowych typów postów. Z każdego typu postu niestandardowego użytkownik powinien być w stanie „kupić” produkt, który reprezentuje post niestandardowy. Moim pomysłem jest więc stworzenie programowo dodatkowej "strony", która wyglądałaby jak %url%/my-custom-post/order/ . A ja szukam sposobu, jak to zrobić.. Dodać jakąś regułę przepisywania..? Wyszukiwanie nie dało mi wyniku (może źle szukałem, nie jestem pewien, czego dokładnie szukać..) Dziękuję za wskazanie mnie .. :)


title: Zapytanie o linki do bazy danych

text:
Hi próbuję przekonwertować z "przykładu" wp_list_table, który wyświetla tablicę danych na tej samej stronie, do tabeli "rzeczywistego życia" pobiera dane z bazy danych. Mam konfigurację kodu do miejsca, w którym wystarczy dodać zapytanie DB, aby działało. Po prostu nie wiem, jak wykonać zapytanie do bazy danych i sprawić, by wyświetlała się poprawnie. Czy ktoś zechciałby spojrzeć na poniższy kod i powiedzieć mi, jak wykonać zapytanie do tabeli bazy danych „linki” w wordpressie? Myślałem, że poniższe zapytanie zadziała, ale nie sądzę, aby jives z moim „przykładowym” wierszem i kolumnami tabeli. $sql = "WYBIERZ * Z linków"; $dane = $wpdb->get_results($sql); W poniższym kodzie, przewijając w dół o około 3/4 (`$data = $this->przykład_dane;`), zobaczysz obszar, w którym utworzyłby zapytanie do bazy danych, gdyby był to działający fragment kodu. Oto mój plik `functions.php`. <?php /* == UWAGA ================================================== ========================= * Proszę nie zmieniać tego pliku. Zamiast tego: utwórz kopię całej wtyczki, * zmień jej nazwę i pracuj wewnątrz kopii. Jeśli zmodyfikujesz tę wtyczkę bezpośrednio i * zostanie wydana aktualizacja, Twoje zmiany zostaną utracone! * ========================================================= ========================= */ /*********************** ***** ZAŁADUJ KLASĘ BAZOWĄ ******************************* ********** ************************************************** ******************* * Klasa WP_List_Table nie jest automatycznie dostępna dla wtyczek, więc musimy * sprawdzić, czy jest dostępna i załadować ją w razie potrzeby. */ if(!class_exists('WP_List_Table')){ require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' ); } /****************************** UTWÓRZ KLASĘ PAKIETU ****************** *********** **************************************** **************************************** * Utwórz nowy pakiet tabeli listy, który rozszerza podstawowa klasa WP_List_Table. * WP_List_Table zawiera większość frameworka do generowania tabeli, ale * musimy zdefiniować i nadpisać niektóre metody, aby nasze dane mogły być wyświetlane * dokładnie tak, jak tego potrzebujemy. * * Aby wyświetlić ten przykład na stronie, musisz najpierw utworzyć instancję klasy, * następnie wywołać $yourInstance->prepare_items(), aby obsłużyć jakąkolwiek manipulację danymi, a następnie * w końcu wywołać $yourInstance->display(), aby wyrenderować tabelę do strony. * * Naszym tematem dla tej tabeli z listą będą filmy. */ class TT_Example_List_Table extends WP_List_Table { /** **************************************** ******************************** * Normalnie pobieralibyśmy zapytania z bazy danych i manipulowali nimi * do wykorzystania w tabela z listą. W tym przykładzie nieco go * uprościmy i utworzymy wstępnie zbudowaną tablicę. Pomyśl o tym jako o danych, które * mogą zostać zwrócone przez $wpdb->query(). * * @var array ******************************************************** ******************/ var $example_data = array( array( 'ID' => 1, 'title' => '300', 'rating' => 'R ', 'director' => 'Zach Snyder' ), array( 'ID' => 2, 'title' => 'Oczy szeroko zamknięte', 'rating' => 'R', 'director' => 'Stanley Kubrick ' ), array( 'ID' => 3, 'title' => 'Moulin Rouge!', 'rating' => 'PG-13', 'director' => 'Baz Luhrman' ), array( 'ID' => 4, 'title' => 'Królewna Śnieżka', 'rating' => 'G', 'reżyser' => 'Walt Disney' ), array( 'ID' => 5, 'title' => 'Super 8', 'szczuring' => 'PG-13', 'director' => 'JJ Abrams' ), array( 'ID' => 6, 'title' => 'Fontanna', 'rating' => 'PG-13' , 'director' => 'Darren Aronofsky' ), array( 'ID' => 7, 'title' => 'Strażnicy', 'rating' => 'R', 'director' => 'Zach Snyder' ) ) ; /** *********************************************** *************************      * WYMAGANY. Skonfiguruj konstruktora, który odwołuje się do konstruktora nadrzędnego. * Używamy referencji rodzica, aby ustawić niektóre domyślne konfiguracje. ************************************************** *************************/ function __construct(){ global $status, $page; //Ustaw domyślne ustawienia rodzica parent::__construct( array( 'singular' => 'movie', //pojedyncza nazwa wymienionego records 'plural' => 'movies', //liczba mnoga nazwa wymienionych rekordów 'ajax' => false //czy ta tabela obsługuje ajax? ) ); } /** ************************************************** **************************      * Zalecana. Ta metoda jest wywoływana, gdy klasa nadrzędna nie może znaleźć metody * stworzonej specjalnie dla danej kolumny. Generalnie zaleca się dołączenie * jednej metody dla każdej kolumny, którą chcesz renderować, utrzymując klasę pakietu * uporządkowaną i zorganizowaną. Na przykład, jeśli klasa musi przetworzyć kolumnę * o nazwie 'title', najpierw sprawdzi, czy istnieje metoda o nazwie $this->column_title() * - jeśli tak, ta metoda zostanie użyta. Jeśli tak się nie stanie, zostanie * użyty ten. Generalnie powinieneś starać się używać niestandardowych metod kolumn tak często, jak to tylko możliwe. * * Ponieważ później zdefiniowaliśmy metodę column_title(), ta metoda nie musi * zajmować się żadną kolumną wo nazwie „tytuł”. Zamiast tego * musi obsłużyć wszystko inne. * * Aby uzyskać bardziej szczegółowy wgląd w sposób obsługi kolumn, spójrz na * WP_List_Table::single_row_columns() * * @param array $item Pojedynczy element (zawartość jednego pełnego wiersza danych) * @param array $column_name Nazwa/ slug kolumny do przetworzenia * @return string Tekst lub kod HTML do umieszczenia wewnątrz kolumny  *************************** ***********************************************/ funkcja column_default ($item, $column_name){ switch($column_name){ case 'rating': case 'director': return $item[$column_name]; domyślnie: return print_r($item,true); //Pokaż całą tablicę w celu rozwiązywania problemów } } /** *********************************** ************************************      * Zalecana. Jest to niestandardowa metoda kolumnowa i odpowiada za co* jest renderowany w dowolnej kolumnie z nazwą/slugą „tytuł”. Za każdym razem, gdy klasa * potrzebuje wyrenderować kolumnę, najpierw szuka metody o nazwie * column_{$column_title} - jeśli istnieje, ta metoda jest uruchamiana. Jeśli nie istnieje *, zamiast tego wywoływana jest column_default(). * * Ten przykład ilustruje również, jak zaimplementować akcje najazdu. Akcje * powinny być tablicą asocjacyjną sformatowaną jako 'slug'=>'link html' - i * będziesz musiał samodzielnie wygenerować adresy URL. Możesz nawet upewnić się, że linki * * * @see WP_List_Table::::single_row_columns() * @param array $item Pojedynczy element (wartość jednego pełnego wiersza danych) * @return string Tekst do umieszczenia wewnątrz kolumny  (tylko tytuł filmu) ********************************************* *****************************/ function column_title($item){ //Akcje budowania wiersza $actions = array( 'edytuj' => sprintf('Edit',$_REQUEST['page'],'edit',$item['ID']), 'delete' => sprintf('Usuń',$_REQUEST['strona'],'usuń',$element['ID']), ); //Zwróć zawartość tytułu return sprintf('%1$s %3$s', /*$1%s*/ $item[' tytuł'], /*$2%s*/ $item['ID'], /*$3%s*/ $this->row_actions($actions) ); } /** ************************************************** ************************** * WYMAGANE, jeśli wyświetlasz pola wyboru lub używasz akcji zbiorczych! Kolumna 'cb' * jest traktowana w specjalny sposób podczas przetwarzania kolumn. ZAWSZE musi * mieć własną metodę. * * @zobacz WP_List_Table::::single_row_columns() * @param array $item Pojedynczy element (jeden pełny wiersz danych) * @return string Tekst do umieszczenia wewnątrz kolumny  (tylko tytuł filmu) ** ************************************************** **********************/ funkcjaion column_cb($item){ return sprintf( '<input type="checkbox" name="%1$s[]" value="%2$s" />', /*$1%s*/ $this- >_args['singular'], //Po prostu zmieńmy przeznaczenie pojedynczej etykiety tabeli ("film") /*$2%s*/ $item['ID'] //Wartością pola wyboru powinien być identyfikator rekordu ); } /** ************************************************** **************************      * WYMAGANY! Ta metoda dyktuje kolumny i tytuły tabeli. Powinno to * zwrócić tablicę, w której kluczem jest informacja o pracy kolumny (i klasa), a wartość * jest tekstem tytułu kolumny. Jeśli potrzebujesz pola wyboru dla działań zbiorczych, zapoznaj się * z poniższą tablicą $columns. * * Kolumna „cb” jest traktowana inaczej niż reszta. Jeśli dołączasz do tabeli kolumnę pola wyboru *, musisz utworzyć metodę column_cb(). Jeśli nie potrzebujesz * akcji zbiorczych lub pól wyboru, po prostu pozostaw wpis 'cb' poza tablicą. * * @patrz WP_List_Table::::single_row_columns() * @return array Tablica asocjacyjna zawierająca informacje o kolumnie: 'slugs'=>'Visible Titles' ********************** ************************************************** **/ function get_columns(){ $columns = array( 'cb' => '<input type="checkbox" />', //Wyrenderuj pole wyboru zamiast tekstu 'title' => 'Nazwa niestandardowego widżetu', ' ocena' => 'Ocena', 'dyrektor' => 'Dyrektor' ); return $kolumny; } /** ************************************************** **************************      * Opcjonalny. Jeśli chcesz, aby jedna lub więcej kolumn można było sortować (przełącznik ASC/DESC), * musisz ją tutaj zarejestrować. Powinno to zwrócić tablicę, w której klucz * jest kolumną, która ma być sortowalna, a wartością jest kolumna db do * sortowania według. Często klucz i wartość będą takie same, ale nie zawsze tak jest * (ponieważ wartość jest nazwą kolumny z database, a nie tabela z listą). * * Ta metoda definiuje jedynie, które kolumny powinny być sortowalne i sprawia, że są one * klikalne - nie obsługuje faktycznego sortowania. Nadal musisz wykryć * zmienne ciągu zapytania ORDERBY i ORDER w ramach metody Prepare_items() i odpowiednio * posortować dane (zwykle poprzez modyfikację zapytania). * * @return array Tablica asocjacyjna zawierająca wszystkie kolumny, które powinny być sortowalne: 'slugs'=>array('data_values',bool) ******************** ************************************************** ****/ function get_sortable_columns() { $sortable_columns = array( 'title' => array('title',true), //true oznacza już posortowaną 'rating' => array('rating',false), 'director' => array('director',false) ); zwróć $sortowalne_kolumny; } /** ************************************************** **************************      * Opcjonalny. Jeśli potrzebujesz jaUwzględnij akcje zbiorcze w tabeli z listą, * tutaj możesz je zdefiniować. Akcje zbiorcze są tablicą asocjacyjną w formacie * 'slug'=>'Visible Title' * * Jeśli ta metoda zwróci pustą wartość, żadna akcja zbiorcza nie zostanie wyrenderowana. Jeśli * określisz jakiekolwiek akcje zbiorcze, pole akcji zbiorczych zostanie wyświetlone z * tabelą automatycznie przy funkcji display(). * * Należy również pamiętać, że tabele list nie są automatycznie umieszczane w elementach <form>, * więc trzeba będzie je utworzyć ręcznie, aby umożliwić działanie zbiorcze. * * @return array Tablica asocjacyjna zawierająca wszystkie akcje zbiorcze: 'slugs'=>'Visible Titles' *************************** ***********************************************/ funkcja get_bulk_actions () { $actions = array( 'usuń' => 'Usuń' ); return $akcje; } /** ************************************************** **************************      * Opcjonalny. Ty cobsłużyć swoje działania zbiorcze w dowolnym miejscu lub w dowolny sposób. * W przypadku tego przykładowego pakietu zajmiemy się nim w klasie, aby * utrzymać porządek i porządek. * * @see $this->prepare_items() *************************************** ***********************************/ function process_bulk_action() { //Wykryj, kiedy trwa akcja zbiorcza triggered... if( 'delete'===$this->current_action() ) { wp_die('Elementy usunięte (lub byłyby, gdybyśmy mieli elementy do usunięcia)!'); } } /** ********************************************* ***************************      * WYMAGANY! Tutaj przygotowujesz swoje dane do wyświetlenia. Ta metoda będzie * zwykle używana do wysyłania zapytań do bazy danych, sortowania i filtrowania danych oraz ogólnie * przygotowania ich do wyświetlenia. Jako minimum powinniśmy ustawić $this->items i * $this->set_pagination_args(), chociaż następujące właściwości i metody * często wchodzą w interakcjeed z tutaj... * * @uses $this->_column_headers * @uses $this->items * @uses $this->get_columns() * @uses $this->get_sortable_columns() * @uses $this-> get_pagenum() * @uses $this->set_pagination_args() ************************************* *************************************/ function Prepare_items() { /** * Najpierw pozwól zdecyduj, ile rekordów na stronie ma być pokazywanych */ $per_page = 5; /**          * WYMAGANY. Teraz musimy zdefiniować nagłówki naszych kolumn. Obejmuje to pełną * tablicę kolumn do wyświetlenia (slugi i tytuły), listę kolumn * do ukrycia oraz listę kolumn, które można sortować. Każdy z tych * może być zdefiniowany w innej metodzie (tak jak to zrobiliśmy tutaj), zanim zostanie * użyty do zbudowania wartości dla naszej właściwości _column_headers. */ $kolumny = $this->get_columns(); $ukryte = tablica(); $sortable = $this->get_sorkolumny_tabeli(); /**          * WYMAGANY. Na koniec budujemy tablicę, która będzie używana przez klasę dla nagłówków kolumn *. Właściwość $this->_column_headers pobiera tablicę, która zawiera * 3 inne tablice. Jeden dla wszystkich kolumn, jeden dla ukrytych kolumn i jeden * dla kolumn, które można sortować. */ $this->_column_headers = array($kolumny, $ukryte, $sortowalne); /**          * Opcjonalny. Możesz obsłużyć swoje działania zbiorcze tak, jak uznasz to za stosowne. W tym przypadku * zajmiemy się nimi w naszym pakiecie, aby utrzymać porządek. */ $this->process_bulk_action(); /** * Zamiast odpytywać bazę danych, pobierzemy przykładową właściwość data *, którą utworzyliśmy do użycia w tej wtyczce. To sprawia, że ten przykładowy * pakiet jest nieco inny niż ten, który możesz zbudować samodzielnie. W * tym przykładzie użyjemy manipulacji tablicami, aby posortować i podzielić na strony * nasze data. W rzeczywistej implementacji prawdopodobnie będziesz chciał * zamiast tego użyć sortowania i danych stronicowania, aby zbudować niestandardowe zapytanie, ponieważ będziesz mógł * natychmiast użyć precyzyjnie zapytanych danych. */ $dane = $to->przykladowe_dane; /** * To sprawdza, czy dane wejściowe są sortowane i odpowiednio sortowane są dane w naszej tablicy. * * W rzeczywistej sytuacji związanej z bazą danych prawdopodobnie chciałbyś * obsłużyć sortowanie poprzez przekazanie wartości 'orderby' i 'order' bezpośrednio * do zapytania niestandardowego. Zwrócone dane będą wstępnie posortowane, a ta technika sortowania tablic * byłaby niepotrzebna. */ function usort_reorder($a,$b){ $orderby = (!empty($_REQUEST['orderby'])) ? $_REQUEST['orderby'] : 'tytuł'; //Jeśli nie ma sortowania, domyślnie tytuł $order = (!empty($_REQUEST['order'])) ? $_REQUEST['zamówienie'] : 'asc'; //Jeśli nie ma zamówienia, domyślnie asc $result = strcmp($a[$zamówienie], $b[$zamówienie]); //Określ zwrot kolejności sortowania ($order==='asc') ? $wynik : -$wynik; //Wyślij ostateczny kierunek sortowania do usort usort($data, 'usort_reorder'); } /** * WYMAGANE do paginacji. Zastanówmy się, na którą stronę obecnie * patrzy użytkownik. Będziemy tego potrzebować później, więc zawsze powinieneś dołączyć * do własnych klas pakietów. */ $bieżąca_strona = $this->get_pagenum(); /** * WYMAGANE do paginacji. Sprawdźmy ile pozycji znajduje się w naszej tablicy danych. * W rzeczywistym świecie będzie to całkowita liczba elementów w Twojej bazie danych, * bez filtrowania. Będziemy tego potrzebować później, więc zawsze należy to uwzględnić * in własne klasy pakietów. */ $total_items = liczba($dane); /** * Klasa WP_List_Table nie obsługuje za nas stronicowania, więc potrzebujemy * aby dane zostały przycięte tylko do bieżącej strony. Możemy użyć * array_slice() do */ $data = array_slice($data,(($current_page-1)*$per_page),$per_page); /**          * WYMAGANY. Teraz możemy dodać nasze *posortowane* dane do właściwości items, gdzie * mogą być używane przez resztę klasy. */ $this->elementy = $dane; /**          * WYMAGANY. Musimy również zarejestrować nasze opcje i obliczenia stronicowania. */ $this->set_pagination_args( array( 'total_items' => $total_items, //Musimy obliczyć całkowitą liczbę elementów 'per_page' => $per_page, //Musimy określić ile elementów ma się pokazać na strona 'total_pages' =>ceil($total_items/$per_page) //Musimy obliczyć całkowitą liczbę stron ) ); } } /** ************************* ZAREJESTRUJ STRONĘ TESTOWĄ ***************** *********** **************************************** **************************************** * Teraz wystarczy zdefiniować stronę administratora . W tym przykładzie dodamy element menu najwyższego poziomu * na dole menu administratora. */ function tt_add_menu_items(){ add_menu_page('Niestandardowe widżety', 'Niestandardowe widżety', 'activate_plugins', 'tt_list_test', 'tt_render_list_page'); } add_action('admin_menu', 'tt_add_menu_items'); /****************************** WYŚWIETL STRONĘ TESTOWĄ ***************** *************** *********************************** ********************************************* * Ta funkcja renderuje administratora stronę i przykładową tabelę listy. Chociaż możliwe jest wywołanie metody * ready_items() i display() z konstruktora,re * często zdarza się, że konieczne może być uwzględnienie logiki między tymi krokami, * więc zamiast tego wywołaliśmy te metody jawnie. Dzięki temu wszystko jest elastyczne i * jest to sposób, w jaki tabele list są używane w rdzeniu WordPressa. */ function tt_render_list_page(){ //Utwórz instancję naszej klasy pakietu... $testListTable = new TT_Example_List_Table(); //Pobierz, przygotuj, sortuj i filtruj nasze dane... $testListTable->prepare_items(); ?>

Widżety niestandardowe
 <?php $active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab'] : 'custom_widget_manager'; ?>
 <a href="?page=tt_list_test&tab=custom_widget_manager" class="nav-tab <?php echo $active_tab == 'custom_widget_manager' ? 'nav-tab-active ' : ''; ?>">Menedżer widżetów niestandardowych <a href="?page=tt_list_test&tab=add_custom_widget" class="nav-tab <?php echo $active_tab == 'add_custom_widget' ? 'aktywna karta nawigacyjna' : ''; ?>">Dodaj niestandardowy widżet
  <form id="movies- filter" method="get">  <input type="hidden" name="page" value="<?php echo $_REQUEST['page'] ?>" />  <?php $testListTable->display(); ?> </form>
 < ?php }


title: Dodawanie trzeciej kolumny skrzynki pocztowej: postbox-container-3

text:
Przestudiowałem wtyczki, które mają w użyciu postbox-container-1 i postbox-container-2. Najlepszą implementacją skrzynek pocztowych, jaką widziałem, jest wtyczka TablePress. Musiałem dostosować podejście stosowane w TablePress dla wielu widoków na stronę administratora WP w CSV 2 POST, ponieważ jest to znacznie więcej widoków. Wszystko działa dobrze. Mogę przełączyć się na jedną lub dwie kolumny, ale nie mogę dodać trzeciej. Żaden z widoków TablePress nie ma trzech kolumn i na przykład nie znalazłem dobrej wtyczki. Myślałem, że będzie to tak proste, jak skopiowanie div dla pierwszej i drugiej kolumny, ale postbox-container-3 tworzy tylko pustą przestrzeń, w której nie można umieścić żadnych pól. Zakładka Opcje ekranu wyświetla trzecie radio, które jest wybierane. Jakie jest rozwiązanie? Czy są jakieś wtyczki wykorzystujące trzy kolumny skrzynek pocztowych, jak na desce rozdzielczej?
 <div id="post-body" class="kolumny metabox-holder-<?php echo ( isset( $GLOBALS['screen_layout_columns'] ) && ( 2 == $GLOBALS['screen_layout_columns '] ) ) ? '2' : '1'; ?>">
 <?php $this->do_text_boxes('normal'); $this->do_meta_boxes( 'normalne' ); $this->do_text_boxes( 'dodatkowe' ); $this->do_meta_boxes( 'dodatkowe' ); // drukuj wszystkie przyciski przesyłania $this->do_text_boxes( 'submit' ); ?>

 <?php // wypisz wszystkie pola w pasku bocznym $this->do_text_boxes( 'strona' ); $this->do_meta_boxes( 'strona' ); ?>


title: oEmbed nie działa w przypadku komentarzy

text: Mam dwie strony internetowe, inscenizacyjną i produkcyjną. Mają 99% taką samą konfigurację i są hostowane na tym samym serwerze. Są to wielostanowiskowe instalacje WP. Problem, który próbowałem rozwiązać przez cały ranek, jest następujący: na jednej stronie oEmbed dla komentarzy działa dobrze, ale na drugiej nie działa wcale - po prostu wypluwa surowe adresy URL. Próbowałem wszystkiego. Rozebrałem witrynę do gołej kości. Wyłączyłem wszystkie wtyczki. Wydaje się, że nic nie sprawia, że to działa, a teraz, bardzo żenująco, nie mam pojęcia, co może spowodować tę rozbieżność. Każda wskazówka, pomoc lub pomysł są bardzo mile widziane.


title: Jak zmienić adres URL obrazu?

text: Jak mogę zmienić adres URL obrazu z tego > http://i0.wp.com/example.com/wp-content/uploads/2014/06/imagename Na to: > http://www.example.com/image /imagename.jpg Lub do tego: > http://www.example.com/imagename.jpg Jakieś sugestie, jak rozwiązać ten problem?


title: pokaż posty z jednej kategorii tylko z komentarzami

text: Czy ktoś miałby dobry pomysł, aby WP wypluł wszystkie posty z kategorii tylko z (zatwierdzonymi) komentarzami? Mam skonfigurowaną witrynę e-commerce i traktuję komentarze do postów o produktach jako referencje. Teraz chcę stronę, która pokazuje wszystkie te „referencje” (komentarze) obok tytułu produktu (postu) i miniatury. Czy ktoś może pomóc?? Próbowałem kilku rzeczy, ale oczywiście nie rozumiem działania pętli na tyle dobrze, aby filtrować według tych kryteriów... Pozdrawiam! Piotr


title: Scalanie skryptu pobierania PHP do `functions.php`

text: Prowadzę dużą witrynę pobierania mixtape na WordPress. Obecnie pracuję nad nowym motywem i chciałbym zawrzeć jak najwięcej funkcji witryny w `functions.php` motywu. Do obsługi pobierania mam kilka skryptów PHP. Pobieranie jest wywoływane przez odwiedzającego, klikając adres URL (przykład): `http://www.tjoonz.com/house.php?id=1234&file=post-slug`. Skrypt oczyszcza parametry i udostępnia pliki `MP3` z prywatnego katalogu serwera. Moją główną troską jest to, że te skrypty zawierają szczegóły połączenia z bazą danych, do czego wolałbym użyć `$wpdb`. # Aktualne skrypty (dla odniesienia) Przepraszam, jeśli jest to trochę przesadne, ale może się przydać później. Prawdopodobnie możesz na razie pominąć ten fragment, jeśli tylko czytasz moje pytanie. ## PHP <?php // pobieranie skryptu Tjoonz.com v1.2 // testowanie argumentów if(!isset($_REQUEST['id']) || empty($_REQUEST['id']) || !isset( $_REQUEST['plik']) || empty($_REQUEST['plik'])) { // nieprawidłowe argumenty, przerwanie nagłówka skryptu("HTTP/1.0 400 Złe żądanie"); umierać(); } // ustaw zmienne $current_time = time(); $user_ip = $_SERVER['REMOTE_ADDR']; $post_id = $_GET['id']; $plik_żądany = $_GET['plik']; $nazwa_pliku = strip_tags($plik_żądany); $file_path = '/dom/tjoonz/audio/dom/'; $zablokowana = fałsz; // sprawdź, czy ustawiony jest plik cookie 'downloadsAllowed' // zapobiega to łączeniu się z innymi domenami dla użytkowników, którzy jeszcze nie odwiedzili Tjoonz.com if ($_COOKIE["downloadsAllowed"] == "tj00nz") { $file_full = $file_path .$nazwa_pliku; if (file_exists($file_full)) // sprawdź, czy istnieje żądany mixtape { // nawiąż połączenie z bazą danych dla testu licznika odtwarzania $user="#######"; $password="########"; $database="#######"; $host="#######"; mysql_connect($host,$użytkownik,$hasło); mysql_select_db($baza danych) lub die(mysql_error()); // ustaw zakres czasu na 2 godziny temu (obecnie minus 7200 sekund) $timerange = $current_time - 7200; // pobierz wszystkie rekordy z tabeli 'playcount_lock' $locks = mysql_query("SELECT * FROM playcount_lock WHERE request_time > $timerange") or die(mysql_error()); // sprawdź, czy bieżący adres IP uzyskał już dostęp do tej składanki w ciągu ostatnich 2 godzin while ($lock = mysql_fetch_object($locks)) { // ustaw zmienne z danymi z rekordu $lock_ip = $lock->ip_address; $lock_id = $lock->post_id; $lock_time = $lock->request_time; // porównaj dane rekordu z aktualnymi danymi użytkownika if($lock_ip == $user_ip && $lock_id == $post_id && ($lock_time + 7200) >= $current_time) { // znaleziono dopasowanie, wyjdź z pętli while i kontynuuj z skrypt $zablokowany = prawda; przerwanie; } } if (!$locked) // jeśli licznik odtwarzania nie jest zablokowany, zaktualizuj bazę danych { // dodaj wpis blokady na następne dwie godziny mysql_query("INSERT INTO `playcount_lock` (`request_time`, `post_id`, `ip_address `) VALUES ('$current_time', '$post_id', '$user_ip')") lub die(mysql_error()); // zaktualizuj licznik odtworzeń dla tej składanki $post_meta = mysql_query("SELECT meta_value FROM `wp_postmeta` WHERE `meta_key` = '_played' AND `post_id` = ".$post_id); $liczba = @mysql_result($post_meta, 0); if($count == FALSE) { // jeśli nie ma odtworzeń, wstaw metadane do tabeli mysql_query("WSTAW DO wp_postmeta (post_id, meta_key, meta_value) WARTOŚCI (".$post_id.",'_played',1) ”); } else { // w przeciwnym razie zwiększ istniejącą liczbę odtworzeń o 1 $newCount = mysql_result($post_meta, 0) + 1; mysql_query("AKTUALIZACJA `wp_postmeta` SET meta_value = ".$newCount." GDZIE `meta_key` = '_played' AND `post_id` = ".$post_id); } } // skończyliśmy z bazą danych, zabij połączenie mysql_close(); // na koniec wyślij nagłówek pliku("X-SENDFILE: ".$file_full); header("Typ treści: audio/mpeg"); header("Dyspozycja zawartości: załącznik; nazwa pliku=".basename($file_full)); header("Długość treści: ".filesize($file_full)); header("Pragma: public"); header("Wygasa: 0"); header("Kontrola pamięci podręcznej: musi-ponowna walidacja, po sprawdzeniu=0, przed sprawdzeniem=0"); header("Kontrola pamięci podręcznej: public"); header("Opis treści: transfer plików"); header("Content-Transfer-Encoding: binarny"); } else // nie można znaleźć tej składanki { header('HTTP/1.0 404 Not Found'); } } else // ciasteczko 'downloadsAllowed' nie jest ustawione, przekierowuje użytkownika do strony mixtape { $file_redirection = substr($file_name,0, -4); header("Lokalizacja: http://www.tjoonz.com/house/" . $file_redirection . "/"); } ?> ## JS // po kliknięciu playnow dodaj do myPlaylist i natychmiast zacznij odtwarzać mixtape $("body").on("click", ".jplayer-playnow", function (e) { e.preventDefault (); // dodaj do kolejki odtwarzania i odtwórz natychmiast $.jPlayer.timeFormat.showHour = true; $.jPlayer.timeFormat.sepHour = ":"; $.jPlayer.timeFormat.sepMin = ":"; $.jPlayer .timeFormat.sepSec = ""; myPlaylist.add({ title: $(".single-title-mixtape").text(), artysta: $(.single-title-artist").text(), gatunek : $(".jplayer-playnow span").attr("class"), mp3: $(this).attr("href"), // <--- Tutaj pojawia się mój problem z nowym motywem , czytaj dalej poster: $(".wp-post-image").attr("src") }, true);// wartość true powoduje, że nowo dodany utwór jest odtwarzany natychmiast }); # Intencje Używam obecnego skryptu dwojako: Kiedy użytkownik kliknie przycisk `PLAY`, jQuery zapobiega nawigowaniu do łącza i pobiera adres URL, aby poinstruować odtwarzacz muzyki, aby zamiast tego pobrać plik. Gdy użytkownik kliknie przycisk „POBIERZ”, przeglądarka po prostu podąża i inicjowane jest bezpośrednie pobieranie. Oba przyciski używają tych samych skryptów i tych samych adresów URL. W moim nowym skrypcie chcę połączyć `house.php`, `electro.php`, `dubstep.php`, `drum-and-bass.php` i `techno.php` z jednym skryptem, który przyjmuje `gatunek ` parametr. Dodatkowo, w zależności od tego, jak to się dzieje, dodam parametr określający `akcję` (pobieranie lub odtwarzanie). Zamierzam całkowicie osadzić skrypt w `functions.php`. Na stronie mixtape dwa linki to:  <a href="?id=<?php echo $post->ID; ?>&file=<?php tjnz_slug(); ?>&genre =<?php echo $category[0]->category_nicename; ?>&action=play">Graj  <a href="?id=<?php echo $post-> ID; ?>&file=<?php tjnz_slug(); ?>&genre=<?php echo $category[0]->category_nicename; ?>&action=download">Pobierz # Problem W moim starym skrypcie, Po prostu złapałem linki odtwarzania (według nazwy klasy na kotwicy) i zablokowałem domyślną akcję przeglądarki, a potem robię swoje. Udało mi się to zrobić, ponieważ mogłem wskazać „prawdziwy” plik (np. `house.php`). Gdybym miał umieścić kod w `functions.php`, jak mogę poinstruować odtwarzacz muzyki, gdzie znajduje się plik audio? Plik audio niekoniecznie musi być plikiem `MP3`, co widać po moim obecnym kodzie: poinstruuję jPlayera, że plik audio znajduje się na przykład w house.php. Jak mam powiedzieć jPlayerowi, że plik pochodzi z tajemniczego `functions.php`? Czy mam linkować bezpośrednio do `theme dir/functions.php`? Nie brzmi to jak dobry pomysł, ale to tylko moje przeczucie. Jak powiedziałem wcześniej, głównym powodem, dla którego chcę, aby skrypt znajdował się w `functions.php` jest możliwość skorzystania z mocy `$wpdb`. Jeśli osobny plik PHP jest nadal do zrobienia, nadal zaakceptowałbym tę odpowiedź (pod warunkiem, że poparłeś tę teorię).


title: Zasady przepisywania WordPress dla niestandardowego typu postu i taksonomii

text: Odkryłem, że to miejsce jest dobrym źródłem informacji w przeszłości dzięki wielu Googlingom na temat problemów, z którymi się spotkałem. Moje pytanie dotyczy gadatliwych reguł przepisywania, których używa WordPress. Skonfigurowałem niestandardowy typ postu o nazwie _project_ i zarejestrowałem niestandardową taksonomię o nazwie _projects_. Wszystko działa świetnie, z wyjątkiem opcji przepisywania slug, ponieważ kończą się konfliktem – najprawdopodobniej z powodu reguł przepisywania. Zasadniczo jest to struktura, którą chcę osiągnąć: * `example.com/work/%taxonomy%/%post_name%/` (dla postów) * `example.com/work/%taxonomy%/` (lista postów należących do określony termin taksonomii) * `example.com/work/` (przechodzi do page-work.php, która zawiera taxonomy.php, aby wyświetlić wszystkie posty związane z tą taksonomią) Oto kod, który mam do tej pory, ale potrzebuję pomocy w pisaniu zasady WP_Rewrite, ponieważ jest to bit, na którym jestem trochę zakłopotany. $labels = array( 'name' => _x('Projects', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Project', 'Pojedyncza nazwa typu posta'), 'add_new' => _x( 'Dodaj nowy', 'element projektu'), 'add_new_item' => __('Dodaj nowy projekt'), 'edit_item' => __('Edytuj projekt'), 'new_item' => __('Nowy projekt') , 'view_item' => __('Wyświetl projekt'), 'search_items' => __('Wyszukaj projekty'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'hierarchical' => true, 'rewrite' => array('slug'=>'work', 'with_front'=>false), 'show_ui' => true, '_builtin' => false, // Jest to niestandardowy typ posta, nie wbudowany! 'capability_type' => 'post', 'query_var' => "project ", // To przechodzi do schematu WP_Query 'menu_position' => null, 'supports' => array('title','editor','thumbnail', 'comments', 'author', 'excerpt') ); register_post_type('projekt' , $args); // Taksonomia prezentacji register_taxonomy('projects', array('project'), array( 'public' => true, 'hierarchical' => true, 'label' => 'Kategorie projektów', 'singular_label' => 'Projekt Category', 'query_var' => true, 'rewrite' => array('slug'=>'praca', 'with_front'=>false, 'hierarchical'=>true) ) ); Wielkie dzięki za Twoją pomoc! :-)


title: Wtyczka s2member dostosuj pobieranie plików za pomocą haków

text: Używam wtyczki s2member, aby ograniczyć pobieranie. ma kilka haczyków, których można użyć do dostosowania funkcjonalności. oto dokumentacja hooków: http://www.primothemes.com/forums/viewtopic.php?f=40&t=9134&src_doc_v=110605 to działa: add_action('ws_plugin__s2member_before_file_download_access','wpc_notify_file_download'); funkcja wpc_notify_file_download(){ wp_mail('test@example.com','test','test'); wp_redirect( '/dziękujemy/' ); Wyjście; } ale jeśli użyję haka dostępu po pobraniu, to nie działa, hak nie wydaje się uruchamiać. ponadto, jeśli osoba niebędąca członkiem spróbuje pobrać, zostanie przekierowana na stronę rejestracji, chciałbym, aby pobieranie rozpoczęło się automatycznie po zarejestrowaniu się i zalogowaniu.


title: Uzyskaj bieżący identyfikator obrazu polecanego posta

text: Czy można odzyskać identyfikator polecanego obrazu w bieżącym poście (wewnątrz pętli)? Powodem, dla którego chcę to zrobić, jest to, że mogę zrobić coś takiego... <?php $featuredID = //pobierz identyfikator polecanego obrazu echo do_shortcode('[gallery size="thumbnail" link="plik" exclude="' $featuredID '"]'); ?> Jakakolwiek pomoc byłaby super dzięki!


title: Zapisz i pobierz wartość opcji niestandardowej wtyczki

text:
Chcę zapisać wartość danych wejściowych i je odzyskać. Przeszedłem przez samouczek otto press. Jestem nowy w tworzeniu wtyczki WordPress i nie rozumiem, że po kliknięciu przycisku „Zapisz zmiany” strona pokazuje: > Ustawienie zapisane Moje pytanie brzmi, gdzie jest wartość danych wejściowych i jak mogę je pobrać na tej samej stronie. Oto mój kod add_action('admin_menu', 'add_page'); if ( !function_exists( 'add_page' ) ) { //funkcja dodania strony w opcjach ustawień w sekcji admina wordpress function add_page() { add_options_page('Nowa strona ustawień', 'Nowe ustawienie', 'manage_options', 'wtyczka', 'plugin_options_frontpage'); } } function plugin_options_frontpage() { ?>

Tytuł nowej strony ustawień
 <form action="options.php" method="post"> <?php settings_fields('plugin_options '); ?> <?php do_settings_sections('wtyczka'); ?>

  <input name="Prześlij" type="submit" class="button-primary" value= "<?php esc_attr_e('Zapisz zmiany'); ?>" />

 </form>
 <?php } add_action('admin_init', 'plugin_admin_init' ); function plugin_admin_init(){ register_setting( 'plugin_options', 'plugin_options', 'plugin_options_validate' ); add_settings_section('plugin_main', 'Ustawienia główne', 'plugin_section_text', 'plugin'); add_settings_field('plugin_text_input1', 'Input 1', 'plugin_input1', 'plugin', 'plugin_main'); add_settings_field('plugin_text_input2', 'Wejście 2', 'plugin_input2', 'wtyczka', 'plugin_main'); } function plugin_section_text() { echo '
Nowe ustawienie wejściowe do zapisania.
'; } function plugin_input1() { $options = get_option('plugin_options'); echo "<input id='plugin_input1' class='normalny kod tekstowy' name='plugin_options[text_string]' size='30' type='text' value='{$options['text_string']}" /> "; } function plugin_input2() { $options = get_option('plugin_options'); echo "<input id='plugin_input2' class='normalny kod tekstowy' name='plugin_options[text_string]' size='30' type='text' value='{$options['text_string']}" /> "; } function plugin_options_validate($input) { $options = get_option('plugin_options'); $options['text_string'] = trim($input['text_string']); if(!preg_match('/^[a-z0-9]{32}$/i', $options['text_string'])) { $options['text_string'] = ''; } return $opcje; }


title: Osadź stronę iframe lub html w widżecie pulpitu nawigacyjnego

text: Zastanawiałem się, czy dałoby się osadzić stronę html lub dodać iframe do widgetu dashboardu. Mam blog z wieloma autorami i chcę, aby moja sekcja administracyjna była jak najprostsza, ponieważ niektóre z moich autorów są mniej „techniczne”. Więc dodałem już prosty widżet zawierający trochę tekstu. I wyjąłem mniej interesujące widżety. Dodałem kilka linków, aby mogli pozostać na swojej stronie pulpitu nawigacyjnego, ale mogli zrobić wszystko, co musieli zrobić. Ale pomyślałem, że byłoby też ciekawie umieścić jakieś pole komentarza, aby mogli ze sobą rozmawiać i dyskutować. coś takiego http://www.htmlcommentbox.com Daję ci kod HTML, który możesz wkleić na swoją stronę. Zacząłem więc eksperymentować, ale wszystkie rzeczy, których próbowałem, wyszły negatywnie. Pomyślałem, że gdybym był w stanie po prostu osadzić go w widżecie lub osadzić na stronie html i wyświetlić go przez iframe, mogłoby to zadziałać. Ale jak powiedziałem, nie wydaje się, żebym to zrobił. Czy to możliwe? czy po prostu marnuję swój czas? Z góry dziękuję


title: Jak zaimplementować dodatkowe menu?

text: Właściwie to muszę zaimplementować drugorzędne pionowe menu jak tutaj: http://www.adverum.lt/lt/paslaugos/korporatyvine-komunikacija Musi być w pionie i wygląda jak oparte na ramkach, ale jak wiem ramki są przestarzałe, więc jak mam to zrobić? Czy jest do tego wtyczka?


title: Błąd analizy: błąd składni, nieoczekiwany T_STRING, oczekiwany „” lub „;”

text: Próbuję użyć następujących kodów, aby mieć przycisk udostępniania e-mail w witrynie WordPress. Ale dodanie tego kodu w single.php pokazuje "Błąd analizy: błąd składni, nieoczekiwany T_STRING, oczekiwany ',' lub ';' w .......... w wierszu 72". Pomóż mi ktoś naprawić ten problem. <?php echo "<a href="mailto:type%20email%20address%20here?subject=I%20wanted%20to%20share%20this%20post%20with%20you%20from%20<?php bloginfo('name') ; ?>&body=<?php the_title('','',true); ?>%20%20%3A%20%20<?php echo get_the_excerpt(); ?>%20%20%2D%20%20%28%20<?php the_permalink(); ?>%20%29" title="Wyślij e-mailem do znajomego/współpracownika" target="_blank">Udostępnij przez e-mail"; ?>


title: Poprzedni/następny post w tej kategorii?

text: Chcę dodać kod w moim motywie, aby wyświetlić link Następny/Poprzedni pod postem, ale w tej samej kategorii. Nie potrzebuję miniatury, ale jeśli to możliwe, byłbym wdzięczny, ale w tej chwili nie jest to ważne. W tej chwili chcę tylko wstawić kod(y) do jednego z moich skryptów PHP, aby wyświetlić następny/poprzedni link w poście. Szukam w google i znajduję jakieś rzeczy, ale nie wiem, jak z nich korzystać. Na przykład nie wiem, jak działa link next_posts_link lub previous_posts_link. Ponieważ mój motyw nie ma PĘTLI. Używam wielu wtyczek, ale u mnie nie działa, a ta, która działa, nie wyświetla się w wersji mobilnej. W tej chwili działa dla mnie wtyczka **WP Single Post Navigation Within Category**. Moja witryna jest witryną z odcinkami filmowymi, więc chcę umożliwić odwiedzającym kliknięcie obok następnego odcinka w tej samej serii/kategorii. Jeśli możesz w czymś pomóc, pomóż.


title: Użyj innego szablonu/motywu, jeśli tylko mobilny na stronie głównej

text: Rozejrzałem się i nie mogę znaleźć niczego, co w pełni działa dla mojego problemu: chcę mieć możliwość ustawienia szablonu strony głównej w locie, gdy użytkownik odwiedza go z telefonu komórkowego, ale nie z tabletu. Mam już ten czek na miejscu. Jednak jestem w stanie zmienić cały motyw na wszystkich stronach, gdy użytkownik korzysta z telefonu, ale wydaje się, że nie ma sposobu, aby zmienić tylko szablon / motyw na stronie głównej. Ze względu na to, że jedyny sposób, jaki wiem na pewno, to sprawdzenie `is_front_page()`, które nie istnieje, gdy podpinasz się w celu zmiany motywu. Chcę również spróbować to zrobić bez przekierowywania na inną stronę, jeśli to możliwe.


title: Dodaj pola niestandardowe do szablonu strony po stronie administratora

text: Dodaję szablon strony do aktualnie używanego motywu. Czy istnieje sposób, aby edytor administratora wyświetlał niektóre pola tekstowe lub inne opcje szablonu? Na przykład potrzebowałbym dwóch obszarów tekstowych.


title: Wymuś logowanie użytkownika

text: Zaskoczony, nie znalazłem tego pytania. Chcę zmusić użytkowników do zalogowania się do witryny przed uzyskaniem dostępu do jakiejkolwiek zawartości. Mam tę funkcję: function av_force_user_login() { global $post; globalna $pagenow; if ( in_array( $GLOBALS['pagenow'], array( 'wp-login.php', 'wp-register.php') ) ) { return; }inny{ auth_redirect(); } } add_action( 'get_header', 'av_force_user_login' ); To jednak nie działa i po próbie zalogowania zostaje przekierowany z powrotem do strony logowania. Jedno zastrzeżenie, na które należy zwrócić uwagę (w moim przypadku): używam systemu rejestracji BuddyPress', który nie dotyczy strony logowania, ale dotyczy strony `wp-login.php?action=register`, która przekierowuje do Szablon Buddypress do rejestracji. Niemniej jednak, czy jest coś złego w powyższym kodzie, co spowodowałoby przekierowanie z powrotem do strony logowania?


title: Policz, ile postów obejrzał użytkownik

text: Wydaje się, że to całkiem nowe pytanie, ponieważ nigdzie go nie znalazłem. Zastanawiałem się, czy można policzyć, ile postów obejrzał (wpisał) zarejestrowany użytkownik na interfejsie. Zasadniczo, gdy użytkownik wprowadzi post, licznik doda 1. Unikalne wyświetlenia, więc jeśli ponownie wprowadzi ten sam post, nie zostanie on policzony. Dziękuję!


title: Typ posta niestandardowego - dwie taksonomie

text: Chciałbym mieć stronę poświęconą zbieraniu roślin w przyrodzie. Powiedzmy więc, że w marcu i kwietniu można zbierać liście pokrzywy, natomiast we wrześniu i październiku należy zbierać korzeń. Zrobiłem więc niestandardowy typ postu dla rośliny i dwie taksonomie - Months i Plants-part. Czy istnieje sposób na połączenie obu taksonomii w tym samym poście, jednocześnie pozostając osobno? Ponieważ musiałbym pobrać dane na podstawie miesiąca. Czasami potrzebna byłaby wielokrotna ilość danych dla tej samej rośliny, na przykład: jakaś roślina / nazwa łacińska / końcówki - korzenie -> październik - owoce -> marzec, kwiecień - liście -> sierpień - nasiona -> wrzesień


title: wp_signon zawsze przekazywał hasło, nawet jeśli hasło jest błędne

text: Testuję logowanie użytkownika przez API PHP, na razie zakodowałem parametry: $creds = array(); $creds['user_login'] = 'foo'; $creds['user_password'] = 'bar'; $użytkownik = wp_signon ($kredyty, fałsz ); if ( is_wp_error($user)) echo $user->get_error_message(); else echo 'logowanie powiodło się'; Problem polega na tym, że testuje integralność nazwy użytkownika, ale nie hasła, chociaż jestem prawie pewien, że hasło jest błędne, logowanie się powiodło, co oznacza, że funkcja logowania nie działa tak, jak powinna. Dołączam plik wp-config na górze pliku i przetestowałem połączenie wp DB przed wysłaniem: require_once ('../wp-config.php'); Czy coś mi brakuje? Aktualizacja: Debuguję zmienną `$user`: `var_dump($user);` i oto, co otrzymuję: zaloguj się pomyślnie object(WP_User)#304 (7) { ["data"]=> object(stdClass )#305 (10) { ["ID"]=> string(2) "75" ["login_użytkownika"]=> string(5) "foo" ["hasło_użytkownika"]=> string(34) "$P$ B5uc93mdbK3R8QDOa0uC/fDnUu8rkP1" ["nazwa_użytkownika"]=> string(5) "foo" ["email_użytkownika"]=> string(23) "foo.user@gmail.com" ["user_url"]=> string(0) " " ["user_registered"]=> string(19) "2014-05-15 17:52:45" ["user_activation_key"]=> string(0) "" ["user_status"]=> string(1) "0 " ["display_name"]=> string(5) "foo" } ["ID"]=> int(75) ["caps"]=> array(1) { ["subskrybent"]=> bool(true) } ["cap_key"]=> string(15) "wp_capabilities" ["roles"]=> array(1) { [0]=> string(10) "subscriber" } ["allcaps"]=> array(3 ) { ["read"]=> bool(true) ["level_0"]=> bool(true) ["subskrybent"]=> bool(true) } ["filtr"]=> NULL } Za każdym razem, gdy błędnie wpisuję nazwę użytkownika , pojawia się błąd, który jest ładny oczywiste: BŁĄD: Nieprawidłowa nazwa użytkownika. Nie pamiętasz hasła? BŁĄD: Nieprawidłowa nazwa użytkownika. Zgubiłeś swoje hasło? Ale hasło zawsze przeszło test, mimo że jestem pewien, że zostało źle wpisane.


title: sortowanie meta_query według 2 kluczy

text: Muszę posortować (niestandardowe) posty według 2 wartości pól niestandardowych... nazwa pola niestandardowego 1: `jest_sponsorowane` [ wartość może być `1` lub `0` ] nazwa pola niestandardowego 2: `sfp_date` [ `znacznik czasu` aka aktualna data postu w sekundach ] Wpisy, których wartość „`is_sponsored`” wynosi 1, muszą być u góry, posortowane według „`sfp_date`” w kolejności końcowej `DESC`. Wszystkie inne posty, których wartość „`is_sponsored`” wynosi 0, powinny być wymienione poniżej – również w kolejności malejącej (według „`sfp_date`”). Mam coś takiego: $sfp_query_args = array( 'tax_query' => array( array( 'taxonomy' => 'sfp_posts', 'terms' => array(1, 5, 8) ) ), 'post_type' => ' sfpposts', 'post_status' => 'publish', 'showposts' => 15, 'paged' => $paged, 'meta_key' => 'sfp_date', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'meta_query' => array( 'klucz' => 'jest_sponsorowane', 'wartość' => 2, 'typ' => 'NUMERYCZNE', 'porównaj' => '<=' ) ); $wp_q = nowe WP_Query ($sfp_query_args ); ...ale nie działa. Jakieś pomysły? * * * _Uwaga redaktorów:_ Jest to mała wtyczka, która powinna pokazać, jak wygląda zapytanie, ponieważ prawdopodobnie nie mamy żadnego zestawu danych do przetestowania. <?php /** Nazwa wtyczki: (#67600) Zrzuć części zapytania */ function wpse67600_dump_query_parts( $części ) { echo '<pre>'.var_export( $części, prawda ).'</pre>'; zwróć $sztuk; } add_filter( 'posts_clauses', 'wpse67600_dump_query_parts' ); _OP PROSZĘ DODAĆ WYJŚCIE WTYCZKI TUTAJ - użyj linku "edytuj"_. ## EDIT by Dameer OK, po prześledzeniu żądania i wielu obejściach, wymyśliłem następujące... Jeśli uprościłem "$sfp_query_args" trochę wynik jest zbliżony do tego, co jest wymagane, jednak niemożność sortowania postów pozostaje jak jest. Oto on: $sfp_query_args1 = array( 'tax_query' => array( array( 'taxonomy' => 'sfp_post_category', 'terms' => $cat_id_arr ) ), 'post_type' => 'sfpposts', 'post_status' = > 'publish', 'showposts' => (int)$per_page, 'paged' => $paged, 'meta_key' => 'is_sponsored', 'orderby' => 'meta_value date' ); * *orderby przyjmuje dwa atrybuty: meta_value i date* Więc $wpdb->request z powyższymi argumentami w zapytaniu wygląda tak: SELECT SQL_CALC_FOUND_ROWS $wpdb->posts.ID FROM $wpdb->posts INNER JOIN $wpdb->term_relationships ON ( $wpdb->posts.ID = $wpdb->term_relationships.object_id) DOŁĄCZENIE WEWNĘTRZNE $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) GDZIE 1=1 i $wpdb-> posts.post_type = 'sfpposts' AND ($wpdb->posts.post_status = 'publish') AND ($wpdb->postmeta.meta_key = 'is_sponsored') GROUP BY $wpdb->posts.ID ORDER BY $wpdb-> postmeta.meta_value, $wpdb->posts.post_date DESC LIMIT 0, $per_page I na koniec, aby móc sortować również według meta_value, zapytanie powinno być ustawione z tylko jedną niewielką różnicą: SELECT SQL_CALC_FOUND_ROWS $wpdb->posts. ID FROM $wpdb->posts INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $w pdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) GDZIE 1=1 AND $wpdb->posts.post_type = 'sfpposts' AND ($wpdb->posts.post_status = 'opublikuj ') I ($wpdb->postmeta.meta_key = 'is_sponsored') GRUPUJ WG $wpdb->posts.ID ZAMÓWIENIE BY $wpdb->postmeta.meta_value [!BRAK ZAMÓWIENIA!], $wpdb->posts.post_date DESC LIMIT 0, $per_page Znajdź symbol zastępczy [!BRAK ZAMÓWIENIA!]. Myślę, że powyższe powinno wyjaśnić, gdzie dokładnie występuje problem.


title: Zwróć tylko niestandardowe hasło podrzędne dla niestandardowego typu postu, nie wyświetlaj echa term-parent

text: Stworzyłem funkcję niestandardową, która pobiera termin taksonomii niestandardowej dla listy postów w zapytaniu i odzwierciedla zarówno nazwę, jak i link. Dodatkowo wyklucza również wylistowanie terminu, jeśli podam id terminu (mam specjalny termin, którego nie chcę wyświetlać, a którego używam jako loop hooka). Osiąga się to dzięki funkcji my_get_the_term_list( $id = 0, $taxonomy, $before = '', $sep = '', $after = '', $exclude = array() ) { $terms = get_the_terms( $id , $taksonomia ); if ( is_wp_error ( $terms )) return $terms; if ( empty( $terms ) ) zwróć false; foreach ( $terms as $term ) { if(!in_array($term->term_id,$exclude)) { $link = get_term_link( $term, $taksonomia ); if ( is_wp_error ( $link ) ) return $link; $term_links[] = '' . $term->nazwa . ''; } } $term_links = apply_filters( "term_links-$taxonomy", $term_links ); zwróć $przed . dołącz ( $wrz, $term_links ) . $po; } Następnie wyświetlam to za pomocą tej linii <?php echo my_get_the_term_list( $post->ID, 'sports_category', '', ' ', '', array(3623) ); ?> Wszystko dobrze i dobrze. Teraz jestem głębiej w drzewie mojej witryny i chciałbym ponownie pobrać terminy z bieżącego postu, ale teraz (ponieważ jestem na stronie archiwum dla terminu w powyższym wyjaśnieniu) chcę tylko pobrać pod- termin/y i nie wyświetlają terminu nadrzędnego. Próbowałem zmodyfikować powyższe, ale wydaje mi się, że nie mogę tego rozdzielić. Przykłady, które widziałem gdzie indziej, nie dotyczą niestandardowych terminów, dodatkowo chciałbym uformować to w funkcję, aby móc ustawić niektóre parametry jak powyżej. To jest moja ostatnia próba function my_get_the_children( $id, $taxonomy, $before = '', $sep = '', $after = '', $exclude = array() ) { $terms = get_term_children( $id, $taksonomy ); if ( is_wp_error ( $terms )) return $terms; if ( empty( $terms ) ) zwróć false; foreach ( $terms as $term ) { if(!in_array($term->term_id,$exclude)) { $link = get_term_link( $term->name, $taksonomia ); if ( is_wp_error ( $link ) ) return $link; $term_links[] = '' . $term->nazwa . ''; } } $term_links = apply_filters( "term_links-$taxonomy", $term_links ); zwróć $przed . dołącz ( $wrz, $term_links ) . $po; }


title: Warunkowo wyrejestrować wtyczki w niektórych pulpitach nawigacyjnych witryn?

text: Mam instalację WP w wielu witrynach i mam problem z konkretną wtyczką, która pojawia się tylko wtedy, gdy wtyczka jest włączona dla poszczególnych witryn, ale znika, gdy wtyczka jest włączona w całej sieci. Muszę więc włączyć wtyczkę w całej sieci, ale wyłączyć ją w pulpitach nawigacyjnych we wszystkich moich witrynach oprócz jednej. Czy jest na to sposób?


title: Jak stworzyć i wyświetlić ankietę oraz jej statystyki?

text: Tworzę nową stronę internetową, która zasadniczo będzie zawierała 5 pytań z Indeksu Zaufania Konsumentów. Moim zadaniem jest więc stworzenie ankiety, która powinna wyświetlać na stronie głównej odpowiedź na każde 5 kluczowych pytań, a następnie zebrać te wyniki w bazie sql. Za pomocą bazy danych muszę również wyświetlać statystyki oparte na wzorze CCI w postaci wykresów, wykresów kołowych. Moje pierwsze pytanie brzmi „Czy to możliwe na WordPressie?” Stworzyłem ankietę z dostępnych wtyczek, w tym statystyki są dostępne (piecharts), ale tylko dla siebie (chociaż potrzebuję, aby była widoczna zaraz po tym, jak ankietowany odpowie na te pytania i wciśnie wyślij) Indeks zaufania konsumentów - https://pl .wikipedia.org/wiki/Consumer_confidence_index Witryna — http://opinions.esy.es/


title: Funkcja filtrowania Wordpress przy użyciu modyfikacji zapytania

text: Próbuję zbudować funkcję filtru dla głównego zapytania na stronie archiwum typu post niestandardowy. Niestandardowy typ wpisu nosi nazwę „Hotel”. Dla tego niestandardowego typu postu mam niestandardową taksonomię o nazwie „Obiekty”. Każdy post „hotel” może mieć jedno lub wiele udogodnień. Zbudowałem funkcję formularza z polem wyboru dla każdej dostępnej taksonomii. Zbudowałem też zaczep do funkcji pre_get_posts, który wygląda tak: $facilitati = isset($_POST['fac']) ? array( 'taxonomy' => 'facilitati', 'field' => 'id', 'terms' => $_POST['fac'], 'operator' => 'IN' ) : array( 'taksonomy' => 'facilitati', 'field' => 'id', 'terms' => array( 0 ), 'operator' => 'NIE W' ); $arr = array( 'relation' => 'AND', $locatii, $facilitati ); $query->set('tax_query', $arr ); Problem polega na tym, że to nie działa tak, jak tego chcę. Np. Hotel "ABC" posiada udogodnienia: TV, telefon, WIFI, miejsce parkingowe Hotel "DEF" posiada udogodnienia: TV, telefon, restaurację Hotel "GHI" posiada udogodnienia: WIFI, miejsce parkingowe Jeśli sprawdzę wszystkie udogodnienia w formularzu wszystkie hotele wyświetlane. Ma to sens, ponieważ tak jak ja to widzę, `tax_query` widzi wszystkie terminy, które znajdują się w tablicy sprawdzonych obiektów. Na przykład, jeśli hotel „GHI” ma tylko udogodnienia WIFI i miejsce parkingowe, będzie on również wyświetlany, ponieważ oba obiekty znajdują się w zestawie wszystkich obiektów. Czy jest jakaś możliwa metoda wykonania tego filtrowania? Chcę również uzyskać następującą rzecz: Jeśli sprawdzana jest tylko sieć WIFI i miejsce parkingowe, wynik powinien obejmować nie tylko hotel „GHI”, ale także hotel „ABC”. Szukałem rozwiązania w całym opisie WordPress WP Query Class, ale go nie znalazłem.


title: wp_list_categories() z typami postów załączników

text: Pracuję nad galerią zdjęć, w której nie ma „zwykłego” postu, tylko zdjęcia z kilkoma niestandardowymi taksonomiami, niektóre z nich są hierarchiczne. Używam `wp_list_categories()` do wyświetlania hierarchicznych list terminów i działa to dobrze pod warunkiem, że ustawię parametr `hide_empty` na `0`. Chciałbym jednak wyświetlać tylko te terminy, które mają obrazki lub których potomkowie mają obrazki. Ale nie mogę znaleźć sposobu na użycie `hierarchical` zamiast `hide_empty`, prawdopodobnie dlatego, że funkcja szuka terminów dołączonych do zwykłych postów. Czy jest sposób, aby zmienić jego zachowanie i sprawić, by szukał `post-type='attachment'` czy cokolwiek innego, żebym mógł wymieniać tylko terminy związane z opublikowanymi zdjęciami? Dzięki za pomoc.


title: Automatyczna zmiana statusu posta przy pierwszym wczytaniu strony

text: Stworzyłem szereg niestandardowych statusów postów za pomocą wtyczki EdiFlow. Teraz staram się zrobić, jeśli twórca odwiedzi stronę edycji posta, a status posta jest „przypisany”, aby automatycznie zmienić się na „w toku”. To pozwoliłoby mi poznać i wysłać im wiadomość e-mail, gdy zaczną nad nią pracować (przy wczytaniu strony po edycji). Próbuję użyć tego kodu, który wydaje się nic nie robić function edukadme_assigned_to_inprogress( $post_id ) { if ( current_user_can('edit_post', $post_id) && !current_user_can( 'manage_options' ) ) { $post = get_post($post_id ); if (get_post_type()=='post' && $post->post_status =='assigned' && strstr($_SERVER['REQUEST_URI'], 'wp-admin/post-new.php')) { $post-> post_status = 'w toku'; // użyj dowolnego statusu postu wp_update_post($post); } } } add_action('add_meta_boxes', 'edukadme_assigned_to_inprogress'); Inną uproszczoną wersją z mniejszą liczbą warunków może być: function educademe_assigned_to_inprogress( $post_id ) { if ( current_user_can('edit_post', $post_id) && !current_user_can( 'manage_options' ) ) { $post = get_post($post_id); $ekran = get_current_screen(); if ($screen->base != 'post') return; if ($post->post_status =='przypisany') { $post->post_status = 'w toku'; // użyj dowolnego statusu postu wp_update_post($post); } } } add_action('add_meta_boxes', 'edukadme_assigned_to_inprogress'); Inna podobna wersja, która działała, ale powodowała problem wyjaśniony poniżej, to: function educademe_assigned_to_inprogress( $post_id ) { if ( current_user_can('edit_post', $post_id) && !current_user_can( 'manage_options' ) ) { $post = get_post($post_id ); if (get_post_type()=='post' && $post->post_status =='assigned' && strstr($_SERVER['REQUEST_URI'], 'wp-admin/post-new.php') || strstr($_SERVER ['REQUEST_URI'], 'wp-admin/post.php')) { $post->post_status = 'w toku'; // użyj dowolnego statusu postu wp_update_post($post); } } } add_action('add_meta_boxes', 'edukadme_assigned_to_inprogress'); Głównym problemem związanym z tym kodem jest to, że działa on nie tylko po przypisaniu niestandardowego statusu. Działa również na stronie zawierającej wszystkie posty, a nie tylko na stronie edycji poszczególnych postów. Oznacza to, że jeśli przeglądam listę postów, zmienia się ich status postów! Wszelkie porady lub poprawki byłyby mile widziane. Jestem pewien, że inni również uznają to za przydatne.


title: Bieżąca pozycja menu

text: Próbuję dowiedzieć się, dlaczego mój tekst nie wyświetla się na biało tak, jak powinien. Zastępuję `bootstrap.min.css` w `style.css` klasę `current-menu` w Wordpress, ale bez powodzenia. Podświetla właściwą kartę, ale kolor tekstu się nie zmienia. Czy ktoś może dostrzec problem? .bieżąca pozycja menu > a{ kolor tła:#123456; } .menu-item:hover > a{ kolor tła:#123456; kolor biały; } Próbowałem też tego: .current-menu-item> a{ background-color:#123456; } .current-menu-item:hover{ kolor tła:#123456; kolor biały; } ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/Qs8UL.png)


title: Wykrywanie klas, dodawanie widżetów i dodawanie elementów div za pomocą Nav Walker

text:
Próbowałem to rozgryźć od kilku dni, ale bezskutecznie. Tworzony przeze mnie szablon wymaga mega menu. Znacznik menu wygląda tak:

Informacje ogólne

 Programy

Przyjęcia urodzinowe

 Lekkoatletyka

Młodzież

 Dorośli

Dorosłe softball

Kickball dla dorosłych

Taniec

 Różnorodność

Młodzież

 Dorosły

  Obóz letni

Światło obozowe

Rozgwiazda obozowa

Lil Rascals

Młodsza załoga

Mali giganci

Dziewczyny

Wycieczka samochodowa

Obóz sportowy

Strefa dziecięca

Ostatni wybuch

 Wczesne dzieciństwo

Edukacja

Mało Uczniowie

Opieka nad dziećmi

Mali uczniowie

Przedszkole

Program zajęć pozaszkolnych

Pobierz broszury

   wiosna/lato 2014

   planer lato 2014

  › Zarejestruj się online › Utwórz konto

Rejestracja

Akwarystyka

Fitness na jeziorze

Parki

Wyposażenie

Skontaktuj się z nami

  Mega menu wygląda tak: ![](http://i.imgur.com/xdJBuzk.png) Mam trzy problemy: 1. ~~Nie potrafię wymyślić, jak dodać `<sekcja>` wokół drugiego poziomu `<ul>`. Napisałem walker, który doda sekcję, ale dodaje ją na każdym poziomie, nie tylko na drugim poziomie.~~ 2. ~~Nie wiem, jak pozwolić użytkownikowi określić, gdzie kolumna powinna się łamać . Myślę, że mógłbym poprosić klienta o wpisanie do klasy `break` na `<li>`, że chce zakończyć (lub rozpocząć, co jest prostsze) kolumnę, ale nie wiem, jak to sprawdzić za pomocą PHP i dodaj `</ul><ul>` po tym `</li>`.~~ 3. ~~Niebieskie pole to obszar widżetów. Nie wiem, jak sprawić, by pojawiło się to w nawigacji. ~~ Jestem zupełnie nowy w nawigacji i wszystkie te rzeczy po prostu przelatują mi przez głowę. Ten materiał wydaje się dość prosty, ale po wielu godzinach badań wciąż utknąłem. Oto, co mam do tej pory, ale zamierzam to całkowicie złomować: class megaMenuWalker extends Walker_Nav_Menu { function start_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t ", $głębokość); $output .= "\n$indent<sekcja>
\n"; } function end_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); $output .= "$indent

\n"; } } EDYCJA: To, co mnie naprawdę denerwuje, to fakt, że wiem, jak rozwiązać dwa pierwsze problemy z jQuery, ale to nie jest akceptowalne rozwiązanie... $("nav > ul > li > ul").wrap("<sekcja> ”); $("nav .break").before("

"); EDYCJA 2: Dzięki poniższej odpowiedzi Tylera Cartera udało mi się uruchomić część sekcji. Oto mój zaktualizowany walker: class megaMenuWalker extends Walker_Nav_Menu { function start_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); if ($depth == 0) { $output .= "\n$indent<sekcja>\n"; } $output .= "
\n"; } function end_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); $output .= "\n$wcięcie
\n"; if ($depth == 0) { $output .= "
\n"; } } } EDIT 3: Udało mi się uruchomić pętlę blue box. Ostatnią rzeczą, jaka pozostała, jest sprawdzenie klasy `break`. Oto mój zaktualizowany walker: class megaMenuWalker extends Walker_Nav_Menu { function start_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); if ($depth == 0) { $output .= "\n$indent<sekcja>\n"; } $output .= "
\n"; } function end_lvl(&$output, $depth = 0, $args = array()) { $indent = str_repeat("\t", $depth); $output .= "\n$wcięcie
\n"; if ($depth == 0) { $output .= "\n"; $output .= "<nagłówek>\n"; $output .= "
Pobierz broszury
\n"; $output .= "\n"; $output .= "<sekcja>\n"; $output .= "
\n"; /* zapytanie */ $args = array( "category_name" => "Brochures", "order" => "ASC", "posts_per_page" => "2" ); $news = nowe WP_query($args); while($news->have_posts()): $news->the_post(); $output .= "
\n"; if (get_field("pdf")): $file = get_field("pdf"); $URL_pliku = $plik["url"]; $tytułpliku = $plik["tytuł"]; $output .= ""; endif; if(has_post_thumbnail($id)): $output .= get_the_post_thumbnail($id, "pełny"); endif; $testingVar = get_the_title(); $output .= $testingVar; if (get_field("pdf")): $output .= ""; endif; $wyjście .= "
\n"; koniec; wp_reset_query(); /* zakończ zapytanie */ $output .= "
\n"; $output .= "
\n"; $output .= "\n"; $output .= "
\n"; } } } EDIT 4: Teraz zorientowałem się, jak sprawdzić klasę break. Musiałem usunąć identyfikator ze wszystkich lis, ale to nie problem, ponieważ i tak ich nie używałem. Ostateczny kod znajduje się poniżej!


title: Dodaj wp-link-pages do postu

text:
Próbuję dodać funkcję `wp-link-pages` do mojego postu, w którym mam obrazy podzielone na wiele stron w tym jednym poście. Mam już przycisk next i prev, którego funkcjonalność jest napisana w javascript. Trudno mi przejść od image1 do image14. Więc nie jestem pewien, jak osiągnąć ten wordpress, ponieważ jestem nooby. Oto kod, którego używam do dzielenia obrazów postów na wiele stron. <?php globalna $post; if (has_post_thumbnail( $post->ID) ) { $id = get_post_thumbnail_id( $post->ID ); $wyklucz = $id; } $attachments = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'order' => 'DESC', 'orderby' = > 'menu_order DESC', 'exclude' => $exclude) ); $imgid = 1; foreach($attachments jako $attachment){ ?>

Strona <?php echo $imgid; ?>
<img src="<?php echo $attachment->guid;?>" style="margin:0 auto;" />

<?php echo $attachment->post_content;?>

 <? $imgid++; } ?> Mam tę nawigację
<img src="<?php echo get_template_directory_uri();? >/images/arrow-prev1.png" style="2px solid #EE1C25 ; szerokość: 100px; wysokość: 100px;" />
<img src="<?php echo get_template_directory_uri();?>/ images/arrow-next1.png" style="2px solid #EE1C25 ; szerokość: 100px; wysokość: 100px;" />

 którego funkcjonalność jest nadana przez następujący javascript  Staram się osiągnąć coś takiego jak <<Poprzednia strona | 1 | 2 | 3 | 4 | Następna strona >> Mam nadzieję, że wszystko jasne. Każda pomoc byłaby bardzo mile widziana.