title: Całkowita liczba postów w zeszłym roku

text: Jak mogę sprawdzić całkowitą liczbę postów w zeszłym roku? Piszę artykuł ze statystykami i chcę poznać liczbę postów opublikowanych w zeszłym roku. Coś tu jest, ale nie dla zeszłego roku http://perishablepress.com/press/2006/08/28/display-total-number-of-posts/ Wyświetla tylko całkowitą liczbę wszystkich postów


title: Jak mogę dodać opcję eksportu do WP_List_Table?

text: Mam stronę administratora, która rozszerza klasę WP_List_Table, aby wygenerować tabelę wyników z niestandardowej tabeli bazy danych. Próbuję dodać przycisk, który umożliwi administratorowi wyeksportowanie wyników (przefiltrowanych według dowolnych wyszukiwanych haseł) do pliku CSV. Oto wyzwanie: * Klasa WP_List_Table przekazuje wyszukiwane hasła itp. przez parametry zapytania GET. Jeśli mój przycisk „Eksportuj” przejdzie na oddzielną stronę, myślę, że będę musiał ręcznie dodać parametry GET dla przycisku Eksportuj. * Eksport CSV będzie wymagał ode mnie wysłania nagłówków HTTP (w szczególności Content-type i Content-Disposition). Jeśli po prostu mam przycisk Eksportuj jako specjalny przycisk przesyłania o określonej nazwie/wartości, nie wiem, jak uzyskać WP_List_Table, aby sprawdzić parametry GET dla stanu przycisku Eksportuj przed wyzwoleniem wczesnych zaczepów wyjściowych, takich jak admin_head(). Jestem pewien, że istnieje metoda, którą przeoczyłem. Czy ktoś może mi udzielić porady?


title: Wdrażasz aktualizacje programistyczne WordPress w wielu witrynach?

text: Mam witrynę wordpress z wieloma kopiami i hostowaną na wielu serwerach. To używa motywu potomnego. Mam swoją lokalną kopię i rozwijam ją na tej kopii. W kopii lokalnej dodałem wiele plików, stron i kilka zmian w bazie danych. Chcę zaktualizować wszystkie kopie serwera z lokalnej opracowanej kopii. Jak mogę to zrobić? Czy mogę to osiągnąć, po prostu aktualizując motyw z zaplecza?


title: Jak odwrócić kolejność wpisów na blogu Wordpress?

text: WP 3.0.2 Próbowałem dodać <?php query_posts($query_string . "ℴ=ASC") ?> nad <?php if(have_posts()) : ?> w pliku page.php, bez rezultatu


title: Jak wyświetlić Small Box wewnątrz obszaru zawartości, który przechowuje (tekst, obrazy, linki)?

text: Chcę wygenerować unikalny TEKST+Obrazy+Link dla każdego (pojedynczego) postu, wyniki będą widoczne w obszarze zawartości po prawej stronie, w PUDEŁKU. Mam już wtyczki WP-InfoBox (http://wordpress.org/extend/plugins/wp-infobox/) działa podobnie, ale programista, który zrobił, nie zawracał sobie głowy klasą, identyfikatorem - więc jest pomieszany -up cały temat. Próbowałem zmienić klasę, nazwy ID z wtyczek, ale to i tak nie działa. Nakłada się na siebie i spędziłem prawie 3-4 godziny, ale nie mogłem tego rozwiązać. Jednak podstawowe rzeczy, których szukam * Dołącz obrazy+tekst+link do formularza WordPress Obszar NIESTANDARDOWY * Widoczność w lokalizacji (patrz obrazy) Czy ktoś może mi pomóc w tym problemie, byłoby świetnie.


title: dodawanie moich postów (postów autora) w menu

text: Chcę dodać "moje posty" do menu głównego. Klikając w to, każdy zalogowany użytkownik zobaczy swoje własne posty. Nie wiem, jak powinna wyglądać struktura linków, aby dodać je do menu.


title: Jak filtrować statyczną stronę posta za pomocą ajax i $wp_query

text:
Jestem zagubiony, znalazłem kilka pytań bez odpowiedzi związanych z tym. Mam statyczną stronę posta z formularzem wyszukiwania na pasku bocznym. To, co chcę, to wpisać słowo kluczowe, a następnie „filtrować” (powrót z ajaxem) tylko te posty, które pasują do wyszukiwania. Chcę też, żeby to było paginowane. Znalazłem kilka sposobów na manipulowanie `$wp_query` tak, abym mógł użyć tej samej pętli do wywołania ajax. Niestety, kiedy patrzę na `global $wp_query` w functions.php, gdzie jest moja akcja zwrotna, jest ona w zasadzie null lub inicjowana do domyślnych parametrów. Debuguję wszystko lokalnie, zastanawiam się, czy miałoby to na cokolwiek wpływ. Nie potwierdziłem tego, ale czy ta zmienna globalna nie powinna pozostać taka sama, chyba że coś jej się jawnie stanie (np. Nawigacja do nowej strony)? To jest wywołanie zwrotne w funkcji functions.php cbSearch() { $counter=1; $html=""; globalne $wp_query; if ( have_posts() ) { while ( have_posts() ) { the_post(); $html.="
"; $html.=the_title('
','
'); $data= strtoupper(get_the_date('F Y')); $subtitle = get_post_meta (get_the_ID(), 'subtitle', $single = true); $summary = get_the_excerpt();//get_post_meta (get_the_ID(), 'summary', $single = true); $html.="
".$subtitle." - ".$data."
"; $upload_dir = wp_upload_dir(); $html.=""; $html.="
"; $html.=$podsumowanie; $html.=" › CZYTAJ WIĘCEJ"; $html.="
"; if ($counter != count($posts)) { $html.="
"; } ++$licznik; $html.="
"; echo $html; $html=""; } } $html.="
"; $html.=""; $html.=get_previous_posts_link("P"); $html.=""; $html.=""; $html.=get_next_posts_link(" N "); $html.="
"; echo $html; umierać(); } Używam punktu przerwania w tej funkcji, aby znaleźć parametry `$wp_query`. To jest zwracane, gdy wykonuję var_dump natychmiast po wywołaniu `global $wp_query;` object(WP_Query)[145] public 'query' => null public 'query_vars' => array empty public 'tax_query' => null public ' meta_query' => boolean false public 'queried_object' => null public 'queried_object_id' => null public 'request' => null public 'posts' => null public 'post_count' => int 0 public 'current_post' => int - 1 public 'in_the_loop' => boolean false public 'post' => null public 'comments' => null public 'comment_count' => int 0 public 'current_comment' => int -1 public 'comment' => null public 'found_posts ' => int 0 public 'max_num_pages' => int 0 public 'max_num_comment_pages' => int 0 public 'is_single' => boolean false public 'is_preview' => boolean false public 'is_page' => boolean false public 'is_archive' = > logiczne false public 'is_date' => boolean false public 'is_year' => boolean false public 'is_month' => boolean false public 'is_day' => boolean false public 'is_time' => boolean false public 'is_author' => boolean false public 'is_category' => boolean false public 'is_tag' => boolean false public 'is_tax' => boolean false public 'is_search' => boolean false public 'is_feed' => boolean false public 'is_comment_feed' => boolean false public 'is_trackback ' => boolean false public 'is_home' => boolean false public 'is_404' => boolean false public 'is_comments_popup' => boolean false public 'is_paged' => boolean false public 'is_admin' => boolean false public 'is_attachment' = > boolean false public 'is_singular' => boolean false public 'is_robots' => boolean false public 'is_posts_page' => boolean false public 'is_post_type_archive' => boolean false public 'query_vars_hash' => boolean false public 'query_vars_changed' => boolean true public 'thumbnails_cached' => boolean false Wiem, że funkcja ajax działa. Czy ktoś może mi powiedzieć, dlaczego $wp_query zamienia się w śmieci gdzieś pomiędzy ładowaniem strony a żądaniem http? EDYCJA: Po rozważeniu logiki trochę więcej, nie sądzę, aby typowa paginacja działała z ajaxem. Ponieważ next/previous_posts_link zapewnia adres URL dla linku, oznacza to, że parametry $wp_query są ładowane na podstawie szablonu strony, wszelkie dodatkowe parametry w adresie URL. Dopiero gdy $wp_query wie, że ładuje szablon strony next/previous_posts_link zwróci http://domain.com/new/page/2/ zamiast http://domain.com/wp-admin/admina-ajax.php?paged =2. Rozważam użycie `get_posts()` w wywołaniu ajax i zwrócenie postów dla jednej strony oraz utworzenie następnych/poprzednich linków, które wywołują funkcję ajax z przesunięciem reprezentującym numer strony.


title: Ukryj echo braku kategorii z get_object_taxonomies

text:
Poniższy kod działa idealnie, aby pokazać wszystkie kategorie dla niestandardowego typu wpisu. Jednak gdy nie ma kategorii, pojawia się echo „Brak kategorii”. Jak mam to usunąć? <?php //Wyświetlanie kategorii dla niestandardowego typu postu - Wideo $customPostTaxonomies = get_object_taxonomies('opd-music'); if(count($customPostTaxonomies) > 0) { foreach($customPostTaxonomies as $tax) { $args = array( 'orderby' => 'name', 'show_count' => 0, 'pad_counts' => 0, 'hierarchiczne ' => 1, 'taxonomy' => $tax, 'title_li' => '', 'echo' => 0, 'style' => 'prosty' ); echo ''; echo 'Wszystkie'; echo str_replace( '
', '', wp_list_categories( $args ) ); echo ''; } } ?>


title: Które podpięcia są uruchamiane przed/po usunięciu kategorii?

text: Do jakich akcji może się podłączyć wtyczka w celu przetworzenia, gdy użytkownik usunie kategorię?


title: W wordpressie manipuluję odpowiedzią 404. Chcę udzielić odpowiedzi, zanim błąd 404 zostanie przekazany do google

text: Może pytanie w tytule nie wyjaśnia, czego dokładnie chcę. Wyjaśnię więc jedną logikę, a następnie zapytam, jaki problem mam z tego powodu. Używamy wordpressa. Mamy 2 kategorie Option1 (mające 64 różne wartości) i Option2 (mające 8 różnych wartości). Chcieliśmy url taki jak naszadomena/Opcja1/Opcja2 w zależności od lokalizacji użytkownika. Dane w tym adresie URL będą określone zgodnie z Opcją 1 i Opcją 2. Nie chcieliśmy, aby wszystkie te 64*8 rzeczywistych stron wordpress zostały utworzone. Więc po wielu poszukiwaniach w sieci mieliśmy jedno rozwiązanie, w którym zaimplementowałem jedną wtyczkę do routingu. W ten fragment kodu wyglądał następująco. funkcja site_router () { globalna trasa $, $ wp_query, $ window_title; raportowanie_błędów(E_ALL); if ( $wp_query->is_404) { $wp_query->is_404 = false; $cUrl="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $targetUrl=""; switch($cUrl) { /* Zgodnie z warunkiem napisałem różne przypadki jak poniżej. */ default : { include(get_template_directory() . "/home.php" ); $template =locate_template('ścieżka strony/home.php'); $window_title = 'nadejdzie dynamicznie'; if ($szablon) { load_template($szablon); umierać; } } } } } add_action( 'wp', 'site_router'); Tak więc mój cel został pomyślnie zrealizowany. Ale teraz problem polega na tym, że Google mówi, że zwraca błąd 404. Myślę, że oczywiście to da, ponieważ po wyświetleniu błędu robimy całe ładowanie szablonu i wszystkie inne rzeczy. Czy jakiekolwiek ciało może mnie poprowadzić, jak mogę to zrobić, zanim ta odpowiedź 404 zostanie przekazana do Google.


title: Dodawanie treści do pasków bocznych

text: Pracuję nad układem trzykolumnowym, w którym wszystkie trzy kolumny będą miały różną treść w zależności od postu/strony w kolumnie głównej. Jak mam dać możliwość zmiany i aktualizacji zawartości paska bocznego i wyświetlania go w szablonach za pomocą czegoś takiego jak `<?php the_content() ?>` ? Ponieważ zawartość paska bocznego jest powiązana z postem, będę potrzebować sposobu na odniesienie się do odpowiedniej zawartości paska bocznego dla posta. Z góry dziękuję Z poważaniem, nav


title: Jak przechowywać i odbierać zmienne w sesjach WP?

text: Mam formularz z kilkoma polami wyboru i polami do wprowadzania danych i pokazuje, czego chce użytkownik za pośrednictwem wywołania ajax. Problem polega na tym, że gdy użytkownik kliknie element i wyświetli się strona szczegółów, a następnie zdecyduje się wrócić do poprzedniej strony, musi kliknąć i ponownie wybrać poprzedni wybór. Chciałbym, aby WP przechowywał wszystkie opcje w sesji po kliknięciu przycisku do strony szczegółów i zapisał aktualne informacje w sesji, a następnie, gdy ponownie odwiedzi stronę, wartości będą sprawdzane w sesjach i ustawiane, jeśli są znaleziony. Czy można to zrobić w WP? Jeśli tak, to jak? Upraszczajmy to i powiedzmy, że mamy coś takiego w naszym formularzu: <input class="car_color" type="checkbox" name="car_color" value="1" /> <input class="car_color" type="checkbox „ nazwa="kolor_samochodu" wartość="2" /> <input class="kolor_samochodu" type="pole wyboru" nazwa="kolor_samochodu" wartość="8" /> <input class="kolor_samochodu" typ="pole wyboru" ="car_color" value="4" /> <input class="car_color" type="checkbox" name="car_color" value="6" /> Nie używam przycisku przesyłania w moim formularzu, jest on obsługiwany przez AJAX przy zmianie wejścia. A w moich wynikach dostaję się przez ajax mam link do strony szczegółów: <a class="detail-info-link" href="<?php echo $url ?>"> Jakiś pomysł, jak mogę przechowywać moje wartości w sesji i wywoływać je podczas ponownego odwiedzania/przeładowywania/powrotu w przeglądarce? Muszę być w stanie odczytać rzeczy zapisane w sesji i używać ich za pomocą ?Javascript? i uruchomić moją funkcję wyszukiwania przez ajax, który już działa dobrze. Potrzebuję tylko przechowywać (prawdopodobnie przed przejściem do $link w href lub by detail button oraz odczytywać i wysyłać zmienne sesji (jeśli istnieją).


title: Zapytanie o posty autora i posty, które mają identyfikator autora jako wartość meta

text:
Próbuję uzyskać posty z identyfikatorem autora jako wartością meta w szablonie `author.php` przy użyciu dodatkowego parametru żądania. Na przykład chcę posty z identyfikatorem johna jako wartością meta przy użyciu żądania takiego jak http://localhost:8888/twitgreen/author/john/?eco=somemetakey Do tej pory mogę to zrobić za pomocą `nowego WP_query` w autorze. php w ten sposób if ( get_query_var('paged')) { $paged = get_query_var('paged'); } elseif ( get_query_var('strona')) { $paged = get_query_var('strona'); } else { $paged = 1; } if($_GET['eco']=='somemetakey'){ $lot = array( 'meta_query' => array( 'key' => 'jakiśmetakey', 'value' => $current_view->ID ) ), 'post_type'=>'lot', 'paged'=>$paged , ); } $wp_query = nowe WP_Query($lot); //i tu trochę pętli
<?php next_posts_link( __( '← Starsze posty', 'clonecell' ) ); ?>

<?php previous_posts_link( __( 'Nowsze posty →', 'clonecell' ) ); ?>
  Ale niestety nie działa na następnych stronach. Adres URL `http://localhost:8888/twitgreen/author/verifikator/page/2/?eco=somemetakey` wskazuje na stronę 404. **Pytanie** * Jak mogę wyszukiwać posty z ID autora jako wartością meta w author.php? * Jak mogę wyszukiwać posty z identyfikatorem autora jako wartością meta lub post od tego autora w author.php? * Jak mogę to zrobić za pomocą haków WordPress? Z góry dziękuję.


title: Pisanie niestandardowej wtyczki Glosariusz

text: Zaraz zaczynam pracę nad wtyczką Glosariusz do mojej strony o akwarystyce. Mój rybny guru zasugerował, że chciałby móc * dołączać obrazy i * łatwo łączyć się z innymi wpisami w słowniku. Na początek zamierzałem po prostu napisać taksonomię: tytuł, ślimak, opis, rodzic. z rodzicem będącym inicjałem hasła glosariusza dla łatwego wyszukiwania. To jednak prawdopodobnie nie załatwi sprawy – jak mogę w ten sposób dołączyć obrazy lub linki? Jaki byłby najskuteczniejszy sposób rozwiązania tego problemu? * Niestandardowy typ posta? * Jak mogę zapewnić autorom wpisu w glosariuszu prosty sposób łączenia się z innym wpisem w glosariuszu? **EDYTUJ** Szukam konkretnie glosariusza z następującymi rodzajami haseł: > **Sinice** - Gromada ogólnie niebiesko-zielonych bakterii, często > mylona z algami, które pozyskują energię poprzez fotosyntezę i obejmują > gatunki jednokomórkowe i kolonialne. Niektóre gatunki występują powszechnie w akwariach > gdzie są zwykle uważane za szkodniki. i.. > **Ich** - Nazwa zwyczajowa Ichthyophthirius multifiliis, pierwotniaka, który > zaraża ryby słodkowodne. Nazywany również białą plamą.


title: Jak dodać obrazy przesłane w poście do domyślnego pola niestandardowego?

text: Próbuję dodać adres URL obrazów posta w domyślnym polu niestandardowym. Oto kod, który otrzymałem do tej pory... Oto jak dodaję domyślne pole niestandardowe: add_action('wp_insert_post', 'mk_set_default_custom_fields'); function mk_set_default_custom_fields($post_id) { if ( $_GET['post_type'] != 'post' ) { add_post_meta($post_id, 'Image', '', true); } zwróć prawdę; } Teraz potrzebuję funkcji, która wypełnia wartość adresem URL z przesłanego obrazu. Jeśli nie ma przesłanego obrazu, pole może być puste. Oto kod do wypełnienia wartości informacjami, ale potrzebuję adresu URL miniatury w wartości add_post_meta ($post_id, 'niestandardowa nazwa pola', 'niestandardowa wartość pola', prawda);


title: WordPress zastępuje podwójne znaki minusa w tytule posta, jak to wyłączyć?

text: czasami mam tytuły postów, które zawierają 2 znaki minus obok siebie (--), ale wordpress zawsze usuwa jeden ze znaków minus. Wygląda tak: „Mój--Tekst” do „Mój-Tekst” jakiś pomysł, jak go wyłączyć? Pozdrawiam Chris


title: Pobierz wszystkie identyfikatory terminów postu

text: Mam tablicę identyfikatorów terminów, za pomocą których chciałbym filtrować moje zapytanie, ale większość funkcji wordpress wydaje się również wymagać wprowadzenia pola „taksonomii”. Czy jest ku temu powód? Przekazywanie identyfikatora taksonomii wydaje się niepotrzebne, jeśli i tak wszystkie identyfikatory terminów są unikalne, chyba że czegoś brakuje. Wygląda na to, że nie mogę zapytać o to bezpośrednio za pomocą Wordpress, szukałbym czegoś takiego: $terms_array = get_term_ids(get_the_ID()); Jakieś pomysły, jak najlepiej to zrobić?


title: Aktywacja użytkownika w wordpressie

text: Chcę, aby moi użytkownicy najpierw aktywowali swoje konta, aby mogli korzystać ze wszystkich funkcji witryny. W tabeli `wp_users` znajduje się pole o nazwie `user_status`, którego domyślną wartością jest `0`. Zastanawiam się, do czego służy to pole? Czy powinienem użyć `user_meta` do wskazania statusu aktywacji moich użytkowników. PS Rejestracja użytkowników odbywa się ręcznie za pomocą wtyczki, którą piszę.


title: Jak wyodrębnić wszystkie zmienne ID z ciągu zapytania?

text: Jaka jest najlepsza metoda php do wyodrębnienia wszystkich identyfikatorów z ciągu zapytania i wyświetlenia ich na liście oddzielonej przecinkami? Mam funkcję, która pobiera określone posty z bazy danych i próbuję wprowadzić te identyfikatory do nowej pętli wp_query. Array ( [0] => obiekt stdClass ( [ID] => 162 [autor_postu] => 1 [data_publikacji] => 22.10.2011 09:25:46 [data_post_gmt] => 22.10.14:25 :46 [post_content] => [post_title] => Paper III [post_excerpt] => [post_status] => opublikuj [comment_status] => otwórz [ping_status] => otwórz [post_password] => [post_name] => paper-iii [to_ping] => [pingowane] => [post_modified] => 2011-12-22 09:22:05 [post_modified_gmt] => 2011-12-22 14:22:05 [post_content_filtered] => [post_parent] => 0 [guid] => http:/mysite.org/?post_type=album&p=162 [menu_order] => 0 [post_type] => album [post_mime_type] => [comment_count] => 0 [user_nicename] => matt ) [ 1] => obiekt stdClass ( [ID] => 166 [p ost_author] => 2 [post_date] => 2011-12-22 11:32:46 [post_date_gmt] => 2011-12-22 16:32:46 [post_content] => [post_title] => album mtayli [post_excerpt] => [post_status] => publikuj [comment_status] => open [ping_status] => zamknięty [post_password] => [post_name] => mtaylas-album [to_ping] => [pinged] => [post_modified] => 2011- 12-26 20:23:00 [post_modified_gmt] => 2011-12-27 01:23:00 [post_content_filtered] => [post_parent] => 0 [guid] => http:/mysite.org/?post_type=album&p =166 [menu_order] => 0 [post_type] => album [post_mime_type] => [comment_count] => 0 [user_nicename] => mtayla ) [2] => stdClass Object ( [ID] => 308 [post_author] = > 2 [data_postu] => 31.01.2012 15:04:29 [post_date_gmt] => 2012-01-31 20:04:29 [post_content] => [post_title] => inny album [post_excerpt] => [post_status] => opublikuj [comment_status] => otwórz [ping_status] => otwórz [post_password] => [post_name] => inny-album [to_ping] => [pinged] => [post_modified] => 2012-01-31 15:04:29 [post_modified_gmt] => 2012-01-31 20: 04:29 [post_content_filtered] => [post_parent] => 0 [guid] => http:/mysite.org/?post_type=album&p=308 [menu_order] => 0 [post_type] => album [post_mime_type] => [ liczba_komentarzy] => 0 [nazwa_użytkownika] => mtayla ) )


title: Optymalne podejście do zastąpienia 8 obrazów nagłówka w motywie potomnym?

text: Po stworzeniu motywu potomnego, który składa się wyłącznie z `style.css` (bazuje na `twentyeleven`), nadszedł czas na wymianę obrazów. Znalazłem tę świetną wskazówkę, jak osiągnąć to poprzez zhakowanie funkcji w `twentyeleven`, ale moim głównym zmartwieniem jest zminimalizowanie pracy po aktualizacji WordPressa. Myślałem o zastąpieniu obrazów w `/wp-content/themes/twentyeleven/images/headers` (przy zachowaniu oryginalnych nazw, jak przy `twentyeleven`), ale czy to jest lepsze? Wygląda na to, że w przyszłości ponownie zastosuję moje dostosowania po aktualizacji WordPressa. Czy istnieje sposób na zastąpienie 8 obrazów _dla motywu podrzędnego_ i zachowanie zmian po aktualizacji?


title: Potrzebujesz funkcji post_type_archive_title, ale w „jednym”

text: Próbuję wyciągnąć niestandardową nazwę/tytuł typu wpisu do użytku w okruszku chleba pojedynczego pliku szablonu [cpt].php. W archiwum-[cpt].php mogę użyć post_type_archive_title() i powtórzyć nazwę. Jak uzyskać ten sam tytuł w jednym widoku? Dziękuję! Przeszukałem kodeks i nie widziałem funkcji, ale mogłem ją przegapić!


title: Ustawianie niestandardowego adresu e-mail od imienia i adresu e-mail w wp_email()

text: Piszę niestandardową wtyczkę, która wysyła wiadomość e-mail do użytkowników z sekcji admin/frontend. Używam wp_email() do wysyłania wiadomości e-mail, a wiadomości e-mail są wysyłane w porządku. Testuję to na zwykłej instalacji WP z zainstalowaną tylko moją wtyczką i hostgatorem jako moim serwerem hostingowym. Za każdym razem, gdy wiadomość e-mail jest wysyłana, wiadomość e-mail jest wysyłana z adresu xyz@gator39.hostgator.com, a nie z adresu e-mail konta administratora WP. Próbowałem również ustawić niestandardowe haki, jak wspomniano tutaj, i ustawić niestandardowe nagłówki, ale żaden z nich nie działa. Nie jestem pewien, jaki błąd popełniam. Czy możesz mi pomóc rozwiązać ten problem. Kod podany poniżej **EDYTUJ** Próbowałem również przetestować go z innego dedykowanego serwera Windows i otrzymałem ten sam błąd. // nowa nazwa function smartsms_mail_from_name() { return "WebMaster"; //$nazwa = get_option('nazwa bloga'); //$nazwa = esc_attr($nazwa); //zwróć $nazwa; } // nowa funkcja adresu e-mail smartsms_mail_from() { return "webmaster@example.com"; //$email = get_option('admin_email'); //$email = is_email($email); //zwróć $e-mail; } add_filter('wp_mail_from', 'smartsms_mail_from'); add_filter( 'wp_mail_from_name', 'smartsms_mail_from_name'); //$headers = 'Od: '. get_option('nazwa_bloga') .' <' . get_option('admin_email') . '>'; $headers = 'Od: webmaster@example.com' . "\r\n" .'Odpowiedz do: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . wersja php(); $mail = wp_mail($do, $temat, $wiadomość, $nagłówki); > Po odpowiedzi Brady'ego poniżej, zmodyfikuj kod jak poniżej..ale nie wysłano żadnego e-maila. > Jednak otrzymuję wiadomość jako "Wiadomość została wysłana pomyślnie" :( if($to!="") { //$headers = 'Od: '.get_option('blogname') .' <' .get_option(' admin_email') '>'; //$headers = 'Od: webmaster@przyklad.com' . "rn" .'Odpowiedz do: webmaster@przyklad.com' . "rn" . 'X-Mailer: PHP/ ' .phpversion(); add_filter('wp_mail_from', 'smartsms_mail_from'); // dodaj filtr, aby zmodyfikować pocztę od add_filter('wp_mail_from_name', 'smartsms_mail_from_name'); // dodaj filtr, aby zmodyfikować pocztę od nazwy add_filter(' wp_mail_content_type', 'smartsms_wp_mail_content_type'); // dodaj filtr, aby zmodyfikować typ treści poczty $mail = wp_mail($to, $subject, $message); // wyślij mail remove_filter('wp_mail_from', 'smartsms_mail_from'); // usuń zastosowany filtr remove_filter('wp_mail_from_name', 'smartsms_mail_from_name'); // usuń zastosowany filtr usuń_ filtr ('wp_mail_content_type', 'smartsms_wp_mail_content_type'); // usuń zastosowany filtr //$mail = wp_mail($do, $temat, $wiadomość, $nagłówki); if($mail) { echo 'Twoja wiadomość została wysłana!'; } else echo 'Wystąpił problem podczas wysyłania Twojej wiadomości. Proszę spróbuj ponownie.'; } // nowa nazwa function smartsms_mail_from_name() { return "WebMaster"; //$nazwa = get_option('nazwa bloga'); //$nazwa = esc_attr($nazwa); //zwróć $nazwa; } // nowa funkcja adresu e-mail smartsms_mail_from() { return "webmaster@example.com"; //$email = get_option('admin_email'); //$email = is_email($email); //zwróć $e-mail; } funkcja smartsms_wp_mail_content_type() { return "text/html"; }


title: Nadrzędne pola niestandardowe z zaawansowanymi polami niestandardowymi

text: mam menu nawigacyjne dla roku, marki, modelu samochodów. Czy możliwe jest ustawienie pól niestandardowych nadrzędny, podrzędny, aby po wybraniu Hondy w wersji 2011, Hondy, CRV nie były wyświetlane inne modele samochodów innych niż honda http://ansamaverick.com/inventory/


title: Dlaczego get_posts miałoby ignorować posty z dwucyfrowymi identyfikatorami?

text: Używam tego kodu do wyświetlania stron podrzędnych bieżącej strony i podobnego kodu, aby uzyskać strony podrzędne wszystkich przodków do użycia w kontekstowym, hierarchicznym menu nawigacyjnym paska bocznego: $pageset = get_posts('numberposts=0&post_type=page&post_parent='.$wp_query ->post->ID); Z jakiegoś powodu obie iteracje ignorują posty z dwucyfrowym identyfikatorem posta. Wszystko inne jest w porządku. Czy czegoś mi brakuje? Czy mam ustawienie, które jest nieprawidłowe? Uderzam tu głową...


title: Chcę edytować paginację AJAX Wordpress

text:
Używam tego kodu, aby móc załadować moją zawartość za pomocą Ajax (ładowanie zawartości bez odświeżania strony). Kod, który znalazłem, zanika zawartość i zanika w nowej zawartości. Chcę dodać nową zawartość pod starymi. Innymi słowy, podobny do Twenty Thirteen Theme Wordpressa. Czy ktoś może mi pomóc To jest skrypt po `wp_header();` w header.php <skrypt> jQuery(document).ready(function(){ // ajax pagination jQuery('#pagination a').live(' click', function(){ // jeśli nie używasz wp-page-numbers, zmień to na poprawny identyfikator var link = jQuery(this).attr('href'); // #main to identyfikator zewnętrznego opakowania div Twoje posty jQuery('#homepage-content').html('Loading...'); // #entries to identyfikator wewnętrznego div otaczającego Twoje posty jQuery('#homepage-content').load(link+' #homepage-post') }); }); // zakończenie gotowej funkcji </script> Tak wygląda mój kod HTML
 <?php $my_query = new WP_Query( $args ); if ( $my_query->have_posts() ) : while ( $my_query->have_posts() ) : $my_query->the_post(); ?>


title: Wordpress Twenty Eleven PhP - zmuszanie kodu php do pomijania pierwszego posta na stronie głównej?

text:
![Co chcę naprawić](http://i.stack.imgur.com/TjZDM.png) Skonfigurowałem mój Wordpress, aby dodać miniatury wyróżnionych obrazów Wordpress do wszystkich postów na stronie głównej. Jak sprawić, by kod pomijał dodawanie [miniatur wyróżnionych obrazów Wordpress][3] do pierwszego posta [the_content() ~ w kodzie poniżej] i dodawał je tylko do [miniatur wyróżnionych obrazów wordpress][4] pozostałych postów [the_excerpt () ~ w poniższym kodzie]? Kod, który umieściłem w content.php, aby umieścił [miniaturki wyróżnionych obrazów Wordpress][5] na stronie głównej. Link do kodu pastebin Tutaj <?php if ( is_search() | is_home() ) : // Edytuj to, aby wyświetlić fragmenty w innych obszarach motywu?>

<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink do %s' , 'dwadzieścia jedenaście' ), the_title_attribute( 'echo=0' ) ); ?>" rel="zakładka"> <?php the_post_thumbnail('excerpt-thumbnail', 'class=alignleft'); ?>
 <?php if($wp_query->current_post == 0 && !is_paged()) { the_content(); } inny { wyciąg_(); } ?>
 <?php else : ?>
 <?php the_content( __( 'Kontynuuj czytanie →', 'dwadzieścia jedenaście' ) ); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'twentyeleven') . '', ' po' => '
' ) ); ?>
 <?php endif; ?>


title: Czy podczas instalacji MS możesz zezwolić różnym użytkownikom na posiadanie własnych motywów?

text: Czy w instalacji MS można zezwolić administratorom witryn sieciowych na edycję własnych motywów? Na przykład chciałbym dać wszystkim dostęp do motywu ABC, ale jeśli jeden użytkownik edytuje ten motyw, bezproblemowo tworzy własną instancję motywu, więc nie ma to wpływu na motyw innego użytkownika. Uważam, że krótka odpowiedź brzmi „nie”, więc zastanawiam się, czy są jakieś dobre pomysły na wdrożenie tego rodzaju systemu.


title: hak woocommerce_payment_complete wywoływany dopiero po zaakceptowaniu płatności?

text: Czy istnieje określone ustawienie PayPal, które pozwala WooCommerce na wykonanie `woocommerce_payment_complete` bez ręcznego akceptowania płatności? Mam funkcję, która się od niego uzależnia. Zasadniczo aktualizuje rekord w bazie danych po zakończeniu przez klienta zakupu produktu. Myśli?


title: Prawidłowe podejście do walidacji niestandardowych danych wejściowych

text: Mam niestandardowy typ posta z kilkoma niestandardowymi polami. Chcę przeprowadzić walidację tych pól, ponieważ będą one używane przez inne usługi. Dlatego ważne jest, aby nie można go było zapisać, dopóki nie zostanie poprawnie wprowadzony. Walidacja jest dość złożona i wymaga niestandardowej logiki. Niestety w tym konkretnym przypadku użycie wtyczki również nie zadziała. Czy w tym przypadku jest idealny haczyk? Na wysokim poziomie - jak najlepiej się do tego zabrać.


title: Akcja dodawania w funkcji

text: Jak mogę uzyskać add_action do pracy w funkcji, chcę ukryć kilka pozycji menu administratora, ale nie tworzyć użytkownika i edytora. function my_remove_menu_pages() { remove_menu_page('tools.php'); remove_menu_page('themes.php'); remove_menu_page('opcje-general.php'); remove_menu_page('plugins.php'); } add_action('admin_init', 'check_username'); funkcja check_username() { $user = wp_get_current_user(); if($user && isset($user->user_email) && 'username@example.com' == $user->user_email) { add_action( 'admin_menu', 'my_remove_menu_pages' ); } }


title: Zarejestruj taksonomię wcześniej, aby można było jej używać w functions.php i admin-ajax.php

text:
Jest to kontynuacja tego postu, wyjaśniająca, dlaczego nie mogę użyć funkcji get_terms w functions.php (właściwie wywoływanie przez ajax/admin_ajax.php). Mogę pobrać terminy (podatek niestandardowy) w dowolnym poście, na dowolnej stronie, z wyjątkiem funkcji ajax. Otrzymuję przerażający błąd „taksonomia nie istnieje” podczas zrzucania wartości get_terms. Problem polega na tym, że taksonomia jest zarejestrowana _po_ wywołaniu funkcji, aby znaleźć terminy. Pytanie brzmi, jak odpowiednio wcześnie zarejestrować podatek, aby móc skorzystać z tej funkcji? Mój kod do zarejestrowania niestandardowego typu postu i taksonomii jest pierwszy w moim functions.php (dołączony za pośrednictwem zewnętrznego php, aby zachować czystość functions.php) /******************** ****************************** * * 1.0 ------------------ Wydarzenia ---------------- * ******************************** ****************/ // 1. Rejestracja niestandardowego typu posta (zdarzenia) add_action( 'init', 'create_event_postype', 0 ); function create_event_posttype() { $labels = array( 'name' => _x('Zdarzenia', 'Ogólna nazwa typu posta'), 'singular_name' => _x('Event', 'Pojedyncza nazwa typu postu'), 'add_new ' => _x('Dodaj Nowe', 'events'), 'add_new_item' => __('Dodaj Nowe Wydarzenie'), 'edit_item' => __('Edytuj Wydarzenie'), 'new_item' => __(' Nowe zdarzenie'), 'view_item' => __('Wyświetl zdarzenie'), 'search_items' => __('Wyszukaj zdarzenia'), 'not_found' => __('Nie znaleziono zdarzeń'), 'not_found_in_trash' => __('Nie znaleziono zdarzeń w Koszu'), 'parent_item_colon' => '', ); $args = array( 'label' => __('Zdarzenia'), 'labels' => $labels, 'public' => true, 'can_export' => true, 'show_ui' => true, '_builtin' = > false, '_edit_link' => 'post.php?post=%d', // ?'capability_type' => 'post', 'menu_icon' => get_bloginfo('template_url').'/images/icons/events .png', 'hierarchical' => false, 'rewrite' => array( "slug" => "zdarzenia" ), 'supports'=> array('title', 'thumbnail', 'excerpt', 'editor' , 'niestandardowe-pola') , 'show_in_nav_menus' => true, 'taxonomies' => array('post_tag', 'tf_eventtype') ); register_post_type( 'tf_events', $args); } // 2. Rejestracja taksonomii niestandardowej (typy zdarzeń) add_action( 'init', 'create_eventtype_taxonomy', 0 ); function create_eventtype_taxonomy() { $labels = array( 'name' => _x( 'Typ zdarzenia', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Typ zdarzenia', 'nazwa osobliwa taksonomii' ), 'search_items ' => __( 'Wyszukaj typy zdarzeń' ), 'popular_items' => __( 'Popularne typy zdarzeń' ), 'all_items' => __( 'Wszystkie typy zdarzeń' ), 'parent_item' => null, 'parent_item_colon' => null, 'edit_item' => __( 'Edytuj typ zdarzenia' ), 'update_item' => __( 'Aktualizuj typ zdarzenia' ), 'add_new_item' => __( 'Dodaj nowy typ zdarzenia' ), 'new_item_name' => __( 'Nowa nazwa typu zdarzenia' ), 'separate_items_with_commas' => __( 'Oddziel typy zdarzeń przecinkami' ), 'add_or_remove_items' => __( 'Dodaj lub usuń typy zdarzeń' ), 'choose_from_most_used' => __ ( 'Wybierz z najczęściej używanych typów zdarzeń' ), ); register_taxonomy('tf_eventtype','tf_events', array( 'label' => __('Typ zdarzenia'), 'labels' => $labels, 'hierarchical' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'typ-zdarzenia' ), )); } Oto trochę pseudokodu, który pokazuje, jak wywołuję tę funkcję z niestandardowej strony, wywołuję funkcję przez AJAX (ajax-admin.php) $.ajax({ type: "POST", url: "<? bloginfo ('url'); ?>/wp-admin/admin-ajax.php", //Wbudowane dane WP AJAX: dane, sukces: function(data){ //console.log('wyszukiwanie zakończone'); $ ("#lista-zdarzeń").html(dane) } }); Oto funkcja, która wywołuje niestandardowe zapytanie i gdzie get_terms kończy się niepowodzeniem. /************************************************** *************** * * 1.0 Zapytania kalendarza AJAX * **************************** ***********************************/ // jeśli zarówno zalogowani, jak i niezalogowani użytkownicy mogą wysyłać to żądanie AJAX, // dodaj obie te akcje, w przeciwnym razie dodaj tylko właściwą add_action( 'wp_ajax_nopriv_calendar_search', 'calendar_search' ); add_action( 'wp_ajax_calendar_search', 'calendar_search' ); function calendar_search() { $args = array( 'post_type' => 'tf_events', 'post_status' => 'publish', 'order' => 'ASC' ); $zapytanie = nowe WP_Query( $args ); // - początek pętli - if ( $query->have_posts() ) { while ($query->have_posts()) : $query->the_post(); /*Pokazuje dostępne posty. */ //Typ zdarzenia $cats = get_the_terms($post->ID , 'tf_eventtype'); //funkcja, która nie działa. Wszystkie inne dane niestandardowe działają dobrze echo '
ID . '" itemscope itemtype="http://schema.org/Event"> <time></ czas>
'. pobierz_tytuł() . '

'; if($koty) foreach($koty jako $kot){ echo " | " . $kot->imię; } echo "

"; koniec; } else { echo "
Przepraszamy, nie znaleziono żadnych wydarzeń!
"; } umiera(); // jest to wymagane do zwrócenia prawidłowego wyniku }


title: Gdzie opublikować/przesłać nowy motyw do repozytorium motywów WordPress

text: Po długim poświęceniu stworzyłem motyw GPL dla WordPressa. Chcę, aby była dostępna ZA DARMO w repozytorium motywów WordPress.org. Ale konsultując się z wieloma zasobami Codex, nie znalazłem bezpośredniego linku, w którym mogę opublikować / przesłać mój motyw do repozytorium motywów WP. **P: Gdzie mogę przesłać mój motyw do repozytorium motywów WP?**


title: Pobierz najnowszą wersję wtyczki z WP API

text: Piszę wtyczkę, która sprawdza i zbiera dane z WP - w tym informacje o zainstalowanych wtyczkach. Większość potrzebnych danych mogę uzyskać za pomocą `get_plugins()` - jednak chciałbym również sprawdzić najnowszą wersję każdej wtyczki hostowaną w repozytorium - ale nie mogę znaleźć metody API do tego. Przepraszam, nie mam kodu do wklejenia do komentowania... ale dobrze przeszukałem - szczerze! Gdzie mogę znaleźć prosty i skuteczny sposób sprawdzenia?


title: Jak usunąć sufiks z tytułu tagu bieżącego archiwum?

text: Cześć, jestem nowy w WordPressie. Zajmuję się tworzeniem strony internetowej. Jako pasek menu wymieniam nazwy wszystkich kategorii. Problem polega na tym, że kiedy klikam kategorię z paska menu, wyświetla się słowo „Archiwum” wraz z nazwą kategorii. Wyświetla to samo we wszystkich kategoriach na pasku menu. Jak mogę usunąć słowo „Archiwum” z tytułu z wyświetlania? Proszę pomóż mi.


title: Dodaj zawartość do ekranów administratora /wp-admin/plugin-install.php

text: Chciałbym dodać zewnętrzną zawartość do informacji o wtyczce wyświetlanych na ekranach administratora `/wp-admin/plugin-install.php`. `/wp-admin/plugin-install.php` wywołuje: $wp_list_table = _get_list_table('WP_Plugin_Install_List_Table'); A jeśli zhakuję ten plik core jako test, mogę dodać zawartość, którą chcę, OK. Jednak jako nowy programista WP naprawdę staram się zobaczyć, jak mogę dodać tę zawartość za pomocą wtyczki. `klasa WP_Plugin_Install_List_Table` rozszerza `WP_List_Table`, więc nie sądzę, żebym mógł to dalej rozszerzać. Czy istnieje sposób na dodanie treści za pomocą wtyczki do tych ekranów?


title: Multisite za lakierem

text: Próbuję użyć lakieru z witryną wp 3.0.5 z siecią (Multisite), kiedy uzyskuję dostęp do adresu URL lakieru, otrzymuję komunikat: Multisite działa tylko bez numeru portu w adresie URL. Czy potrzebuję niestandardowego VCL, aby to zadziałało? Używam tej samej konfiguracji zaplecza dla innych witryn Wordpress, które działają dobrze. Jeśli muszę o to zapytać w przypadku awarii serwera, daj mi znać, a ja tam zapytam.


title: wp_insert_user potwierdzenie e-mail

text: Tworzę nowego użytkownika, gdy zostawią komentarz, robię to za pomocą funkcji wp_insert_user create_comment_user($comment_ID){ global $wpdb; $comment = get_comment($comment_ID, ARRAY_A); if($comment["user_id"] == 0){ $user = get_user_by('email', $comment["comment_author_email"]); if(! $user){ $new_id = wp_insert_user(array( 'user_pass' => wp_generate_password(), 'user_login' => $comment["comment_author_email"], 'user_email' => $comment["comment_author_email"], ' user_nicename' => strtolower(str_replace(' ', '-', $_POST['autor'])).'-'.strtolower(str_replace(' ', '-', $_POST['autor_last'])), 'display_name' => ($_POST['autor']).' '.($_POST['author_last']), 'first_name' => ($_POST['autor']), 'last_name' => ($ _POST['author_last']), 'role' => 'Subskrybent' ) ); if ($nowy_id) wp_new_user_notification ($nowy_id ); }     }     zwrócić; } add_action("comment_post", "create_comment_user", 10, 1); Potwierdzenie e-mail nie jest wysyłane, ale użytkownik jest tworzony. Jakieś pomysły dlaczego?


title: Zmieniłem moją witrynę z HTTPS z powrotem na HTTP i teraz jest zepsuta - Nie można uzyskać dostępu do panelu administracyjnego na HTTP URL

text: Mam witrynę WordPress, którą uruchamiałem na każdej stronie przez SSL przez ostatni rok. Właśnie dodałem nową witrynę do tego samego serwera i muszę dzielić IP z nową witryną, a nowa witryna wymaga SSL znacznie bardziej niż stara witryna. Przeszedłem więc przez proces zmiany wszystkich moich linków `https` z powrotem na `http`. Moja witryna ładuje się teraz poprawnie na zwykłym `http`, z wyjątkiem 2 problemów. 1) Kiedy przeglądam źródło, pokazuje wiele rzeczy wciąż powiązanych z `https`, jednak żadna z nich nie pochodzi z Bazy Danych. Zamiast tego to wszystkie miejsca, w których `home_url()` jest używany do generowania adresu URL! Przeszukałem i zamieniłem całą bazę danych, aby upewnić się, że wszystkie linki https są z powrotem do http, ale zachowuje się tak, jakby adres URL mojej witryny był nadal HTTPS, gdy wywołuję ustawienia WordPress dla adresu URL. 2) Z powodu tego dziwacznego zachowania nie mogę uzyskać dostępu do mojego panelu administracyjnego, ponieważ przekierowuje teraz do „https”! Jak wspomniałem, baza danych nie zawiera już nigdzie HTTPS. Nie mam też wtyczek, które zmuszają administratora lub cokolwiek do korzystania z HTTPS. Więc nie mogę zrozumieć, dlaczego `home_url()` wypisuje adres URL `https` zamiast `http`, gdy baza danych ma wszystkie adresy `http`. Zwróć też uwagę na te szczegóły... * że nie mam żadnego buforowania! * Usunąłem również wszystkie transjenty * W pliku htaccess nie ma nic, co powoduje przekierowanie mojego panelu administracyjnego na https, ale przekierowuje do https, które już nie istnieje, więc nie mogę się już zalogować do panelu administracyjnego. * Wszystkie pliki bazy danych zostały zaktualizowane i przekonwertowane z „https” na „http” w każdej tabeli związanej z wordpressem. posty, opcje, itp... * Nie widzę żadnej wtyczki, która robiłaby to do tej pory * Nie widzę też żadnego kodu w moich funkcjach ani żadnych innych dołączonych niestandardowych plików, które zmieniałyby moje `home_url() ` do `https` * W moim pliku `wp-config.php` nic nie powoduje tego.


title: klasa obrazu usunięta w fragmencie

text: Mam wbudowane obrazy w treści mojego posta, które mają klasy. klasy są dostępne, gdy przechodzę na pojedynczą stronę w następujący sposób:  , ale są usuwane, gdy przeglądam je na mojej stronie głównej za pomocą fragmentu.  czy wordpress manipuluje klasami we fragmencie?


title: jak dezaktywować wtyczkę bez korzystania z funkcji WP?

text: Chcę dezaktywować moją wtyczkę, ale BEZ używania update_option() lub jakiejkolwiek innej podstawowej funkcji WP. Jak najlepiej się do tego zabrać? Bezpośrednie połączenie i modyfikacja DB?


title: Czy istnieje odniesienie do haka i hacków Wordpress?

text: Szukam strony internetowej, która ma wiele hacków i haków Wordpress. Niektóre haczyki, jak aktywacja trybu debugowania itp. Czy możesz podać mi wiele takich przyszłości?


title: Pytanie dla początkujących: Jak utworzyć stronę „najnowsze wiadomości” pokazującą listę postów z kategorii blogów

text: Używam motywu Modest z eleganckich motywów na http://lilsaintz.co.nz Pod suwakiem na stronie głównej znajdują się trzy obszary treści, które są generowane ze stron. Chciałbym, aby jeden z obszarów treści był elementem „Najnowsze wiadomości” pokazującym 5 ostatnich postów z bloga (kategoria = blog). Mając na uwadze, że jestem kompletnym nowicjuszem WP - chociaż jestem naprawdę dobry w wykonywaniu instrukcji :) - jaki byłby najlepszy sposób, aby to zrobić? Dziękuję Ci!


title: Jak wyprowadzić wbudowane widżety z liczbą w zakresie jako klasą?

text: Chciałbym, aby mój motyw był przyjazny dla urządzeń mobilnych, zmieniając kontenery z widżetami w przyciski dotykowe, których zawartość wylatuje po najechaniu kursorem. Dlatego będę musiał bezwzględnie pozycjonować zawartość każdego pojemnika o kilka pikseli więcej niż poprzedni. Cóż, mógłbym to osiągnąć, planując rozmieszczenie widżetów przed uruchomieniem witryny, a następnie polegać na nazwach klas generowanych powszechnie przez WP, ale ponieważ chcę pozostawić zamówienie klientowi, nie jest to rozwiązanie. Sztuczka polegałaby na przekazaniu każdemu widżetowi nazwy klasy w odniesieniu do jego pozycji w zakresie. Czy jest na to sposób?


title: Wyrażenie awaryjne if na podstawie liczby odfiltrowanej z niej

text:
Próbuję dodać trzy reklamy na stronie. Mam niestandardowy typ posta o nazwie „reklamy” i używam zaawansowanych pól niestandardowych, aby dodać datę rozpoczęcia i datę zakończenia oraz opcję wyboru stron, z którymi mają być skojarzone. Chcę ustawić obraz zastępczy dla reklam, jeśli nie ma żadnych reklam spełniających te kryteria.. if ( $start_date <= $current_date && $end_date >= $current_date && in_array( $page_id, $page_ids )) powiedzmy, że mam skonfigurowanych 6 reklam, a tylko 1 spełnia te kryteria i jest nadal aktywna. Instrukcja „else” nie bierze pod uwagę liczby aktywnych reklam, więc jeśli aktywna jest tylko jedna reklama, nadal będzie wyświetlana 3. Chciałbym, aby wyświetlała tylko reklamy zastępcze, jeśli nie ma żadnych reklam, które pasują do tę instrukcję „if”, ale nie mogę znaleźć sposobu, jak to zrobić w tym momencie pętli. Mam `posts_per_page` ustawiony na nieograniczony, ponieważ muszę je filtrować według daty i powiązanych z nimi stron, więc używam `$i < 3` w pętli while, aby ograniczyć ją do trzech reklam od tego momentu. Zasadniczo nie wyświetlaj żadnych reklam zastępczych, chyba że nie ma żadnych reklam pasujących do „instrukcji if”. Jest to prawdopodobnie bardziej pytanie PHP, ale zawiera pętlę wp, więc pomyślałem, że to lepsze miejsce. Czy ktoś ma jakieś pomysły? Dzięki <?php $current_date = date('Ymd'); $page_object = get_queried_object(); $page_id = get_queried_object_id(); $args = array( 'post_type' => 'reklamy', 'posts_per_page' => -1, 'orderby' => 'rand' ); $reklamy = nowe WP_Query( $args ); if ( $ads->have_posts() ) : $i = 0; while ( $ads->have_posts() && $i < 3 ) : $ads->the_post(); $data_początkowa = get_field( 'data_początkowa' ); $data_końcowa = get_field( 'data_końcowa' ); $link = get_field( 'link' ); $display = get_field( 'display_on_page' ); $page_ids = tablica(); // Przechowuj identyfikatory w tablicy foreach ( $display jako $post_object ) { $page_ids[] = $post_object->ID; } // Pokaż reklamy, które znajdują się pomiędzy datami rozpoczęcia i zakończenia i pasują do wybranych identyfikatorów strony, jeśli ( $start_date <= $current_date && $end_date >= $current_date && in_array( $page_id, $page_ids )) { ?>

 <a href="<?php echo $link; ?>"><?php the_post_thumbnail( 'reklamy' ); ?>

 <?php } else { // Zapętli się 3 razy dla reklam zastępczych ?>

 <img src="<?php bloginfo( 'template_url' ); ?>/images/ad-listing.jpg" alt="Reklama">

 <?php } $i++ ; koniec; endif; ?>


title: Wykorzystanie zmiennych globalnych we wtyczce

text: Tworzę swoją pierwszą wtyczkę i stwierdziłem, że muszę wywoływać te same zmienne opcji w różnych częściach tej samej strony, dlatego szukałem rozwiązania i natknąłem się na zmienne globalne, które wydają się działać dla mnie, jednak po przeczytaniu kilku artykuły ludzie wydają się być przeciwni używaniu zmiennych globalnych, a także nie jestem do końca pewien, czy używam ich we właściwy sposób. Oto co mam; /************************* * Zmienne ************************* */ globalna $bClass, $cClass, $dClass, $cExpiry; $bKlasa = $cKlasa = $dKlasa = $cWygaśnięcie = get_option('mojaopcja'); Następnie, ponieważ używam pojedynczej opcji do zapisania odpowiednich zmiennych w tablicy, powtórzyłbym wartość w ten sposób, że **jquery** wygasa: <?php global $cExpiry; echo $cExpiry['cExpiry']; ?>, a potem użyłbym go również w innych funkcjach na tej samej stronie. U mnie to działa, ale wciąż zastanawiam się, czy robię to dobrze. **aktualizacja** Dzięki za wyjaśnienia, skończyłem używając zmiennych lokalnych i znalazłem błąd w moim kodzie; Ponieważ wszystkie moje zmienne są zapisane w jednej opcji, użyłem tylko jednej zmiennej lokalnej; $options = get_option('mojaopcja'); Wtedy uzyskałbym dostęp do tablicy, umieszczając zmienną w nawiasach kwadratowych <?php echo $options['var1']; ?> Podczas gdy wcześniej robiłem `$bClass = $cClass = $dClass = $cExpiry = get_option('myoption');` co jest złe.


title: Jak dodać wiele wartości za pomocą add_query_arg?

text: Załóżmy, że jestem na tym adresie URL mojej witryny http://demo.com/?cat=1+2+3 A teraz ktoś klika link wygenerowany za pomocą add_query_arg(). Jak sprawić, by ten link trafił na http://demo.com/?cat=1+2+3+4 Próbuję utworzyć filtr taksonomii i oto co mam: foreach ( $sub_terms as $st ) { echo 'term_id ,"http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]") )'" class="subterm">'. $st->nazwa .''; } Zamiast dołączać mój identyfikator terminu do adresu URL, po prostu zastępuje cat nową wartością: http://demo.com/?cat=4 Mam nadzieję, że jest wystarczająco jasne Dzięki!


title: Budujesz witrynę katalogu członków na WordPress z integracją API Facebook?

text: Chcę zbudować katalog członków dla jednej z moich witryn WordPress, który łączy się z interfejsem API Facebooka. Użytkownicy strony mogliby przeglądać katalog członków i przeglądać swój profil na Facebooku oraz informacje takie jak adres e-mail, numer telefonu, strona internetowa itp. Zasadniczo myślę, że członkowie będą musieli zalogować się do Facebooka ze strony i „zezwól na dostęp”. Następnie WordPress może pobierać dane członków z Facebooka, takie jak adres e-mail, numer telefonu, strona internetowa itp. i przechowywać je jako niestandardową meta w WordPress. Jednym z problemów związanych z tym podejściem byłoby to, że gdy użytkownik zaktualizował swój profil na Facebooku, witryna WordPress nie byłaby aktualizowana, dopóki nie zaloguje się ponownie na stronie, a proces „aktualizacji” rozpocznie się ponownie. Czy jestem daleko od bazy? Czy jest na to łatwiejszy sposób? Czy jest coś, co mogłoby mnie z tym zacząć, czy też musiałby być zbudowany całkowicie od zera?


title: Wtyczki do blogowania na żywo?

text: Czego wszyscy używacie do blogowania na żywo? Znalazłem Live Blogging Chrisa Northwooda (więcej niż potrzebuję) i Twitter LiveBlog Mashuqur Rahmana (chcę, aby pozostał w WordPressie). Czy to naprawdę jedyne dwie gry w mieście?


title: Jak mogę przejść przez niestandardowy typ postu zgodnie z niestandardowym polem meta?

text: Mam witrynę winiarni z niestandardowym typem wpisu „wino”, każde wino ma różne niestandardowe pola meta, takie jak „vintage”, „pH”, „Varietal-Composition” itp. Teraz chciałbym wymienić wszystkie wina, które są rocznikowe =2005. Jakieś wskazówki?


title: Dodawanie własnego tekstu w tytułach pozycji z wp_nav_menu()

text: Muszę coś dodać po każdym tytule określonego menu wywoływanego przez wp_nav_menu() Próbowałem add_filter('wp_nav_title', 'testing_stuff'); z funkcją testing_stuff() { $item->title = $item->title . „testowanie”; zwróć $element->tytuł; } bez powodzenia, nie jestem wystarczająco obeznany z podpinaniem. Mój cel: * kiedy zadzwoniłem do menu ID = 4; * dla każdego tytułu każdego elementu * wyciągam dane z bieżącej meta strony za pomocą $meta_value = get_post_meta( $post->ID, $meta_key, true ); * Dodaję te dane po tekście zakotwiczenia w A więc każda pozycja menu będzie miała dodaną do swojej zawartości określone dane, dane, które mógłbym manipulować z pola niestandardowego. Byłbym wdzięczny za każdą wskazówkę, która skierowałaby mnie na właściwą ścieżkę. Dziękuję Ci.


title: Co powinienem napisać w akcji post tego formularza front-end post?

text:
Postępuję zgodnie z tym samouczkiem, aby zbudować formularz frontendowy: <?php /** * * Nowy formularz postów dla niestandardowych typów postów dla interfejsu Twojej witryny * Autor: Jared Williams - http://new2wp.com * * Ostatnia aktualizacja : 30.08.2010 */ // Sprawdź, czy formularz został przesłany if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] )) { // Wykonaj pomniejszy formularz walidacja, aby upewnić się, że istnieje treść if (isset ($_POST['title'])) { $title = $_POST['title']; } else { echo 'Proszę podać tytuł'; } if (isset ($_POST['opis'])) { $opis = $_POST['opis']; } else { echo 'Proszę wprowadzić treść'; } $tags = $_POST['post_tags']; // Dodaj zawartość formularza do $post jako tablicę $post = array( 'post_title' => $title, 'post_content' => $description, 'post_category' => $_POST['cat'], // Użyteczne również dla niestandardowych taksonomii 'tags_input' => $tags, 'post_status' => 'publish', // Wybierz: publikuj, podgląd, przyszłość itp. 'post_type' => $_POST['post_type'] // Użyj niestandardowy typ posta, jeśli chcesz ); wp_insert_post($post); // Przekaż wartość $post do WordPressa funkcji wstawiania // http://codex.wordpress.org/Function_Reference/wp_insert_post wp_redirect( home_url() ); // przekieruj do strony głównej po przesłaniu } // zakończ IF // wykonaj akcję wp_insert_post, aby ją wstawić do_action('wp_insert_post', 'wp_insert_post'); ?>
 <form id="nowy_post" name="nowy_post" method="post" action="">
Tytuł
 <input type="text" id="title" value="" tabindex="1" size="20" name="title" />

Opis
 <textarea id="description" tabindex="3" name="description" cols="50" rows="6"></textarea >

<?php wp_dropdown_categories( 'show_option_none=Kategoria&tab_index=4&taxonomy=kategoria' ); ?>

Tagi <input type="text" value="" tabindex="5" size="16" name="post_tags" id= "post_tags" />

<input type="prześlij" value="Publikuj" tabindex="6" id="prześlij" name="prześlij" />
 <input type="ukryty" name="post_type" id="post_type" value="post" /> <input type="ukryty" name="akcja" value="post" /> <?php wp_nonce_field( 'nowy -Poczta' ); ?> </form>
  Teraz część akcji: <form id="new_post" name="new_post" method="post" action=""> Jest pusty Próbowałem dwóch rzeczy: próbowałem umieścić cały kod w pliku o nazwie page-submit.php. Rozumiem: > Wygląda na to, że nie możemy znaleźć tego, czego szukasz. Być może wyszukiwanie lub jeden z poniższych linków > może pomóc. Próbowałem również umieścić część php w pliku o nazwie frontpost.php. i dodanie tego: <form id="nowy_post" name="nowy_post" method="post" action="<?php echo get_template_directory_uri(); ?>/frontpost.php"> do akcji. Ale pojawia się błąd serwera. Jakieś sugestie, jak to naprawić?


title: Jak używać niestandardowego arkusza stylów tylko dla szablonu w motywie potomnym

text: Używam motywu X firmy Themco. Do modyfikacji stylów motywu użyłem motywu potomnego Ethos dostarczonego przez Themeco. Zaprojektowałem niestandardowy szablon w motywie potomnym. Teraz chcę, aby arkusz stylów custom-style.css był używany tylko dla tego motywu. Ale kiedy używam tego <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/custom-style.css"> pojawia się link motyw macierzysty, a nie motyw potomny. Co jeszcze można zrobić, aby używać tego arkusza stylów tylko dla tego szablonu? Pamiętaj, że nie chcę, aby ten arkusz stylów był używany w żadnym innym szablonie.


title: Jak wymagać minimalnego rozmiaru obrazu do przesłania?

text: Potrzebuję sposobu, aby ograniczyć autorom możliwość przesyłania obrazów o określonych wymiarach. Powiedzmy, że chcę zezwolić na przesyłanie tylko obrazów o wymiarach co najmniej 400 x 400 pikseli. Jeśli rozmiar obrazu jest mniejszy, autor powinien otrzymać komunikat o błędzie, że obraz jest za mały. Czy istnieje wtyczka lub kod, który może to osiągnąć?


title: Niestandardowy pokaz slajdów jquery?

text: Chciałbym mieć coś takiego, co jest pod NAJNOWSZYMI ARTYKUŁAMI: http://themeforest.net/item/equilibrium-clean-and-modern-wp-portfolio-theme/full_screen_preview/505517 Dość łatwo mogę to zbudować z efektem jquery slide , ale nie mam pojęcia, jak sprawić, by aktualizował się automatycznie za każdym razem, gdy przesyłam nowy post. Czy ktoś wie, jak mogę zbudować tę funkcję na moim blogu, a może jest wtyczka do tej funkcji? Dziękuję!


title: Problem z umożliwieniem użytkownikowi edycji Markdown i wyświetlaniem kodu HTML (wtyczka WMD Editor dla Wordpress)

text: Oto implementacja edytora WMD dla Wordpress. **Gdy użytkownik pisze post, wszystko jest wyświetlane OK:** ![tu wpisz opis obrazu](http://i.stack.imgur.com/1RDFw.png) ![tu wpisz opis obrazu](http:/ /i.stack.imgur.com/ijfV3.png) **Problem występuje, gdy użytkownik kliknie EDYTUJ:** ![tu wpisz opis obrazu](http://i.stack.imgur.com/lLNTE.png) Wyświetlana jest wersja HTML (myślę, że jest to normalne zachowanie, ponieważ Edytor WMD zamienił wersję Markdown posta na HTML). Jakie są kroki, aby to naprawić? czy jest nowa wersja, która to rozwiązuje? (sprawdzałem inne pytania, ale nikt nie podaje konkretnego rozwiązania).


title: Ocena w postaci gwiazdek dla niestandardowych typów postów

text: Muszę dodać oceny w postaci gwiazdek do jednego z moich niestandardowych typów postów. Na początku sam je zakodowałem, ale kiedy pojawiło się wyzwanie oceny, pomyślałem o użyciu wtyczki, więc użyłem łatwych typów postów. Wypróbowałem kilka wtyczek z gwiazdkami i żadna z nich nie działa. Na przykład, z WP-PostRatings, użyłem następnego kodu w moim pojedynczym customposttype.php: <?php if(function_exists('the_ratings')) { the_ratings(); } ?> Obraz pokazuje, ale kliknięcie nic nie daje. To samo dzieje się z innymi wtyczkami. Star Ratins mówi tylko „wystąpił błąd”, ale nie są wyświetlane żadne inne informacje dotyczące debugowania. Więc nie wiem, czy mógłbyś polecić alternatywne wtyczki lub jakąkolwiek alternatywną metodę dodania funkcji oceny gwiazdek dla mojego niestandardowego typu postu, ponieważ nie mogę sprawić, by działała tak, jak jest.


title: Google Analytics zawsze pokazuje co najmniej dwie odsłony strony na wizytę – co może to spowodować?

text: Używam Google Analytics na moim blogu wordpress i widzę podejrzane liczby: * bardzo niski współczynnik odrzuceń (mniej niż 1%) * podczas podglądu na żywo zawsze widzę odsłony jako wielokrotność dwóch Moje inne blogi nie wykazują takiego zachowania. Podejrzewam, że liczba stron jest wysyłana dwukrotnie do Google, ale nie mam pojęcia, dlaczego tak się dzieje. Używam wtyczki o nazwie „Google Analyticator” do śledzenia mojego bloga. Zgodnie z moją najlepszą wiedzą (przejrzałem pliki szablonu), nie ma „bezpośrednich” połączeń do Google. Co mogę zrobić, aby dokładniej wyśledzić ten problem?


title: Jak uzyskać id stron w tablicy w get_pages?

text: $page1 = get_option('home_page_field'); $page2 = get_option('home_page_field1'); $page3 = get_option('home_page_field2'); $page4 = get_option('home_page_field3'); $arrData = array( $strona1, $strona2 , $strona3 ); daje o/p jako Array ( [0] => Tablica ( [ciąg_tekstowy] => 2 ) [1] => Tablica ( [ciąg_tekstowy] => 499 ) [2] => Tablica ( [ciąg_tekstowy] => 869 ) ) jak mogę ustawić funkcję get_pages, aby uzyskać wszystkie informacje o stronach z tymi identyfikatorami stron ze mną Proszę o pomoc Dzięki


title: Ograniczenie znaków tytułu we wtyczce AZIndex

text: Używam wtyczki AZIndex do wyświetlania tytułów postów w mojej witrynie i chciałbym teraz ograniczyć znaki tytułów, jak mam to zrobić?


title: Uruchom zapytanie sql... próbując dostosować je do użycia $wpdb

text: Więc mam ten kod, który wysyła zapytanie do niestandardowej tabeli wygenerowanej przez wtyczkę w bazie danych wp. Działa idealnie tak, jak jest. Ale próbuję go dostosować, aby używał $ wpdb zamiast ustawionej przeze mnie funkcji $ con. Oto kod, który działa doskonale, ale nie używa $wpdb: <?php $q = strtolower($_GET["q"]); if (!$q) powrót; $jestArabski = jest_arabski($q); $con=mysql_connect("host lokalny","admin","*****"); if($con){ mysql_select_db("arabski_student",$con); } else{ die("Nie można połączyć się z bazą danych"); } mysql_query("USTAW NAZWY utf8"); $sql = "SELECT DISTINCT en_word, ar_word FROM wp_enar_words GDZIE en_word LIKE '$q%' OR ar_word LIKE '$q%'"; $rsd = mysql_query($sql) lub die(mysql_error()); if($isArabic){ while($rs = mysql_fetch_array($rsd)) { $en_word = $rs['en_word']; $ar_word = $rs['ar_word']; echo "$ar_word\n"; } }else{ while($rs = mysql_fetch_array($rsd)) { $en_word = $rs['en_word']; $ar_word = $rs['ar_word']; echo "$pl_slowo\n"; } } ?> Oto moja próba noob użycia $wpdb: global $wpdb; $sql = $wpdb->get_results("SELECT en_word, ar_word FROM wp_enar_words WHERE en_word LIKE '$q%' OR ar_word LIKE '$q%'"); $rsd = $wpdb->query('$sql'); Ale pojawia się błąd krytyczny: wywołanie funkcji składowej get_results() na obiekcie niebędącym obiektem w... Więc może brakuje czegoś oczywistego, ale mam nadzieję, że uzyskam wskazówki, jak przenieść mój istniejący kod do użycia $wpdb. Z góry dziękuję! * * * **UPDATE:** więc zaczynam myśleć, że problem polega na tym, że ten kod jest wywoływany za pomocą wtyczki jquery. Używam autouzupełniania jquery i wywołuję powyższy kod php, aby wypełnić formularz autouzupełniania: $("#search_words").autocomplete("<?php bloginfo('template_directory'); ?>/search_ac.php", {}) ; Czy to może być problem? Jestem zdezorientowany, ponieważ mój oryginalny kod, który bezpośrednio wywołuje bazę danych, działa idealnie, ale kiedy użyję $wpdb, przestanie działać


title: Niestandardowy typ posta, aby zastąpić CSS i HTML motywu z wtyczek Dir?

text: Mam wtyczkę, która tworzy niestandardowy typ posta o nazwie Squeeze Pages. Ma różne krótkie kody, które użytkownicy mogą wprowadzić, aby utworzyć stronę squeeze, ale nie jestem pewien, jak mogę sprawić, aby strony squeeze miały niestandardowy wygląd, zupełnie inny niż strona główna. czy to możliwe? Jeśli tak, jak można to zrobić?


title: Jak używać części get_template we wtyczce?

text: Korzystałem z całego szablonu we wtyczce, ale chciałbym użyć części get template, aby móc ponownie wykorzystać nagłówek i stopkę w oryginalnym szablonie. Kod wygląda tak: add_filter( 'page_template', 'template_reg' ); function template_reg() { if ( is_page( nasidoktorzy_single_pg() ) ) { $page_template = dirname( __PLIK__ ).'/templates/NasiDoktorzy.php'; zwróć $page_template; } Czy mogę użyć częściowego szablonu zamiast całego szablonu? Próbowałem użyć `get_template_part`, ale wygląda na to, że muszę umieścić szablon w motywie. Ale jak umieścić szablon we wtyczce?


title: Jak zarządzać postami moich użytkowników przed opublikowaniem?

text: W mojej witrynie zezwalam nowemu użytkownikowi na pisanie postów. ale problem polega na tym, że użytkownik pisze post. stan postu jest opublikowany. pojawia się na pierwszej stronie. Chcę go przeczytać przed publikacją, to znaczy chcę go zatwierdzić, jeśli jest użyteczny lub odrzucić, jeśli jest bezużyteczny. Chciałbym, żebyś mnie zrozumiał. Dziękuję Ci bardzo ,


title: Tworzenie wtyczek z testami jednostkowymi

text: Jedną z rzeczy, które robi moja wtyczka, jest tworzenie wielu tabel SQL jako części funkcji wersjonowania (która jest uruchamiana pod hakiem admin_init, ponieważ nie mogłem znaleźć lepszego sposobu na zrobienie tego w Wordpress). Wywołuję skrypt inicjujący jako część procedury konfiguracji i teoretycznie powinien zostać usunięty jako część procedury tearDown. W istocie tutaj jest podstawowy skrót tego, co robię (bezskutecznie): class GFDL_test extends WP_UnitTestCase { public $plugin_slug = 'gfdl'; chronione $użytkownicy = tablica(); function setUp() { parent::setUp(); include_once(/* ścieżka do funkcji gfdl_versioning*/); GFDataLayer::init_globals(); gfdl_versioning(); /* to tworzy tabele */ /* dodaj użytkowników testowych (aby nadać im rolę, dodaj parametr 'role' do tego użytkownika dodawania) */ $this->users[0] = wp_insert_user(array('user_login' => „test1”)); $this->users[1] = wp_insert_user(array('user_login' => 'test2')); } funkcja tearDown() { global $wpdb; /* te wiersze z jakiegoś powodu nie działają */ $wpdb->query('DROP TABLE IF EXISTS' . $wpdb->prefix . 'gfdl_bullets;'); $wpdb->query('DROP TABLE IF EXISTS' . $wpdb->prefix . 'gfdl_character_ai;'); $wpdb->query('DROP TABLE IF EXISTS' . $wpdb->prefix . 'gfdl_items;'); $wpdb->query('DROP TABLE IF EXISTS' . $wpdb->prefix . 'gfdl_sprites;'); $wpdb->query('DROP TABLE IF EXISTS' . $wpdb->prefix . 'gfdl_backgrounds;'); wp_delete_user($this->użytkownicy[0]); wp_delete_user($this->użytkownicy[1]); rodzic::tearDown(); } function testDatalayer() { $this->assertTrue(class_exists( 'GFDataLayer')); } function testVersion() { $this->assertEquals('0.11', get_option('gfdl_version')); } } Wygląda na to, że funkcja rozkładania jest wykonywana, ale tabele usuwania nie działają (pozostają po zakończeniu testów jednostkowych). Moja pierwsza myśl jest taka, że testy były wykonywane asynchronicznie, ale moje debugowanie sugeruje inaczej. Czy istnieje lepszy sposób obsługi aktualizacji wtyczek (w odniesieniu do zmian w bazie danych) czy jest coś, czego mi brakuje?


title: get_template_directory a get_stylesheet_directory

text: Próbuję utworzyć motyw podrzędny i muszę zastąpić niektóre pliki znajdujące się w podfolderach. W tym poście stwierdza się, że > `'get_stylesheet_directory();` przejdzie do bieżącego motywu, potomnego lub rodzica. Dlaczego twórcy motywów nie używają po prostu `get_stylesheet_directory()`, jeśli to zadziała dla motywu nadrzędnego lub potomnego? Wygląda na to, że muszę teraz zmienić każde odniesienie do `get_template_directory()`, aby moje pliki podrzędne działały (znajdujące się w podfolderach) czy jest inny sposób na zrobienie tego? Ten post autorstwa Andrew Nacin stwierdza, że > możesz po prostu zastąpić pliki bezpośrednio w motywie potomnym. Ale wydaje się, że działa to tylko na jeden poziom głębokości. Czy istnieje sposób, aby to działało na więcej niż jednym poziomie i czy byłoby to łatwiejsze niż zmiana każdego odwołania na `get_template_directory()`?


title: Dlaczego $wpdb->get_results nie działa w niektórych tabelach, ale nie w innych (które zawierają dane)?

text: Próbuję pobrać niestandardowe dane z tabeli Cart66. Mój kod działa za każdym razem, gdy ściągam wyniki ze standardowej tabeli WP (moja tablica jest wypełniona, a print_r pokazuje te dane), ale nie z żadną tabelą Cart66 (drukuje pustą tablicę). Jestem absolutnie pewien, że mam dane w tych tabelach (ponownie sprawdziłem, czy używam poprawnych nazw tabel około 1 000 000 razy). Wypróbowałem dwie tabele Cart66, które zawierają dane. Kodeks mówi, że klasa get_results powinna działać z każdą tabelą, nie tylko ze standardowymi tabelami. Pomyślałem, że może to być podkreślenie, które sprawia kłopoty, ale podkreślenia powinny być w porządku, i rzeczywiście, standardowe tabele WP z podkreśleniami działają dobrze. $rawproducts = $wpdb->get_results( "WYBIERZ * Z $wpdb->cart66_products" ); print_r($surowe produkty); To doprowadza do szału! Jakieś pomysły? Dziękuję!


title: Zezwalanie na dostęp do niektórych stron lub postów utworzonych w Wordpress za pomocą htaccess / htpasswd

text: Próbując dowiedzieć się, jak udzielić dostępu do określonej strony, powiedzmy `http://mypage.com/page` i nie zezwalaj ludziom na dostęp do głównego indeksu przez `http://mypage.com`. Lub po prostu zabroń dostępu do `http://mypage.com` i pozwól ludziom wpisywać dowolny podkatalog i przepuszczać, jeśli strona istnieje. Czy jest to możliwe do osiągnięcia z Wordpressem? `/page` jest tworzony przez Wordpress, a nie jakaś strona HTML, do której chcę dać dostęp. Próbowałem tego, ale bez powodzenia. AuthUserFile ścieżka/do/.htpasswd AuthName "Zajęło się, wróć wkrótce" AuthType Basic <Files "index.php"> wymaga prawidłowego użytkownika </Files>


title: W jaki sposób WooCommerce wyświetla niestandardowy typ komentarza w Administratorze komentarzy?

text: W ciągu ostatnich kilku lat pojawiło się wiele wątków i tematów dotyczących tworzenia niestandardowego typu komentarza. W większości rozumiem, że jest to możliwe (ponieważ WooCommerce to robi), ale zamiast tego zalecam użycie `comment_meta`. Moje pytanie brzmi, w jaki sposób WooCommerce dodaje `comment_type` z `order_note` do listy rozwijanej Administracji komentarzy? Odwzorowanie kodu WooCommerce nie okazuje się pomocne. Każdy kierunek jest doceniany. _Przykład dodania komentarza typu `order_note`:_ /** * Dodaje uwagę (komentarz) do zamówienia * * @access public * @param string $note Notatka do dodania * @param int $is_customer_note (domyślnie: 0) Czy to uwaga dla klienta? * @return id Identyfikator komentarza * * *plik to class-wp-order.php* */ public function add_order_note( $note, $is_customer_note = 0 ) { $is_customer_note = intval( $is_customer_note ); if ( is_user_logged_in() && current_user_can( 'manage_woocommerce' )) { $user = get_user_by( 'id', get_current_user_id() ); $comment_author = $user->display_name; $comment_author_email = $user->user_email; } else { $comment_author = __( 'WooCommerce', 'woocommerce' ); $comment_author_email = strtolower( __( 'WooCommerce', 'Woocommerce') ) . „@”; $comment_author_email .= isset( $_SERVER['HTTP_HOST']) ? str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ) : 'noreply.com'; $comment_author_email = sanitize_email( $comment_author_email ); } $comment_post_ID = $ten->id; $comment_author_url = ''; $comment_content = $notatka; $comment_agent = 'WooCommerce'; $comment_type = 'notatka_zamówienia'; $comment_parent = 0; $comment_approved = 1; $commentdata = apply_filters( 'woocommerce_new_order_note_data', compact( 'comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_agent', 'comment_type ', 'comment_parent', 'comment_type', 'comment_type' 'order_id' => $this->id, 'is_customer_note' => $is_customer_note ) ); $comment_id = wp_insert_comment ( $commentdata ); add_comment_meta( $comment_id, 'is_customer_note', $is_customer_note ); if ( $is_customer_note ) do_action( 'woocommerce_new_customer_note', array( 'order_id' => $this->id, 'customer_note' => $note ) ); zwróć $comment_id; } _Poprzednie pytanie: Projekt, nad którym teraz pracuję, byłby znacznie łatwiejszy, gdybym mógł po prostu dodać `comment_type` oprócz `comment_meta` tam, gdzie to konieczne. Moje pytanie brzmi, gdzie powinienem szukać przewodnika/przykładu, jak to zrobić?_


title: Zewnętrzny link do nowej karty w menu administracyjnym

text: W witrynie klienta musiałem dodać pozycję menu pod pulpitem nawigacyjnym, ten link prowadzi do zewnętrznego adresu URL. udało mi się to za pomocą następującego kodu: add_dashboard_page( 'redirecting', 'Docs', 'read', 'docs', 'redirect_docs'); funkcja redirect_docs(){ wp_redirect(URL_TUTAJ); Wyjście; } To działało do tej pory dobrze. Mój klient poprosił mnie o otwarcie linku w nowej karcie/oknie i nie zmienianie bieżącej strony. czy to możliwe? Jeśli tak, jakieś sugestie w jaki sposób? Dzięki Sofii xXx


title: brak e-maili dla konta użytkownika

text: Czy możliwe jest utworzenie konta użytkownika bez e-maila. Tylko nazwa użytkownika? Widziałem, że jest wtyczka pozwalająca wielu autorom pod jednym e-mailem. Czy ktoś ma jakieś zalecenia dotyczące innych sposobów na zrobienie tego. Wiem, że to nie jest idealne, ale mam jednego użytkownika, który będzie publikował w imieniu wielu użytkowników. Weryfikacja adresu e-mail użytkownika przez gravatar dla każdego nowego autora to http://coffee2code.com/wp-plugins/allow-multiple-accounts/


title: Utwórz slug jako numer identyfikacyjny dla niestandardowych typów postów

text: Chcę, aby slug dla każdego z moich niestandardowych typów postów był numerem identyfikacyjnym posta. Jak mam to zrobic? Żaden z moich postów nie akceptuje tytułu, treści ani czegokolwiek innego - wymagają innych danych, które łatwiej było wyświetlić jako metabox). Aby zilustrować: mam CPT ('edukację'). Kiedy przesyłam post do bazy danych, ma on identyfikator, powiedzmy 15. Kiedy odwiedzam mysite.com/edu/15 ('edu' to ustawiony przeze mnie wpis), widzę szczegóły tego posta w mojej witrynie. Wiem, że mógłbym po prostu zmienić permalinki, ale chcę, żeby pozostały takie, jakie są; Chcę tylko zmienić te dla tych niestandardowych typów postów. Przepraszam, jeśli pytanie jest mylące. Prawdopodobnie odpowiedź jest bardzo prosta, ale tak naprawdę nie wiem, jaka jest odpowiedź.


title: Jak zmienić domyślny link załącznika do multimediów na coś zdefiniowanego przez użytkownika w poście lub na stronie?

text: Za każdym razem, gdy przesyłam obraz w poście lub na stronie, przesyłam dwie wersje, jedną do wyświetlenia w witrynie, a drugą do znaku wodnego. Za każdym razem, gdy ktoś kliknie na obraz, wyświetlany jest obraz ze znakiem wodnym. Jeśli nazwa obrazu to _abc.jpg_ , nazwa obrazu ze znakiem wodnym to _abc-wm.jpg_. Czy i tak mogę zautomatyzować ten proces. Tak więc za każdym razem, gdy przesyłam obraz _abc.jpg_ , adres URL załącznika zmienia się na _abc-wm.jpg._ Próbowałem z kilkoma alternatywami. Pomóż znaleźć rozwiązanie tego problemu. Z góry dziękuję. Pomoc jest naprawdę doceniana.


title: Jak dostosować zakładki single-product.php woocommerce?

text: Chcę dostosować zakładki na stronie pojedynczego produktu woocommerce (opis, recenzje, itp.) za pomocą html i css, aby działały w środowisku wyłączonym java script. Postępowałem zgodnie z opisem, aby zrobić to samo w przypadku My-Account.php http://www.mclanecreative.com/customizing-the-woocommerce-my-account-page-with-tabs-using-css-html/ Który szablon powinienem zmodyfikować i jak?


title: Wyłącz SKU WooCommerce na stronie produktu

text: Posiadam sklep WooCommerce i nie chcę wyświetlać SKU na żadnej stronie pojedynczego produktu. Patrząc na ich kod, znalazłem ten filtr: /** * Zwraca, czy SKU są włączone, czy nie. * @return bool */ function wc_product_sku_enabled() { return apply_filters( 'wc_product_sku_enabled', true ); } i próbowałem nadpisać ten wiersz kodu, który umieściłem w niestandardowej wtyczce: apply_filters( 'wc_product_sku_enabled', false ); Próbowałem również umieścić Apply_filter w funkcji akcji dla woocommerce_product_meta_start, która uruchamia się tuż przed, ale nadal renderuje SKU na stronie produktu. Jakieś pomysły?


title: Jak buforować niestandardowe strony za pomocą W3 Total Cache?

text: Niektóre posty są wymagane przez Ajax. <?php // Nazwa pliku: ajax-posts.php require_once "wp-load.php"; echo my_get_post($_GET["id"]); ?> Jak mogę sprawić, by te żądania Ajax były buforowane przez W3 Total Cache?


title: Jak zwiększyć wymagania dotyczące hasła do rejestracji?

text:
Ok mam zainstalowaną buddypress, która pozwala użytkownikom wybrać hasło podczas rejestracji, ale ma zerowe wymagania dotyczące tego, tylko prosząc o dwukrotne wpisanie. Możesz więc mieć jednoznakowe hasło, co jest śmieszne. Znalazłem więc funkcję, która sprawdza poprawność po przesłaniu formularza rejestru, ale nie mogę zrozumieć, jak prawidłowo się do niego podłączyć, aby dodać proste sprawdzenie, aby upewnić się, że jest co najmniej 6 znaków. Więc pierwsza tutaj jest podstawowa funkcja buddypress. funkcja bp_core_screen_signup() { globalne $bp; if ( !bp_is_current_component( 'rejestr' ) ) return; // Nie katalog bp_update_is_directory( false, 'register' ); // Jeśli użytkownik jest zalogowany, przekieruj stąd if ( is_user_logged_in() ) { if ( bp_is_component_front_page( 'rejestr' ) ) $redirect_to = trailingslashit( bp_get_root_domain() . '/' .bp_get_members_root_slug() ); w przeciwnym razie $redirect_to = bp_get_root_domain(); bp_core_redirect( apply_filters( 'bp_loggedin_register_page_redirect_to', $redirect_to ) ); zwrócić; } $bp->signup->step = 'szczegóły zapytania'; if ( !bp_get_signup_allowed() ) { $bp->signup->step = 'rejestracja wyłączona'; // Jeśli strona rejestracji została przesłana, zweryfikuj i zapisz } elseif ( isset( $_POST['signup_submit'] ) && bp_verify_nonce_request( 'bp_new_signup' ) ) { do_action( 'bp_signup_pre_validate' ); // Sprawdź szczegóły konta podstawowego pod kątem problemów $account_details = bp_core_validate_user_signup( $_POST['signup_username'], $_POST['signup_email'] ); // Jeśli występują błędy w szczegółach konta, ustaw je do wyświetlenia if ( !empty( $account_details['errors']->errors['user_name']) ) $bp->signup->errors['signup_username'] = $account_details['errors']->błędy['user_name'][0]; if ( !empty( $account_details['errors']->errors['user_email']) ) $bp->signup->errors['signup_email'] = $account_details['errors']->errors['user_email' ][0]; // Sprawdź, czy oba pola hasła są wypełnione if ( empty( $_POST['signup_password'] ) || empty( $_POST['signup_password_confirm'] ) ) $bp->signup->errors['signup_password'] = __ ( 'Upewnij się, że wpisałeś hasło dwa razy', 'buddypress' ); // Sprawdź, czy hasła są zgodne if ( ( !empty( $_POST['signup_password'] ) && !empty( $_POST['signup_password_confirm'] ) ) && $_POST['signup_password'] != $_POST['signup_password_confirm' ] ) $bp->signup->errors['signup_password'] = __( 'Wprowadzone hasła nie pasują do siebie.', 'buddypress' ); $pass = $_POST['signup_password']; $bp->signup->username = $_POST['signup_username']; $bp->signup->email = $_POST['signup_email']; // Teraz sprawdziliśmy dane konta, możemy sprawdzić informacje o profilu if ( bp_is_active( 'xprofile' ) ) { // Upewnij się, że ukryte pole zostało przekazane i wypełnione if ( isset( $_POST['signup_profile_field_ids'] ) && !pusty ( $_POST['signup_profile_field_ids'] ) ) ) { // Skompaktujmy dowolne informacje z pól profilu do tablicy $profile_field_ids = explode( ',', $_POST['signup_profile_field_ids'] ); // Przeprowadź pętlę przez wysłane pola, formatując dowolne wartości pola daty, a następnie sprawdź poprawność pola foreach ( (tablica) $profile_field_ids jako $field_id ) { if ( !isset( $_POST['field_' . $field_id] ) ) { if ( !empty( $_POST['field_' . $field_id . '_day'] ) && !empty( $_POST['field_' . $field_id . '_miesiąc'] ) && !empty( $_POST['field_' . $field_id . '_rok '] ) ) $_POST['pole_' . $field_id] = data( 'Y-m-d H:i:s', strtotime( $_POST['field_' . $field_id . '_day'] . $_POST['field_' . $field_id . '_miesiąc'] . $_POST[ 'pole_' .$identyfikator_pola .'_rok']) ); } // Utwórz błędy dla wymaganych pól bez wartości if ( xprofile_check_is_required_field( $field_id ) && empty( $_POST['field_' . $field_id] ) ) $bp->signup->errors['field_' . $field_id] = __( 'To jest pole wymagane', 'buddypress' ); } // Ta sytuacja nie występuje naturalnie, więc odbij do katalogu głównego witryny } else { bp_core_redirect( bp_get_root_domain() ); } } // Na koniec sprawdźmy szczegóły bloga, jeśli użytkownik chce bloga, a tworzenie bloga jest włączone if ( isset( $_POST['signup_with_blog'] ) ) { $active_signup = $bp->site_options['registration'] ; if ( 'blog' == $active_signup || 'all' == $active_signup ) { $blog_details = bp_core_validate_blog_signup( $_POST['signup_blog_url'], $_POST['signup_blog_title'] ); // Jeśli występują błędy w szczegółach bloga, ustaw je do wyświetlenia if ( !empty( $blog_details['errors']->errors['blogname'] ) ) $bp->signup->errors['signup_blog_url'] = $blog_details['errors']->błędy['blogname'][0]; if ( !empty( $blog_details['errors']->errors['blog_title']) ) $bp->signup->errors['signup_blog_title'] = $blog_details['errors']->błędy['blog_title' ][0]; } } do_action( 'bp_signup_validate' ); // Dodaj wszelkie błędy do akcji dla pola w szablonie do wyświetlenia. if ( !empty( $bp->signup->errors ) ) { foreach ( (tablica) $bp->signup->errors as $fieldname => $error_message ) { // addslashes() i stripslashes() aby uniknąć funkcji create_function () // błędy składniowe, gdy $error_message zawiera cudzysłowy add_action( 'bp_' . $fieldname . '_errors', create_function( '', 'echo apply_filters(\'bp_members_signup_error_message\', "
" .stripslashes( \'' .addslashes( $error_message) . '\') . "
" );' ) ); } } else { $bp->signup->step = 'zapisz-szczegóły'; // Bez błędów! Zarejestrujmy te deets. $active_signup = !pusty( $bp->site_options['rejestracja']) ? $bp->site_options['rejestracja'] : ''; if ( 'none' != $active_signup ) { // Upewnij się, że moduł rozszerzonych profili jest włączony if ( bp_is_active( 'xprofile' )) { // Skompaktujmy dowolne informacje z pól profilu do usermeta $profile_field_ids = explode( ',', $_POST['signup_profile_field_ids'] ); // Przeprowadź pętlę przez wysłane pola, formatując dowolne wartości pola daty, a następnie dodaj do usermeta - @todo Ta logika powinna być współdzielona z tym samym w xprofile_screen_edit_profile() foreach ( (tablica) $profile_field_ids as $field_id ) { if ( ! isset( $_POST[ 'field_' . $field_id] ) ) { if ( ! empty( $_POST['field_' . $field_id . '_day'] ) && ! empty( $_POST['field_' . $field_id . '_miesiąc'] ) && ! empty( $_POST['field_' . $field_id . '_year'] ) ) { // Połącz wartości $data_value = $_POST['field_' . $field_id . '_dzień'] . ' ' . $_POST['pole_' . $field_id . '_miesiąc'] . ' ' . $_POST['pole_' . $field_id . '_rok']; // Zamień połączoną wartość w znacznik czasu $_POST['field_' . $field_id] = data( 'Y-m-d H:i:s', strtotime( $data_wartość ) ); } } if ( !empty( $_POST['field_' . $field_id] ) ) $usermeta['field_' . $field_id] = $_POST['field_' . $identyfikator pola]; if ( !empty( $_POST['field_' . $field_id . '_visibility'] ) ) $usermeta['field_' . $field_id . '_widoczność'] = $_POST['pole_' . $field_id . '_widoczność']; } // Zapisz identyfikator pola profilu w usermeta $usermeta['profile_field_ids'] = $_POST['signup_profile_field_ids']; } // Zahaszuj i przechowuj hasło $usermeta['password'] = wp_hash_password( $_POST['signup_password'] ); // Jeśli użytkownik zdecydował się na utworzenie bloga, zapisz te dane w usermeta if ( 'blog' == $active_signup || 'all' == $active_signup ) $usermeta['public'] = ( isset( $_POST[' signup_blog_privacy'] ) && 'public' == $_POST['signup_blog_privacy'] ) ? prawda fałsz; $usermeta = apply_filters( 'bp_signup_usermeta', $usermeta ); // Na koniec zarejestruj użytkownika i/lub blog if ( isset( $_POST['signup_with_blog'] ) && is_multisite() ) $wp_user_id = bp_core_signup_blog( $blog_details['domain'], $blog_details['path'], $blog_details['blog_title'], $_POST['signup_username'], $_POST['signup_email'], $usermeta ); else $wp_user_id = bp_core_signup_user( $_POST['signup_username'], $_POST['signup_password'], $_POST['signup_email'], $usermeta ); if ( is_wp_error( $wp_user_id )) { $bp->signup->step = 'żądanie-szczegóły'; bp_core_add_message( $wp_user_id->get_error_message(), 'błąd'); } else { $bp->signup->step = 'zakończone potwierdzenie'; } } do_action( 'bp_complete_signup' ); } } do_action( 'bp_core_screen_signup' ); bp_core_load_template( apply_filters( 'bp_core_template_register', array( 'rejestr', 'rejestracja/rejestr' ) ) ); } add_action( 'bp_screens', 'bp_core_screen_signup' ); To jest ładne i ogromne, ale w linii 90 rozpoczyna się sprawdzanie poprawności hasła i tylko sprawdzanie, czy pasują do siebie. Próbowałem się do tego podłączyć, ale nie rozumiem koncepcji. function bp_password_beefing() { if ( !empty( $_POST['signup_password'] ) ) if ( strlen( $_POST['signup_password'] ) < 6 ) $bp->signup->errors['signup_password'] = __( 'Twoje hasło musi mieć co najmniej 6 znaków', 'buddypress' ); } add_action( 'bp_signup_pre_validate', 'bp_password_beefing'); Jaki jest właściwy sposób, aby to zrobić?


title: Zaloguj przekierowanie do poprzedniej strony

text: Mam niestandardową stronę logowania pod adresem http://netballscoop.com/log-in/ Kiedy wpiszesz nazwę użytkownika i hasło, zostaniesz przekierowany na poprzednią stronę, na której byłeś idealnie. Kiedy klikniesz Wyloguj, przekieruje Cię na tę samą stronę. Więc to wszystko działa dobrze. Jeśli zostawisz nazwę użytkownika/hasło puste lub wystąpi błąd, spowoduje to przejście do wp-login. Aby temu zapobiec, użyłem kodu z http://stackoverflow.com/questions/11477107/redirect-away-from-login-page add_action('login_redirect', 'redirect_login', 10, 3); function redirect_login($redirect_to, $url, $user) { if($user->errors['empty_password']){ wp_redirect(get_bloginfo('url').'/log-in-error/'); } else if($user->errors['empty_username']){ wp_redirect(get_bloginfo('url').'/log-in-error/'); } else if($user->errors['invalid_username']){ wp_redirect(get_bloginfo('url').'/log-in-error/'); } else if($user->errors['incorrect_password']){ wp_redirect(get_bloginfo('url').'/log-in-error/'); } else{ wp_redirect(get_bloginfo('url').'/log-in'); }     Wyjście; } Działa to świetnie w przypadku błędów logowania na mojej stronie. Ale teraz przekierowanie logowania prowadzi do http://netballscoop.com/members/testing (użytkownik „Testing” jest przenoszony na stronę profilu członka BuddyPress). Jak przekierować użytkownika do poprzedniej strony po zalogowaniu?


title: Metody wyświetlania obrazów bez wtyczki?

text: Czy to jedyne metody wyświetlania obrazu (dla wordpress.org) bez wtyczki? 1. Wstaw obraz do obszaru edytora wraz z tekstem 2. Pola niestandardowe 3. the_post_thumbnail() Jakie są wady używania pól niestandardowych dla obrazów? Czy to prawda, że w przypadku metody 1 nie można inaczej unosić obrazu i tekstu, ponieważ obrazy i tekst w funkcji the_content() mają przypisany znacznik p - czy się mylę? Na przykład, czy można użyć metody 1 do utworzenia poniższego układu: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/NwZpj.jpg)


title: Prześlij obraz z adresu URL i przypisz go jako polecany obraz do niestandardowego typu posta?

text: Skończyłem w 90% na tworzeniu wtyczki, która korzysta z API Amazon.com. Zbudowałem niestandardowy typ posta **Książki**. Moje książki CPT ma niestandardowe taksonomie dla **kategorii książek** , **etykietów książek** , **autora książek** i **wydawcy/firmy** książki. Następnie mam stronę Ustawienia, która umożliwia zaimportowanie listy książek z Amazon przy użyciu tam API, wstawiasz numer identyfikacyjny ASIN, 1 w wierszu w polu tekstowym, a następnie importuję każdą książkę jako Book CPT i przypisuję niestandardowe taksonomie wymienione powyżej. Jedyne, czego mi w tym momencie brakuje, to możliwość wgrania obrazu, który jest zwracany z API Amazon, otrzymuję adres URL do obrazu. Muszę przesłać obraz i przypisać go jako **Polecany obraz** dla tworzonego posta. Nie udało mi się jeszcze znaleźć rozwiązania tego problemu, czy ktoś może pomóc z jakimś kodem, aby przesłać obraz do WordPressa z adresu URL, a następnie przypisać go jako polecany obraz do posta?


title: Dodaj drugie menu do motywu, który obsługuje tylko 1 menu

text:
Nie jestem programistą, ale zwykle potrafię pracować nad takimi rzeczami, kiedy czytam kod. Mam motyw o nazwie Infinity, który obsługuje tylko 1 menu. Wiem, jak zrobić CSS itp., ale nie mogę znaleźć drugiego menu. W rzeczywistości nie musi to być niestandardowe menu, ale tylko strony. Czy ktoś może mi powiedzieć, jak to zrobić? Poniżej znajduje się fragment kodu, który wydaje się ładować menu:

 <?php get_template_part( 'custom', 'header' ); ?>

 <?php get_template_part( 'podstawowy', 'menu' ); ?>

 Ten kod znajduje się w header.php. Szukam primary-menu.php i znalazłem w nim to: <?php /** Primary Menu Callback */ function infinity_primary_menu_cb() { wp_page_menu(); } ?>

 <?php if ( has_nav_menu( 'infinity-primary-menu' ) ): $args = array( 'container' => 'div', 'container_class' => 'primary-container', 'theme_location' => 'infinity-primary-menu', 'menu_class' => 'sf-menu1', 'głębokość' = > 0, 'fallback_cb' => 'infinity_primary_menu_cb' ); wp_nav_menu ($args ); w przeciwnym razie: infinity_primary_menu_cb(); endif; ?>

 Jakaś pomoc? EDYCJA: Aktualizacja. Strona funkcji wklejona poniżej <?php /** Załaduj podstawowe pliki */ require_once( trailingslashit( get_template_directory() ) . 'lib/init.php' ); nowa nieskończoność(); /** Ustaw motyw na haczyku 'after_setup_theme'. */ add_action( 'after_setup_theme', 'infinity_theme_setup' ); /** Funkcja konfiguracji motywu. */ function infinity_theme_setup() { /** Dodaje obsługę motywów dla podstawowych funkcji frameworka. */ add_theme_support( 'infinity-core-menus', array( 'infinity-primary-menu' ) ); add_theme_support( 'infinity-core-sidebars', array( 'infinity-primary-sidebar' ) ); add_theme_support( 'nieskończoność-core-polecany-obraz' ); add_theme_support( 'nieskończony rdzeń-niestandardowy-nagłówek' ); /** Dodaj obsługę motywów dla funkcji WordPress. */ add_theme_support( 'automatyczne-feed-linki' ); add_theme_support( 'niestandardowe-tło', array( 'default-color' => 'fafafa' ) ); /** Ustaw szerokość treści. */ nieskończoność_set_content_width( 600 ); /** Dodaj niestandardowe rozmiary obrazów. */ add_action( 'init', 'infinity_add_image_sizes' ); } /** Dodaje niestandardowe rozmiary obrazów */ function infinity_add_image_sizes() { add_image_size( 'polecane', 200, 200, true ); } ?> Kod menu poniżej function infinity_register_menus() { /** Pobierz menu z motywami. */ $menus = get_theme_support( 'infinity-core-menus' ); /** Jeśli nie ma tablicy identyfikatorów menu, zwróć. */ if ( !is_array( $menus[0] ) ) { return; } /* Zarejestruj menu „podstawowe”. */ if ( in_array( 'infinity-primary-menu', $menus[0] ) ) { register_nav_menu( 'infinity-primary-menu', __( 'Infinity-primary-menu', 'infinity' ) ); }


title: Nie można wyświetlić wiadomości za pomocą „admin_notices”

text:
Wtyczka, nad którą pracuję, ma tabelę w obszarze administracyjnym z pojedynczym wpisem odpowiadającym pojedynczemu wierszowi. Administrator ma możliwość wykonania pewnych czynności na zawartości tabeli, z której jedna jest edytowana. Wszystko działa dobrze, a skrypt js wygląda następująco - jQuery(document).ready(function($){ $(.edit").click(function(){ var first_class = $(this).attr('class' ).split(" ")[0]; var message = "wiadomość"+pierwsza_klasa; var content = jQuery("#"+wiadomość).text(); var $dialog = $("

 ").html("<textarea style='szerokość:99%; wysokość:90%' class='popup-content'>"+treść+"</textarea>").dialog({wysokość: 400, szerokość: 400 , tytuł: 'Moje dane', modalne: true, autoOpen: false, dialogClass: 'wp-dialog', przyciski: { "Save": function(){ $("#"+message).html($(". popup-content").val()); $.ajax({ type: "post", url: script_data.admin_ajax, data: { action: "feedmng_update", feed_id: first_class, feed_msg: $(".popup-content").val() }, error: function(xhr, status, error) { console.log(xhr, error, status); }, sukces: function(){ $dialog.dialog("zamknij"); } }); } } }); $dialog.dialog("otwarty"); }); }); Jak widać, po kliknięciu przycisku Zapisz, wykonywane jest wywołanie Ajax w celu aktualizacji bazy danych, co również działa dobrze. Teraz chcę wyświetlić komunikat, że baza danych została zaktualizowana, ale nie mogę tego zrobić dobrze. Oto kod php - funkcja feedmng_update(){ global $wpdb; //$nazwa_tabeli = $wpdb->przedrostek. "feedmanager"; $feedid = $_REQUEST["feed_id"]; $feed_msg = $_REQUEST["feed_msg"]; $wpdb->update( 'wp_feedmanager', array( 'message' => $feedmsg ), array( 'id' => $feedid) ); add_action( 'admin_notice', array( &$this, 'feedmng_edit_notif' ) ); } function feedmng_edit_notif(){ ?>

<?php echo "Wiadomość edytowana pomyślnie"; ?>

 <?php } Zaczep akcji dla ajax - add_action( 'wp_ajax_feedmng_update', array( &$this, 'feedmng_update' ) ); Czy istnieje sposób, aby to działało?


title: Automatycznie wypełnij pole fragmentu

text: Jak automatycznie wypełnić pole fragmentu pierwszymi 15 słowami treści posta? Znalazłem ten fragment: function wps_excerpt_content( $content ) { $content = "TWÓJ WYCIĄG TUTAJ"; zwróć $treść; } add_filter( 'wyciąg_domyślny', 'wps_excerpt_content' ); Ale nie wiem, jak zmodyfikować to, czego potrzebuję. Jakaś pomoc?


title: Wstawianie określonych obrazów do menu nawigacyjnego

text: Mam menu nawigacyjne, które na stałe zakodowałem w ostatnio opracowanym motywie. Teraz byłoby o wiele łatwiej (i bardziej dostosować) po prostu zbudować to menu nawigacyjne za pomocą wewnętrznej funkcji `wp_list_pages()` za pośrednictwem panelu administracyjnego wordpress. Jest jednak jeden haczyk. Po lewej stronie niektórych list rozwijanych znajduje się obrazek. Każde menu rozwijane ma tylko jeden obraz, ale obraz jest inny dla każdego menu rozwijanego. Czy istnieje sposób na włączenie tego obrazu do administracji interfejsu użytkownika w wordpressie? Takich jak budowanie menu w Wordpress i posiadanie pola, w którym mogę wybrać zdjęcie, które chcę z listy rozwijanej. Dziękuję!


title: Zablokuj informacje o użytkowniku po wypełnieniu pól

text: Podobnie jak nazwa użytkownika jest zablokowana i nie można jej zmienić po zarejestrowaniu, chciałbym zablokować dodatkowe pola, które utworzyłem za pomocą zaawansowanych pól niestandardowych, takich jak numer telefonu komórkowego osoby, który jest dla nas niezbędny, ponieważ jest powiązany z wejście przez bramkę bezpieczeństwa i nie powinno być zmieniane To, czego potrzebuję, aby mogło się zdarzyć, to to, że gdy ktoś wypełni pole i prześle nowe informacje, to pole musi zostać zablokowane podczas ponownego ładowania strony i tylko administrator może je zmienić. Wiem, że można to zrobić za pomocą javascript, ale chcę mieć pewność, że ktoś, kto wie, jak korzystać z paska narzędzi programisty, nie jest w stanie zmienić atrybutu pola i przesłać lub usunąć treści. Albo jeśli ktoś po prostu wyłączy JS, będzie mógł to zmienić. Czy istnieje hak do WordPressa, który może zrobić coś takiego? Oto, co znalazłem, z których żadne nie wspiera mojego rozwiązania. 1. http://wordpress.org/support/topic/how-to-disable-profile-fields 2. http://adambrown.info/p/wp_hooks/version/3.6 (aby sprawdzić, czy taki hook istnieje) **EDYTUJ:** Już korzystam z jQuery, aby sprawdzić pola, które muszą pozostać zablokowane i je wyłączyć, ale wolę wiedzieć, czy są jakieś haki, których można by użyć do tego w WP ze względu na fakt że ktoś może wiedzieć, jak to ominąć, mając wystarczającą wiedzę o Dev Toolbar? Zrobiłem też mnóstwo wyszukiwań i nic tak szczegółowego, jak to, co próbuję tutaj zrobić. Wielkie dzięki


title: Zapytanie specjalne: tytuł, warunki, treść — %LIKE%

text: Pracuję nad ich motywem, który jest intensywnie wyszukiwany, a moi użytkownicy przykładają dużą wagę do ulepszonej funkcji wyszukiwania. Myślę, że będę musiał użyć specjalnego zapytania bezpośredniego, aby wyszukać następujące rzeczy: 1. Terminy 2. Tytuł 3. Treść I zezwól na elastyczność, taką jak: 1. Fragmenty słów (wyszukaj **chleb** , znajdzie **cudowny chleb** ) 2. Zwroty (wyszukaj w Orange Man, zwraca post z **man** w tytule, **pomarańczowym** w kategoriach) Mogę modyfikować do potrzeb mojego niestandardowego typu postu** (i ewentualnie taksonomii). Nie mam wątpliwości, że wielu zastanawiało się nad tym samym w różnych projektach.


title: jak usunąć nazwę użytkownika i datę na stronie postu

text: Każda strona posta pokazuje nazwę użytkownika i datę na górze strony. Używany jest motyw tablicy korkowej. Wordpress jest używany jak CMS i ta informacja nie jest konieczna. Strony nie mogą być używane, ponieważ strony nie pozwalają na dodawanie tagów i nie mogą być używane jako obrazy suwaków na tablicy korkowej. Jak usunąć użytkownika i datę? Są też kategorie i przyciski Edytuj. Jeśli jest to prostsze, można je również usunąć, aby można było usunąć całą linię. Jeśli to możliwe, link do kategorii może pozostać.


title: Przekieruj użytkownika na niestandardowy adres URL po rejestracji

text:
Zmodyfikowałem domyślną stronę rejestracji Wordpress, aby zawierała role, a także pola płatności. Dodaję status Złotego Członka na mojej stronie, co wymaga zapłaty. Chciałbym, aby po dokonaniu przez tego użytkownika płatności i jej zatwierdzeniu został przekierowany z powrotem na stronę główną. Aby to osiągnąć, używam filtru registration_errors. To nie działa, zamiast tego użytkownik jest przekierowywany z powrotem na stronę logowania wp z pomyślną wiadomością na górze. Ponadto funkcja wp_update_user również nie działa; użytkownik zostaje dodany do bazy z domyślną rolą - Subskrybent. Jak przekazać tutaj identyfikator użytkownika? A może powinienem to zrobić w innym miejscu. function process_payment($errors, $sanitized_user_login, $user_email) { if ( $errors->get_error_code() ) return $errors; globalne $trans; if($tran->Process()) { $approved = $tran->authcode; add_filter('przekierowanie_rejestracji', 'złoty_przekierowanie_login'); wp_update_user( array ('ID' => $user_id, 'role' => 'gold_member') ) ; } else { $errors->add( 'fidelipay_response', __('Odrzucone:'. $tran->wynik . '
' . $tran->błąd . '
' . $tran->cvv2_result . '
' ,'mojawitryna.com') ); if($tran->curlerror) { $errors->add( 'fidelipay_response', __('Powód:' . $tran->curlerror, 'mysite.com')); zwróć $błędy; } zwraca $błędy; } zwraca $błędy; } add_filter('registration_errors', 'process_payment', 10, 3); function gold_login_redirect() { return home_url('?role=gold_member'); }


title: web.config łamie motywy dla podkatalogu multisite

text: Konwertujemy pojedynczą witrynę Wordpress do sieci podkatalogów, ale nie możemy znaleźć żadnego pliku web.config, który działa poprawnie. Motyw nigdy nie będzie działał, nawet w witrynie głównej (/), gdy tylko zmienimy plik web.config z jedną witryną na wielostanowiskowy, który zepsuje. Szukałem godzinami i znalazłem kilka tematów, w których ludzie znaleźli plik web.config, który działa, ale żaden nie działa dla nas, motyw jest zawsze zepsuty. Konfiguracja, której potrzebujemy, jest następująca: http://www.domain.com/ (strona główna) http://www.domain.com/en/ (angielska wersja strony) Udało mi się działać w pewnym stopniu na moim własny serwer Apache, z wyjątkiem tego, że próbował szukać mediów w /en/media/, podczas gdy powinien być po prostu /media/. Jednak host, którego używamy, najwyraźniej używa IIS. **Oto jeden plik web.config, który wypróbowałem, który pozwala mi uzyskać dostęp do pulpitu nawigacyjnego dla wszystkich witryn i wydaje się, że wszystko działa z wyjątkiem motywu** : <?xml version="1.0" kodowanie="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WordPress Rule 1" stopProcessing="true"> <match url="^index\.php$" ignoreCase="false" /> <akcja type="Brak" /> </rule> <rule name="WordPress Rule 2" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?files/( .+)" ignoreCase="false" /> <action type="Przepisz" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" /> </rule> <rule name="WordPress Rule 3" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" /> <akcja type="Przekierowanie" url="{R:1}wp-admin/" redirectType = "Stałe" /> </rule> <rule name="WordPress Rule 4" stopProcessing="true"> <match url="^" ignoreCase="false" /> <conditions LogicGrouping="MatchAny"> <add input= "{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" /> </conditions> <action type="Brak" / > </rule> <rule name="WordPress Rule 5" stopProcessing="true"> <match url="(^[_0-9a-zA-Z-]+/)?(wp-(content|admin|zawiera ).*)" ignoreCase="false" /> <action type="Przepisz" url="{R:2}" /> </rule> <rule name="WordPress Rule 6" stopProcessing="true"> < match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" /> <action type="Przepisz" url="{R:2 }" /> </rule> <rule name="WordPress Rule 7" stopProcessing="true"> <match url="." ignoreCase="false" /> <action type="Przepisz" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration> Oto sieć. config, który sugeruje strona konfiguracji sieci Wordpress, ten powoduje, że pulpit nawigacyjny /en/ witryny 404: <?xml version="1.0" kodowanie="UTF-8"?> <configuration> <system.webServer> <przepisz> <rules > <rule name="WordPress Rule 1" stopProcessing="true"> <match url="^index\.php$" ignoreCase="false" /> <action type="Brak" /> </rule> <rule name="WordPress Rule 2" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?wp-admin$"ignorCase="false"/> <action type= "Przekierowanie" url="{R:1}wp-admin/" redirectType="Permanent" /> </rule> <rule name="WordPress Rule 3" stopProcessing="true"> <match url="^" ignoreCase="false" /> <conditions LogicGrouping="MatchAny"> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" /> <add input="{REQUEST_FILENAME} }" matchType="IsDirectory" ignoreCase="false" /> </conditions> <action type="None" /> </rule> <rule name="WordPress Rule 4" stopProcessing="true"> <match url= "^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" ignoreCase="false" /> <action type="Przepisz" url="{R :1}" /> </rule> <rule name="WordPress Rule 5" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?([_0- 9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" /> <action type="Przepisz" url="{R:2}" /> </rule> < rule name="WordPress Rule 6" stopProcessing="true"> <dopasuj adres URL=”. ignoreCase="false" /> <action type="Przepisz" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration> Żadne z nich nie działa. Pomoc byłaby naprawdę mile widziana.


title: Wtyczka P3 Profiler i Yoast SEO

text: Sprofilowałem mojego bloga za pomocą wtyczki P3 i zauważyłem, że Yoast SEO nieco spowalnia witrynę. Wtedy dowiedziałem się, że największy spadek wydajności jest płacony, gdy „wymuszasz przepisanie” tytułów [1], co właśnie robię. Teraz mam dość agresywne buforowanie włączone z WP Super Cache. Czy to nadal ma znaczenie, jeśli wymusim przepisanie tytułów? A może w moim przypadku nic to nie zmienia, ponieważ strony są wstępnie generowane i wyświetlane jako treść statyczna? [1] http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-performance-issues-does-it-do-any-good-now


title: Jak pokazać biografię użytkownika na stronie?

text: Jestem całkiem nowy w Wordpress. Mam użytkowników, którzy tworzą profile na mojej stronie, a jedną z sekcji jest ich bio. Jak mogę wziąć te informacje i wyświetlić je na powiedzmy "stronie profilu użytkownika". Dziękuję


title: Jak dodać metaboxy do „nieznanych” niestandardowych postów?

text: Używam WP multi-site i stworzyłem wtyczkę, która dodaje meta pola do mojej strony i posta. add_meta_box( 'Intro', __('Intro'), 'sewp_post_intro_meta_box', 'post', 'normal', 'high' ); add_meta_box( 'Intro', __('Intro'), 'sewp_post_intro_meta_box', 'page', 'normal', 'high' ); Problem polega na tym, że nie jest to dodawane do moich niestandardowych typów postów. Dodanie kolejnego `add_meta_box` w mojej wtyczce nie jest opcją, ponieważ będzie istotne tylko dla tego klienta. Czy istnieje sposób na obejście tego?