title: Ogranicz dostęp do formularza i wymagaj niektórych pól

text:
Otrzymałem przykład kodu php "post from frontend" i przetestowałem, że działa on na mojej stronie. Ale odkryłem, że nie można zdefiniować tylko zalogowanego użytkownika do przesłania postu. Ponadto kod nie może wyświetlić komunikatu o błędzie na stronie przesyłania posta. Chcę zrobić dwie rzeczy: 1. Zezwalaj tylko zalogowanym użytkownikom na przesyłanie postów. 2. Zdefiniuj niektóre muszą być pola wejściowe, aby wyświetlić komunikaty o błędach, gdy nie ma treści do przesłania, wyświetlanie komunikatu o błędzie na stronie przesyłania. Najlepszym wyborem jest wyświetlanie go z boku pustych pól. Oto kod: <?php // Sprawdź, czy formularz został przesłany if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] )) { // Zrób mały formularz walidacja, aby upewnić się, że istnieje treść if (isset ($_POST['title'])) { $title = $_POST['title']; } else { echo 'Proszę podać tytuł'; } if (isset ($_POST['opis'])) { $description = htmlentities(trim(stripcslashes($_POST['opis']))); } else { echo 'Proszę wprowadzić treść'; } $nonce=$_WNIOSEK['_wpnonce']; if (! wp_verify_nonce($nonce, 'nowy-post')) die('Cóż, to było niegrzeczne.'); $tags = $_POST['post_tags']; $customfieldone = $_POST['customfieldone']; $customfieldtwo = $_POST['customfieldtwo']; // Możesz dodać więcej niestandardowych pól, replikując powyższe wiersze i wszelkie inne odniesienia do customfieldone i customfieldtwo oraz zmieniając je na własne wartości pól niestandardowych // Dodaj zawartość formularza do $post jako tablicę $type = trim($ _POST['Typ']); $post = array( 'post_title' => $title, 'post_content' => $description, 'post_category' => array($_POST['cat']), // Można używać również dla niestandardowych taksonomii 'post_status' => ' pending', // Wybierz: publikuj, podgląd, przyszłość itp. 'tags_input' => array($tags), 'tax_input' => array( $type), 'comment_status' => 'zamknięte', 'post_author' = > '2', // Ustaw na 1 dla głównego konta administratora jako autora, pod warunkiem, że jest to ID użytkownika 1 'customfieldone' => $customfieldone, 'customfieldtwo' => $customfieldtwo ); $post_id = wp_insert_post($post); wp_set_post_terms ($post_id,$typ,'Typ',prawda); add_post_meta($post_id, 'metatestcustomfieldone', $customfieldone, false); add_post_meta($post_id, 'metatestcustomfieldtwo', $customfieldtwo, false); wp_redirect( home_url('/listing-submitted/') ); // przekieruj do tej strony po przesłaniu exit(); ?> <?php get_header() ?>

Prześlij swój wpis
 <! --WYŚLIJ POST--> <form id="nowy_post" name="nowy_post" class="post_work" method="post" enctype="multipart/form-data"> <?php wp_nonce_field( 'nowy-post' ) ; ?>
Tytuł
 <input type="text" id="title" class="required" value="" tabindex="1" size= "20" name="title" />

Opis
 <textarea id="description" type="text" class="wymagane " tabindex="3" name="opis" cols="50" rows="6"></textarea>
 <fieldset class="category"> Kategoria:</ etykieta> <?php wp_dropdown_categories( 'tab_index=10&taxonomy=category&hide_empty=0' ); ?> </fieldset>  <fieldset class="customfieldone"> Niestandardowe pole pierwsze: <input type="text" value="" id ="customfieldone" tabindex="20" name="customfieldone" /> </fieldset>  <fieldset class="customfieldtwo"> Niestandardowe pole drugie:</ etykieta> <input type="text" value="" id="customfieldtwo" tabindex="20" name="customfieldtwo" /> </fieldset>
Tagi: <input type="text" value="" tabindex="35" name="post_tags" id="post_tags" />
 <input type="hidden" name="post_type" id="post_type" value="domande" /> <input type=" ukryte" name="akcja" value="post" />
<input type="prześlij" value="Prześlij" tabindex="6" id="subm it" name="submit" />
 </form>

 <?php get_footer(); ?>


title: Śledzenie wielu tagów lub kategorii

text: Staram się znaleźć sposób na śledzenie popularności wielu kategorii, tagów lub niestandardowych taksonomii. Na naszej stronie często stosujemy wiele kategorii dla jednego artykułu – np. artykuł zostałby sklasyfikowany jako „projekt graficzny” i „ilustracja”. Kolejny artykuł może być oznaczony tylko „ilustracją”. Wszystkie metody śledzenia popularności różnych kategorii, które widziałem, nie uwzględniają wielu kategorii. Nie mogę tego zrobić za pomocą zmiennych niestandardowych w Google Analytics, ani nie mogę znaleźć wystarczającego rozwiązania za pomocą śledzenia zdarzeń. Zmienne niestandardowe dopuszczają tylko jedną wartość kluczową, a korzystanie ze śledzenia zdarzeń zaburzyłoby moje dane dotyczące współczynnika odrzuceń (każde wczytanie strony wywołałoby zdarzenie). Dostępne wtyczki również nie są zbyt dokładne - oceniają popularność na podstawie liczby artykułów w każdej kategorii, a nie na podstawie wyświetleń tych artykułów (np. w ciągu ostatniego miesiąca). Czy jest na to metoda?


title: Nie zezwalaj użytkownikowi na edytowanie własnych informacji w profilu

text: Obecnie rozwijam intranet i używam wtyczki Members Justina Tadlocka do kontrolowania ról i możliwości. Stworzyłem rolę `HR`, aby umożliwić pracownikom działu HR tworzenie i edycję kont użytkowników. Wszystkim pracownikom utworzonym w WP przypisywana jest rola „współtwórca”, a kilku wybranych członków personelu ma role „redaktora” i „administratora”. To, czego chcę, to powstrzymanie pracowników przed logowaniem się i zmianą własnych informacji profilowych. Tylko pracownicy pełniący rolę HR powinni mieć możliwość edytowania informacji w profilu.


title: Jak usunąć "prev, next, shortlink" z wp_head()?

text: Używam tych filtrów do czyszczenia głowy mojego motywu: remove_action('wp_head', 'wp_generator'); remove_action ('wp_head', 'rsd_link'); remove_action('wp_head', 'feed_links', 2); remove_action ('wp_head', 'index_rel_link'); remove_action('wp_head', 'wlwmanifest_link'); remove_action('wp_head', 'feed_links_extra', 3); remove_action ('wp_head', 'start_post_rel_link', 10, 0); remove_action ('wp_head', 'parent_post_rel_link', 10, 0); remove_action ('wp_head', 'adjacent_posts_rel_link', 10, 0); remove_action ('wp_head', 'locale_stylesheet'); remove_action ('wp_head', 'noindex'); remove_action ('wp_head', 'wp_print_styles'); remove_action ('wp_head', 'wp_print_head_scripts'); Jednak nie mogę się ich pozbyć: <link rel='prev' title='Top Menu Item 1' href='http://localhost/test/test-prev.html' /> <link rel ='next' title='Domyślny tytuł wewnętrznego testu tytułu' href='http://localhost/test/text-next.html' /> <link rel='shortlink' href='http://localhost/test/ ?p=528' />


title: aktywuj niestandardowe widżety paska bocznego

text:
Hej chłopaki, próbuję aktywować pasek boczny dla widżetów wp. Więc mój HTML wygląda tak:

  Więc chcę umieścić widżet wewnątrz "treści" i jego tytuł w znaczniku h3. Jak powinna wyglądać moja funkcja aktywacji i jaki php umieścić w moim html w razie potrzeby? Nie znalazłem żadnych przykładów w pobliżu mojego, więc doceniam każdą pomoc 10x z dużym wyprzedzeniem.


title: Uporządkuj terminy taksonomii według częstotliwości używania w ciągu ostatnich 30 dni

text: Chciałbym wiedzieć, jak uporządkować terminy w niektórych taksonomii zgodnie z częstotliwością ich używania w postach w ciągu ostatnich 30 dni. To, czego szukam, to najbardziej optymalna metoda, jak dodać parametr „orderby” lub zastosować porównanie tablic na liście terminów lub może jakiś sprytny wybór SQL. Wiem, że zawierałoby to dodatkowe kolumny w tabeli do przechowywania liczby i ostatnio zmienionych (dodanych) danych czasowych. Jakieś sugestie?


title: jaki szablon wywołać, aby mój post był na środku strony?

text: zastanawiałem się, czy możesz mi pomóc : chciałbym zmienić środek mojej strony tylko z moimi postami : (wszystkie moje posty będą w tej samej kategorii) : jak mogę skonstruować stronę : tak : 1. moje menu w header.php 2.pojedynczy post na środku strony 3.i dolny div w footer.php, który zawiera menu dla postów, zastanawiam się, jeśli nr 2 to "index.php", jaka strona powinienem zadzwonić? na przykład w dwadzieścia_dziesięć, w index.php wołają „treść” : <?php while ( have_posts() ): the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> jak mam postępować, jeśli chciałbym kliknąć menu nr 3 i mieć nową stronę z postem na środku strony? Czy wiesz o co mi chodzi? Dzięki, jeśli możesz mi pomóc


title: Jak przypisać konkretnym użytkownikom możliwość edycji określonych stron / postów / niestandardowych typów postów?

text: Próbuję zaimplementować to, co wydawało się stosunkowo prostym pomysłem, w zasadzie buduję wtyczkę kontroli dostępu, aby kontrolować wyświetlanie i edycję niestandardowego typu postu (w tym przypadku „Projekty”). Jak zamierzam, aby to działało, jest wielu użytkowników, którzy mają dostęp tylko do odczytu lub dostęp do odczytu/zapisu do określonych „Projektów”. W systemie istnieje wiele projektów, a dostęp do odczytu jest kontrolowany przez zaznaczenie pól wyboru dla konkretnych projektów w ustawieniach profilu użytkownika na stronie (pokazane poniżej): ![Dodatkowe opcje edycji dodane do Opcji użytkownika](http://i.stack .imgur.com/hrwHy.png) Więc przypisujesz dostęp do tych projektów za pomocą tego interfejsu, a następnie kod na rzeczywistej stronie projektów ogranicza przeglądanie treści, jeśli identyfikator projektu nie pasuje do żadnego z identyfikatorów zaznaczonych projektów. To wszystko działa dobrze, jednak muszę również zezwolić na możliwości edycji w ten sam sposób. Mogłem więc umożliwić użytkownikowi czytanie określonej strony, ale także edycję tej konkretnej strony. Problem, który mam, polega na tym, że to, czego szukam, nie pasuje do zwykłych ról i możliwości, ponieważ zasadniczo chcę, aby wszyscy użytkownicy mieli tę samą rolę (w zasadzie tylko rolę subskrybenta). Ale chcę dodać możliwość edycji do określonego użytkownika dla określonej strony, podczas gdy role polegają ogólnie na dodawaniu możliwości do „typu” użytkownika. Mam nadzieję, że udało mi się wyjaśnić, co próbuję tutaj, staram się znaleźć odpowiedni kod / funkcję do tego, chociaż jestem pewien, że musi to być możliwe, ponieważ istnieją wtyczki, które mogą umożliwić dostęp do określonych strony itp., ale oczywiście w tym przypadku nie chcę polegać na wtyczce, ponieważ to, co buduję, jest samą wtyczką! Aktualizacja: wytrwałem w dalszych próbach rozwiązania tego problemu, ale jak dotąd nadal nie widzę, jak umożliwić dostęp do określonych postów / stron itp. bez uciekania się do tworzenia niestandardowej roli / możliwości dla każdej konkretnej strony, ale wydaje się to trochę przesada i nie jestem nawet pewien, czy to zadziała. Aktualizacja 2: Dodałem teraz nagrodę do tego pytania, aby miejmy nadzieję, że kogoś zainspiruje! ;) Zajrzałem dalej, ale mimo że znalazłem inne wtyczki, które wydają się być zdolne do tego, czego potrzebuję (wraz z mnóstwem innych funkcji, których nie potrzebuję!) Po prostu nie udało mi się rozgryźć jaki kod jest wymagany, aby ograniczyć określone wystąpienia typu postu do określonego użytkownika. Aktualizacja 31 października: Udało mi się uruchomić coś dzięki kodowi, który opublikował @alexey. Mam teraz dwie listy identyfikatorów, z których jedna kontroluje dostęp do odczytu, a druga do edycji. Używam `current_user_can('read_projects')` aby ograniczyć oglądanie zawartości strony, jednak mam problem polegający na tym, że wymaga dwóch załadowań strony, zanim faktycznie ograniczy zawartość. Za pierwszym razem, gdy klikam stronę, wyświetla się zawartość, ale jeśli ponownie załaduję stronę, zawartość jest poprawnie ukryta. Wydaje się, że ma to coś wspólnego z czasem, w którym uruchamiany jest `user_has_cap`, ale nie mogę niczego wyśledzić, o ile wiem, że powinno to zostać uruchomione przed renderowaniem zawartości strony. Nie zamierzam zamieszczać w tej aktualizacji żadnego dodatkowego kodu, ponieważ jeśli nie ma prostego powodu, dla którego to nie działa, wolałbym opublikować nowe pytanie, niż kontynuować to.


title: Generuj obrazy zgodnie z proporcjami oryginalnego obrazu

text: Zastanawiam się, czy możliwe jest generowanie obrazów o różnych rozmiarach w zależności od proporcji oryginalnego obrazu. Na przykład. Jeśli przesłany obraz ma proporcje 4:3, powinien wygenerować trzy różne obrazy o nazwach poziomo-mini, poziomo-średni i poziomo-duży z dowolnymi przypisanymi im pomiarami. Ale jeśli format to 16:9, powinien generować wide-mini, wide-medium i wide-large z własnym zestawem pomiarów. Kluczowe jest to, że dla każdego przesłanego obrazu generowane są tylko trzy rozmiary. Jakie funkcje przydałyby się, aby to osiągnąć?


title: Dodawanie podmenu w motywie, który nie ma opcji menu

text: Jestem nową pszczołą w wordpressie, ale mogę kodować w PHP. Mam zainstalowany darmowy motyw wordpress na moim lokalnym hoście. Motyw Nie ma możliwości dodania, aby dodać w nim menu/podmenu. Pochodzi z predefiniowaną liczbą menu. To, czego chcę, to czy mogę dodać podmenu w motywie za pomocą niektórych umiejętności php? to, czego chcę, to rozwijane podmenu po najechaniu kursorem na menu. Czy mogę to zrobić? jeśli tak, jak mogę to zrobić? Dużo szukałem, dostałem filmy i pomoc na temat podmenu, ale cała pomoc dotyczy tematów, które umożliwiają podmenu. **Wyjaśnienie :-** Nie jestem ekspertem, ale to, co wiem i myślę, że jest to kwestia wordpress, musiałbym kodować w menu.php lub function.php, aby dołączyć podmenu do każdego elementu menu głównego. Motyw nie pozwala na podmenu. Potrzebuję stworzyć podmenu w motywie. używam motywu Wordpress Christmas 1.1 (bezpłatnie) przez instantshift


title: Na nowym serwerze witryna została zhakowana, uprawnienia trochę dziwne? Proszę pomóż

text: Niedawno przeniosłem się na nowy serwer, tydzień później strona została zhakowana, wszystko, co zrobili, to zmiana pliku index.php z aktualnie włączonym motywem, nic wielkiego. Miałem kilka środków ostrożności, brak nazwy użytkownika administratora, wszystkie najnowsze wersje, brak problemu z timthumbem, zabezpieczenia .htaccess itp. Nie chcę, aby to się powtórzyło, zauważyłem, że po zalogowaniu się do mojego administratora WP mogę edytować permalinki lub dowolny plik w edytorze (przetestowałem edycję index.php) i zostanie on zapisany. Na moich ostatnich dwóch serwerach musiałem przejść do FTP, ustawić uprawnienia plików na 755 lub 777 przed wprowadzeniem jakichkolwiek zmian, a następnie przywrócić je do 644. Obecnie są ustawione na 644, ale mogę je w pełni edytować w ramach administratora , myślisz, że to mój problem? Trochę mnie martwi. Dzięki Matt


title: Jak zmienić nazwę użytkownika lub usunąć administratora?

text: Chciałbym usunąć lub zmienić nazwę użytkownika oryginalnego konta administratora utworzonego podczas instalacji witryny WP 3.2. Nie jest to możliwe za pośrednictwem interfejsu administratora (jest komunikat informujący, że nie można zmienić nazwy użytkownika, a opcja usuwania jest niedostępna). Mam wymóg zmiany nazwy użytkownika lub usunięcia konta. Czy można to zrobić w bezpieczny sposób, bezpośrednio edytując bazę danych, np. po prostu edytuj bezpośrednio wiersz administratora w tabeli użytkowników i zmień nazwę użytkownika?


title: Moje posty wyświetlają 2 formularze komentarzy

text: Mamy witrynę Wordpress, lifering.org, hostowaną na GoDaddy. Niedawno zaktualizowaliśmy system operacyjny Linux naszego serwera wirtualnego, co wymagało odbudowania witryny z kopii zapasowej. Teraz nasze pojedyncze posty wyświetlają DWA formularze odpowiedzi na komentarze. Jestem pewien, że wcześniej mieliśmy tylko jeden formularz odpowiedzi na komentarz na post. Nie wiem, jak to się stało - sam zrobiłem kopię zapasową - ani jak to naprawić.


title: Czy powinienem używać pola Meta czy tabeli niestandardowej?

text: Z punktu widzenia wydajności, czy ktoś, kto ma większe doświadczenie z rdzeniem WordPress, może mi powiedzieć, czy pisanie czegoś takiego jak licznik wyświetleń postu do osobnej tabeli w MySQL byłoby szybsze do odczytu i zapisu w porównaniu z użyciem niestandardowego pola meta? Wiem, że większość ludzi odpowie za pomocą Custom Meta Field wyłącznie z tego powodu, że najlepiej jest użyć API/funkcji Wordpress. Jednak przez ostatnie 12 lat budowałem aplikacje PHP, które obsługują miliony użytkowników/duży ruch i wiem, że buforowanie jest odpowiedzią, ale jestem również zainteresowany ulepszaniem zapytań MySQL. Patrząc na wiele innych wtyczek, widziałem, jak robiono to w obie strony (dla przypomnienia nie zadaję tego pytania do użytku we wtyczce, będzie to do użytku osobistego w motywie) Czy ktoś może mi powiedzieć o zaletach i wadach każdego z nich metoda? Na przykład, gdy strona jest ładowana w WordPressie, nie sprawdzałem, jak pobiera ona pola meta, jeśli ściąga je wszystkie w jednym zapytaniu, może być szybsze użycie pola meta niż wykonanie innego zapytania do osobnej tabeli .


title: Przekierowanie formularza hasła do wpisu przynależnego

text: Mój pomysł jest taki, że odwiedzający wpisuje hasło na stronie, a następnie wpis wordpress z przypisanym hasłem, jeśli takie istnieje. Oto kod: Formularz na stronie: <form method="post" action=""> <input type="password" name="passwordfield"> <input type="hidden" name="homepagepassword" value="1 "> <input type="submit" value="Submit"> </form> Function.php: funkcja dopasswordstuff(){ if(isset($_POST['homepagepassword'])){ $post_password = $_POST['passwordfield ']; globalny $wpdb; $post_id = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_password = %s", $post_password) ); $q = nowe WP_Query( 'p=$post_id' ); if($q->have_posts()){ while($q->have_posts()){ $q->the_post(); wp_redirect (get_permalink ()); umierać(); } } else { // ojej, nie ma posta z tym 'hasłem', umieść przekierowanie do awaryjnego tutaj wp_redirect('http://www.google.com'); umierać(); } wp_reset_query(); } } add_action('init','dopasswordstuff'); Bez względu na to, co robię i bez względu na to, jakie hasło wprowadzę, funkcja po prostu kieruje mnie do pierwszego posta na moim blogu. Czy ktoś może rzucić na to trochę światła?


title: podmenu w programie ładowania początkowego nie wyświetla się

text:
to jest moja niestandardowa funkcja chodzika. class Bootstrap_Walker extends Walker_Nav_Menu { function start_lvl(&$output, $depth = 0, $args = array()) { $output .= "\n
\n"; } function start_el(&$output, $item, $depth, $args) { $item_html = ''; parent::start_el($item_html, $item, $depth, $args); if ( $item->is_dropdown && $depth === 0 ) { $item_html = str_replace( '<a', '<a class="dropdown-toggle " data-toggle="dropdown"', $item_html ); $item_html = str_replace( '', ' ', $item_html ); } $wyjście .= $item_html; } function display_element($element, &$children_elements, $max_depth, $depth, $args, &$output) { if ( $element->current ) $element->classes[] = 'active'; $element->is_dropdown = !empty( $children_elements[$element->ID] ); //$element->hasChildren = isset($children_elements[$element->ID]) && !empty($children_elements[$element->ID]); if ( $element->is_dropdown ) { if ( $element-> has_children) { $element->classes[] = 'open'; } else{ $element->classes[] = 'dropdown'; } } return parent::display_element($element, $children_elements, $max_depth, $depth, $args, $output); } } klasa "open" służy do wyświetlania podmenu. pomóż mi znaleźć błędy.


title: Czy naprawdę potrzebuję wpisu klasy div?

text: Zastanawiałem się, czy naprawdę konieczne jest trzymanie `<div class="entry">` w pliku page.php (lub jakimkolwiek innym szablonie). Zwykle używam pustego motywu Wordpress HTML5 i nie ma żadnych deklaracji w pliku CSS dla tej klasy. Więc chciałem tylko uzyskać inne opinie na ten temat. Dziękuję!


title: Jak sprawić, by kategoria była zawsze zaznaczona?

text: Próbuję napisać funkcję, aby zawsze zaznaczać pewne warunki domyślnej kategorii. Kiedy użytkownik pisze nowy post, pole wyboru terminu powinno być zaznaczone i nie powinien być w stanie go odznaczyć. Czy to możliwe?


title: Jak używać do_action() z parametrem

text: Próbuję wywołać akcję w _functions.php_ za pomocą funkcji `do_action()`, ale wydaje mi się, że potrzebuję atrybutu. Następujące do_action( 'really_simple_share button="facebook_like"'); nie działa... Czy możesz mi powiedzieć, jak to działa (próbowałem wielu innych rzeczy, które też nie działały).


title: Rozszerzenie klasy chodzika, aby dodać element listy najwyższego poziomu do menu nawigacyjnego w innej kolejności

text: Widziałem funkcje dołączane na początku lub na końcu menu, ale jak dodać ten element listy zaraz po pierwszym? Więc zajęłoby drugie miejsce w kolejności menu. czy to możliwe? Jeśli tak, w jaki sposób mógłbym rozszerzyć klasę chodzika, aby to zrobić?


title: Ładowanie treści wielu postów w FancyBox

text:
Mam niestandardowy typ postu, który jest wyprowadzany jako lista. Próbuję wyprowadzić część zawartości wbudowanej w każdym li za pośrednictwem Fancybox. Wszystko działa do tej pory, z wyjątkiem tego, że pokazuje tylko zawartość pierwszego li. Rozumiem, że problem polega na tym, że za każdym razem dzwonię pod ten sam identyfikator w pętli. Użyłem ostatniego posta tutaj, aby uzyskać każdy identyfikator do ponumerowania, co działa dobrze, teraz widzę, że każdy identyfikator linku to #content1, #content2, #content3 itd. Ale jak zmienić mój javascript, aby działał dla wszystkich #content liczby? Skrypt bazowy, który mam to: $('a[href="#content"]').fancybox({ autoSize: false, width: 600, wrapCSS: 'inline-content' }); A oto moja pętla, która dodaje liczby do każdego identyfikatora... <?php $args = array( 'post_type' => 'otherwork', 'posts_per_page' => -1, 'orderby'=>'date', 'order '=>'ASC' ); $pętla = nowe WP_Query( $args ); $i = 0; ?> <artykuł>
 <?php while ( $loop->have_posts() ): $loop->the_post(); $i++; ?>
 <a href="#treść<?php echo $i; ?>" ><?php the_post_thumbnail( 'inny-kciuk' ); ?> <div id="treść<?php echo $i; ?>" style="display:none">
<?php the_title(); ?>
 <?php the_post_thumbnail(); ?> <?php the_content(); ?>

 <?php endwhile; ?>

 Wyjście HTML, aby uzyskać więcej informacji...

 Dzięki za wszelką pomoc!


title: Błąd krytyczny: wywołanie niezdefiniowanej funkcji the_ratings_results()

text: Zastanawiałem się, czy trochę zmęczyłam się nad tym. Mam niestandardowy motyw, który ma pliki w folderze motywu, ale nie ładuje się jako pliki szablonu wp w ustawieniach strony. Prowadzę również EDD (łatwe pobieranie cyfrowe). Zainstalowałem WP-PostRatings i wywołałem funkcję <?php if(function_exists("kk_star_ratings")) : echo kk_star_ratings($pid); endif; ?> działa dobrze. Jak tylko chcę wywołać tutaj inny kod funkcji <?php echo the_ratings_results($post->ID) ?> Otrzymuję błąd krytyczny niezdefiniowanej funkcji. Googlując i pytając autora wtyczki, wydaje mi się, że muszę dołączyć nagłówek do szablonu. Używam nagłówka, ale wygląda na to, że muszę wywołać wp-blog-header. Obecnie jestem na localhost, windows. Próbowałem wywołać wp-blog-header w pliku szablonu, który nie może wywołać funkcji. Próbowałem również nazwać to bezwzględną ścieżką do pliku i następującymi. <?php wymaga ('C:\wamp\www\mojastrona\wp-blog-header.php'); ?> <?php wymaga ('./wp-blog-header.php'); ?> <?php wymagają ('../../../wp-blog-header.php'); ?> Żadna z nich nie działa i nadal otrzymuję błąd! Następnie wypróbowałem je wszystkie w moim index.php w folderze motywu. Domyślnie plik i tak go zawiera. define('WP_USE_THEMES', prawda); /** Wczytuje środowisko i szablon WordPress */ require('./wp-blog-header.php'); Moje pytanie brzmi: w jaki sposób nadal nie można wywołać funkcji?


title: Zdefiniuj szablon strony w wp_insert_post

text: Jak mogę ustawić, jakiego szablonu strony używa ta strona, utworzona za pomocą `wp_insert_post`? Chcę, aby używał `template-blog.php` To jest moja obecna funkcja; add_action( 'admin_init', 'mytheme_admin_init' ); function mytheme_admin_init() { if ( get_option( 'mytheme_installed' ) != true ) { $new_page = array( 'slug' => 'blog', 'title' => 'Blog', 'content' => "" ); $new_page_id = wp_insert_post( array( 'post_title' => $new_page['title'], 'post_type' => 'page', 'post_name' => $new_page['slug'], 'comment_status' => 'zamknięte' , 'ping_status' => 'zamknięte', 'post_content' => $nowa_strona['content'], 'post_status' => 'opublikuj', 'post_author' => 1, 'menu_order' => 0 )); update_option( 'mojmotyw_zainstalowany', prawda ); } }


title: Jak stworzyć podmenu z parametrem URL?

text: Chciałbym dodać parametr dla podmenu, ale kiedy kliknę na stronę administratora, otrzymuję następujący komunikat: > Nie masz wystarczających uprawnień, aby uzyskać dostęp do tej strony. **Kod:** add_submenu_page( 'sandbox', 'Opcje piaskownicy', 'Opcje', 'administrator', 'sandbox_options&tab=4', 'sandbox_options_display' ); Bez _& tab=4_ wszystko jest w porządku.


title: Zarchiwizować pola niestandardowe?

text: Ostatnio stworzyłem fajny system taksonomii na mojej stronie WordPress. Utworzono również pliki szablonów archiwum taksonomii, więc gdziekolwiek wyświetlam taksonomię, mogę na nie kliknąć i przeniesie mnie na stronę wyników przefiltrowaną według klikniętej taksonomii. Zastanawiam się, czy tę samą sytuację można odtworzyć również z polami niestandardowymi? Wiem, że niestandardowe pola różnią się w zależności od hierarchii, ale po prostu się zastanawiam.


title: Kalendarz wydarzeń All In One pokazuje kategorię wydarzeń i kategorię postów w pętli

text:
Korzystam z kalendarza All-in-One Event Time.ly i tworzę motyw, w którym chcę wyświetlać polecane elementy z wydarzeń ai1ec i postów w tej samej pętli. Oto, co próbowałem do tej pory: 1) w ustawieniach kalendarza wybrałem opcję „Uwzględnij kategorie wydarzeń na listach kategorii postów” - wydaje się, że to nic nie daje. 2) umieść kod stąd w moim functions.php: http://wp.miragearts.com/allinone-event-calendar-events-blog-home-categories-tags/ I utworzone kategorie o tej samej nazwie/slug/id w zarówno wydarzenia, jak i posty. Oto pętla, którą wypróbowałem, ale pokazuje tylko posty (chciałbym dodać czasy wydarzeń itp., ale na razie testuję tylko tytuł): <?php $feature = new WP_Query( array( 'post_type' = > array('post', 'page', 'ai1ec_event'), 'category_name' => 'sub-feature', 'posts_per_page' => 4 ) ); while ( $feature->have_posts() ): $feature->the_post(); ?>
<a href="<?php the_permalink(); ?>" rel="zakładka"><?php the_title(); ?>
 <?php endwhile; wp_reset_postdata(); ?> Wiem z wcześniejszego używania tej wtyczki, że mogę wywoływać zdarzenia za pomocą <?php $event = Ai1ec_Events_Helper::get_event($post->ID); ?> ale to nie działa z `nazwa_kategorii` w argumentach zapytania. Wygląda na to, że zrobili to inni, ale nie mogę tego rozgryźć. Każda pomoc jest doceniana!


title: Adres URL folderu obrazów na Multisite

text: Tworzę motyw lokalnie na lokalnej instalacji wielostanowiskowej i próbuję zmienić domyślny gravitar za pomocą następującej funkcji: function custom_gravitar ($avatar_defaults) { $myavatar = get_bloginfo('template_directory') . '/img/gravitar.gif'; $avatar_defaults[$myavatar] = "Niestandardowy grawitar"; zwróć $avatar_defaults; } add_filter( 'avatar_defaults', 'custom_gravitar' ); Wyprowadzana ścieżka to `http://i0.wp.com/localhost/my-site-folder/wp-content/themes/my-theme/img/gravitar.gif`, ale mój lokalny adres URL to `http:/ /localhost/my-site-folder/` Próbowałem zdefiniować stałą `WP_CONTENT_URL`, ale nie wydaje się to mieć żadnego wpływu. Próbowałem również `$myavatar = get_site_url() . '/img/gravitar.gif';` i różne inne funkcje, ale wszystkie wydają się zawierać przedrostek `i0.wp.com/` Użyłem sugerowanej zmiany htaccess do skonfigurowania MultiSite, więc nie widzę, gdzie to pochodzi. Jak mogę uzyskać poprawną ścieżkę do folderu z obrazami?


title: Usuń bieżący element menu dla określonego linku

text: bbPress używa niestandardowego typu posta zwanego forum. Kiedy klikam na fora, zarówno fora, jak i pozycje menu Blog są podświetlane jako pozycja bieżącego menu. Czy istnieje sposób na usunięcie elementu current-menu z bloga, gdy post-type = forum?


title: Pokaż konkretną treść w nadrzędnym niestandardowym typie posta i wszystkich dzieciach

text: Mam 5 głównych postów w ramach niestandardowego typu posta. Niektóre z tych postów będą miały dzieci. Mam treść, która powinna być wyświetlana tylko w poście nadrzędnym i wszystkich podrzędnych tego wpisu. Jaki jest najlepszy sposób, aby to osiągnąć?


title: Testy A/B postów z unikalnymi adresami URL dla każdego wariantu ORAZ edycja w polach niestandardowych

text: Zastanawiam się, czy ktoś mógłby doradzić, jak pomyśleć o stworzeniu wtyczki testowej A/B dla postów, która: **A) pozwala mi przypisać unikalne adresy URL dla każdego wariantu posta *_1)** i_* **B) jest konfigurowalny w interfejsie użytkownika (tj. new-post.php).** Wydaje się, że mogę to zrobić na dwa sposoby: 1. Pierwszy sposób: Utwórz trzy oddzielne posty, użyj wtyczki Shrimptest do testowania i wyklucz dwa z posty z single.php (To była w zasadzie odpowiedź, której udzielił Otto, gdy zapytałem o to na Stackexchange. **Problem** z tym rozwiązaniem polega jednak na tym, że musiałbym za każdym razem wejść do plików, aby edytować kod czas, gdy chcę przetestować inną partię postów.I nie mogę wymyślić sposobu, aby spełniała wymaganie B.) 2. Alternatywny sposób: Utwórz niestandardowe pola w new-post.php, które dałyby edytorowi opcję pisać w alternatywnych nagłówkach i przesyłać różne obrazy na Facebooku i tekst na FB. To jest moja preferowana opcja w tej chwili, ponieważ wszystko byłoby konfigurowalne z new-post.php. **Problem** polega na tym, że nie wiem, jak spełnić wymaganie A (unikalny adres URL dla każdego testowanego wariantu). Czy jest w ogóle możliwe utworzenie niestandardowego pola w new-post.php, które przypisuje podrzędne adresy URL na górze domyślnego adresu URL? Wszelkie wskazówki lub sugestie dotyczące dowolnej części problemów, które opisałem, byłyby świetne! Z góry dziękuję! * * * _Uwaga:_ **1)** Powodem, dla którego potrzebuję wymagania A (unikalne adresy URL dla każdego wariantu), jest to, że ostatecznie chcę zmierzyć udostępnianie moich postów w sieciach społecznościowych. _Na przykład:_ Jeśli opublikuję post z nagłówkiem A, zdjęciem FB B po udostępnieniu i tekstem FB B po udostępnieniu, chcę, aby była śledzona liczba kliknięć tej odmiany A/B/B. Dlatego muszę przypisać tej odmianie unikalny adres URL.


title: Pole edycji przewija się z powrotem na górę po aktualizacji posta

text: Bardzo mnie to zirytowało. Na stronie edycji postu, kiedy już coś edytuję na środku strony i klikam Update, cała strona jest ponownie ładowana, a pole edycji zaczyna się ponownie od góry i muszę przewijać i przeszukiwać mój ostatni edytowany punkt. Czy istnieje jakieś obejście, rozwiązanie tego?


title: Jak usunąć obraz nagłówka z podstron w WordPress Twenty Eleven Theme?

text: Wyjrzałem najlepiej, jak potrafiłem, w bazie danych i nie mogłem znaleźć niczego odpowiedniego. Odpowiedź na pytanie pojawiła się kilka lat temu, ale od tego czasu kod bardzo się zmienił, a rozwiązanie już nie działa... a może to awaria operatora. Najbliższa, jaką udało mi się znaleźć, to odpowiedź Toscho tutaj: Jak usunąć obrazy nagłówka ze wszystkich stron oprócz strony głównej? motyw szkieletu, ale ten kod też się nie zgadza. Moja witryna, taka jaka jest, to www.woodlandcomm.com i korzystam z najnowszej wersji motywu 2011. Jeśli to pomoże, z przyjemnością opublikuję kod, którego aktualnie używa nagłówek... Mam skonfigurowany motyw podrzędny, ale w ogóle nie wiem zbyt wiele o kodowaniu. Doceniam każde trzymanie za rękę... i jeszcze raz dziękuję.


title: Jakie są różnice między stronami a postami z punktu widzenia programisty?

text: Ilekroć szukam informacji na temat obsługi stron, zawsze znajduję przestarzałe funkcje, które prowadzą do poprawnych nowych funkcji. Ale te nowe funkcje są udokumentowane tylko pod kątem tego, jak działają w przypadku manipulowania postami. Widziałem tę stronę: http://en.support.wordpress.com/post-vs-page/, ale nie jest ona zbyt pomocna, gdy szukam odpowiedzi, takich jak: * W jaki sposób powinienem uzyskać treść strona? * Jaki dokładnie jest tytuł strony; czy chodzi „o” czy „O”? Albo coś innego? * Jeśli używam get_post, skąd wie, czy szukam strony lub posta? Czy strony i posty zawsze mają niesprzeczne identyfikatory? * Czy obiekt WP_Post może również reprezentować stronę? Pomocne byłyby odpowiedzi na te pytania. Link do czegoś, co wyraźnie wyjaśnia ten temat lub wyjaśnienie, byłby jeszcze bardziej pomocny.


title: Jak mogę zdobyć użytkownika, który publikuje post?

text: Mam wielu użytkowników. Niektórzy są pisarzami, inni redaktorami. Czy istnieje sposób, aby uzyskać redaktora (id), który publikuje post? Jestem w stanie uzyskać identyfikator autora, ale nie redaktora, który publikuje artykuł.


title: Przechowuj Foreach w profilu użytkownika

text: Używam foreach, aby uzyskać wizyty / odwiedzających miesięcznie za pomocą interfejsu API Analytics. Muszę przechowywać wyniki w profilu użytkownika tak, jak są wyświetlane z echem. Próbowałem tego, ale nie otrzymuję właściwej wartości (otrzymuję tylko jedną wartość): $fromDate = date('Y-m-d', strtotime('-365 days')); $toDate = data('R-m-d'); $ga->requestReportData($profileId,array('yearmonth'),array('visitors', 'visits'), '-yearmonth', null, $fromDate, $toDate); $i = 1; foreach($ga->getResults() as $result) { $my_graph = "{Odwiedzający: '".$result->getVisitors()."',Odwiedziny: '".$result->getVisits()."' ,liczba: '".(-$i++).''',},\n"; } update_usermeta( $user_id, 'my_great_graph', $my_graph ); Chciałbym zapisać w jednym polu (my_great_graph) coś takiego: {Odwiedzający: '8',Odwiedzający: '9',liczba: '-1',}, {Odwiedzający: '72',Odwiedzający: '83', liczba: '-2',}, {Odwiedzający: '96',Odwiedzający: '104',Numer: '-3',}, {Odwiedzający: '93',Odwiedzający: '119',Liczba: '-4' ,}, {Odwiedzający: '72',Odwiedzający: '81',liczba: '-5',}, {Odwiedzający: '32',Odwiedzający: '38',liczba: '-6',}, {Odwiedzający: '0',Odwiedziny: '0',liczba: '-7',}, {Odwiedzający: '0',Odwiedziny: '0',liczba: '-8',}, {Odwiedzający: '0',Odwiedziny: '0',liczba: '-9',}, {Odwiedzający: '0',Odwiedziny: '0',liczba: '-10',}, {Odwiedzający: '0',Odwiedzający: '0',liczba: '-11',}, {Odwiedzający: '0',Odwiedzający: '0',liczba: '-12',}, {Odwiedzający: '0',Odwiedzający: '0',liczba: '-13',} , **EDYTUJ 1** Z odpowiedzią od s_ha_dum, mam to zapisane w mojej bazie danych: a:13:{i:0;a:3:{s:9:"Odwiedzający";i:10;s:7 :"Odwiedziny";i:11;s:6:"liczba";i:0;}i:1;a:3:{s:9:"Odwiedzający";i:72;s:7:"Odwiedziny" ;i:83;s:6:"liczba";i:-1;}i:2;a:3:{s:9:" Odwiedzający";i:96;s:7:"Odwiedzający";i:104;s:6:"liczba";i:-2;}i:3;a:3:{s:9:"Odwiedzający"; i:93;s:7:"Odwiedzający";i:119;s:6:"liczba";i:-3;}i:4;a:3:{s:9:"Odwiedzający";i:72 ;s:7:"Odwiedzający";i:81;s:6:"liczba";i:-4;}i:5;a:3:{s:9:"Odwiedzający";i:32;s: 7:"Odwiedziny";i:38;s:6:"liczba";i:-5;}i:6;a:3:{s:9:"Odwiedzający";i:0;s:7:" Odwiedziny";i:0;s:6:"liczba";i:-6;}i:7;a:3:{s:9:"Odwiedzający";i:0;s:7:"Odwiedziny"; i:0;s:6:"liczba";i:-7;}i:8;a:3:{s:9:"Odwiedzający";i:0;s:7:"Odwiedziny";i:0 ;s:6:"liczba";i:-8;}i:9;a:3:{s:9:"Odwiedzający";i:0;s:7:"Odwiedziny";i:0;s: 6:"liczba";i:-9;}i:10;a:3:{s:9:"Odwiedzający";i:0;s:7:"Odwiedziny";i:0;s:6:" liczba";i:-10;}i:11;a:3:{s:9:"Odwiedzający";i:0;s:7:"Odwiedziny";i:0;s:6:"liczba"; i:-11;}i:12;a:3:{s:9:"Odwiedzający";i:0;s:7:"Odwiedziny";i:0;s:6:"liczba";i:- 12;}} Teraz muszę znaleźć sposób na wyświetlenie tego jak powyżej, na przykład : {Visiteurs: '0',Visites: '0',number: '-13',},


title: Nadanie wp_list_categories klasy kategorii

text: Używam wp_list_categories, aby wyświetlić moje kategorie w moim menu. Kiedy menu jest generowane, każda kategoria jest wyświetlana jako element `<li>` z "cat-item[numer]" jako klasą. Czy istnieje sposób, aby również lub zamiast tego nadać `<li>` nazwę kategorii jako klasy? Podobnie jak posty mają nazwę kategorii jako klasy.


title: niestandardowa relacja taksonomiczna

text: Dostosowuję wordpress, tworząc kilka taksonomii dla strony internetowej. Właściwie stworzyłem niestandardowy typ posta „Usługi” z kilkoma taksonomiami. Następnie zamierzam utworzyć niestandardowy typ posta „Historia sprawy”, w którym chciałbym ponownie wykorzystać posty „Usługa”. Mogę pokazać je na backendzie (Case History dodaj nowy element) za pomocą WP_Query, ale miałem problemy z ich zapisaniem. Mam więc taką wątpliwość: czy możliwe jest stworzenie relacji między dwiema różnymi taksonomiami? czy jest to możliwe do zrobienia? Może gdzieś się mylę... **aktualizacja** : może lepiej bym wyjaśniła to pytanie w ten sposób. Czy mogę użyć niestandardowego typu postu („Usługa”) jako taksonomii wewnątrz innego niestandardowego typu postu („Niestandardowy typ postu”)? **aktualizacja2** : dzięki chłopaki. Rozwiązałem swój problem za pomocą tej wtyczki (cpt onomies)


title: Auto get_header i get_footer w każdym szablonie?

text: Czy istnieje sposób na automatyczne uruchomienie `get_header()` na początku szablonu i `get_footer()` na jego końcu? Obecnie mój kod jest zbyt powtarzalny z tymi wywołaniami. Szukałem sposobu, aby to zrobić, ale nie mogę go znaleźć w Google.


title: Jak zapobiec pojawianiu się brakujących pozycji w mojej witrynie WooCommerce podczas korzystania z widżetu Nawigacja warstwowa?

text: WooCommerce zawiera poręczny widżet Layered Nav. Dzięki temu możesz filtrować produkty z katalogu na podstawie ustawionych atrybutów, w tym odmian produktów (takich jak różne rozmiary). Jeśli jednak wybierzesz odmianę, której nie ma w magazynie, zostanie ona zwrócona. Próbowałem zmienić kod widżetu, ale okazuje się to niezwykle skomplikowane dla mojego małego mózgu. Oto kod widżetu: https://github.com/woothemes/woocommerce/blob/master/widgets/widget-layered_nav.php Jeśli ktoś mógłby podać jakieś wskazówki, byłoby to bardzo mile widziane.


title: strona jest nadal w localhost

text: Przesyłam swoją witrynę na serwer i zmieniłam adres URL witryny i stronę domową z localhost na adres URL mojej witryny. Ale nadal jest na lokalnym hoście, jeśli wyłączę wampserver, nie wyświetli strony. Po prostu pokaż mi, kiedy serwer wamp jest włączony. Co powinienem zrobić? każda pomoc będzie mile widziana


title: Dlaczego to menu główne BootStrap pojawia się dwukrotnie w moim motywie?

text:
Szaleję z następującym niestandardowym motywem WordPress, który wykorzystuje framework CSS **BootStrap**: http://onofri.org/WP_BootStrap/ Jak widać, mam problem z poziomym menu głównym w moim nagłówku. Aby stworzyć dynamiczne menu główne WP w klasycznym stylu BootStra używam klasy **wp-bootstrap-navwalker.php** wstawiając ją do mojego motywu zgodnie z jego dokumentacją, którą możesz przeczytać: https://github.com/twittem /wp-bootstrap-navwalker Tak więc, zgodnie z poprzednią dokumentacją, wykonałem następujące operacje: 1) umieściłem klasę ** wp_bootstrap_navwalker.php** wewnątrz katalogu głównego mojego niestandardowego motywu 2) wymagam tego w moim **functions.php**, umieszczając w nim następujący kod: // Zarejestruj Custom Navigation Walker require_once('wp_bootstrap_navwalker.php'); 3) W moim pliku **header.php** wstawiłem następujący kod:     <! -- Marka i przełącznik są pogrupowane w celu lepszego wyświetlania na urządzeniach mobilnych -->

 <button type="button" class="navbar-toggle" data-toggle= "collapse" data-target=".navbar-responsive-collapse">    </button> <a class="navbar-brand" href="<?php echo home_url(); ?>"> <?php bloginfo('nazwa'); ?>
 <?php wp_nav_menu(array( 'menu' => 'primary', 'theme_location' => 'primary', 'głębokość' => 2, 'container' => 'div' , /*'container_class' => 'navbar navbar-default',*/ 'menu_class' => 'nav navbar-nav', 'fallback_cb' => 'wp_bootstrap_navwalker::fallback', 'walker' => nowa wp_bootstrap_navwalker() ) ); ?>
   4) W końcu zarejestrowałem menu nawigacji w moim motywie, umieszczając ten kod w moim pliku **functions.php**: register_nav_menus(array( 'primary' => __('Menu główne', 'NAZWA TEMATU'), ) ); Ok, jak widać, widzę menu główne, ale widzę je dwa razy: jedna to poprawna wizualizacja (ta z czerwonym tłem), ale pojawia się drugie menu główne na górze i nie mogę zrozumieć dlaczego (nigdy nie deklarowałam tego dwa razy ) Masz jakieś pojęcie o tym problemie? Jak mogę spróbować rozwiązać? Tnx Andrea


title: Czy "typ" sluga jest zarezerwowany i nie można go użyć do przepisywania taksonomii?

text: Rozpaczliwie potrzebuję waszej pomocy. Próbuję zarejestrować niestandardowy typ postu i taksonomię w następujący sposób: add_action( 'init', 'product_catalog' ); add_action( 'init', 'product_type', 0 ); function product_catalog() { $labels = array( 'name' => _x( 'Katalog', 'Ogólna nazwa typu posta' ), 'menu_name' => 'Katalog' ); $args = array( 'labels' => $labels, 'description' => 'Katalog', 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ) , 'has_archive' => true, "rewrite" => array( 'with_front' => false, 'slug' => 'katalog') ); register_post_type( 'katalog_produktów', $args ); } //taksonomia, która nie będzie działać z pierwszym rodzicem, wszystkie dzieci działają dobrze. function product_type(){ register_taxonomy("product_type", array("product_catalog"), array( "hierarchical" => true, "label" => "Typy", "singular_label" => "Typ", "show_ui" => true, 'show_admin_column' => true, 'query_var' => true, "rewrite" => array( 'slug' => 'type', 'with_front' => false, "hierarchical" => true) )); } Wygląda na to, że pojawia się w panelu i mogę dodać hierarchiczne taksonomie w ramach TYPU, ale problem pojawia się, jeśli spróbuję przejść do adresu URL typu: **sitename.com/type/parent** zawsze zwraca 404 nie znaleziono. W tym samym czasie mogę przejść do childs TYPE i ładuje się dobrze, jak: **sitename.com/type/parent/child** Jeśli zmienię **'slug' => 'type**' na cokolwiek innego jak: **'typy'** to działa w 100%. Nie rozumiem, dlaczego tak się dzieje, czy jest to zarezerwowane na coś? Byłbym wdzięczny za pomoc. Dziękuję Ci.


title: Wstaw kod w nagłówku mojego szablonu

text: Chciałbym wstawić imię i nazwisko autora postu do nagłówka strony za pomocą tagu autora. coś takiego jak <head> <title>Często zadawane pytania</title> <meta name="author" content="Moje imię"> </head> Jednak nie będę mógł znaleźć nazwiska autora przed wpisaniem w pętli? Czy nadal mogę dokonać tej zmiany w tym czasie, czy jest już za późno? Jeśli tak, jaki jest najlepszy sposób na wstrzyknięcie kodu w nagłówku? Spróbowałem z do_action, jak wyjaśniono w tym artykule, bez powodzenia. Dzięki Andrea


title: Przycisk Zapisz opcji motywu nie działa

text:
Obecnie pracuję nad stworzeniem panelu opcji dla motywu (theme- options.php) na moim lokalnym hoście. Wszystko szło dobrze, dopóki nie spróbowałem przetestować przycisku Zapisz. Po kliknięciu otrzymałem komunikat, że opcje zostały zapisane, ale nic nie zostało zapisane. Nie jestem pewien, czy to ma znaczenie, ale theme-options.php znajduje się w folderze o nazwie „options” w katalogu domowym motywu. Oto aktualna funkcja, której używam do zapisywania: //dodaj funkcję strony opcji fround_add_admin(){ global $themename, $shortname, $options; if ( $_GET['strona'] == basename(__FILE__) ){ if ( 'save' == $_REQUEST['action'] ) { //chroń przed fałszowaniem żądań check_admin_referer('motyw-zapisz'); //zapisz opcje foreach ($options jako $value) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id ']] ); } else { opcja_usuwania( $wartość['id'] ); } } header("Lokalizacja: themes.php?page=theme-options.php&saved=true"); umierać; } else if ( 'reset' == $_REQUEST['action'] ) { //chroń przed fałszowaniem żądań check_admin_referer('theme-reset'); //usuń opcje foreach ($option as $value) { delete_option( $value['id'] ); } header("Lokalizacja: themes.php?page=theme-options.php&reset=true"); umierać; } } add_theme_page($themename." Options", "$themename Options", 'edit_themes', basename(__FILE__), 'fround_admin'); } add_action('admin_menu' , 'fround_add_admin'); Postępuję zgodnie z tutorialem, aby zrobić ten panel (z kilkoma modyfikacjami do moich potrzeb) i wszystko wygląda tak samo jak w tutorialu. Przeglądając to z wiedzą o php, którą posiadam, też nie widzę nic złego. Oto cały theme-options.php: <?php //theme vars $themename = "f Round"; $shortname = "fround"; $opcje = tablica(); function theme_options(){ globalna $nazwamotywu, $krótka nazwa, $opcje; $options = array ( array("nazwa" => "Ustawienia ogólne", "typ" => "sekcja"), array("typ" => "otwórz"), array("nazwa" => "Typ logo ", "desc" => "Wybierz typ logo ( Obraz lub Tekst )", "id" => $shortname."_type_of_logo", "type" => "select", "options" => array("text" , "logo"), "std" => "text"), array("name" => "Logo Upload", "desc" => "Prześlij obrazy za pomocą natywnego programu do przesyłania multimediów lub zdefiniuj adres URL bezpośrednio", " id" => $shortname."_logo_upload", "type" => "imageupload", "std" => ""), array("name" => "Tekst logo", "desc" => "Wprowadź tekst dla logo", "id" => $shortname."_logo_text", "type" => "text", "std" => ""), array("name" => "Logo Slogan", "desc" => "Wchodzić tekst dla sloganu logo", "id" => $shortname."_logo_slogan", "type" => "text", "std" => ""), array("name" => "Custom Favicon", "desc " => "Prześlij obraz 16px x 16px Png/Gif, który będzie reprezentował favicon Twojej witryny", "id" => $shortname."_favicon_upload", "type" => "imageupload", "std" => "") , array("typ" => "zamknij"), array("nazwa" => "Opcje stylizacji", "typ" => "sekcja"), array("typ" => "otwórz"), array(" name" => "Kolor tła", "desc" => "Wybierz kolor tła", "id" => $shortname."_background_color", "type" => "color", "std" => " #ffffff"), array("name" => "Kolor ciała", "desc" => "Wybierz kolor dla ciała", "id" => $shortname."_body_color", "ty pe" => "kolor", "std" => "#ffffff"), array("typ" => "zamknij"), array("nazwa" => "Opcje stopki", "typ" => "sekcja "), array("type" => "open"), array("name" => "Tekst praw autorskich", "desc" => "Wprowadź tekst dotyczący praw autorskich w stopce (jeśli pusta zostanie usunięta)", " id" => $shortname."_footer_text", "type" => "text", "std" => "Copyright TestSite.com"), array("type" => "zamknij") ); } add_action('init', 'theme_options'); //dodaj funkcję strony opcji fround_add_admin(){ global $nazwamotywu, $skrócona nazwa, $opcje; if ( $_GET['strona'] == basename(__FILE__) ){ if ( 'save' == $_REQUEST['action'] ) { //chroń przed fałszowaniem żądań check_admin_referer('motyw-zapisz'); //zapisz opcje foreach ($options jako $value) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id ']] ); } else { opcja_usuwania( $wartość['id'] ); } } header("Lokalizacja: themes.php?page=theme-options.php&saved=true"); umierać; } else if ( 'reset' == $_REQUEST['action'] ) { //chroń przed fałszowaniem żądań check_admin_referer('theme-reset'); //usuń opcje foreach ($option as $value) { delete_option( $value['id'] ); } header("Lokalizacja: themes.php?page=theme-options.php&reset=true"); umierać; } } add_theme_page($themename." Options", "$themename Options", 'edit_themes', basename(__FILE__), 'fround_admin'); } add_action('admin_menu' , 'fround_add_admin'); //główna funkcja funkcji fround_admin() { global $nazwamotywu, $krótka nazwa, $opcje; //zapisano lub zresetowano wiadomości, jeśli ( $_REQUEST['saved'] ) echo '

'.$themename.' ustawienia zapisane.

'; if ( $_REQUEST['reset'] ) echo '

'.$themename.' resetowanie ustawień.

'; //formularz ?> <nagłówek>
<?php echo $nazwamotywu; ?>

 <?php foreach ($opcje jako $wartość){ switch ( $wartość['typ'] ){ case 'sekcja': echo '
'.$value['nazwa'].'
'; przerwanie; } } ?>
   <form method="post"> <?php wp_nonce_field('zapis-motywu'); ?>  <?php foreach ($opcje jako $wartość){ switch ( $wartość['typ'] ){ case 'sekcja': ?> <nazwa sekcji="<?php echo $wartość['nazwa' ];?>">
<?php echo $wartość['nazwa'];?>
 <?php break; przypadek „otwarty”: przerwa; wielkość liter 'zamknij': ?>
 <?php break; wielkość liter 'wybierz': ?> <div id="<?php echo $wartość['id']; ?>" class="opcja <?php echo $wartość['typ']; ?>"> <select> <?php foreach ($value['options'] as $option){ echo '<option value="'.$option.'">'.$option.'</option>'; } ?> </select>
<?php echo $value['desc']; ?>

 <?php przerwa; wielkość liter 'tekst': ?> <div id="<?php echo $wartość['id']; ?>" class="opcja <?php echo $wartość['typ']; ?>"> <typ wejścia ="tekst" wartość="<?php echo $wartość['std']; ?>">
<?php echo $wartość['desc']; ?>

 <?php przerwa; case 'imageupload': ?> <div id="<?php echo $wartość['id']; ?>" class="opcja <?php echo $wartość['typ']; ?>">
 <?php echo $wartość['opis']; ?>

 <?php przerwa; wielkość liter 'kolor': ?> <div id="<?php echo $wartość['id']; ?>" class="opcja <?php echo $wartość['typ']; ?>">
 <?php echo $wartość['opis']; ?>

 <?php przerwa; } } ?>
 <input name="zapisz" type="prześlij" value="Zapisz zmiany" class="button-primary" /> <input type="ukryty" name="action" value="save" />
 </form> <form method="post"> <?php wp_nonce_field('theme-reset'); ?>
 <input name="reset" type="submit" value="Resetuj zmiany" /> <input type="hidden" name="action" value="reset" />
 </form> <?php } ?> Co dokładnie robię źle, aby przycisk zapisu nie działał? Każda pomoc jest bardzo ceniona. EDYCJA: Zmieniłem przypadki 'wybierz' i 'tekst' na następujące (co nadal nie działa dla mnie): case 'wybierz': ?> <div id="<?php echo $value['id'] ; ?>" class="opcja <?php echo $wartość['typ']; ?>"> <select> <?php foreach ($wartość['opcje'] as $key=>$opcja){ if ( $key == get_option($value['id'], $value['std']) ) { $selected = 'selected="selected"'; } else{ $selected = ""; } ?> <opcja wartość="<?php echo $klucz; ?>" <?php echo $wybrane ?>><?php echo $opcja; ?></option> <?php } ?> </select>
<?php echo $value['desc']; ?>

 <?php przerwa; wielkość liter 'tekst': ?> <div id="<?php echo $wartość['id']; ?>" class="opcja <?php echo $wartość['typ']; ?>"> <typ wejścia ="text" value="<?php echo stripslashes( get_option($value['id'], $value['std']) ); ?>">
<?php echo $value['desc' ]; ?>

 <?php przerwa; Zamierzam dalej nad tym pracować, ale jakaś pomoc byłaby nadal mile widziana.


title: Jak uzyskać miniaturę polecanego obrazu, aby otworzyć większą wersję na stronie załącznika?

text:
Mam miniaturę polecanego obrazu, która jest połączona z większą wersją pliku. W tej chwili plik otwiera się po prostu w standardowym oknie przeglądarki, ale chciałbym, aby otwierał się na stronie załącznika, ale nie wiem, jak to zrobić! Oto co mam w tej chwili: <?php if ( has_post_thumbnail()) : ?>

 <?php $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), ' wielki'); echo ''; the_post_thumbnail('miniaturka'); ?>
 <?php endif; ?> Zgaduję, że muszę użyć innej funkcji, aby przekazać wartość do $large_image_url, ale nie mogę ustalić, która z nich.


title: Niestandardowy post nie działa na stronie szablonu

text: Używam wtyczki suwaka promocji. Piszę `<?php echo do_shortcode('[promoslider]') ?>` ale jest to bardzo niespójne. Jak kiedyś posty przychodzą, to nie. Nie jestem w stanie wyjaśnić, dlaczego tak się dzieje.


title: Usunięto i ponownie zainstalowano Wordpress, przekierowanie jest teraz zepsute

text: Właśnie usunąłem i ponownie zainstalowałem wordpress, myślę, że coś się popsuło. Teraz, kiedy wchodzę w adres URL, taki jak "test123.com", nic się nie ładuje. Plik ".htaccess" w folderze głównym jest pusty. i zawartość "index.php" tutaj: <?php /** * Front do aplikacji WordPress. Ten plik nic nie robi, ale ładuje * wp-blog-header.php, który to robi i mówi WordPressowi, aby załadować motyw. * * @package WordPress */ /** * Nakazuje WordPressowi załadować motyw WordPressa i wyprowadzić go. * * @var bool */ define('WP_USE_THEMES', true); /** Wczytuje środowisko i szablon WordPress */ require('./wordpress/wp-blog-header.php'); ?> Teraz wordpress jest zainstalowany w folderze "/wdps". Oto ich ustawienia uprawnień, czy coś jest nie tak? /.htaccess: https://www.evernote.com/shard/s74/sh/9d3b8f33-b26d-4f19-b35c-958b1e9600ff/41b1d7015fee992c36b1cb66651e40f5 /index.php: https://www.evernote.com/shard/s74/ sh/11010e56-f29c-4507-b131-ae06cf22e0bf/e859f5ad1f42919ddde25e5c27812ed5


title: Pokaż powiązane posty na podstawie danych wejściowych

text: Chcę utworzyć niestandardową funkcję w jednej z moich witryn, w której użytkownicy będą mogli znaleźć powiązane artykuły na podstawie dostarczonych danych wejściowych. Na przykład: jestem mężczyzną lub kobietą (rozwijane) i lubię piłkę nożną (rozwijane kategorie) po otrzymaniu danych wejściowych, chcę pokazać powiązany post skategoryzowany w kategorii Piłka nożna.


title: Potrzebuję niestandardowej rejestracji logowania w WordPressie, czy ktoś może mnie poprowadzić?

text: Chcę dostosować rejestrację i logowanie w mojej witrynie WordPress, dodaj kilka pól i usuń niektóre. Czy ktoś może mnie poprowadzić, czy powinienem napisać własną wtyczkę, jeśli tak jest, jakie kroki powinienem wykonać. JEŚLI mogę użyć jakiejś już napisanej wtyczki, proszę skierować mnie do tego?


title: zmusić jQuery do załadowania w głowicy

text: Napisałem wtyczkę, która używa `wp_enqueue_script("jquery");` do ładowania jQuery. Muszę załadować jQuery w głowie, a nie na dole ciała. Myślę jednak, że to polecenie jest nadpisane przez jakiś motyw, który ładuje jQuery na dole ciała, co uniemożliwia prawidłowe działanie wtyczki. Jak zmusić WP do załadowania jQuery w głowie?


title: Jak dodać przycisk, aby sprawdzić pocztę w mojej domenie?

text: Szukam przycisku w menu głównym, który mogę kliknąć, a następnie wysłać do mnie pytanie o adres e-mail i hasło, a po jego wstawieniu mogę zobaczyć moje e-maile z mojej domeny. Czemu? Ponieważ mam pracowników i podaję kilka e-maili z mojej domeny i muszą to sprawdzić, a nie chcę używać programu Outlook ani oprogramowania pocztowego. Chciałbym korzystać z poczty internetowej. I będzie fajnie, że mogę dodać to wszystko na mojej stronie internetowej, jak "Sprawdź pocztę", aby mogli wejść na stronę firmy, a następnie kliknąć sprawdź pocztę i poproszą o login do poczty z e-maili mojej domeny. W jaki sposób mogę to zrobić?


title: fragment wyświetla ten sam tekst

text:
Zacząłem uczyć się Wordpressa od podstaw, potem zdecydowałem się umieścić 5 ostatnich postów na pasku bocznym, a kod jest w porządku i kiedy zdecydowałem się dodać opis za pomocą `fragmentu`, fragment desplay ten sam tekst czy ktoś może mnie poprowadzić co mam zrobić, co powinienem poprawiam, każdy pomysł jest doceniany z góry dziękuję! ![miniatura z fragmentem](http://i.stack.imgur.com/CX5Rh.jpg) oto mój obecny kod:
 <?php $IDOutsideLoop = $post->ID; globalny $post; $myposts = get_posts('showposts=5'); foreach($myposts as $post) : ?>

 <?php echo get_the_post_thumbnail($page->ID, 'thumbnail'); ?>
 <a href="<?php the_permalink(); ?>"> <?php the_title(); ?>  <?php the_excerpt(); ?>
 <?php endforeach; ?>


title: Jak sprawić, by post Wordpress wyświetlał treść zamiast obrazu?

text: Pracuję nad migracją witryny Wordpress na serwer testowy. Zaimportowałem całą zawartość i ustawienia i sprawdziłem, czy każde ustawienie jest takie samo jak w starej witrynie. Mam jednak problem, na który nie mogę znaleźć odpowiedzi. Motyw, z którego korzysta witryna, to „Simplicity”, który zawiera sekcję „mini-funkcje”. Mam skonfigurowaną sekcję na stronie głównej, a na zapleczu informuje ona stronę, aby połączyła minifunkcję z adresem URL posta na blogu. Niestety, zamiast pokazywać treść wpisu na blogu, pokazuje tylko obrazek przypisany do mini-funkcji. Sprawdziłem Google, dokumentację Simplicity, dwukrotnie sprawdziłem wszystkie możliwe ustawienia na stronie i nie mogę znaleźć rozwiązania. Czy ktoś mógłby mi pomóc??? To jest JEDNA strona, na której znajduje się błąd... STARA (działająca) witryna: http://www.archkit.com/key/the-basics/ NOWA (niedziałająca) witryna: http://scottera.com/ klucz/podstawy/


title: Jak sprawić, by niestandardowe akcje zbiorcze działały na stronie multimediów/przesyłania?

text: Dostosowuję skrypt, który znalazłem w Internecie, aby dodać niestandardowe akcje zbiorcze do ekranu z listą postów. Ma następującą linię: add_action('load-edit.php', 'custom_bulk_action'); Staram się dostosować go do biblioteki multimediów. Widzę, że zamiast `edit.php` powinienem użyć `upload.php`, co prowadzi mnie do przekonania, że muszę znaleźć odpowiednik mediów dla `load-edit.php`. Brzmi łatwo, ale nie mogę nawet znaleźć `load-edit.php` w mojej instalacji WP, aby sprawdzić, czy przypadkiem nie może to być to, czego sam szukam. Znalazłem kilka odniesień do `load-*.php` (np. Custom bulk_action), ale nic nie mówi mi, jakie wartości może przyjąć `*`. (Próbowałem `load-upload.php`, ale to nie działa — chociaż zawsze może to być coś innego w moim kodzie, co utrudnia pracę.) Mam więc dwa pytania: 1. Jaki jest odpowiednik `` load-edit.php`? 2. Gdzie jest `load-edit.php` (i inne pliki `load-*.php`) lub jaki kod obsługuje te żądania plików? Pierwsze to moje prawdziwe pytanie, ale drugie dostało się pod moją skórę. Czy któryś z was ekspertów może mi udzielić wskazówek? Bardzo bym to docenił. # EDYTUJ Przez "nie działa" nie miałem na myśli tego, że się zawiesza, ale że nie działa tak, jak powinien (zmiana atrybutu media). Kod, który adaptuję, można pobrać na dole postu „Dodaj niestandardową akcję zbiorczą WordPressa” autorstwa Justina Sterna z Fox Run Software. Wracając, aby zweryfikować każdy krok kodu, dostosowana wersja działa, ale tylko wtedy, gdy zakomentuję warunek i kontrolę bezpieczeństwa (obydwie oznaczone gwiazdką poniżej). Jakich analogów mediów powinienem użyć, aby je zastąpić? add_action('load-upload.php', array(&$this, 'custom_bulk_action')); function custom_bulk_action() { // ***if($post_type == 'attachment') { ZAMIEŃ NA: if ( !isset( $_REQUEST[' Disconnect'] ) ) { // pobierz akcję $wp_list_table = _get_list_table(' WP_Media_List_Table'); $akcja = $wp_list_table->current_action(); echo "\nakcja = $akcja\n</pre>"; $allowed_actions = array("eksport"); if(!in_array($action, $allowed_actions)) return; // kontrola bezpieczeństwa // ***check_admin_referer('bulk-posts'); ZASTĄP NA: check_admin_referer('bulk-media'); // upewnij się, że identyfikatory zostały przesłane. w zależności od typu zasobu może to być 'media' lub 'ids' if(isset($_REQUEST['media'])) { $post_ids = array_map('intval', $_REQUEST['media']); } if(empty($post_ids)) return; // jest to oparte na wp-admin/edit.php $sendback = remove_query_arg( array('exported', 'unrashed', 'deleted', 'ids'), wp_get_referer() ); if ( ! $sendback ) $sendback = admin_url( "upload.php?post_type=$post_type" ); $pagenum = $wp_list_table->get_pagenum(); $sendback = add_query_arg( 'stronicowany', $pagenum, $sendback ); switch($action) { case 'export': // jeśli ustawimy uprawnienia/możliwości użytkownika, kod może wyglądać tak: //if ( !current_user_can($post_type_object->cap->export_post, $post_id) ) // wp_die( __('Nie możesz eksportować tego posta.') ); $eksportowane = 0; foreach( $post_ids as $post_id ) { if ( !$this->perform_export($post_id) ) wp_die( __('Błąd podczas eksportowania posta.') ); $eksportowane++; } $sendback = add_query_arg( array('exported' => $exported, 'ids' => join(',', $post_ids) ), $sendback ); przerwanie; domyślnie: powrót; } $sendback = remove_query_arg( array('action', 'action2', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view'), $ odeślij ); wp_redirect($sendback); Wyjście(); }     }      Doceniam twoją pomoc. # EDYCJA 2 Zmodyfikowałem powyższy kod, aby odzwierciedlić informacje z zaakceptowanej odpowiedzi. Wielkie dzięki dla Ralf912!


title: WPMU na MySQL ograniczone do 1 GB miejsca?

text: Bazy danych MySQL są ograniczone do 1024 MB na 1 bazę danych, ale witryny WPMU muszą to przekroczyć... Czy jest jakiś sposób, aby WPMU używała `database_2`, gdy `database_1` jest już blisko 1024MB? Mogę mieć: * `database_1` 1024MB * `database_2` 1024MB * `database_3` 1024MB * `database_4` 1024MB * itd. Nie mogę mieć: * `database_1` 8192MB lub więcej


title: Jedno zdjęcie należące do różnych galerii?

text: Jak jedno zdjęcie może należeć do różnych galerii? Na przykład są dwie galerie. Chcę uniknąć dwukrotnego ładowania obrazu (w dwóch galeriach), ale pokazano go (w zestawie) w pierwszej i drugiej galerii.


title: Pokazywanie innego kodu na stronach o różnych układach

text: Mam strony i posty w witrynie WordPress. Strony mają różne układy. Strony nadrzędne mają układ dwukolumnowy (treść główna + prawy pasek boczny), podczas gdy strony podrzędne mają układ jednokolumnowy (bez paska bocznego). Chcę wyświetlić kod JavaScript w układzie jednokolumnowym i inny kod JavaScript w układzie dwukolumnowym. Należy również dodać, że jednokolumnowa zawiera niestandardowe pole „jedna kolumna”, a domyślny układ dwukolumnowy. Nie jestem pewien, czy można dodawać kody na podstawie pól niestandardowych. Motyw: motywy Woo, płótno. Naprawdę doceniam twoją pomoc.


title: Echo robi shortcode z niestandardowym polem nie działa

text: Używam WP YouTube Lyte do wyświetlania filmów z YouTube. Łączę go z zaawansowanymi polami niestandardowymi, aby użytkownik mógł po prostu dodać identyfikator YouTube, aby wyświetlić wideo. Używam krótkiego kodu WP YouTube Lyte, ale pisze kod w niewłaściwy sposób. Poniżej znajduje się kod: <?php if( get_field('plik_wideo') ): $video = the_field("plik_wideo"); ?> <?php echo do_shortcode('[lyte id="'. $video . '" /]'); ?> <?php endif; ?> Oto wynik: vTyDi22_SFohttpv://www.youtube.com/watch?v= Gdy po prostu dodaję identyfikator YouTube do kodu, wyświetla się poprawnie wideo.


title: Pętle postów do wyświetlania określonych postów w szablonie strony?

text:
Chcę stworzyć szablon do wyboru 5 konkretnych postów do wyświetlenia na stronie WordPress. Zasadniczo muszę być w stanie zapytać o dokładne posty 5, które mają być wyświetlane na stronie Wordpress, używając szablonu strony WP i niestandardowego pola, aby wybrać dokładne identyfikatory postów 5. EDIT: Mam ten kod dzięki tej stronie. Ale teraz muszę mieć możliwość dodania tablicy identyfikatorów strony za pomocą pola niestandardowego. Czy można to zrobić? EDYCJA 2: Właściwie kod nie wyświetla postów w tablicy, ale raczej najnowsze posty na stronie głównej. Hmmm. <?php $post_id = tablica(483,454,376); $posts = get_posts( $post_id); foreach( $posts jako $post ): setup_postdata($post); ?> // możesz tutaj wywołać use post data jak
<a href="<?php the_permalink() ?>"><?php the_title(); ?>
 <a class="thumb" href="<?php the_permalink(); ?>"><?php dp_attachment_image($post->ID, 'thumbnail', 'alt=" ' . $post->post_title . '" class="hthumb"'); ?><?php the_excerpt(45); ?><a href="<?php the_permalink(); ?>" class="more">Czytaj więcej..

 <?php endforeach ; ?>


title: WP_Cron nie wykonuje zadania: statystyki dla wielu witryn

text: Dowiedziałem się już, jak uzyskać liczbę postów w sieci w WPMS. Do tej pory funkcja była wywoływana przez użytkownika otwierającego serwis. Więc był odbudowywany co 24 godziny. Nie chcę, aby pojedynczy użytkownik czekał pół minuty, aż proces się zakończy, więc zacząłem pracować z wp_cron. Ale wydaje się, że jest problem, ponieważ nie widzę wyniku w krótkim kodzie. Byłoby wspaniale, gdyby ktoś mógł zajrzeć do następujących wierszy: register_activation_hook(__FILE__, 'wpms_stats_activation'); add_action('wpms_stats_daily_event', 'posts_count_func'); register_deactivation_hook(__FILE__, 'wpms_stats_deactivation'); // Uruchom crona w funkcji aktywacji wpms_stats_activation() { wp_schedule_event(time(), 'daily', 'wpms_stats_daily_event'); } // Usuń pamięć podręczną i wyłącz funkcję cron my_deactivation() { wp_clear_scheduled_hook('wpms_stats_daily_event'); usuń_stronę_przejściową( 'total_posts_cache' ); } // Policz posty całej funkcji sieciowej posts_count_func( $args ){ global $wpdb; $blogs = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->blogs} WHERE spam = '0' AND usunięty = '0' AND zarchiwizowany = '0' ORDER BY zarejestrowany DESC, 2 ", TABLICA_A)); $original_blog_id = get_current_blog_id(); $args = array( 'numberposts' => -1, 'post_type' => 'post', 'post_status' => 'opublikuj' ); $całkowita_sieć = $szkic_sieć = 0; $ suma_witryny = 0; foreach ($ blogi jako $ blog) { wp_cache_flush(); switch_to_blog( $blog->blog_id ); $args['post_status'] = 'opublikuj'; if (count(get_posts($args))<2) { kontynuuj; } $total_posts = liczba( get_posts( $args ) ); $total_network += $total_posts; $total_sites += 1; $args['post_status'] = 'szkic'; } set_site_site_transient ( 'total_posts_cache', $total_network ); switch_to_blog( $original_blog_id ); } //Utwórz krótki kod, który pokazuje liczbę postów funkcja posts_shortcode_count_func( $atts ){ $post_count = get_site_transient( 'total_posts_cache' ); zwróć $post_count; } add_shortcode( 'posty', 'posts_shortcode_count_func' ); Wielkie dzięki!


title: Filtruj limit postów na stronie kanału

text: WordPress ma ustawienie liczby elementów wyświetlanych w kanałach syndykacji. Chcę ominąć to ustawienie we wtyczce i zwrócić inną liczbę elementów. Oto, co robię, ale to nie działa. Jakiś pomysł dlaczego? add_filter( 'init', 'rss_addfeed_add_feed' ); function rss_addfeed_add_feed() { $general_settings = get_option( 'rss_settings_general', 'rss' ); if ( !empty( $general_settings ) && isset( $general_settings['custom_feed_url'] ) ) { $url = $general_settings['custom_feed_url']; } else $url = 'rss'; add_feed( $url, 'rss_addfeed_do_feed' ); flush_rewrite_rules(); } function rss_addfeed_do_feed( $in ) { // Przygotuj zapytanie o post $rss_custom_feed_query = apply_filters( 'rss_custom_feed_query', array( 'post_type' => 'rss_feed_item', 'post_status' => 'publish_per_>'posts 'cache_results' => false, // wyłącz buforowanie ) ); // Prześlij zapytanie, aby uzyskać najnowsze elementy kanału query_posts( $rss_custom_feed_query ); // Wyślij nagłówek treści i uruchom ATOM output header('Content-Type: application/atom+xml'); // Wyłączanie buforowania header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1. header('Pragma: brak pamięci podręcznej'); // HTTP 1.0. header('Wygasa: 0'); // Proxy. echo '<?xml version="1.0" kodowanie="' .get_option('blog_charset') '"?' . '>'; ?> <feed xmlns="http://www.w3.org/2005/Atom"> <title type="text">Najnowsze importowane elementy kanału na <?php bloginfo_rss('name'); ?></title> <?php // Uruchom pętlę while ( have_posts() ): the_post(); ?> <wpis> <tytuł><![CDATA[<?php the_title_rss(); ?>]]></title> <link href="<?php the_permalink_rss(); ?>" /> <opublikowane><?php echo get_post_time( 'Y-m-d\TH:i:s\Z' ); ?></opublikowane> <content type="html"><![CDATA[<?php the_content(); ?>]]></content> </entry> <?php // Koniec pętli endwhile; ?> </feed> <?php } add_filter( 'post_limits', 'rss_custom_feed_limits' ); function rss_custom_feed_limits( $limit ) { if ( is_feed() ) { return 'LIMIT 0, 3'; } zwraca $limit; }


title: wielojęzyczna witryna WordPress

text: Tworzę wielojęzyczną witrynę zasilaną przez WordPress. WPML nie jest darmowy i wykonuje zbyt wiele dodatkowych zapytań sql do bazy danych, więc nie jest to dobre rozwiązanie dla mojej witryny. qTranslate zapisuje wszystkie języki w jednym wierszu bazy danych i bardzo trudno jest później przejść do innej wtyczki wielojęzycznej. <?php _e( '<!--:pl-->tekst angielski<!--:--><!--:de-->tekst niemiecki<!--:-->' ); ?> xLanguage nie był aktualizowany od ponad 2 lat. Czy jest jakaś inna **wtyczka do zarządzania wielojęzyczną witryną**? Mam pomysł, aby zainstalować WordPressa jako multisite **a każdy język będzie miał swoją własną stronę**. Czy to dobra praktyka? ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/NG7e7.png)


title: Jak przekonwertować komentarze WordPress na odpowiedzi bbPress

text: Mam starego bloga, który chciałbym uaktualnić do bloga/strony internetowej z forami bbPress i chciałbym przekonwertować posty na tematy, a komentarze na odpowiedzi. Stworzyłem już swoje tematy, a teraz muszę tylko przekonwertować komentarze na odpowiedzi. Czy znasz skrypt, który to robi? Czy kiedykolwiek musiałeś to zrobić i jak to zrobiłeś? Z góry dziękuję!


title: Zmień podpowiedź w chmurze tagów

text: Jak zmienić podpowiedź tagu na opis tagu? Próbowałem i mój kod jest wymieniony poniżej. function title_text( $opis ) { return sprintf( _n('%s temat', '%s', $opis), $opis ); } wp_tag_cloud( array( 'topic_count_text_callback' => 'title_text') ); To nie działa. Czy ktoś może sprawdzić ten kod i znaleźć właściwe rozwiązanie?


title: Dodać niestandardowe możliwości użytkownika przed lub po dodaniu niestandardowej roli użytkownika?

text: Czy niestandardowe możliwości użytkownika należy dodać przed dodaniem niestandardowej roli użytkownika, czy na odwrót? * `add_role()` pyta o tablicę `$capabilities` w trzecim parametrze funkcji. * `add_cap()` pyta o `$role` do zastosowania tej zdolności w pierwszym parametrze funkcji. Zarówno `add_role()` jak i `add_cap()` muszą zostać uruchomione podczas aktywacji wtyczki lub aktywacji motywu. Myślałem, stworzyć niestandardowe możliwości użytkownika za pomocą `add_cap()` i przechowywać listę możliwości w tablicy właściwości klasy. Następnie utwórz każdą niestandardową rolę użytkownika za pomocą metody `add_role()` i dodaj nowo utworzone możliwości z tablicy właściwości class do parametru `$capabilities` każdej funkcji `add_role()`. ALBO dodałbym każdą niestandardową rolę użytkownika za pomocą `add_role()` i ustawiłbym tablicę właściwości klasy dla każdej z możliwości dla roli do dodania. Następnie, dla każdej z możliwości dla każdej niestandardowej roli użytkownika, dodałbym możliwość za pomocą `add_cap()`. Zastanawia mnie kolejność wykonywania harmonijnie zarówno `add_role()`, jak i `add_cap()`. Każdy wgląd w tę konkretną sytuację jest mile widziany. A może nie powinienem nawet używać `add_cap()`? Czy mogę po prostu ustawić tablicę możliwości dla każdej roli użytkownika i po prostu przekazać je do parametru `$capabilities` funkcji `add_role()`?


title: Dodaj bloga wordpress do mojej witryny, która ma użytkowników

text: Mam witrynę opartą na php/mysql z użytkownikami podzielonymi na różne grupy... chcę dodać do niej system blogowania, aby każda grupa miała swój własny blog, który może być tworzony przez użytkowników wyznaczonych do administrowania tą grupą i których można czytać przez każdego użytkownika z tej grupy... jak to zrobić?


title: Jak ustawić domyślny format dla niestandardowego typu postu?

text: Stworzyłem niestandardowy typ posta na moim blogu, aby ułatwić oddzielanie treści. Ten nowy typ postów obsługuje różne formaty postów, ale większość z nich to galerie. register_post_type('atelier', array( 'label' => 'L\'Atelier', 'public' => true, 'supports' => array('title', 'editor', 'post-formats')) ) ; Widziałem, że w Ustawienia -> Pisanie można ustawić domyślny format postów dla postów, czy można zrobić to samo dla mojego nowo utworzonego typu posta?


title: Aby móc zalogować się jako inny użytkownik

text: Mam 2 rodzaje użytkowników... Oba używają niestandardowego formularza do rejestracji... Jeden jest użytkownikiem nadrzędnym, a drugi to użytkownicy podrzędni. Użytkownik nadrzędny może zarejestrować się, a następnie zalogować i utworzyć użytkowników podrzędnych. Dodałem również interfejs w motywie, w którym rodzice mogą zarządzać utworzonymi przez siebie danymi użytkowników dzieci. Zasadniczo strona oparta jest na artykule dla dzieci pomagającym im w edukacji i odpowiedziach na pytania .... Chcę zrobić, gdy rodzic jest zalogowany, mam listę jego dzieci, chcę podać link jak Zaloguj się jako dziecko, po kliknięciu który rodzic zostanie wylogowany i zalogowany jako dziecko przy użyciu poświadczeń dziecka... Wszelkie wskazówki/sugestie, jak wylogować się i zalogować jako inny użytkownik za pomocą skryptu...


title: Wartość pola formularza strony opcji echa

text:
Oto mój kod strony opcji zawierający liczbę pól, takich jak logo, suwak po wypełnieniu wszystkich informacji w formularzu strony opcji. Potrzebuję dwóch rzeczy 1. Po przesłaniu wszystkich danych formularza zapisz informacje muszą tam pozostać. 2. Używając `get_option()` wyodrębnij każdą wartość znacznika wejściowego i pokaż tę wartość na pierwszej stronie, np. obraz suwaka, nagłówek suwaka, opis suwaka KOD STRONY OPCJI: <?php class MySettingsPage { /** * Przechowuje wartości, które mają być użyte w polach callbacki */ private $options; public function __construct() { add_action( 'admin_menu', array( $this, 'bguru_register_options_page') ); add_action( 'admin_init', array( $this, 'bguru_register_settings' ) ); } public function bguru_register_options_page() { // Ta strona będzie w "Ustawieniach" add_theme_page('Opcje guru biznesowego', 'Dostosowywanie motywów', 'edit_theme_options', 'bguru-options', array( $this, 'bguru_options_page')) ; } public function bguru_options_page() { // Ustaw właściwość klasy $this->options = get_option( 'bguru_logo' ); $this->options = get_option( 'bguru_vimeo' ); $this->options = get_option( 'bguru_slide_one_image' ); $this->options = get_option( 'bguru_slide_one_heading' ); $this->options = get_option( 'bguru_slide_one_text' ); $this->options = get_option( 'bguru_slogan_heading' ); $this->options = get_option( 'bguru_slogan_description' ); ?>
 <?php screen_icon(); ?>
Opcje Guru Biznesu
 <form method="post" action="options.php">
 <?php // To wypisuje wszystkie ukryte pola ustawień settings_fields ( 'defaultbg' ); do_settings_sections( 'defaultbg' ); prześlij_przycisk(); ?>
 </form>
 <?php } /** * Zarejestruj i dodaj ustawienia */ public function bguru_register_settings() { register_setting('defaultbg','bguru_logo', array( $this, ' odkażać' ) ); register_setting('defaultbg', 'bguru_vimeo', array( $this, 'sanitize' )); register_setting('defaultbg', 'bguru_slide_one_image', array( $this, 'sanitize' )); register_setting('defaultbg', 'bguru_slide_one_heading', array( $this, 'sanitize' )); register_setting('defaultbg', 'bguru_slide_one_text', array( $this, 'sanitize' )); register_setting('defaultbg', 'bguru_slogan_heading', array( $this, 'sanitize' )); register_setting('defaultbg', 'bguru_slogan_description', array( $this, 'sanitize' )); add_settings_section( 'setting_section_id', // ID '
Ogólne
', array( $this, 'print_section_info' ), // Callback 'defaultbg' // Strona ); add_settings_field( 'bguru_logo', // ID 'Logo', // Title array($this,'logo_callback' ), // Callback 'defaultbg', // Strona 'setting_section_id '// Sekcja                             ); add_settings_field( 'bguru_vimeo', // ID 'Vimeo', // Vimeo array( $this, 'socialv_callback' ), // Callback 'defaultbg', // Strona 'setting_section_id' // Sekcja ); add_settings_field( 'bguru_slide_one_image', // ID 'Obraz slajdu 1', // Tablica slajdu 1( $this, 'slider1img_callback' ), // Wywołanie zwrotne 'defaultbg', // Strona 'setting_section_id' // Sekcja ); add_settings_field( 'bguru_slide_one_heading', // ID 'Slide 1 Heading', // Slide 1 Heading array( $this, 'slider1head_callback' ), // Callback 'defaultbg', // Strona 'setting_section_id' // Sekcja ); add_settings_field( 'bguru_slide_one_text', // ID 'Opis slajdu 1', // Tablica opisu slajdu 1( $this, 'slider1text_callback' ), // Wywołanie zwrotne 'defaultbg', // Strona 'setting_section_id' // Sekcja ); add_settings_field( 'bguru_slogan_heading', // ID 'Slogan Heading', // Slogan Heading array( $this, 'slogan_head_callback' ), // Callback 'defaultbg', // Strona 'setting_section_id' // Sekcja ); add_settings_field( 'bguru_slogan_description', // ID 'Slogan Container', // Slogan Container array( $this, 'slogan_descr_callback' ), // Callback 'defaultbg', // Strona 'setting_section_id' // Sekcja ); } public function sanitize( $input ) { $new_input = array(); if( isset( $input['bguru_logo'] ) ) $new_input['bguru_logo'] = sanitize_text_field( $input['bguru_logo'] ); if( isset( $input['bguru_vimeo'] ) ) $new_input['bguru_vimeo'] = sanitize_text_field( $input['bguru_vimeo'] ); if( isset( $input['bguru_slide_one_image'] ) ) $new_input['bguru_slide_one_image'] = sanitize_text_field( $input['bguru_slide_one_image'] ); if( isset( $input['bguru_slide_one_heading'] ) ) $new_input['bguru_slide_one_heading'] = sanitize_text_field( $input['bguru_slide_one_heading'] ); if( isset( $input['bguru_slide_one_text'] ) ) $new_input['bguru_slide_one_text'] = sanitize_text_field( $input['bguru_slide_one_text'] ); if( isset( $input['bguru_slogan_heading'] ) ) $new_input['bguru_slogan_heading'] = sanitize_text_field( $input['bguru_slogan_heading'] ); if( isset( $input['bguru_slogan_description'] ) ) $new_input['bguru_slogan_description'] = sanitize_text_field( $input['bguru_slogan_description'] ); zwróć $nowe_wejście; } public function print_section_info() { print 'Wprowadź swoje ustawienia poniżej:'; } public function logo_callback() { printf( '<input type="text" id="bguru_logo" size="50" name="bguru_logo" value="%s" />', isset( $this->options[ 'bguru_logo'] ) ?esc_attr( $this->options['bguru_logo']) : '' ); } public function socialv_callback() { printf( '<input type="text" id="bguru_vimeo" size="50" name="bguru_vimeo" value="%s" />', isset( $this->options[ 'bguru_vimeo'] ) ?esc_attr( $this->opcje['bguru_vimeo']) : '' ); } public function slider1img_callback() { printf( '<input type="text" id="bguru_slide_one_image" size="50" name="bguru_slide_one_image" value="%s" />', isset( $this->options[ 'bguru_slide_one_image'] ) ?esc_attr( $this->options['bguru_slide_one_image']) : '' ); } public function slider1head_callback() { printf( '<input type="text" id="bguru_slide_one_heading" size="50" name="bguru_slide_one_heading" value="%s" />', isset( $this->options[ 'bguru_slide_one_heading'] ) ?esc_attr( $this->options['bguru_slide_one_heading']) : '' ); } public function slider1text_callback() { printf( '<input type="text" id="bguru_slide_one_text" size="50" name="bguru_slide_one_text" value="%s" />', isset( $this->options[ 'bguru_slide_one_text'] ) ?esc_attr( $this->options['bguru_slide_one_text']) : '' ); } public function slogan_head_callback() { printf( '<input type="text" id="bguru_slogan_heading" size="50" name="bguru_slogan_heading" value="%s" />', isset( $this->options[ 'bguru_slogan_heading'] ) ?esc_attr( $this->options['bguru_slogan_heading']) : '' ); } public function slogan_descr_callback() { printf( '<input type="text" id="bguru_slogan_description" size="50" name="bguru_slogan_description" value="%s" />', isset( $this->options[ 'bguru_slogan_description'] ) ?esc_attr( $this->options['bguru_slogan_description']) : '' ); } } if( is_admin() ) $my_settings_page = new MySettingsPage(); tutaj jest mój kod header.php, w którym wyświetlam wszystkie informacje z formularza opcji <?php $bguru_logo_image = get_option('bguru_logo'); if (!empty($bguru_logo_image)) { echo '

'; } else { echo '

'. get_bloginfo('nazwa') . '

'; }?> <?php $bguru_social_vimeo = get_option('bguru_vimeo'); if (!empty($bguru_social_vimeo)) { echo '
Vimeo
'; }?> Tak samo jak w przypadku obrazu suwaka, nagłówka suwaka, opisu suwaka. Proszę zasugerować kilka rozwiązań


title: WordPress jako kolekcja elementów współdzielonych

text: Zamierzam użyć WordPressa do stworzenia archiwum moich elementów oznaczonych gwiazdką/udostępnionych/ulubionych w kilku usługach, takich jak: * Ulubione na Twitterze * Ulubione w YouTube * Elementy oznaczone gwiazdką w Czytniku Google * Pytania oznaczone gwiazdkami z przepełnienia stosu * itp. Jako dane dla każdy typ jest inny, np. wideo/artykuł/krótki tekst, jaki byłby najlepszy sposób na zrobienie tego? Czy najlepszym sposobem byłby niestandardowy typ lub format posta dla każdego typu? A może ktoś ma jakieś sugestie dotyczące motywów lub wtyczek, które działają w podobny sposób, aby oszczędzić mi robienia tego wszystkiego od zera?


title: Brak błędu w trybie debugowania, nie można załadować szablonu wordpress

text: Próbuję rozwiązać ten problem przez wiele dni. Zużyłem wszystkie opcje i dlatego potrzebuję świeżych pomysłów. Mam szablon strony do publikowania / edycji 2 różnych niestandardowych typów postów z front-endu wordpress. Dla uproszczenia nazwę te niestandardowe typy postów jako post_type_x i post_type_y. Nazwy stron, na których można edytować te typy postów, to odpowiednio page_x i page_y, a obie strony są przypisane do korzystania z tego samego szablonu. Tak więc struktura kodu strony szablonu jest poniżej: <?php if (is_page('page_x')) { $current_post_type = "post_type_x"; niektóre instrukcje if określające zmienną $action zgodnie ze zmiennymi $_POST switch ($action) { case "...": .... break; case "update_save": .... przerwa; } } elseif (is_page('page_y')) { $current_post_type = "post_type_y"; niektóre instrukcje if określające zmienną $action zgodnie ze zmiennymi $_POST switch ($action) { case "...": .... break; case "update_save": .... przerwa; } } else { ... } .... get_header(); ?> .... <form action="<?php the_permalink(); ?>" method="post" name="post_adv_resp_form" enctype="multipart/form-data"> .... <input type=" file" name="file-attachment" id="file-attachment" /> .... </form> .... W przypadku "update_save" jest taki kod: case "update_save": $post_id = update_post_of_custom_type($_POST['post_id'],$post_title,$post_content,'draft'); if ($post_id != false) { $file_upload = upload_file_of_custom_type($_FILES['file-attachment'],$post_id,'file-attachment'); ...      } przerwanie; Problem polega na tym, że gdy testuję na page_x, sprawa "update_save" działa idealnie. Funkcja upload_file_of_custom_type przesyła plik, aktualizuje meta postu. Ale kiedy jestem na page_y, skrypt przesyła plik, a następnie się psuje, nie aktualizuje meta postu. I mam biały ekran. Chociaż tryb debugowania jest włączony, na ekranie nie pojawia się żaden błąd. Kiedy sprawdziłem logi Apache, nic nie znalazłem. function upload_file_of_custom_type($files,$post_id,$file_form_handler) { require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); ... niektóre kontrolki ... $attach_id = media_handle_upload( $file_form_handler, $post_id, array( 'test_form' => false ) ); $notice = "attach_id: ".$attach_id."przesyłanie jest OK"; if ($attach_id != false){ $file_load = update_post_meta($post_id,'_wp_attached_file',$attach_id); if ($file_load == false) { $notice = __('Wystąpił błąd podczas ustawiania meta postu dla przesłanego pliku.', TDOMAIN); } elseif ($file_load == true) { $notice = 'OK'; } } else { $notice = __('Wystąpił błąd podczas przesyłania pliku.', TDOMAIN); } return $uwaga; } Jeszcze jedna informacja.. post_type_y jest zamieszczony jako podstrona post_type_y.. Nie wiem, czy to robi jakąkolwiek różnicę.. Czy są jakieś pomysły na temat tego, na czym może polegać problem?


title: Jak sprawdzić poprawność danych wejściowych widżetu

text: Pracowałem z widżetami i widżetami API. Widzę, że formularz widgetu jest renderowany i przetwarzany przez funkcję widget(). Mogę napisać logikę walidacji wewnątrz funkcji widget(). Wykonam sprawdzenie isset($_POST) i napiszę w nim logikę obsługi formularza. Coś takiego: function widget($args){ extract($args); isset(){$_POST['fieldname'] { // logika przetwarzania formularza } // echo HTML Form } Chciałbym oddzielić logikę przetwarzania formularza od funkcji widgetu. Jak mogę to osiągnąć? Czy jest na to standardowy sposób?


title: Czy można wydrukować obrazek dołączony do posta w kb?

text: Próbuję znaleźć sposób na wydrukowanie rozmiaru kb obrazu dołączonego do posta. Czy ktoś ma pomysł jak to zrobić?


title: Zamiana pola niestandardowego na shortcode

text: Używam pól niestandardowych do mojego motywu wordpress, ale chciałbym teraz użyć skrótów, aby ułatwić publikowanie. więc wcześniej w moim index.php mam to: <?php echo get_post_meta($post->ID, "Miniatura", prawda);?> jak zastąpić to polami niestandardowymi? TAKIE, że mogę po prostu wstawić: [thumbnail]http://domain.com/image.jpg[/thumbnail]


title: Doświadczenia z dodawaniem Nonces do formularza komentarzy

text: Zastanawiałem się, jaki wpływ miałyby nonces na domyślny formularz komentarza, jaki ma motyw. Ponieważ Nonces są wbudowaną funkcją WordPressa, pomyślałem o wypróbowaniu jej. _**Czy ktoś już zaimplementował nonces w standardowym formularzu komentarza?_** (nie wyobrażam sobie, że jestem pierwszym, który o tym pomyśli... !) Czy ktoś może zasugerować już istniejącą wtyczkę, która spełnia swoje zadanie lub podać fragment kodu, który integruje WP Nonce Field z formularzem komentarza motywów i sprawdza go, gdy formularz zostanie przesłany?


title: Pomoc W3 Total Cache — Jak zaktualizować strefę DNS dla domeny statycznej

text: Prowadzę tę stronę: www.thetechnofreaks.com na Wordpress. Niedawno natrafiłem na wtyczkę, która twierdzi, że zwiększa wydajność ładowania strony w mojej witrynie. szczegóły wtyczki można znaleźć tutaj: http://wordpress.org/extend/plugins/w3-total-cache/installation/ Teraz wtyczka wspomina o samoobsługowej metodzie dla CDN, która jest znana jako pipelining. Stwierdza, że: > Jeśli nie masz dostawcy CDN, nadal możesz poprawić wydajność > swojej witryny, korzystając z metody „Self-hosted”. Na własnym serwerze utwórz > subdomenę i pasujący rekord strefy DNS; np. static.domain.com i odpowiednio skonfiguruj > Opcje FTP na karcie „Sieć dostarczania treści”. Pamiętaj, aby > FTP przesłać odpowiednie pliki, korzystając z dostępnych przycisków przesyłania. Teraz utworzyłem subdomenę static.thetechnofreaks.com, ale nie wiem, jak wpisać pasujący rekord strefy DNS i skonfigurować opcje FTP. Proszę, poprowadź mnie w tym zakresie. Poszedłem do mojego cPanel -> Simple DNS Zone Editor. Zawiera: Dodaj Nazwę rekordu A: Adres: Dodaj Nazwę rekordu CNAME: CNAME: Co mam w tym wpisać?


title: Tytuł menu wyjściowego

text: Czy można jakoś wyświetlić tytuł wp_nav_menu? Najbliższe, jakie udało mi się znaleźć, to http://codex.wordpress.org/Function_Reference/wp_nav_menu#Adding_a_Word_at_the_Beginning_of_the_Menu. W trosce o klienta i włączenie Polylang, pomyślałem, że fajnie byłoby umożliwić użytkownikowi edycję tych tytułów bezpośrednio w ustawieniach menu na desce rozdzielczej.


title: Wybór niestandardowego znacznika taksonomii front-end

text: Motyw, którego obecnie używam, zawiera frontowy pulpit nawigacyjny z publikowaniem i edycją postów, ale w istniejącym formularzu zgłoszeniowym brakuje obecnie pola do wybrania jednego lub więcej niestandardowych tagów taksonomii (taksonomia=ptags). To, co chciałbym zrobić, to dodać albo wymagane rozwijane pole wyboru znaczników do istniejącego formularza zawierającego dostępne znaczniki, albo wymagać od kontrybutora wybrania znaczników przy użyciu wielu pól wyboru. Idealnie byłoby, gdyby pole wyboru lub pola wyboru mogły wywołać/pobrać wszystkie niestandardowe znaczniki taksonomii utworzone w obszarze administracyjnym zaplecza i ograniczyć wybór frontonu do maksymalnej liczby znaczników (np. 3) podczas procesu delegowania. Tak więc moje pytanie brzmi, jak dodać niestandardowe pole wyboru tagu taksonomii do istniejącego formularza przesyłania postów front-end motywu i uczynić je wymaganym? Istniejący formularz właściwości (formularz właściwości) zaczyna się około wiersza 925 następującej strony html strony przesyłania frontonu. Z góry dziękuję wszystkim, którzy mogą pomóc, a przynajmniej wskazać mi właściwy kierunek.


title: wp_get_attachment_metadata zwraca false z hakiem add_action() „add_attachment”

text: Z następującym kodem w functions.php - `wp_get_attachment_metadata()` zwraca wartość false lub pustą. Być może próbuję użyć `wp_get_attachment_metadata()` zanim będzie gotowy? Jak wykazały niektóre testy, po ręcznym dodaniu wcześniej dodanego `$attachement_ID` otrzymuję żądane informacje. function my_custom_attachment($attachment_ID) { $meta = wp_get_attachment_metadata($attachment_id); // zwraca false } add_action('add_attachment', 'my_custom_attachment');


title: Wiele niestandardowych typów postów używających tej samej taksonomii = frustracje URL

text: Mam dwa niestandardowe typy wpisów: * Wydarzenia * Firmy Mam nową taksonomię, z której korzystają oba te CTP: * Lokalizacje Jeśli wejdę na „domain.com/events/” widzę archiwum wszystkich wydarzeń, a jeśli wejdę na „domain.com/businesses/” Widzę archiwum wszystkich firm. Na razie w porządku. Jeśli wejdę na „domain.com/locations/”, widzę archiwum wszystkich wydarzeń ORAZ firm, co jest OK. Jak jednak wyświetlić tylko lokalizacje wydarzeń? „domena.com/lokalizacje/wydarzenia” lub „domena.com/wydarzenia/lokalizacje” nie działają. Czy muszę zmienić ustawienia przepisywania dla taksonomii lokalizacji lub CPT? Wygląda na to, że utknąłem!


title: Próbuję zmienić polecany obraz ze 180x180 na pełną szerokość na stronie głównej

text: W tej chwili mój motyw umieszcza kwadratowy obraz 180x180 po lewej stronie tytułu na stronie głównej każdego posta na blogu. Chciałbym to zmienić na pełną szerokość obszaru zawartości i poniżej tytułu. Używam motywu dziecięcego, jakieś pomysły, jak to zrobić? Dziękuję!


title: Zaktualizować niestandardowy motyw za pomocą Subversion?

text: _Zanim zacznę: nie jestem pewien, czy jest to wykonalne, więc wszelkie wskazówki, sugestie, uwagi krytyczne są mile widziane._ Szukam łatwego sposobu na wdrożenie mojego kodu motywu Wordpress z mojego środowiska programistycznego (komputer lokalny z systemem WAMP) do mojego środowiska pomostowe i produkcyjne (oba są serwerami hostowanymi). Idealny przepływ pracy, którego szukam, wykorzystywałby Apache Subversion jako moje repozytorium kodu źródłowego i wyglądałby tak: 1. Wprowadź zmiany w moim motywie Wordpress w moim lokalnym środowisku, 2. Zatwierdź kod w repozytorium Subversion, które jest dostępne dla produkcji i testowania środowiska, 3. Następnie loguję się do mojego tymczasowego/produkcyjnego panelu sterowania Wordpress, 4. Przejdź do **Wygląd | Sekcja Motywy**, 5. Kliknij przycisk **Aktualizuj motyw** na panelu wyświetlania motywu, który aktualizuje motyw z pnia odpowiedniego repozytorium SVN. Miło mieć: * Sposób na cofnięcie zmian do poprzedniej wersji, * Powiadomienie informujące użytkownika, że jest dostępna aktualizacja, * Sposób na zatwierdzenie kodu bezpośrednio z Wordpressa (jeśli coś zmieniłeś za pomocą edytora motywów w Wordpress ) Jeśli to nie istnieje, zastanawiam się nad stworzeniem wtyczki, która osiągnie powyższe. Kluczem jest to, że wszystko dzieje się bezpośrednio przez panel administracyjny Wordpress. Używanie wiersza poleceń na każdym serwerze nie jest dla mnie opcją.


title: Dodawanie kolejnych pól do strony dodawania użytkownika na pulpicie nawigacyjnym

text: Pracuję nad stroną `Wordpress` i chciałbym dodać kilka dodatkowych pól do ekranu `user-new.php`, aby administrator mógł łatwo dodawać nowych użytkowników do strony. Pola musiałyby zawierać dane tekstowe w odniesieniu do adresu użytkownika i numeru członkostwa. Obecnie udało mi się uzyskać dodatkowe pola wyświetlane na ekranie `user-edit.php`. poniżej kod: function edit_contact_methods($profile_fields){ //Dodaj nowe pola $profile_fields['name'] = 'Name'; $profile_fields['address_1'] = 'Adres 1'; $profile_fields['address_2'] = 'Adres 2'; $profile_fields['address_3'] = 'Adres 3'; $profile_fields['address_4'] = 'Adres 4'; $profile_fields['address_5'] = 'Adres 5'; $profile_fields['address_6'] = 'Adres 6'; zwróć $profile_fields; } add_filter('user_contactmethods', 'modify_contact_methods'); Czy mimo to mogę to zrobić w formularzu dodawania użytkownika na pulpicie nawigacyjnym? Martwię się tylko o backend, ponieważ obecnie użytkownicy nie rejestrują się automatycznie w usługach witryn.


title: Jak przekierować z jednej witryny WP na drugą?

text: Chcę to skonfigurować, aby po kliknięciu karty w mojej jednej witrynie przekierowywało Cię do mojej drugiej witryny. Wypróbowałem każdy kod, jaki przychodzi mi do głowy i wydaje się, że nic nie działa. Proszę pomóż.


title: oOsadź vimeo z parametrami add_query_arg niewstawionymi do HTML

text:
Próbuję dodać kilka parametrów do filmów wideo oEmbeded Vimeo w moim szablonie strony głównej. Użyłem rozwiązania (z `add_query_arg`), które @splashingpixels zasugerowało tutaj: Dodaj parametry filmy vimeo za pomocą osadzonych na wordpressie `add_query_arg` dodaje parametry do adresu URL ok, a `var_dump` drukuje tekst adresu URL na stronie potwierdzając, że parametry są dodawane. Osadzone wideo poniżej `var_dump` nie otrzymuje parametru URL, tylko normalny adres URL Vimeo. Nie otrzymuję żadnych błędów z `WP_DEBUG`. To jest strona testowa: http://thegallerymusic.com/test/ To jest mój kod pętli: <?php $args = array( 'post_type' => 'films', 'posts_per_page' => 12 ); $the_query = nowe WP_Query( $args ); ?> <?php if ( $the_query->have_posts() ) : ?> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php /* Pobierz aktualny identyfikator posta. */ globalna $post; $post_id = $post->ID; /* Jeśli mamy identyfikator poczty, kontynuuj. */ if ( !empty( $post_id )) { ?>
 <?php //
<?php the_title(); ?><?php //
 ?> <?php $videourl = get_post_meta( $post_id, 'film_embed', true ); $videourl = add_query_arg( array('title' => '0', 'byline' => '0', 'portrait' => '0', 'badge' => '0',), $videourl ); var_dump($videourl); if ( $videourl != '' ) { echo wp_oembed_get( $videourl ); } ?> <?php if ( get_post_meta( $post_id, 'film_textarea', true ) ) : ?>

<?php echo get_post_meta( $post_id, 'film_textarea', true ); ?>

 <?php endif; ?>
 <?php wp_reset_postdata(); ?> <?php } else { ?>
<?php _e( 'Przepraszamy, nie ma postów spełniających twoje kryteria.' ); ?>
 <?php } ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', '_tk' ), ' po' => '
', ) ); ?> <?php koniec; ?> <?php endif; ?>


title: Kiedy używać pętli Wordpress lub pętli Foreach?

text: W jakich okolicznościach (powinieneś?) użyć pętli foreach zamiast pętli wordpress. Nie mam potrzeby kodowania, ale jestem ciekawa. Jaka jest tutaj dobra praktyka? Czy powinienem: $args=array( 'post_parent' => $pos_id, ); $sublabels=get_posts($args); foreach($sublabels as $sublabel) { // blabla coś do zrobienia foreach} Lub: query_posts(array( 'post_parent' => $pos_id, 'cat' => 'label', )); while (have_posts()) : the_post() ?> // a potem blabla coś dla każdego I dlaczego?


title: Pobierz wszystkie obrazy z postów z maksymalną liczbą i bez polecanego obrazu

text:
Niedawno zadałem pytanie, jak pobrać wszystkie obrazy ze wszystkich postów - i otrzymałem działającą odpowiedź, ale niestety kod dostaje również post-miniaturki i nie znalazłem sposobu na ograniczenie liczby zapytanych obrazów. Moje ostatnie pytanie jest tutaj. Dziękuję. <?php $query = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => -1 ) ); if( $query->have_posts() ){ while($query->have_posts()){ $query->the_post(); $thumb_ID = get_post_thumbnail_id( $post->ID ); $image_query = new WP_Query( array( 'post_type' => 'attachment', 'exclude' => $thumbID, 'post_status' => 'inherit', 'post_mime_type' => 'image', 'posts_per_page' => -1 , 'post_parent' => get_the_ID() ) ); while( $image_query->have_posts() ) { $image_query->the_post(); echo '

', wp_get_attachment_image( get_the_ID() ) , '

'; } } } ?> Zmiana liczby argumentów posts_per_page w image_query nie ma wpływu na liczbę wyświetlanych załączników. Przy pomocy @Bainternet wymyśliłem następujący, działający kod: <?php $image_count = 0; $max_images = of_get_option('thumbs_number'); $ Posts = nowy WP_Query(); $Posts->query('post_type=post&post_status=publish&posts_per_page=-1'); while ($Posts->have_posts()) : $Posts->the_post(); $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $post->ID, 'exclude' => get_post_thumbnail_id($id) ); $załączniki = get_posts( $args ); if ( $attachments ) { foreach ( $attachments as $attachment ) { if ($image_count < $max_images){ echo '

'; echo wp_get_attachment_link( $attachment->ID, 'footer_thumbs' ); echo '

'; $liczba_obrazów = $liczba_obrazów + 1; } } } endwhile;?>


title: Dowiedz się, kto usunął stronę lub post?

text: Ktoś przeniósł bardzo ważną stronę z mojej witryny do kosza i nie wiem, kto to zrobił! Nie został usunięty na stałe, więc w tym sensie nie muszę się martwić. Z wersji, kiedy ją przywróciłem, widać, że ktoś ją edytował 3 dni wcześniej, więc mogli to być oni, ale nie jestem pewien. Czy WP śledzi, kto klika przycisk kosza? Jeśli nie, zakładam, że musiałbym napisać niestandardowy skrypt, który po kliknięciu zostanie zaczepiony o przycisk kosza.


title: Problem z slugą strony nadrzędnej tylko w administratorze WordPress

text: Używam struktury permalink: /%category%/%postname%/, aby wyświetlać moje posty na blogu w ich kategorii w moim adresie URL. Zainstalowałem również WordPress SEO by yoast (jeśli to pomaga), ale zauważyłem, że kiedy idę opublikować stronę i wybieram stronę nadrzędną, adresy URL w adminie stają się: http://www.mysite.com/current-page/ bieżąca-strona/ zamiast: http://www.mojawitryna.com/strona-nadrzędna/bieżąca-strona/. Jednak i przeglądam stronę ze strony, adres URL jest poprawny. Tylko w adminie pojawia się problem i jest to dość frustrujące dla klienta. Czy ktoś doświadczył tego samego problemu? Jestem zdesperowana, bo szukam tyle dni i nie znalazłam żadnego rozwiązania. Jeśli chcesz, abym udzielił Ci dodatkowych informacji, z przyjemnością to zrobię!! Z góry dziękuję!


title: Pobierz bezpłatną wersję próbną po wprowadzeniu wiadomości e-mail

text: W przypadku mojej witryny Wordpress byłoby przydatne, gdybym mógł pozwolić ludziom na dostęp do zasobu, jeśli wprowadzili adres e-mail. Idealnie byłoby, gdyby użytkownik wpisał adres e-mail, a następnie otrzymałby link do pobrania zasobu. Uwaga: nie szukam wsparcia dla wtyczek innych firm. Szukam przydatnych sugestii, jak można to zrobić z Wordpressem. Jeśli istnieje wtyczka, która może to zrobić, z zadowoleniem przyjmę tę sugestię.


title: jak zmienić domyślną ikonę niestandardowej wtyczki?

text:
Zrobiłem niestandardową wtyczkę dla **POLL** . Kiedy go aktywuję, na pasku bocznym pojawia się domyślna ikona. Chcę zmienić tę domyślną ikonę. Oto mój kod, który napisałem w pliku **init.php**. add_action('admin_menu', 'mt_add_pages'); // funkcja akcji dla powyższego hooka function mt_add_pages() { // Dodaj nowe menu najwyższego poziomu (niewskazane): add_menu_page(__('Sonda','menu-test'), __('Sonda','menu -test'), 'opcje_zarządzania', 'zarządzaj-sondażami', 'strona_ankiety' ); // Dodaj podmenu do niestandardowego menu najwyższego poziomu: add_submenu_page('manage-polls', __('Dodaj nową sondę','menu-test'), __('Dodaj nową sondę','menu-test') , 'opcje_zarządzania', 'dodaj ankietę', 'dodaj_nową_stronę_ankiety'); } // mt_toplevel_page() wyświetla zawartość strony dla niestandardowej funkcji menu Test najwyższego poziomu poll_page() { if (!current_user_can('manage_options')) { wp_die( __('Nie masz wystarczających uprawnień, aby uzyskać dostęp do tej strony.') ); } echo "
"; echo "
"; echo '

'; echo "
"; echo "
" . __( 'Zarządzaj ankietami', 'menu-test' ) . "
"; include_once 'manage-polls.php'; } // mt_sublevel_page() wyświetla zawartość strony dla pierwszego podmenu // niestandardowej funkcji menu Test Toplevel add_new_poll_page() { if (!current_user_can('manage_options')) { wp_die( __('Nie masz wystarczających uprawnień do wejść na tę stronę.') ); } echo "
"; echo "
"; echo '

'; echo "
"; include_once 'poll_form.php'; } Przeszukałem, ale nie przychodzą wyniki dla niestandardowego motywu. :( więc pytam tutaj. Z góry dziękuję!!!!!!