title: Pobierz wszystkie załączniki do postów z wyjątkiem polecanego obrazu

text: $args = array( 'post_type' => 'attachment', 'numberposts' => null, 'post_status' => null, 'post_parent' => $post->ID ); $załączniki = get_posts($args); if ($attachments) { foreach ($attachments jako $attachment) { echo apply_filters('the_title', $attachment->post_title); the_attachment_link($attachment->ID, false); } } W powyższym kodzie istnieje sposób na uzyskanie: 1. Wszystkie linki do załączników z wyjątkiem polecanego obrazu. 2. Tylko linki do wszystkich załączników PDF. Czytałem: * http://www.wprecipes.com/how-to-show-wordpress-post-attachments * http://johnford.is/programmatically-pull-attachments-from-wordpress-posts/


title: Różnice między WP_Query() i get_posts() do wysyłania zapytań o posty?

text: Jakie są różnice między używaniem `WP_Query()` i `get_posts()`? Którego lepiej użyć w jakim przypadku i dlaczego?


title: Wtyczki umożliwiające subskrypcję zasobów cyfrowych?

text: (@mikeschinkel: Przed edycją tytuł brzmiał: _Czy istnieje wtyczka/zestaw wtyczek umożliwiających subskrypcję zasobów cyfrowych na indywidualną lub dużą skalę?_) Próbuję założyć witrynę, w której będzie sprzedawana znaczna ilość plików PDF zarówno indywidualnie, jak i subskrypcja zostaną sprzedane do biblioteki - więc każdy z tej biblioteki może odwiedzić witrynę bez paywalla (czyli na podstawie adresu IP). czy istnieje coś takiego dla wordpress? punkty bonusowe, jeśli są bezpłatne/open-source i niezapłacone...


title: Najlepszy sposób na usunięcie zawartości html z interfejsu?

text: Jaki jest najlepszy sposób na pozbycie się *the_content* znaczników HTML i zbędnych spacji z frontendu? Tworzę specjalny motyw użycia, który musi umożliwiać użytkownikom, którzy mogą edit_post, wprowadzać zmiany w interfejsie użytkownika, ale chcę, aby ten obszar tekstowy obsługiwał zwykły tekst. Mój obecny kod: <?php if ( !current_user_can( 'edit_post', $post_ID ) ) : the_content('Przeczytaj więcej na "'.the_title('', '', false).'" »'); else: ?> <textarea class="grid_22"> <?php the_content('Przeczytaj więcej o "'.the_title('', '', false).'" »'); ?> </textarea> <?php endif ?> daje to: ![treść w tagu textarea](http://i.stack.imgur.com/muQWg.png) Jak mogę sprawić, żeby wyglądał jak normalny tekst ? Użytkownicy, którzy edytują kopię na interfejsie użytkownika, nie będą używać backendowego edytora WYSIWYG, więc nie muszę się martwić, że formaty zostaną nadpisane.


title: wpdb_prepare z wielokrotnością lub warunkiem

text: Chcę wykonać zapytanie w następujący sposób: $wpdb->prepare( "SELECT * ... from ... WHERE ( post_title LIKE '%%%s%%' lub post_content LIKE '%%%s%%' ). .., $string );Jeśli wykonuję zapytanie z tylko jednym warunkiem, działa: $wpdb->prepare( "SELECT * ... from ... WHERE ( post_title LIKE '%%%s%%' ).. ., $ciąg ); Jaki jest błąd w moim pierwszym zapytaniu?


title: Wtyczka do automatycznej aktualizacji rdzenia WordPress i jego wtyczek?

text: **Czy możliwe jest automatyczne aktualizowanie witryny WordPress?** Mam na myśli to, że gdy wtyczki itp. wymagają aktualizacji, czy możesz po prostu nacisnąć przycisk lub wykonać zadanie cron, pobrać nową aktualizację i obsłużyć cokolwiek jeszcze jest potrzebne, aby Twoja witryna WordPress była zawsze aktualna?


title: Pokaż pojedynczą kategorię podrzędną w niestandardowym poście

text: Mam nadzieję, że ktoś pomoże mi wyciągnąć jedną niestandardową nazwę kategorii i pokazać ją na mojej niestandardowej stronie posta. Stworzyłem nowy, niestandardowy typ wpisu „Plan podróży”, a także kilka nowych kategorii (warunków): Doświadczenie * Sporty wodne * Przygody piesze * Kolarstwo górskie ... Cel podróży * Australia * Kanada * Ameryka Południowa ... Każdy Plan Podróży ma Zastosowano do niego 2 kategorie, na przykład: Trasa 'Coastal Walks' jest sklasyfikowana jako Hiking Adventures i Australia. Chciałbym wyświetlić na mojej stronie pojedynczego planu podróży imię i nazwisko dziecka Cel np. Region: Australia (lub inne wybrane miejsce docelowe) Próbowałem użyć tego: <?php echo the_terms( $post->ID, 'trip_cat', 'Region: ', ', ', ' ' ); ?> ale to wyświetla wszystkie wybrane kategorie - staram się wyświetlić tylko element potomny kategorii Kierunki. Czy ktoś może mi pomóc? :)


title: wp_list_authors, w tym niestandardowe typy postów

text: Używam funkcji wp_list_authors, aby wyświetlić wszystkich użytkowników na moim blogu, jednak nie wyświetla ona użytkowników, którzy napisali niestandardowe typy postów. wyświetla tylko użytkowników, którzy napisali zwykłe posty. Czy istnieje sposób na wyświetlenie wszystkich użytkowników, którzy napisali posty, a także uwzględnienie użytkowników, którzy napisali niestandardowe typy postów na tej samej liście? Szukałem takiej odpowiedzi i nie mogłem jej znaleźć nigdzie w sieci. każda pomoc będzie mile widziana Dzięki, Gil


title: Wtyczka menedżera pobierania

text: Szukamy wtyczki, która pozwoli użytkownikowi przesyłać pliki w interfejsie administratora, kategoryzować je, a następnie wyświetlać ładną skategoryzowaną listę na stronie z widżetem paska bocznego, aby pokazać nowe pliki do pobrania. Spędziliśmy sporo czasu googlując i niewiele wymyśliliśmy. Ten mówi, że powinien robić to, co chcemy, ale tego nie robi. http://wordpress.org/extend/plugins/downloads-manager/ Jakieś sugestie?


title: Nie można modyfikować nagłówków

text: Absolutnie nienawidzę tego błędu. I wcale tego nie rozumiem. Więc to jest mój kod, na którym chcesz się skupić, to pętla foreach: funkcja public reset_theme_options(){ if($this->is_theme_options_array()){ foreach($this->_theme_option['admin_options'] as $option_name= >$wartość){ if($wartość != false){ usuń_opcja($nazwa_opcji); $http = nowy AisisCore_Http_Http(); wp_safe_redirect($http->get_current_url()); } } $this->_update_option(); }else{ $this->_theme_option = array(); $this->_update_option(); } } Zasadniczo wszystko, co robię, to pobieranie nazw opcji, więc powiedzmy, że przechowujesz wszystkie opcje dla swojego motywu w 'My_theme', który jest tablicą ustawień. Wszystko, co robię, to biorę to i usuwam - działa tak, jak jest. Problem polega na tym, że wtedy zasadniczo (od `wp_safe_redirect()`) odświeżam stronę, mógłbym to zrobić za pomocą javascriptu i tak dalej, ale myślę, że ten sposób jest lepszy. Więc wszystko działa, otrzymuję wiadomość o sukcesie, opcje są resetowane z następującym haczykiem: > Ostrzeżenie: Nie można modyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście > rozpoczęte w /var/www/wordpress/wp-admin/menu-header .php:94) w > /var/www/wordpress/wp-includes/pluggable.php on line 876 Ok, więc klikam ponownie przycisk resetowania i wszystko działa tak, jak powinno. Moje kroki w tym błędzie to: (najpierw zacznij z czystą kartą, bez zapisanych opcji) - zapisz niektóre opcje, naciśnij Prześlij. Następnie po odświeżeniu strony kliknij reset, błąd belki, opcje nadal zapisane, kliknij ponownie reset, zresetuj opcje belki. Pomoc?


title: Wyświetlanie terminów pierwszą literą

text:
Prowadzę blog z recenzjami książek i mam wiele stron, które zawierają recenzje według różnych rzeczy (ocena, tytuł książki i autor). Mam niestandardową taksonomię dla autorów i zasadniczo mam moją listę kodów wszystkich terminów, które zawierają w nich posty, a następnie wymień posty. Wszystkie są w porządku alfabetycznym od pierwszej litery. Chcę, żeby złapał pierwszą literę i oddzielił wszystko w ten sposób. W tej chwili wygląda to tak: **Bray, Libba** * Królowe piękności **Elkeles, Simone** * Reakcja łańcuchowa i chcę, żeby było jak **B** Bray, Libba * Królowe piękności **E** Elkeles , Simone * Reakcja łańcuchowa Tak więc po prostu wyświetlam terminy tak, jak mam, ale mając sekcję dla każdej litery, NASTĘPNIE wyświetlaj terminy zaczynające się od tej litery, a następnie wyświetlaj posty. <?php $taksonomia = 'autorzy';// np. post_tag, kategoria $param_type = 'autorzy'; //  np. tag__in, category__in $term_args=array( 'orderby' => 'name', 'order' => 'ASC' ); $terms = get_terms($taksonomia,$term_args); if ($terms) { foreach( $terms as $term ) { $args=array( "$param_type" => $term->slug, 'post_type' => 'recenzje', 'post_status' => 'opublikuj', 'posts_per_page' => -1, 'caller_get_posts'=> 1, 'meta_key' => 'tytuł książki', 'orderby' => 'meta_value', 'order' => 'ASC' ); $moje_zapytanie = null; $my_query = nowe WP_Query($args); if( $my_query->have_posts() ) { echo '
'.$term->nazwa.'
'; while ($my_query->have_posts()) : $my_query->the_post(); ?> <a href="<?php the_permalink() ?>" rel="zakładka" title="<?php the_title_attribute(); ?>"><?php echo c2c_get_custom('booktitle'); ?> przez <?php echo c2c_get_custom('autor'); ?>
 <?php endwhile; } } } wp_reset_query(); // Odtwórz globalne dane postu, które zostały nadpisane przez the_post(). ?>


title: Automatycznie twórz domyślny zestaw postów dla każdego nowego zarejestrowanego użytkownika

text: Czy istnieje wtyczka lub sposób na automatyczne tworzenie zestawu domyślnych postów dla nowego użytkownika podczas rejestracji? Podejrzewam, że odpowiedzią może być podpięcie się pod istniejące wydarzenia związane z wordpress – czy ktoś może zaproponować sposób na rozpoczęcie?


title: pobierz dane komentarza za pomocą identyfikatora komentarza

text: Używam funkcji `get_comments()`, która działa dobrze, jeśli podam jej dowolną tablicę parametrów, z wyjątkiem podania następującej tablicy: $defaults = array('ID' => $comment_id); $com=get_comments($defaults ); Otrzymana tablica zawiera wszystkie dane dla wszystkich komentarzy mojej witryny. Chcę uzyskać tylko dane komentarza o identyfikatorze = $comment_id. Dziękuję za Wasze opinie.


title: Nie zezwalaj administratorowi na edytowanie/wyświetlanie superadministratora z listy użytkowników

text: Jak ukryć superadministratora na liście użytkowników? Mój klient musi mieć możliwość tworzenia użytkowników, ale nie może edytować/zobaczyć mojego superadministratora. Czy to jest możliwe?


title: Zwracanie błędu za pomocą WP Insert bez otrzymania błędu w dzienniku błędów

text: Sprawdzam, czy klucz istnieje w mojej bazie danych za pomocą $wp_db->insert() i wykonuję kod na podstawie wyniku. Wiem, że jeśli wiersz już istnieje, zwróci false i chcę użyć tego do wykonania kodu. Jednak gdy wiersz istnieje, zapisze on również w dzienniku debugowania i zauważy, że nie można go wstawić, ponieważ istniał zduplikowany wpis z tym samym kluczem. Dokładny błąd pisze: „Błąd bazy danych WordPress Zduplikowany wpis „5” dla klucza „PRIMARY”. Czy mogę dowiedzieć się, czy wiersz został wcześniej dodany bez otrzymania tego błędu? Wiem, że mogę alternatywnie sprawdzić, czy istnieje wiersz przed próbą wstawienia, ale chciałbym spróbować, aby działał w ten sposób. Kod foreach ($users as $user) { $result = $wpdb->insert($table, array( 'id' => $user->ID)); if($result != false){ echo 'Już dodano'; } }


title: Czy wordpress jest napisany we wzorze MVC?

text: Czy WordPress jest napisany w architektu MVC? Jak zrozumieć, że CMS to MVC? CMS napisany w MVC musi mieć katalogi o nazwach „Model”, „Kontroler”, „Widok”? Przepraszam za moje pytanie dla początkujących.


title: Wykonaj shortcode w shortcode

text: Używam tej wtyczki: http://wordpress.org/extend/plugins/worldcurrency/ Shortcode składnia: [worldcurrency cur="EUR" value="25"] Jednak używam zaawansowanych pól niestandardowych i shortcode dla niestandardowych pola nie są wykonywane w skróconym kodzie dla waluty światowej. [worldcurrency curr="[acf field="fl_currency"]" value="25"] Czy są tu jakieś środki zaradcze? **Aktualizacja** Myślę, że muszę używać add_filter('xx','do_shortcode'); jakoś?


title: Jak można zdefiniować widżet z tylko jedną instancją?

text: Jak widżet, którego tylko jedna instancja może być wykorzystana?


title: Jaki jest najlepszy sposób na utworzenie niestandardowego archiwum postów, które jest przyjazne dla motywu?

text: Mam typ postu zdarzeń we wtyczce, której używam do wielu instalacji Wordpress, więc szukam sposobu na zaimplementowanie strony archiwum dla zdarzenia i pojedynczej strony. Natknąłem się na kilka sposobów na zrobienie tego, ale to rujnuje połowę moich tematów. Jaki jest najlepszy sposób na utworzenie strony archiwum, aby działała w większości motywów?


title: Z punktu widzenia bezpieczeństwa, czy bloginfo() lub get_bloginfo() powinny być zmienione?

text: Przeglądałem wiele informacji na temat motywu WP i bezpieczeństwa wtyczek i rozumiem koncepcję, w której należy unikać atrybutów i wartości HTML w motywach i wtyczkach. Widziałem, jak `bloginfo()` i `echo get_bloginfo()` używały zarówno standardowych, jak i wewnątrz funkcji `esc_html()` lub `esc_attr()`. _**Genesis_** i **__s_** , podstawowy motyw Automattic zarówno unika tych wartości, ale własny przewodnik po standardach tematycznych kodeksu WP nie mówi nic o ucieczce od tych wartości. Zajrzałem do kodu WP (`wp-includes/option.php`) i wygląda na to, że jest trochę oczyszczenia wartości przekazywanych z `get_option()`, ale wygląda na to, że istnieje filtr, który wtyczka może nadpisać dla pewnych wartości. To właśnie ten fakt skłania mnie do myślenia, że należy od tego uciec. Czy ktoś może mnie w tym oświecić?


title: Funkcja Wordpress get_avatar nie działa poprawnie

text:
Mój kod to robi, wymieniając, który autor opublikował w bieżącej kategorii. Ale funkcja get_avatar nie działa poprawnie. Używam prostej lokalnej wtyczki Avatar. To działa author.php nie mam żadnego problemu. Ale kiedy go używam, mój kod wyświetla to samo i złe zdjęcie autora (Moje najnowsze zdjęcie autora. Możesz spojrzeć na to zdjęcie) Mój kod: <?php if (is_category()) { $current_category = single_cat_title(„”, fałszywy); $tablica_autora = tablica(); $args = array( 'numberposts' => -1, 'category_name' => $current_category, 'orderby' => 'autor', 'order' => 'ASC' ); $cat_posts = get_posts($args); foreach ($cat_posts as $cat_post) : if (!in_array($cat_post->post_author,$author_array)) { $author_array[] = $cat_post->post_author; } endforeach; foreach ($author_array jako $author) : $auth = get_userdata($author)->display_name; $autid= get_userdata($autor)->ID; echo get_avatar( get_the_author_email(), '32' ); echo ""; echo $uwierz; echo ""; echo "
"; na każdym kroku; }?>


title: specjalny XML do postów wordpress

text: Mam trudną sprawę: jeden z naszych klientów ma dużo plików XML i chce być tworzony jako posty z powodów SEO. Jak mogę zaimportować XML i automatycznie przekonwertować je na posty? Widziałem wtyczki, ale to zbyt dużo czasu, aby po prostu zaimportować serię plików XML z wieloma wierszami. Jak wygląda struktura w pliku XML: <Row> <SRI_ID></SRI_ID> <Author></Author> <Mailing_Address></Mailing_address> <Title></Title> <Abstract></abstract> <Source>< /Źródło> </Row>


title: Czy możliwe jest przekazywanie zmiennych ze strony add_user_page?

text: Jeśli podłączyłeś się do menu administratora w następujący sposób: function adminmenu_users_reserves(){ add_users_page('Reserver', 'Reserver', 'read', 'reserve_list', 'show_userlist'); } add_action( 'admin_menu', 'adminmenu_users_reserves' ); i mieć funkcję funkcji show_userlist(show_reserves = true, $title) { kod... } Czy mogę jakoś przekazać zmienne `$show_reserves` Z `add_users_page()`? (W jednym przypadku potrzebuję, aby `$show_reserves` było prawdziwe, w innym przypadku potrzebuję, aby było fałszywe) A może musiałbym rozwiązać swój problem za pomocą dwóch różnych funkcji, takich jak ta? (dla prawie tej samej funkcjonalności) function adminmenu_users_reserves(){ add_users_page('Rezerwy', 'Rezerwy', 'odczyt', 'reserve_list', 'show_reservelist'); } add_action( 'admin_menu', 'adminmenu_users_reserves' ); function adminmenu_users_registered(){ add_users_page('Zarejestrowany', 'Zarejestrowany', 'Przeczytaj', 'registered_list', 'show_registeredlist'); } add_action( 'admin_menu', 'adminmenu_users_registered' ); **UPDATE** Ponieważ mam tak świetną odpowiedź od toscho (http://wordpress.stackexchange.com/users/73/toscho) chcę się podzielić moim rozwiązaniem - jeśli ktoś inny ma ten sam problem w przyszłości : class userList { public $show_reserves = false; public $title = 'Rezerwujący'; //Pokaż listę wszystkich rezerw/lub zarejestrowanych użytkowników w systemie uporządkowaną przez funkcję register-date render() { $reserves = $this->show_reserves; $tytuł = $ten->tytuł; echo $tytuł; if ($reserves === true) { ....kod... } } } function adminmenu_users_reserves(){ $userlist = new userList(); add_users_page('Reserver', 'Reserver', 'read', 'reserve_list', array( $userlist, 'render' )); } add_action( 'admin_menu', 'adminmenu_users_reserves' ); function adminmenu_users_registered(){ $userlist = new userList(); $userlist->show_reserves = false; $userlist->title = 'Anmälda'; add_users_page('Anmälda', 'Anmälda', 'read', 'registered_list', array( $userlist, 'render' )); } add_action( 'admin_menu', 'adminmenu_users_registered' );


title: Posty 2 Posty Niestandardowa funkcjonalność skrzynki administratora

text: Używam wtyczki Posts 2 Posts, aby połączyć 3 CPT - głośnik, sesję i wydarzenie. Użytkownik może utworzyć nową sesję z edytora wydarzeń, ale to pozwala mu tylko określić tytuł. Chciałbym, aby mogli dodać sesję ze wszystkimi powiązanymi polami meta. Przeczytałem "roll your own admin box". Mogę zbudować niestandardowe metabox, który będzie wyświetlał połączone posty, ale utknąłem w odtworzeniu pozostałej funkcjonalności. Czy istnieje sposób na powiązanie z js/ajax P2P, czy musi to być niestandardowe? Widzę, jak programowo tworzyć połączenia, ale to tylko jedna sztuka. Nie szukam kodu, ale przegląd lub „mapa drogowa” niezbędnych kroków byłby bardzo pomocny.


title: Front End User (bloger) włącza i wyłącza swoje komentarze

text: Mam witrynę wordpress z wieloma użytkownikami, z których każdy ma własną stronę z komentarzami. Chciałbym zaimplementować pole wyboru dla użytkowników w interfejsie, aby włączyć (przełączyć) i wyłączyć komentarze. Wiem, że mogę to zrobić sam z zaplecza indywidualnie dla każdej strony użytkownika, ale muszę pozwolić im na skorzystanie z ich opcji. Innymi słowy.... czy to możliwe, aby sklonować to pole wyboru (z panelu administracyjnego) z taką samą funkcjonalnością na froncie (na stronie użytkownika)? Czy mogę mieć jakiś pomysł, jak to wdrożyć? Będę wdzięczny za każdą pomoc w tym. Dziękuję


title: Filtruj posty z głównego zapytania

text:
Chcę warunkowo scalić niestandardowy typ wpisu z moim typem wpisu na podstawie pola niestandardowego. Jeśli wartość pola wynosi 1, chcę, aby te posty niestandardowe pojawiały się w tej samej pętli, co posty na stronie głównej. Mogę połączyć niestandardowy typ posta z domyślnym typem posta i mogę utworzyć tablicę identyfikatorów postów do wykluczenia za pomocą `post__not_in`, ale nie wiem, jak zastosować to do głównej pętli. Oto mój kod dla szablonu index.php poniżej: if (is_home()) { $exclude = array(); $newsQuery = nowe WP_Query (array( "post_type" => "news", "meta_key" => "post_to_blog", "meta_value" => 1, "meta_compare" => "!=", "posts_per_page" => "- 1", )); while ($newsQuery->have_posts()) { $newsQuery->the_post(); array_push($wyklucz, pobierz_identyfikator()); } wp_reset_query(); } if (have_posts()) { while (have_posts()) { the_post(); get_template_part("treść", get_post_format()); } } if ($wp_query->max_num_pages > 1) { echo "
"; kriesi_paginacja(); echo "
"; } A oto co robię, aby pokazać niestandardowy typ posta w głównym zapytaniu w functions.php: function custom_home_loop($query) { if ($query->is_main_query() && is_home()) { $query->set ("post_type", array("post", "wiadomości")); } } add_filter("pre_get_posts", "custom_home_loop"); Czy istnieje sposób na połączenie tych dwóch? Chciałbym zrobić coś takiego jak `$query->set("post__not_in",$exclude);`, ale to nie działa, kiedy próbuję. Nie ma błędu, posty po prostu się pojawiają. Próbowałem przenieść kod `$exclude` do funkcji `custom_home_loop`, ale z jakiegoś powodu ciągle pojawia się błąd przepełnienia pamięci.


title: Filtruj kategorie używane z Linkiem bezpośrednim niestandardowej struktury

text: Używam ustawienia linku bezpośredniego „Struktura niestandardowa”: http://mysite.com/%category%/%postname%/ Jednak gdy wpis należy do nieskategoryzowanego lub do więcej niż jednej kategorii, tworzy to niepożądane struktury adresów URL. Zasadniczo chcę się dowiedzieć, czy mogę uruchomić filtr, aby „Bez kategorii” i wszelkie kategorie podrzędne Nieskategoryzowane zostały usunięte z tego wzorca adresu URL. Doceń każdą pomoc, której możesz udzielić.


title: Witryna WordPress wyświetla 404 dla dowolnej strony oprócz indeksu

text: Moja witryna WordPress zwraca błąd 404 nie znaleziono na dowolnej stronie oprócz strony głównej i /wp-admin. Nie mam pojęcia, dlaczego tak jest. Moje permalinki są skonfigurowane do używania `/rok/miesiąc/data/tytuł-postu/` (np. `www.domena.com/2014/04/28/sample-post/`). Kiedy zmieniam permalinki na domyślne (`?p=123`) działa dobrze, ale nie na żadnym z pozostałych. Oto zawartość pliku `.htaccess`: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> Zainstalowałem również wtyczkę 'Debug This', która zawiera szczegółowe informacje na temat reguł przepisywania. Jednak ponieważ jest to dość duża lista i niesformatowana wyglądałaby dość źle, umieściłem ją w jsfiddle, tutaj: http://jsfiddle.net/k8PHD/embedded/result/ Myślę, że to wszystkie szczegóły, które mam, ja wyłączyłem wszystkie wtyczki i tego typu rzeczy. Dzięki za wszelką pomoc. EDYCJA: ok, więc od tego czasu odkryłem nieco więcej informacji. Zapomniałem też powiedzieć, że gospodarzem strony jest Heroku (buduję dla klienta i z jakiegoś powodu nalega, żebym używał Heroku, co jest złym wyborem dla WP, wiem, ale nie mogę go przekonać inaczej, więc takie jest życie ). Niedawno zainstalowałem `heroku-buildpack-php-tyler`, który zainstalował również Nginx. Więc zakładam, że to właśnie zepsuło moje Permalinki. Następnie znalazłem ten post, który wydaje się dotyczyć mojego problemu, który prowadzi do tej strony w dokumentacji Nginx. Problem polega na tym, że nigdy wcześniej nie korzystałem z Nginx, więc nie wiem, gdzie umieścić cały kod w pierwszej sekcji zatytułowanej Skrócona konfiguracja podstawowa. Czy ktoś może mi pomóc? Dziękuję Ci :)


title: Przypadkowo zepsute adresy URL

text: Zainstalowałem więc WordPress na moim serwerze Apache i zmieniłem adres URL w panelu administracyjnym WordPress na `http://website.com/` z `http://website.com/wordpress` i teraz przenosi mnie do mojego starego `index.html` zrobiłem przed zainstalowaniem WordPressa, mimo że przeniosłem wszystkie moje stare rzeczy do folderu kopii zapasowej. Teraz nie mogę wrócić do mojego panelu administratora WordPressa. Więc moje pytanie brzmi: jak zmienić adresy URL w plikach WordPressa zamiast w panelu administratora (bo nie mogę się do niego dostać). Jak zmienić adres URL WordPress na `http://website.com/` zamiast `http://website.com/wordpress`? PS Nie umieściłem http:// w linkach, ponieważ nie mogę opublikować więcej niż dwóch linków z moim przedstawicielem.


title: Użyć tej samej taksonomii dwa razy w tym samym typie posta?

text: Witam, w zasadzie jestem całkiem dobry z WP, jednak nie jest mi łatwo znaleźć rozwiązanie tego problemu: * Istnieje taksonomia, która będzie się składać z setek, a może tysięcy pozycji. Ta taksonomia nazywa się „Kamienie”. * Istnieje niestandardowy typ słupka o nazwie „przedmiot” (na sprzedaż), który składa się z 1..n „kamieni” w „części głównej” i 1..n „kamieni” w „części dodatkowej” Innymi słowy * *ta sama taksonomia** powinna pojawić się przy użyciu **różnych etykiet** dla **tego samego typu posta dwa razy** (Kamienie zawarte w części głównej i kamienie zawarte w części dodatkowej). Oczywiście łatwo byłoby po prostu stworzyć dwie różne taksonomie niestandardowe, ale wyzwanie polega na tym, że pozycje obu taksonomii powinny być identyczne i powinny być identycznie wstawiane / aktualizowane / usuwane. Czy ktoś może pomyśleć o rozwiązaniu tego problemu?


title: umieść treść pojedynczego posta w og:description

text: Chciałbym, aby zawartość bieżącego pojedynczego posta została załadowana do właściwości meta og:description - ale `'. $content .'` nic nie wyświetla? To jest to, co znajduje się w moim header.php if (is_single()) { $content = get_the_content(); $desc='<meta property="og:description" content="'. $content .'" />'; echo $opis; } Jaki może być problem?


title: TinyMCE usuwa zawartość podczas wklejania. Prawdopodobnie błąd

text: Mam krótki kod, który ma atrybut „style” dla tworzonego przeze mnie motywu, który wygląda tak: [shortcode_name type="normal" style="fixed"] Teraz, jeśli wkleję to w edytorze TinyMCE, dostanę this: [shortcode_name type="normal"] Więc usuwa cały atrybut stylu i robi to tylko wtedy, gdy mam wartość atrybutu stylu, więc działa dobrze, jeśli wkleję to: [shortcode_name type="normal" style=""] Myślę, że jest to związane z nową funkcją TinyMCE 4.0, która teraz obsługuje formatowanie miejsca kopiowania tekstu. W każdym razie daj mi znać, co tu jest nie tak i co mam z tym zrobić. Dziękuję. **Edytuj:** Poza tym nie ma to nic wspólnego ze skrótem. Nawet jeśli spróbuję wkleić coś takiego: foo style="sfdf" bar Tylko to zostanie wklejone: foo To bardzo dziwne. Czy ktoś może spróbować powyższego i powiedzieć mi, czy jestem jedynym z tym?


title: Wordpress nagle przestanie zapisywać pliki przesłane przez mój kod (uruchomiony w nopriv ajax)

text: Mam kod, który przesyła plik. Próbowałem zarówno `wp_handle_upload`, jak i zwykłego kodu PHP i w obu przypadkach będzie twierdził, że przesłał pliki (`wp_handle_upload` zwraca tablicę z wypełnionymi „url” i „file”), ale pliki nie znajdują się w folderze ! **UWAGA: Jest to wywoływane przez funkcję "wp_ajax_nopriv_"** $uploadedFile = wp_handle_upload( $_FILE[ "thefile" ], array( "test_form" => false ) ); //Przekroczy to, jeśli ( !$this->isUploaded( $uploadedFile ) ) return false; $filePath = $uploadedFile[ "plik" ]; $fileType = wp_check_filetype( nazwa podstawowa ( $ ścieżka_pliku ) ); $attachmentInfo = array( "post_mime_type" => $fileType[ "type" ], "post_title" => $title, "post_status" => "dziedzicz", "post_content" => "" ); $attachmentId = wp_insert_attachment( $attachmentInfo, $filePath, $postId ); if ( $attachmentId === 0 ) return false; $attachmentData = wp_generate_attachment_metadata ($attachmentId, $filePath); if ( wp_update_attachment_metadata( $attachmentId, $attachmentData ) === false ) return false; zwróć prawdę; **Przesyłanie w czystym PHP działa, nie można go przesłać tylko przez wordpress!** Oto kod, który działa (ale **tylko** jeśli jest wywoływany poza WordPress): if ( $_SERVER[ "REQUEST_METHOD" ] === "POST" ) { foreach ( $_FILES as $file ) { //To nigdy nie jest wywoływane if ( $plik[ "błąd" ] !== 0 ) wyrzuć nowy wyjątek ( "Błąd: " . $plik [ "nazwa" ] ); $indeks = 0; while ( file_exists( "/var/www/wp-content/uploads/" . $index . $file[ "nazwa" ] ) ) $index++; $name = "/var/www/wp-content/uploads/" . $indeks . $plik[ "nazwa" ]; move_uploaded_file( $file[ "tmp_name" ], $name ); } }


title: Ustawienia w „Media > Ustawienia” są ignorowane podczas wstawiania obrazów

text: Kiedy przesyłam obraz, jego rozmiar jest automatycznie zmieniany zgodnie z oczekiwaniami, jednak rozmiary do wstawiania obrazu wydają się ignorować ustawienia, które umieściłem w Ustawieniach / Mediach. W ustawieniach mediów mam: Miniatura: **150 x 150** Średnia: **300 x 300** Duża: **690 x 9999** Przesyłam obrazek: **2226 x 1663**. Wordpress generuje prawidłowe rozmiary obrazów, ale daje mi następujące opcje wstawiania: Miniatura: **150 x 150** (zgodnie z oczekiwaniami) Średnia: **300 x 224** (zgodnie z oczekiwaniami) Duża: **640 x 447* * (WTF?!) Zajrzałem na forum i znalazłem sugestię, aby dodać do mojego pliku functions.php: **update_option('large_size_w', 690);** Jednak to nie zadziałało.


title: Jak mogę ustawić wartość meta, która wpłynie na inne wartości meta postu?

text: Mam metabox w moim wpisie typu „ebrd_videos”, który ustawia film jako „polecany film” za pomocą pola wyboru. Chcę ograniczyć liczbę filmów wideo o statusie „polecane = włączone” do 1. Aby po ustawieniu filmu wideo jako polecanego i opublikowaniu/zaktualizowaniu tego filmu, wszystkie inne filmy wideo miały wartość „polecane = wyłączone”. Jeśli to pomoże, oto kod do utworzenia meta pola: // Dodaj meta pola Top i Featured News -------------------------- --------------// add_action( 'add_meta_boxes', 'ebrd_add_post_metaboxes' ); function ebrd_add_post_metaboxes() { add_meta_box('ebrd_feat', 'Status postu', 'ebrd_feat', 'ebrd_videos', 'strona', 'domyślnie'); } // Polecana funkcja Metabox ebrd_feat(){ global $post; $custom = get_post_custom($post->ID); if(isset($custom["ebrd_home_feat"][0])) $ebrd_home_feat = $custom["ebrd_home_feat"][0]; inaczej $ebrd_home_feat = 'wyłączony'; // Użyjemy tego pola nonce później podczas zapisywania. wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?> <input type="pole wyboru" name="ebrd_home_feat" <?php if( $ebrd_home_feat != 'off' ) { ?>checked="zaznaczone"<?php } ?> /> Funkcja domowa? <?php } add_action('save_post', 'save_details'); function save_details($post_ID = 0) { $post_ID = (int) $post_ID; $post_type = get_post_type( $post_ID ); $post_status = get_post_status( $post_ID ); // jeśli nie ma naszej jednorazówki lub nie możemy jej zweryfikować, wpłać kaucję if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' )) zwrócić; // jeśli nasz obecny użytkownik nie może edytować tego posta, zwolnij kaucję if( !current_user_can( 'edit_post' ) ) return; if(isset($_POST["ebrd_home_feat"])) $ebrd_home_feat = $_POST["ebrd_home_feat"]; inaczej $ebrd_home_feat = 'wyłączony'; if ($post_type) { update_post_meta($post_ID, "ebrd_home_feat", $ebrd_home_feat); } return $post_ID; }


title: Jak programowo zarządzać wpisami z zewnętrznego skryptu php?

text: Jak utworzyć post, przypisać go do kategorii, dodać do niego znaczniki i ustawić wyróżniony obraz ze skryptu PHP, który istnieje gdzieś na dysku (powiedzmy /usr/local/process.php) i nie jest częścią Wordpress instalacja czy infrastruktura? Szukałem przez kilka godzin i nie znalazłem niczego szczególnie przydatnego. Jedyną rzeczą, na której utknąłem, jest to, jak utworzyć POST i dodać jego metadane. Reszta (np. pobieranie obrazów, wyodrębnianie podpisów itp.) jest już wykonana. **Tło** Chciałbym zautomatyzować proces tworzenia postów dla obrazów, które posiadam. W przeciwieństwie do tradycyjnego importu, chciałbym zastąpić obrazy i zaktualizować ich posty i metadane, jeśli już istnieją. To ostatnie jest ważne, ponieważ zarządzam wszystkimi metadanymi obrazu w Aperture. Każdy obraz ma unikalną nazwę w postaci AAA99999999, a wersje (takie jak czarno-białe i przycięte) obrazów mogą mieć format „AAA99999999 — wersja NNN”. Jeśli to możliwe, chciałbym wskazać, że posty powiedzmy "AAA99999999" i "AAA99999999 - wersja 1" są powiązane. Mam około 2000 zdjęć, które chciałbym zaimportować. Chciałbym używać skryptu w przyszłości do dodawania i aktualizowania nowych obrazów.


title: Permalink otwiera załącznik zamiast strony

text: Niedawno przeniosłem bloga z jednego hosta na drugi i teraz mam problem z permalinkiem – zamiast otwierać stronę, teraz otwiera załącznik. Blog używa WP 3.0.4, działającego na PHP 5 i IIS 7.0. Permalinki są ustawione tak, aby używać "/%postname%/", a web.config jest zgodnie z sugestią w Kodeksie. Blog został przeniesiony za pomocą narzędzi eksportu i importu WP. Wcześniej http://site/blog/map otwierał stronę o nazwie mapa, ale teraz otwiera http://site/blog/?attachment_id=xx. Czy ktoś wie, jak zmienić to zachowanie? Dzięki, Jon.


title: Wordpress na lokalnej maszynie przekierowujący do internetowego adresu URL

text: pobrałem witrynę Wordpress na mój lokalny komputer i próbowałem ją skonfigurować. problem: podczas próby logowania wordpress zawsze przekieruje do adresu URL online. jedynym sposobem, jaki znalazłem, była ręczna zmiana siteurl w phpmyadmin na adres IP mojego komputera lokalnego. czy istnieje lepsze rozwiązanie? problem polega na tym, że permalinki nie będą już działać lokalnie. Dziękuję


title: Jak wybrać stronę w admin?

text: Jak zastosować akcję do jednej konkretnej strony w ramach administratora? Dodałem kilka edytorów wysiwyg do jednej strony ("Strona główna") i teraz nie potrzebuję edytora głównego. Ale poniższa funkcja - oczywiście - usuwa edytor ze wszystkich stron: function remove_editor_from_home_page() { remove_post_type_support( 'strona', 'edytor' ); } add_action( 'init', 'remove_editor_from_home_page' ); Jak mogę ustawić kierowanie na stronę główną w panelu admin według nazwy — „Strona główna” — lub według identyfikatora strony? Ta inna odpowiedź WPSE nie chce dla mnie działać: Kieruj na określoną stronę w ramach backendu wordpress


title: Podstrony Wordpress do niestandardowych typów postów

text: Stworzyłem taki CPT: add_action('init', 'create_media'); function create_media() { $labels = array( 'name' => _x('Media', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Media', 'Pojedyncza nazwa typu postu'), 'add_new ' => _x('Dodaj nowy', 'Media'), 'add_new_item' => __('Dodaj nowe media'), 'edit_item' => __('Edytuj media'), 'new_item' => __(' Nowe media'), 'view_item' => __('Wyświetl media'), 'search_items' => __('Wyszukaj media'), 'not_found' => __('Nie znaleziono mediów'), 'not_found_in_trash' => __('Nie znaleziono mediów w koszu'), 'parent_item_colon' => __( 'Media nadrzędne' ) ); register_post_type( 'media', array( 'labels' => $labels, 'public' => true, 'rewrite' => array('slug' => 'media'), 'capability_type' => 'strona', ' hierarchiczny' => true, 'supports' => array( 'title', 'revisions' ) ) ); } W moim CPT mam niestandardową taksonomię, utworzoną w ten sposób: add_action( 'init', 'create_mediatype' ); function create_mediatype() { $labels = array( 'name' => _x( 'Typy mediów', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Typ mediów', 'nazwa osobliwa taksonomii' ), 'search_items ' => __( 'Wyszukaj typy mediów' ), 'all_items' => __( 'Wszystkie typy mediów' ), 'parent_item' => __( 'Rodzic typ mediów'), 'parent_item_colon' => __( 'Nadrzędne media type' ), 'edit_item' => __( 'Edytuj typ mediów' ), 'update_item' => __( 'Aktualizuj typ mediów' ), 'add_new_item' => __( 'Dodaj nowy typ mediów' ), 'new_item_name' => __( 'Nowa nazwa typu mediów' ), 'menu_name' => __( 'Typy mediów' ), ); register_taxonomy('mediatype',array('media'),array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => tablica ( 'slug' => 'media' ), )); } Mam 3 rodzaje taksonomii: Zdjęcia, Wideo i Audio. Jak najlepiej ustawić aby uzyskać podstrony dla każdej kategorii tak: .../media/photos .../media/videos .../media/audios Próbowałem stworzyć stronę dla każdej z szablonów przydzielona strona i ustawienie nośnika jako nadrzędnego. Ale to nie działa. Dziękuję


title: Problemy z linkiem bezpośrednim

text: Mam problem. Używam WP 3.05 z jedną niestandardową taksonomią. Oto kod do utworzenia taksonomii: function create_property_taxonomies() { // Dodaj nową taksonomię, ułóż ją hierarchicznie (jak kategorie) $labels = array( 'name' => _x( 'Typy właściwości', 'nazwa ogólna taksonomii' ) , 'singular_name' => _x( 'Typ właściwości', 'taksonomiczna nazwa pojedyncza' ), 'search_items' => __( 'Wyszukaj typy właściwości' ), 'all_items' => __( 'Wszystkie typy właściwości' ), 'parent_item ' => __( 'Typ właściwości nadrzędnej' ), 'parent_item_colon' => __( 'Typ właściwości nadrzędnej:' ), 'edit_item' => __( 'Edytuj typ właściwości' ), 'update_item' => __( 'Aktualizuj Typ właściwości' ), 'add_new_item' => __( 'Dodaj nowy typ właściwości' ), 'new_item_name' => __( 'Typ nowej właściwości' ), 'menu_name' => __( 'Typ właściwości' ), ); register_taxonomy('property_type',array('sbproperty'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => true , )); globalne $wp_rewrite; $wp_rewrite->extra_permastructs['property_type'] = array('%property_type%', EP_NONE); } Użyłem dodatkowej permastruktury, więc taksonomia pojawia się po prostu w podstawowym adresie URL, takim jak site.com/taxonomy-slug zamiast site.com/taxonomy/taxonomy-slug. Używam również wtyczki najwyższego poziomu-cats, aby zrobić to samo dla oryginalnych taksonomii. Ale to powoduje konflikt z moimi stronami. Kiedy usunę permastrukturę, strona ładuje się na ładnym permalinku, ale z moją permastrukturą nie, daje 404 dla wszystkich stron najwyższego poziomu.


title: Uwzględnij wiele niestandardowych typów postów

text: Cześć, chcę dołączyć 2 różne niestandardowe typy postów w moich plikach funkcji: include("portfolio/portfolio-post-type.php"); include("galeria/galeria-post-type.php"); Ale wydaje się, że psują WordPressa, działa tylko wtedy, gdy dołączam tylko jeden na raz, czy muszę umieścić to w funkcji?


title: Błąd sprawdzania poprawności formatu posta

text: Aby formaty postów linków pojawiały się w moim archive.php używam następującego kodu: <a href="<?php echo wp_trim_words( get_the_content(), 100 ); ?>"> <?php the_content(); ?> </a> **Oczywiście powoduje to błąd walidacji, ponieważ `<p>` znajduje się wewnątrz `<a>`. Szukam rozwiązania, aby naprawić ten błąd walidacji.** Jest to najbardziej intuicyjny sposób, w jaki mogę wymyślić łatwe formaty postów z linkami (oczywiście jestem otwarty na sugestie).


title: Dodawanie zdarzenia onchange do niestandardowego menu rozwijanego w Wordpress

text: Chciałbym dodać zdarzenie onchange do rozwijanego menu, które stworzyłem za pomocą wtyczki Wordpress. Ponieważ jest to moja pierwsza wyprawa w rozwój Wordpress, a firma, w której pracuję, ma duże zamówienie na to, co chce, trudno mi zrozumieć, jak to zrobić. Oto, co mam: Mam wtyczkę, która osadza podstawowy adres URL w witrynie Wordpress za pomocą krótkiego kodu. Wtyczka posiada stronę ustawień administratora, która umożliwia użytkownikowi zmianę podstawowego adresu URL. W pliku php mojej wtyczki mam funkcję, która zwraca menu rozwijane i osadza podstawowy adres URL: function embed_url() { $dropdown_menu = '<select><option>OptionDefault</option><option value="?id=1 ">Opcja1<option value="?id=2">Opcja2</option></select>'; $full_url = '<object type="text/html" data=' . $embed_this_url . ' style="szerokość:100%; wysokość:100%"><p> Nie można wczytać adresu URL. </p> </object>'; zwróć $dropdown_menu . $pełny_url; } Zmienna $embed_this_url jest wartością opcji zapisanej w bazie danych WP. Na przykład wartością może być „http://www.mojawitryna.com”. Czego chcę: chcę, aby moje menu rozwijane zmieniało osadzoną witrynę. Używając powyższego kodu, jeśli użytkownik wybierze opcję 1, osadzona witryna będzie miała postać $embed_this_url + „?id=1” (innymi słowy: http://www.mysite.com?id=1). Dlatego muszę dodać javascript, aby wykonać funkcję onchange, aby odświeżyć z $ embed_this_url plus wartość wybranego. Jak bym to zaimplementował?


title: Przekaż treść posta WP do wtyczki jQuery (Fancybox)

text: Buduję portfolio WordPress. Wyświetla tylko miniatury obrazów z elementem wideo, który wywołuje fancybox. W znacznikach `<a>` atrybuty zawierają informacje potrzebne do załadowania zawartości przez fancybox. „href =” to adres URL filmu do wyświetlenia, „tytuł =” to tytuł posta itp. Chcę w jakiś sposób przenieść treść posta do okna fancybox i wyświetlić go jako tytuł (podpis pod filmem). Moje dotychczasowe podejście polegało na przeniesieniu treści posta do znaczników `<a>`, a następnie przekazaniu jej treści do pliku `FBox.js`. Przeniosłem treść posta (the_content) do niestandardowego atrybutu dla `<a>`, eventid=, a także przeniosłem go WEWNĄTRZ znaczników `<a></a>`. Udało mi się to: treść posta jest ładowana na stronie indeksu zarówno jako atrybut "eventid=", jak i jako tekst wewnątrz znaczników `<a>`. W ten sposób element wywołujący Fbox jest ładowany wewnątrz pętli WordPress w indeksie. <a class="tekst-ramki miniatury <?php if($video_url !='' || $embeded_code != '') : ?>wideo<?php else: ?>zrzuty<?php endif; ?> " <?php if($video_url !='' || $embeded_code != '') : ?><?php else: ?>rel="set-<?php the_ID(); ?>"<?php endif ; ?> href="<?php if($video_url !='' || $embeded_code != '') : ?>#embed-<?php the_ID(); ?><?php else: ?><?php echo $upload_image_1; ?><?php endif; ?>" title="<?php the_title(); ?>" eventid="<?php the_content(); ?>">< ?php zawartość_(); ?> Jednak nadal mam problemy z wysłaniem tego tekstu do wtyczki JavaScript FBox, aby zawartość została pobrana z indeksu i załadowana do Fbox. Najwięcej zrobiłem to: 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) { return '' + jQuery("a.video").html( ) + ''; To publikuje zawartość PIERWSZEGO posta tylko wewnątrz Fboxa (otrzymuje zawartość pierwszego znalezionego elementu a.video). Próbowałem z 'titleFormat': function(title, currentArray, currentIndex, currentOpts) { return '' + jQuery(this).html() + ' '; Ale zwraca wartość null lub undefined i drukuje ją w Fbox. Utknąłem, nie wiem, jak pobrać konkretną treść tekstową dla każdego posta i przenieść ją do FBoxa. Myślałem, że może za pomocą zmiennej globalnej? Jestem studentem, więc zdecydowanie jestem super nowicjuszem, po prostu naprawdę chcę pokonać tę przeszkodę. Blog jest hostowany tutaj: http://realitynext.heliohost.org/wordpress/


title: Przenieś menu Sticky Nav poniżej paska narzędzi WordPress, gdy pasek narzędzi jest włączony

text: Utworzyłem lepkie menu, ale po zalogowaniu jest ukryte za paskiem narzędzi WordPress. Jak przenieść je poniżej paska narzędzi, gdy jest włączone i zalogowane? Szukałem tagu warunkowego, ale nie mogłem go znaleźć. Wydaje mi się, że istnieje hak lub filtr WordPress, którego mógłbym użyć.


title: Podstrony Permalinki Problemy

text:
moja strona wygląda tak: **Page-1** (`page.php`) ... **Subpage-1** (`custom-collection.php`; Custom Post Type) ...... ** Filtrowanie Output-Post** (`custom-collection-single.php`) Kiedy otwieram filtrujący output-post używając `/%postname%` dla permalinków, otrzymuję stronę błędu 404. Jakiś kod: **custom-collection.php** <?php $args = array( 'post_type' => 'weine', 'posts_per_page' => -1, 'orderby' => 'rand' ); // ============================= BIAŁE WINO =================== ============= if( is_page('147') ) { $args = array( 'tax_query' => array( array( 'taksonomia' => 'sorte', 'field' = > 'slug', 'terms' => array('weisswein') ) ) ); } // ============================= CZERWONE WINO ================== ============== ... // =========================== Wszystkie WINA == ================================ else {} $loop = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); ?> <a class="item" rel="wine" href="<?php the_permalink(); ?>" > <?php the_post_thumbnail('wine-flow', array('class' => 'content') ); ?>   <?php endwhile; ?> **custom-collection-single.php** <?php get_template_part( 'pętla', 'pojedynczy-pusty' ); ?> <?php echo '
'; the_post_thumbnail('przepływ wina'); Echo '...'; ?> **Pętla** (loop-single-empty.php) <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <?php koniec; ?> **Próbuję dodać to do mojego functions.php** add_action('admin_init', 'flush_rewrite_rules'); Kiedy używam standardowych permalinków, wszystko działa u mnie dobrze. .htaccess: `<IfModule mod_rewrite.c> ...` jest aktywny Dziękujemy za pomoc. Ogni


title: Czy mogę wysyłać zapytania do niestandardowych metadanych za pośrednictwem WP_Query?

text: Ok, moje pytanie jest nieco skomplikowane, więc postaram się podać ogólne wyjaśnienie, a następnie przejść do szczegółów. Używam WordPress 3.4.2 i używam Kreatora typów postów WCK i Kreatora pól niestandardowych WCK do tworzenia własnych typów postów i pól niestandardowych. Próbuję wysyłać zapytania z niestandardowego typu wpisu „biznes”, do którego dołączone jest niestandardowe pole „specjalne”. Mój problem polega na tym, że chciałbym być bardziej szczegółowy i uzyskać tylko określony typ specjalnego (który jest ustawiony we wtyczce Custom Fields Creator), ale nie wiem, czy / jak mogę to zrobić za pomocą argumentu meta_query dla WP_Query. To, co mam teraz, wyciągnie posty z typu post, ale potem muszę użyć get_post_meta(), aby znaleźć niestandardowe pola i przejść przez nie, wykonując testy na to, czego chcę. Oto co mam teraz: <?php $args = array( 'post_type' => 'biznes', 'meta_query' => array( array( 'klucz' => 'specjalne') ) ); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); $specials = get_post_meta( $post->ID, 'specjalne'); //Przejdź przez tablicę specjałów foreach( $specials as $special){ //Przejdź przez każdą specjalną foreach($special as $individual){ //Sprawdź, czy jest napój specjalny if ($individual ['type- of-special'] == 'Pij' ) { //Rób rzeczy }//indivdual }//special } //specials endwhile; ?> Więc to, co tutaj robię, to wyciągam posty, a następnie dla każdego posta otrzymuję metadane „specjalne” i przechodzę przez różne tablice, aby sprawdzić, jaki to rodzaj specjalny, a następnie wyświetlam rzeczy, jeśli jest to właściwy rodzaj specjalny. Czy istnieje sposób, aby być bardziej szczegółowym w moim WP_query, aby zwracać tylko posty, które są określonego typu? Problem, na który natrafiam, polega na tym, że nie wiem, jak zagłębić się wystarczająco głęboko w wielowymiarowe tablice, które niestandardowe pole „specjalne” musi sprawdzać pod kątem wartości za pomocą argumentu meta_query dla WP_Query. Jeśli wypiszę $special w foreach ($specials jako $special) otrzymuję to: Array ( [0] => Array ( [typ-specjalny] => Drink [nazwa-specjalny] => Pumpkin Latte [ cena] => 2.00 [dzień-tygodnia] => poniedziałek, wtorek, środa, czwartek, piątek, sobota, niedziela ) ) Więc nie wiem jak dostać się do klawisza [rodzaj specjalny] sprawdź jego wartość poprzez meta_query. Wiem, że jest to dużo informacji i naprawdę doceniam wszelkie uwagi i pomoc w rozwiązaniu tego problemu. Jeśli potrzebujesz więcej informacji lub wyjaśnień, daj mi znać. Dzięki jeszcze raz!


title: Jak zmniejszyć liczbę poprawek?

text: W niektórych postach mam wiele poprawek i chcę tylko 2 poprawki dla każdego postu. Znalazłem tę wtyczkę http://wordpress.org/extend/plugins/revision-control/, która jest w stanie ustawić, że w przyszłości WP nie będzie przechowywać więcej niż 2 wersji, ale nie usuwa istniejących wersji. Znalazłem wtyczkę http://wordpress.org/extend/plugins/better-delete-revision/, która może usunąć wszystkie wersje. Ale nie mogę ustawić pozostawienia 2 wersji.


title: wstawiaj do kolejki skrypt tylko wtedy, gdy jeszcze nie jest wpisany do kolejki

text: Chcę dołączyć skrypt do wyniku shortcode, więc próbuję tego: function my_shortcode( $atts, $content = null ) { extract(shortcode_atts(array('title' => '', ), $atts)); wp_enqueue_script('niestandardowy-skrypt'); } Zarejestrowałem już skrypt i dodaję go do kolejki, jeśli używany jest powyższy kod. Jednak chcę dołączyć plik tylko raz, nawet jeśli shortcode jest używany wielokrotnie. Obecnie, jeśli shortcode jest używany wielokrotnie, za każdym razem będzie zawierał skrypt. Czy to możliwe?


title: Gwarantowane rozmiary obrazu

text: Używam następującego wiersza kodu, aby utworzyć nowy rozmiar obrazu: add_image_size('single-post-image', 600, 370, true); Jednak ta linia kodu nie gwarantuje, że obraz będzie miał rozmiar 600X370, gwarantuje, że jest to maksymalny rozmiar, a mniejsze obrazy nie zostaną zmienione. Jednak w moim przypadku potrzebuję gwarancji, że każdy obraz, którego użyję będzie 600X370.


title: Wyświetlanie tylko określonych galerii za pomocą shortcode na niestandardowej stronie

text:
W końcu udało mi się uruchomić galerię na mojej stronie i postępując zgodnie z kilkoma wcześniejszymi radami na tej stronie, sprawdziłem skrócony kod galerii w kodeksie. Teraz, jeśli dobrze zrozumiałem, jeśli ustawię identyfikator na id="astrophoto", powinien czytać tylko ten post, ale kiedy wywołam stronę, chwyta obrazy, które nie są zawarte w galerii postów. Pojawia się też kwestia stylizacji. Używam Foundation 4 jako mojego frameworka i planowałem użyć modalu dołączonego do wyświetlania pełnowymiarowych obrazów po kliknięciu, ale zajęło to i mam nadzieję, że zaoszczędzę czas w tej części i uzyskam tutaj pomoc. lokalizacja galerii: http://lab.nmjgraphics.com/astrophotography/ oto shortcode, którego teraz używam: <?php //Wywołanie argumentów dla galerii. W tym miejscu można zmienić informacje, dla których galeria ma być wyświetlana $gallery_shortcode = '[gallery id="astrophoto" columns="3" order="ASC" orderby="ID" gallery size="medium"]'; ?> <?php get_header(); ?>
Galeria Astrofotografii

 <?php print apply_filters( 'the_content', $gallery_shortcode ); ?>
 <?php get_footer(); ?>


title: Jak dołączyć do stołów?

text: Wiem, że na stronie jest wiele postów na ten temat, ale nie rozumiem, jak to działa. Ten SQL działa. SELECT wp_category.id, wp_ogloszenia_kupione.kategoria, klient_id FROM wp_category DOŁĄCZ wp_ogloszenia_kupione ON (wp_ogloszenia_kupione.kategoria = wp_category.id); Jak to przekłada się na Wordpress `$ wpdb`?


title: Wszystkie skróty nie działają na niestandardowym motywie

text:
Używam niestandardowego motywu, który nie został opracowany przeze mnie, który wydaje się być wyłączony / lub nie ma funkcji dla wszystkich Shortodes, niezależnie od tego, czy jest to krótki kod WordPress, czy krótki kod wtyczki. Najbardziej potrzebuję tej funkcji do działania za pośrednictwem krótkiego kodu generowanego przez wtyczkę. Sprawdziłem kilka rzeczy, aby zobaczyć, co jest przyczyną, ale nie udało mi się znaleźć, gdzie są problemy. Oto co sprawdziłem. Kiedy wróciłem do motywu 2012, skróty działały dobrze. Wyłączyłem wszystkie moje inne wtyczki, aby sprawdzić, czy jest to spowodowane jakąś niezgodnością. brak zmiany. Upewniłem się, że szablon strony ma poprawną pętlę w tym poście: skrócone kody wtyczek nie działają na niestandardowym motywie - nie wiem, jak to naprawić *Edytuj: Oto kod szablonu strony <?php get_header(); ?>

   </sekcja>  <sekcja> <artykuł> <?php // while ( have_posts() ) : the_post(); if(get_the_content()){ ?> <?php if(get_the_content() == 1228) { ?>
Formularze
 <?php the_content(); ?> <?php }elseif(get_the_ID() == 1191){ ?>  <?php the_content(); ?> <?php }else{ ?>
<?php the_title(); ?>
 <?php function sup($text){ $true = preg_replace('#(\d+)(st|th|nd|rd)#', '$1$2 ', $tekst); zwróć $prawda; } echo sup(get_the_content()); ?> <?php } ?> <?php }else{ $arg = query_posts(array('post_parent' => get_the_ID(), 'post_type' => 'page', 'posts_per_page'=>1, 'orderby' = > 'menu_order', 'order' => 'ASC' )); // $arg[0]->guid; ?> <?php if($arg[0]->ID == 1811):?> <?php $ag = query_posts(array('post_parent' => $arg[0]->ID, 'post_type' = > 'page','posts_per_page'=>1, 'orderby' => 'menu_order', 'order' => 'ASC' )); ?>
<?php echo $ag[0]->tytuł_postu; ?>
 <?php echo $ag[0]->post_content; ?> <?php else:?>
<?php echo $arg[0]->tytuł_postu; ?>
 <?php echo $arg[0]->post_content; ?> <?php endif;?> <?php }?> <?php // endwhile; // koniec pętli. ?>

  <?php include('quick_links.php'); ?> <?php $url = $_SERVER['REQUEST_URI']; $url_parse = parse_url($url); $poziom = explode('/', $url_parse['ścieżka']); if($poziom[1] == 'edukacja' || $poziom[1] == 'wspólnota'):?> <?php $catid = get_query_var('kot'); $s = query_posts( array( 'post_type' => 'post', 'post_status' => 'publish', 'category' => 'news', 'posts_per_page' => 0, 'orderby' => 'post_date', 'zamówienie' => 'DESC')); while( have_posts() ) : the_post(); $newsList[] = array( 'title' => get_the_title(), 'link' => apply_filters('permalink', get_permalink()), 'date' => apply_filters('the_time', get_the_time( 'F j, Y ' ), 'F j, Y'), 'expert' => apply_filters('the_excerpt', get_the_excerpt()), 'autor' => get_the_author(), ); koniec; wp_reset_query(); ?>

Wiadomości i informacje

<a href=" <?php echo $newsList[0]['link']; ?>"><?php echo $newsList[0]['title']; ?>

<?php echo $newsList[0]['ekspert']; ?>

<a href="<?php echo $newsList[0]['link']; ?>">Czytaj więcej
 </ artykuł>

 <?php else:?> <?php include('testimonials.php'); ?> <?php endif;?>

 <?php get_footer(); ?> Istnieje możliwość, że oryginalny programista po prostu ponownie wykorzystał motyw opracowany dla starszej wersji WordPressa, gdy nie istniały skróty. Jakieś pomysły, gdzie szukać dalej?


title: Edytuj post z frontendu. post_tags są zapisywane, ale nie rozdzielane

text:
Tworzę motyw CRM dla Wordpress. Więc publikuję, edytuję i usuwam posty z Frontendu. Myślę, że jestem na dobrej drodze do rozwiązania wszystkich problemów. Ale jest jedna porażka. Przy indeksie znajduje się przycisk „edytuj” i „usuń”. Jeśli kliknę „edytuj”, przechodzę do formularza. Mogę tam zmienić post_tags. Zmiany zostaną zapisane, ale pojedyncze słowa nie zostaną rozdzielone. Wszystkie słowa w polu wejściowym są jednym wielkim tagiem - widzę go w widżecie na pasku bocznym. Ale używam separatorów... Jeśli masz 2 minuty: Tutaj (w index.php) umożliwiam usunięcie posta: if( 'POST' == $_SERVER['REQUEST_METHOD'] ) { set_query_var( 'postid1', $_POST['postid'] ); /* ustaw wartość "postid" z przycisku usuwania posta, który chcemy usunąć na "postid1" */ wp_delete_post( get_query_var( 'postid1'), true ); /* usuń wybrany przez nas post */ }; pobierz_nagłówek(); ?> W pętli indeksu możesz znaleźć następujący fragment. Pierwszy formularz służy do edycji, drugi do usuwania: <form class="edit" action="<?php echo esc_url( home_url( '/' ) ); ?>editieren-formular/" method="post"> <input type="ukryty" name="postid" value="<?php the_ID(); ?>" /> <?php /* pobierz identyfikator posta do "postid" i przekaż go później do "editieren-formular.php" */ ?> <input type="submit" value="Edit" /> </form> <form class="delete" action="" method="post"> <input type="hidden" name="postid " value="<?php the_ID(); ?>" /> <?php /* pobierz identyfikator posta do "postid" a później usuń post */ ?> <input type="submit" value="Delete" /> </form> Wszystko w porządku. Teraz editieren-formular.php, który jest szablonem strony o nazwie "Editiere Formular". "editieren-formular" to ślimak. <?php /* Nazwa szablonu: Edytuj formułę */ if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == "edit_post " && isset($_POST['postid'])) { $post_to_edit = array(); $post_to_edit = get_post($_POST['postid']); /* są to pola, które edytujemy w poniższym formularzu. */ $tytuł = $_POST['tytuł']; $opis = $_POST['opis']; $nazwa_nazwa = $_POST['nazwa_nazwa']; $nazwa = $_POST['nazwa']; /* ten kod zapisze tytuł i opis w tablicy post_to_edit */ $post_to_edit->post_title = $title; $post_to_edit->post_content = $opis; /* szczerze nie pamiętam dlaczego dodałem ten kod, ale jest to konieczne */ $pid = wp_update_post($post_to_edit); /* zapisanie taksonomii: identyfikator posta, nazwa formularza, nazwa taksonomii, jeśli zostanie dołączona(true) lub rewrite(false) */ wp_set_post_terms($pid, array($_POST['cat']),'firmen',false); wp_set_post_terms($pid, array($_POST['post_tags']),'post_tag',false); //AKTUALIZUJ NIESTANDARDOWE PÓL O NOWE INFORMACJE //ZMIEŃ NA WŁASNE NIESTANDARDOWE PÓL I DODAJ TYLE, ILE JEST POTRZEBNE update_post_meta($pid, 'vorname', $vorname); update_post_meta($pid, 'nazwa', $nazwa); //PRZEKIERUJ UŻYTKOWNIKA GDZIEKOLWIEK CHCESZ PO ZAKOŃCZENIU EDYCJI wp_redirect( 'http://crm-wordpress-theme.wellseo.de' ); ... } // ZAKOŃCZ INSTRUKCJĘ IF, KTÓRA ROZPOCZĘŁA CAŁY FORMULARZ get_header(); $post_to_edit = get_post($_POST['postid']); $terms = get_the_terms($post_to_edit->ID, 'firma'); $tags = strip_tags( get_the_term_list( $post_to_edit->ID, 'post_tag', '', ', ', '') ); <?php $term_name = strip_tags( get_the_term_list( $post_to_edit->ID, 'category', '', ', ', '') ); ?>  <?php $term_obj = get_term_by('name', $term_name, 'category'); ?>  <?php $term_id = $term_obj->term_id ;?>  <?php $args = array( 'zaznaczone ' => $term_id, 'name' => 'cat', 'class' => 'postform', 'tab_index' => 10, 'depth' => 2, 'hierarchical' => 1, 'hide_empty' => fałszywy ); /* tablica dla wp_dropdown_category do wyświetlenia z bieżącą kategorią posta wybraną domyślnie */ ?> Akcja
 <form id="edit_post" name="edit_post" method="post" ="" enctype="multipart/form-data"> <fieldset name="title"> Tytuł:
 <input type="text" id="title " value="<?php echo $post_to_edit->post_title; ?>" tabindex="5" name="tytuł" /> </fieldset> <fieldset id="kategoria"> < ?php wp_dropdown_categories( $args ); ?> </fieldset> <fieldset class="content"> Opis rabatu:
 <textarea id="description" tabindex="15" nazwa ="description"><?php echo $post_to_edit->post_content; ?></textarea> </fieldset>  <fieldset class="vorname"> Nazwa użytkownika:
 <input type="text" value="<?php echo get_post_meta($post_to_edit->ID,'vorname', true); ?>" id="vorname" tabindex="20" name="vorname" /> </fieldset > <fieldset class="name"> Nazwa:
 <input type="text" value="<?php echo get_post_meta($post_to_edit->ID,' name', true); ?>" id="name" tabindex="20" name="name" /> </fieldset> <fieldset class="tags"> Dodatkowe słowa kluczowe (przecinek oddzielone):
 <input type="text" value="<?php echo $tags; ?>" tabindex="35" name="post_tags" id="post_tags" /> </ fieldset> <fieldset class="prześlij"> <input type="prześlij" value="Speichern" tabindex="40" id="prześlij" name="prześlij" /> </fieldset> <input type="ukryty" name="postid" value="<?php echo $post_to_edit->ID; ?>" /> <input type="ukryty" name="akcja" value="edit_post" /> <input type="hidden" name="change_cat" value="" /> <?php // wp_nonce_field( ' nowy-post' ); ?> </form>
 <?php get_sidebar(); ?> <?php get_sidebar('dwa'); ?> <?php get_footer (); ?>


title: Domyślne wyszukiwanie WP z wyłączeniem określonych znaków, czy to możliwe?

text: Chciałbym wiedzieć, czy możliwe jest dostosowanie domyślnego modułu wyszukiwania Wordpress. Prowadzę stronę internetową zajmującą się zespołami i wiadomościami o zespołach. Niektóre z tych zespołów mają swoje nazwy napisane w ten sposób * H.M.S. * L.A. Dream * N.Y. Invaders Chciałbym, aby moduły wyszukiwania mogły zarządzać tymi zespołami w wynikach, nawet jeśli szukam ciągów takich jak **HMS** , **LA Dream** lub **NY** , zamiast wypełniać znaki kropkami. Czy ktoś ma jakieś sugestie lub zna sztuczkę WP, której w tej chwili nie jestem świadomy? Z góry dziękuję


title: Pełny kalendarz nie wyświetla dokładnych wydarzeń w widoku miesiąca

text: Mam problem z pełnym kalendarzem opartym na jquery FullCalendar, którego używam w WordPressie. Wprowadziłem tę datę (w formacie ISO8601): Data rozpoczęcia : 10 sierpnia 2014 r., Data zakończenia : 11 sierpnia 2014 r. i godzina rozpoczęcia : 3:00 rano i data zakończenia : 4:00 rano. pokazuje się doskonale w widoku agendyWeek, ale kiedy przechodzę do widoku miesiąca, ma on zajmować dwa dni 10 sierpnia i 11 sierpnia, prawda? ale tak nie jest. Próbowałem przełączyć widoki ze wszystkich widoków, aw widoku agendyWeek pokazuje, że wyświetla od 3 rano do 4 rano od 10 sierpnia do 11 sierpnia, ale nie działa w widoku miesięcznym (domyślnie). Potem próbowałem zmienić datę końcową na 8:00, kiedy to zajęło 10 sierpnia - 11 sierpnia. Domyślam się, że może to mieć coś wspólnego ze strefą czasową? Proszę, pomóż mi :) Wciąż się tego uczę. TIA.


title: style z motywu potomnego nie zostały załadowane dla pliku innego niż style.css

text: Założyłem stronę Worpress z Multisite i Multilingual Press, aby obsługiwać język angielski i niemiecki. Obecnie pracuje tylko nad wersją angielską. Używam motywu „definicji” WooThemes i skonfigurowałem motyw potomny (zgodnie z tym podręcznikiem), aby dostosować projekt do moich potrzeb. Zasadniczo działa to dobrze, z pewnymi wyjątkami. Stworzyłem katalog motywów potomnych, zaadoptowałem przykładowy styl.css do swoich potrzeb (w tym ../definition/style.css, Nazwa motywu, Szablon). Dopóki nadpisuję definicje css, które są zdefiniowane w style.css, wszystko jest w porządku. Motyw macierzysty definiuje również style w innych plikach (np. themes/definition/css/layout.css). Jeśli nadpiszę jeden z tych stylów, nic się nie stanie. Próbowałem już utworzyć ten sam plik na tej samej ścieżce w folderze motywu potomnego, ale bezskutecznie. Kiedy sprawdzam za pomocą badania elementu Chrome (?) w sekcji stylu css, widzę, że nadal ładuje styl z pliku nadrzędnego. dla klas w style.css pokazuje następujący adres URL: "host/wp-content/themes/definition-child/style.css?ver=3.9.2:69", ale dla klas spoza css/layout.css pokazuje link do motywu nadrzędnego: "host/definition/css/layout.css?3.9.2:87" wyczerpująco plik style.css: /* Nazwa motywu: Definicja WooThemes Calendr.it URI motywu potomnego: TODO do zdefiniowania. Opis: Definicja WooThemes Calendr.it Temat potomny Autor: Andras Scheucher Autor URI: http://andreasscheucher.com Szablon: definition Wersja: 1.5.0 Tagi: TODO do zdefiniowania Tekst Domena: definition-celendrit-child */ @import url (../definicja/styl.css"); /* =Dostosowywanie motywu zaczyna się tutaj -------------------------------------------- ------------------- */ .... Po przeczytaniu tego artykułu (i nie do końca go zrozumieniu) próbowałem również załadować css/layout.css tymi funkcjami .php: <?php // rejestracja i kolejkowanie arkusza stylów. add_action( ‘wp_enqueue_scripts’, ‘register_child_theme_styles’ ); function register_child_theme_styles() { wp_register_style( 'styl', get_stylesheet_uri() ); wp_enqueue_style( ‘styl’ ); wp_register_style( 'układ', get_stylesheet_uri() + "/css" ); wp_enqueue_style( 'układ' ); } ?> To nie pomogło, ale zakładam, że i tak nie jest poprawne. Jakieś wskazówki, czego mógłbym spróbować jeszcze? Jeśli potrzebujesz części kodu, tematu definicji, mogę je oczywiście podać...


title: Utwórz specjalny przycisk w edytorze WP Tiny MCE Posts dla krótkich kodów

text: Próbuję stworzyć specjalny przycisk w edytorze Tiny MCE w edytorze postów Wordpress. Chcę utworzyć przycisk dla moich utworzonych podpowiedzi skrótów. Sprawdź moje pożądane dane wyjściowe: http://prntscr.com/4cy6fd Mam następujący kod dla mojego shortcode Tooltip: //Text tooltip function tooltip($atts, $content = ''){ $atts = shortcode_atts( array( ' class' => '', 'title' => '' ), $atts); $html = '' . $treść . ' ' .$atts['tytuł']. ' '; zwróć $html; } add_shortcode('podpowiedź', 'podpowiedź'); Teraz, gdy to wykonasz, użyjesz następujących kodów dla krótkiego kodu: [tooltips class="top_tooltip" title="Twoja podpowiedź tutaj"] Tekst tutaj [/tooltip] To, co zrobiłem, to utworzenie funkcji do WYŚWIETLANIA MOJEJ STWORZONEJ PODPOWIEDZI SHORTCODE w pliku functions.php w moim motywie za pomocą następujących kodów. //Utwórz małe przyciski MCE function mce_tooltip($button) { $buttons[] = 'indeks górny'; return $przycisk; } add_filter('mce_buttons_2', 'mce_tooltip'); /* * Funkcja wywołania zwrotnego do filtrowania ustawień MCE */ function mce_tooltip( $init_array ) { // Zdefiniuj tablicę style_formats $style_formats = array( // Każda potomna tablica jest formatem z własnymi ustawieniami array( 'class' => ' ', 'title' => '' ); // Wstaw tablicę JSON ENCODED do 'style_formats' $init_array['style_formats'] = json_encode( $style_formats ); return $init_array; } // Dołącz wywołanie zwrotne do 'tiny_mce_before_init ' add_filter( 'tiny_mce_before_init', 'mce_tooltip');Próbowałem kodu, ale nie wyświetli się mój przycisk NIESTANDARDOWY dla mojego krótkiego kodu w edytorze TINY MCE na Wordpress.Masz pomysł, jak to zrobić lepiej?Oto dane wyjściowe, którymi jestem próbuję stworzyć: http://prntscr.com/4cy6fd


title: Uzyskaj identyfikator użytkownika po kliknięciu łącza wiersza akcji

text: Dodałem łącze wiersza akcji do users.php, aby po kliknięciu łączyło się z tabelą listy. Aby wygenerować dane dla klikniętego użytkownika w mojej tabeli z listą niestandardową, muszę przechwycić identyfikator użytkownika. Cały kod działa, ale nie wiem, jak uzyskać dostęp do identyfikatora klikniętego użytkownika. Przekazuję identyfikator użytkownika jako użytkownik za pośrednictwem linku, aby wyświetlić go w moim niestandardowym adresie URL tabeli listy. Na przykład admin.php?page=history_logger&user=3. http://screencast.com/t/ImZgcCUaR to może pomóc.


title: Wordpress 404 Strona wyświetlana w podkatalogu, który ma własną stronę 404

text: W podkatalogu, takim jak http://website.com/sub/index.html, który ma swój własny .htaccess, z jakiegoś powodu nadal wyświetla się strona 404, którą mam dla Wordpressa, która znajduje się w katalogu powyżej tego. .htaccess dla podkatalogu: ErrorDocument 404 /404.html .htaccess dla głównego katalogu: RewriteEngine w RewriteCond %{HTTP_HOST} ^website.net$ [OR] RewriteCond %{HTTP_HOST} ^www.website.net$ RewriteRule ^foghelper.php $ http://website.net/subdirone/ [R=301,L] RewriteRule ^foghelper.php$ http://website.net/subdirtwo/ [R=301,L] # NIE USUWAJ TEJ LINII I LINII POWYŻEJ jNLK5d:REDIRECTID # POCZĄTEK WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond /index.php [L] </IfModule> # KONIEC WordPress Linki, które były w hta, zostały ocenzurowane na wypadek, gdybyś się zastanawiał.


title: Dlaczego get_pages() zwraca wartość logiczną?

text: Stworzyłem niestandardowy typ posta, którego chcę użyć, aby umożliwić ludziom dodawanie dowolnej liczby sekcji do strony głównej mojego motywu. Chcę przeglądać w pętli wszystkie posty tego typu i umieszczać ich zawartość na stronie. Mój problem polega na tym, że wywołanie `get_pages()` z `'post_type' => 'home_section'` wydaje się zwracać wartość logiczną, a nie tablicę. Oto kod, którego używam do testowania: <?php $hp_sections = get_pages(array('post_type' => 'home_section')); echo '<!-- $hp_sections typ: ', gettype($hp_sections), ', wartość: ', $hp_sections, ' -->'; ?> Kiedy przeglądam źródło na mojej stronie, otrzymuję: <!-- $hp_sections typ: boolean, wartość: --> Jestem całkiem nowy w PHP i Wordpressie, więc zakładam, że robię coś głupiego błąd. Chciałbym wiedzieć, co jest nie tak z powyższym kodem i jaki jest zalecany sposób uzyskania wszystkich stron danego typu i ich iteracji w szablonie.


title: Co zrobić z niezałączonymi logo i nagłówkiem przesłanym za pomocą natywnego programu do przesyłania wordpress?

text: Zwykle, gdy sortujemy niezałączone obrazy, zawierają one również logo i obrazy nagłówków. Moje pytanie jest proste. Czy jest jakaś metoda zabezpieczenia nagłówka i logo przed usunięciem? Czy możliwe jest dołączenie ich do strony (np. logo lub strony nagłówka) automatycznie po przesłaniu, aby nie pojawiały się jako niezałączone w bibliotece multimediów.


title: Jak zabezpieczyć pliki na podstawie formatu i słowa w nazwie pliku za pomocą wp-config lub htaccess?

text: Mam stronę wordpress, którą chciałbym zabezpieczyć określone pliki w katalogu uploads, tak aby dostęp do nich mieli tylko zalogowani użytkownicy. Pliki mają w nazwie słowo „jedna osoba” lub „dwie osoby” i mają format „zip” lub „pdf”. Jak mam to zrobic?


title: index2.php w katalogu głównym powodujący błąd 404

text: Umieściłem szybką stronę powitalną z `index.php` i dodałem łącze na tej stronie powitalnej do index2.php, a kiedy przechodzę do `index2.php`, otrzymuję błąd _"nie znaleziono strony"_. Pozbycie się plusku nie wchodzi teraz w grę. Czy mogę coś zrobić, aby to zadziałało?


title: formularz kontaktowy w szablonie z jquery,validate i ajax

text:
Mam page-contact.php dla mojego formularza kontaktowego w moim szablonie. Chciałem dodać do formularza walidację jquery i trochę wymyślnej akcji ajaxowej. To jest już działający kod na prostej stronie PHP, ale nie działa w wordpressie. Mój formularz kontaktowy: <form id="contact_form" method="POST" action="" enctype="application/x-www-form-urlencoded" novalidate="novalidate"> <input type="text" name="name " maxlength="30" id="imię" placeholder="Twoje imię"> <input type="text" name="email" maxlength="30" id="email" placeholder="Twój e-mail"> <textarea wiersze ="2" cols="40" name="wiadomość" id="wiadomość" placeholder="Twoja wiadomość"></textarea> <input type="text" id="telefon" name="telefon" size=" 15" placeholder="Nie wpisuj swojego numeru telefonu"> <input type="prześlij" id="kliknij" class="button" value="Prześlij">

 </form> funkcja ajax w functions.php add_action( 'wp_ajax_sendmail', 'sendmail'); add_action('wp_ajax_nopriv_sendmail', 'sendmail'); function sendmail() { if(isset($_POST['Prześlij'])) { echo 'ajax sukces'; } else { echo "
nic nie przesłano
"; } umiera(); } I moja akcja javascript: $(document).ready(function(){ $("#contact_form").validate({ rules: { name: "required", email: { required: true, email: true }, wiadomość : "wymagane" }, wiadomości: { imię: "Podaj swoje imię", email: { wymagane: "Podaj swój adres e-mail", email: "Podaj poprawny adres e-mail" }, wiadomość: "Podaj krótki wiadomość, czego dotyczy Twoje zapytanie" }, submitHandler: function(form) { $('#loading_icon').show(); $('#click').hide(); var params = $(form).serialize (); $.ajax ({ type: 'POST', url: '<?php echo admin_url( 'admin-ajax.php' ); ?>', dane: parametry, sukces: function(odpowiedź) { $('#odpowiedź').hide(); $('#odpowiedź').html(odpowiedź); $('#odpowiedź').fadeIn('slow'); $('#loading_icon').hide(); } }); } }); }); Potrzebne pliki są ładowane poprawnie (/1.10.1/jquery.min.js, jquery.validate.js), ale ten kod ciągle zwraca 0 pomimo tego, że mam `wp_ajax_nopriv_sendmail` w functions.php. Konsola nie zwraca żadnego błędu. Wydaje mi się, że brakuje mi jakiegoś specyficznego dla wp faktu, ale jakiego? Z góry dziękuję


title: Jak zaimportować zawartość z WordPress.com do samodzielnej instalacji WordPress?

text: W imieniu innej osoby próbuję zaimportować zawartość z witryny hostowanej przez WordPress.com do samodzielnej instalacji WordPress.com Wyeksportowałem plik XML i zaimportowałem go do nowej witryny, ale wygląda zupełnie inaczej. Oryginał: http://tbmsussex.wordpress.com nowy: http://tbmsussex.co.uk Strony są rozsiane po całym świecie i wiele obrazów nie zostało zaimportowanych. Jakieś pomysły, jak uzyskać dokładne lustro?


title: grawitacja przekształca jQuery.load w modalny

text: Mam formularz kontaktowy formularzy grawitacyjnych, który znajduje się na stronie, ale to, czego chcę, to link do całej witryny, który otworzy ten formularz i wyświetli go modalnie, w locie. Jednym ze sposobów na to jest po prostu wstawienie formularza do znacznika po stronie szablonu, tak aby już istniał na każdej stronie. Ale oznacza to, że ładowanych jest wiele skryptów znaczników i gf, które w większości nie muszą tam być. Złożyłem więc razem kilka js, które pobierają znaczniki formularza ze strony i wstawiają je do DOM, ładują skrypty, a następnie wyświetlają wyniki w trybie ładowania początkowego Twittera. Strona prezentacji działa zgodnie z oczekiwaniami - ale żadna z logiki warunkowej js itp. nie jest stosowana. Wiem, że js ładuje się, gdy podaję stan każdego skryptu do pliku console.log - i otrzymuję "200" i nie ma błędów. Ale wygląda na to, że skrypty nie widzą formularza lub nie są poprawnie tworzone. Aby przetestować koniec js, spróbowałem również ręcznie załadować zasoby do nagłówka za pomocą: <?php gravity_form_enqueue_scripts(1, true); ?> Ale to też nie działa. Poniżej znajduje się js, którego używam, ktoś ma jakieś pomysły, jak to zrobić, aby zainicjować życie w formie? Czy jest połączenie zwrotne, z którego powinienem skorzystać? Z góry wielkie dzięki - ben jQuery(document).ready(function(){ // załaduj formularz kontaktowy za pomocą ajax jQuery(".contact_btn").click(function(){ jQuery.ajaxSetup ({ cache:false }); var ajax_load = "<img height='50px' width='50px' src='/assets/img/medloading.gif' class='tr_spinner' alt='ładowanie...' style='align:center, top:50 %' />"; var loadUrl = "/contact-3/"; // ładuj skrypty dynamicznie jQuery.when( jQuery.getScript("/plugins/gravityforms/js/gravityforms.js?ver=1.7.6", function(data, textStatus, jqxhr) {console.log(jqxhr.status);}), // loguje konsolę, aby uzyskać potwierdzenie, że jest załadowany jQuery.getScript("/plugins/gravityforms/js/conditional_logic.js?ver=1.7 .6", function(data, textStatus, jqxhr) {console.log(jqxhr.status);}), jQuery.getScript("/plugins/gravityforms/js/datepicker.js?ver=1.7.6", function( data, textStatus, jqxhr) {console.log(jqxhr.status);}), jQuery.getScript("/plugins/g ravityforms/js/jquery.textareaCounter.plugin.js?ver=1.7.6", function(data, textStatus, jqxhr) {console.log(jqxhr.status);}), jQuery.getScript("/plugins/gravityforms/ js/jquery.maskedinput-1.3.min.js?ver=1.7.6", function(data, textStatus, jqxhr) {console.log(jqxhr.status);}) ).then(function(){ // insert zawartość do DOM jQuery("#contact-form .modal-body").html(ajax_load).load(loadUrl + ".entry-content"); // załaduj go w trybie modalnym jQuery("#contact-form").modal({ keyboard: false, show: true, backdrop: true }); }); // przejmij link <a> return false; }); });


title: Dane strony opcji wordpress z wybranego formularza nie są zapisywane w bazie danych

text:
Zamierzam stworzyć wtyczkę wordpress ze stroną opcji i stworzyłem dwie strony o nazwach index.php i options.php, aw index.php napisałem następujący kod, aby utworzyć wartość domyślną opcji oraz dodać lub zaktualizować opcję. <?php function sis_stt_check_WP_ver(){ $options_array = array( 'youtube_username' => 'sayful', 'account_type' => 'none', 'facebook_username' => 'anik', ); if ( get_option( 'sis_stt_options' ) !== false ) { update_option( 'sis_stt_options', $options_array ); }else{ add_option( 'sis_stt_options', $options_array ); } } register_activation_hook( __FILE__, 'sis_stt_check_WP_ver' ); ?> Piszę również poniższy kod, aby zarejestrować nasze opcje do aktualizacji i dodać stronę administratora. <?php // Ta funkcja rejestruje nasze opcje do aktualizacji. add_action('admin_init', 'sis_stt_register_settings'); function sis_stt_register_settings(){ register_setting('sis_stt_plugin_options', 'sis_stt_options','sis_stt_validate_data'); } // dodaj stronę opcji administratora add_action('admin_menu', 'sis_stt_add_menu'); function sis_stt_add_menu(){ add_options_page( 'sis stt demo', 'sis stt demo', 'manage_options', 'plugin-folder/options.php'); } ?> W pliku options.php napisałem następujący kod wyświetlający moją opcję. Po zainstalowaniu wtyczki pokazuje domyślne dane na stronie opcji, ale gdy zmieniam dane, zapisywane są tylko dwa pierwsze pola, ale dane wybrane z wybranego pola w ogóle się nie zapisują. Co mogę zrobić i jak mogę naprawić ten błąd. Pomóż mi ktoś proszę.

Standardowe kodowanie WordPress
 <form method="post" action="options.php"> <?php $options = get_option( 'sis_stt_options' ); ?> <?php settings_fields('sis_stt_plugin_options'); ?> <?php do_settings_sections( 'sis_stt_plugin_options' ); ?>

  <?php _e('Nazwa użytkownika YouTube') ?> 	  <input type="text" name="sis_stt_options[youtube_username]" id="youtube_username_input" value="<?php esc_attr_e($options['youtube_username']); ?>" class=" " placeholder="Przewiń do góry">

  <?php _e('Facebook Username') ?> 	  <input type="text" name="sis_stt_options[facebook_username]" id="facebook_username" value="<?php esc_attr_e($options['facebook_username']); ?>" class ="" placeholder="Przewiń do góry">

  <?php _e('Wybierz typ konta') ? > 	  <select name="sis_stt_options[typ_konta]"> <option value="slide" <?php selected( $options['typ_konta'], 'slajd' ); ?>>Slajd</option> <option value="social" <?php selected( $options['account_type'], 'social' ); ?>>Społeczne</option> <option value="none" <?php selected( $options['account_type'], 'none' ); ?>>Brak</option> </select>

<input type="submit" value="<?php _e ('Zapisz zmiany') ?>" class="button-primary" id="submit" name="submit">
 </form>


title: Style jQuery UI sprzeczne z dialogiem TinyMCE

text: Używam jQuery UI dla kilku niestandardowych kontrolek na ekranie edycji strony i zauważyłem, że stylizacja okien dialogowych jQuery UI jest w konflikcie z oknem TinyMCE. Szczególnie źle wyglądają przyciski i obszar tytułu. Przejrzałem css jQuery UI, aby zobaczyć, co można usunąć, aby uniknąć konfliktów i są one rozłożone w całym arkuszu stylów. Czy istnieje sposób, aby połączyć je razem bez konfliktów?


title: komunikaty o błędach w logowaniu do pulpitu nawigacyjnego

text: Do mojego pliku wp-config.php dołączyłem: define( 'FORCE_SSL_LOGIN', true ); zdefiniuj( 'FORCE_SSL_ADMIN', prawda); Ale otrzymywanie tych komunikatów o błędach na ekranie logowania do mojego pulpitu nawigacyjnego WP: Uwaga: Stała FORCE_SSL_LOGIN już zdefiniowana w D:\xampp\htdocs\wordpress01\wp-config.php w wierszu 102. Uwaga: Stała FORCE_SSL_ADMIN już zdefiniowana w D:\xampp\ htdocs\wordpress01\wp-config.php w wierszu 103 Uprzejmie wyjaśnij, dlaczego otrzymuję te komunikaty o błędach i jak mogę naprawić sytuację, aby wymusić logowanie przez ssl.


title: Utracono bazę danych SQL

text: Straciłem bazę danych, a kiedy przywrócili pliki, miałem dwa pliki w katalogu bazy danych, które, jak zakładam, są danymi dla mojej bazy danych. Jak odzyskać bazę danych za pomocą tych dwóch plików. wp_options.MYI i wp_options.MYD Dzięki


title: strona profilu użytkownika wordpress

text: na mojej stronie mam kilku autorów. Chciałbym, aby klikając na nazwisko autora otworzyła się strona z jego danymi kontaktowymi. Jak mogę to zrobić? Wielkie dzięki


title: Przepisz wszystkie zdjęcia artykułów, aby połączyć je z plikiem

text: Mam bloga wordpress z tysiącami artykułów. Problem: Chcę użyć wtyczki lightbox (http://wordpress.org/plugins/fancybox-for-wordpress/), ale aby móc pracować ze zdjęciami w artykule, muszę mieć link do pliku. W tej chwili wszystkie zdjęcia linkują do strony załącznika. Zmieniłem już image_default_link_type na plik, ale dotyczy to oczywiście tylko nowych artykułów. Jaki jest najlepszy sposób na rozwiązanie tego problemu?


title: Czy istnieje sposób na osadzenie formularza Dokumentów Google na stronie bez używania wtyczek?

text: Obecnie prowadzę bloga Wordpress. Jest to część szkolnego bloga, więc niestety nie mam uprawnień do instalowania jakichkolwiek wtyczek. Mam „formularz kontaktowy” skonfigurowany jako formularz Dokumentów Google. W tej chwili mam stronę z linkiem do formularza. Czy mogę w jakiś sposób osadzić go bezpośrednio na stronie bez konieczności instalowania wtyczki?


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

text: Mam jakiś dziwny błąd lub może nie mam umiejętności, aby rozwiązać ten problem. Buduję wtyczkę do Multisite. Kiedy używam `is_admin()`, moja wtyczka działa dobrze, ale kiedy używam `is_super_admin` pokazuje mi błąd `Błąd krytyczny: Wywołanie niezdefiniowanej funkcji wp_get_current_user()`. Szukałem, ale nie mogłem znaleźć żadnego rozwiązania. Mój kod to if(!is_super_admin()){ add_action('widgets_init','my_unregister_widdget'); function my_unregister_widgets() { unregister_widget( 'WP_Widget_Pages' ); unregister_widget( 'WP_Widget_Calendar' ); } } Widziałem to pytanie, ale mi nie pomaga.


title: Jaki jest najlepszy sposób na osiągnięcie unikalnej funkcjonalności Członka?

text: jestem programistą, który jest nieco nowy w wordpressie. Mam klienta, który zajmuje się planowaniem ślubów i chce stworzyć podstawową (płatną) stronę członkowską, w której kobiety mogą dołączyć i tworzyć listy kontrolne, budżety, tabele miejsc itp. na swój ślub. Wszystko to będzie prywatne tylko dla nich i wykorzystane jako sposób na zarządzanie ich ślubem. Moje pytanie: Czy istnieje dobry sposób na wykorzystanie istniejących wtyczek (lub ich kombinacji) do stworzenia systemu członkostwa, w którym użytkownicy mogą generować unikalne, prywatne treści. Wygląda na to, że wtyczki, takie jak członek listy życzeń, służą tylko do sprzedaży ogólnych kursów lub treści, które nie są specyficzne dla użytkownika. Czy buddypress to, czego szukam? A może lepiej zbudować to od zera? Wszelkie sugestie są mile widziane. Dziękuję!!


title: Wykonywanie skryptu JavaScript po dodaniu widżetu w zapleczu

text: Mam widżety, do których są dołączone kontrolki javascript. Jeśli widżet jest obecny podczas ładowania strony administratora widżetu, kontrolki działają poprawnie. Kiedy dodaję nowy widżet, nie działają one poprawnie, otrzymuję znaczniki, ale żadne zdarzenia javascript nie działają. Jeśli zapiszę nowy widżet, po ponownym załadowaniu formularza kontrolki są tworzone poprawnie i działają. Odświeżenie strony również rozwiązuje problem, ale tylko dla istniejących widżetów. Nowe widżety nadal mają ten problem. W szczególności używam zaznaczania wybranych danych wejściowych w następujących punktach: * dokument gotowy * Ajaxcomplete Sprawdziłem, że mój kod jest uruchamiany dla każdego zdarzenia zgodnie z oczekiwaniami, ale wyniki nie są zgodne z oczekiwaniami. Oto wtyczka testowa, która demonstruje problem: https://gist.github.com/Tarendai/8466299 Zobaczysz, że mam licznik, który zwiększa się z każdym wybranym elementem, który znajdzie, który może przekonwertować. Uwagi: * Kiedy strona widżetu się ładuje, widzę wzrost licznika w konsoli JS zgodnie z oczekiwaniami * Kiedy dodaję nowy widżet, kod jest uruchamiany, jednak nie znajduje żadnych wybranych elementów, na których może działać, jak pokazano by found.length równy 0. Nie powinno tak być, ponieważ każdy nowy widżet tego typu powinien mieć element select * elementy select mają klasę do ich identyfikacji, ta klasa jest usuwana po zastosowaniu biblioteki selectize, aby zapobiec duplikowaniu i ponowne przetwarzanie na istniejących widżetach. * Przed użyciem selectize użyłem Select2, który miał ten sam problem * Komentując kod AJAX, spodziewałbym się, że nowe widżety będą miały standardowe wejście wyboru. Oni nie. Nie wiem, dlaczego tak się dzieje. Jak więc sprawić, by kontrolka zaznaczania działała bez informowania użytkownika, aby odświeżył/kliknął Zapisz przed wprowadzeniem zmian?


title: Zezwalaj użytkownikowi na ręczne ustawianie obszaru przycinania domyślnych/niestandardowych rozmiarów obrazu podczas przesyłania

text: Poszukuję wtyczki, która pozwoli użytkownikowi określić, gdzie obraz zostanie przycięty dla danego rozmiaru miniatury. Na przykład, użytkownik przesyła obraz, ekran wyświetla obraz i pole wyboru i prosi ją o przesunięcie/zmianę rozmiaru obrazu w ramach wyboru rozmiaru „średni”. Znalazłem dwie wtyczki, które pozwalają użytkownikowi to zrobić po przesłaniu miniatury: Edytor miniatur postów i Przycinanie miniatur. Każdy z nich może działać, ale czy ktoś zna wtyczkę, która poprosi o to podczas przesyłania? Dziękuję!


title: Jak zdobyć fragment postu za pomocą obiektu post?

text: Próbuję pokazać fragment postu jak w nawigacji. Próbuję tego we wtyczce, czy to ma sens? Nie wiem. Użyłem `$nex_obj = get_adjacent_post(false, '', true);` dla następnego posta i zwraca obiekt post, gdy próbuję pokazać fragment postu za pomocą `$nex_obj->post_title` jak w. To nie działa . Więc spróbowałem `echo $excerpt = apply_filters('get_the_excerpt', $nex_obj ->post_excerpt);` ale to wyrzuca błąd `Błąd krytyczny: osiągnięto maksymalny poziom zagnieżdżenia funkcji '100', przerwanie!` Czy to jest poprawne, czy błędne? Próbuję tego w localhost. Więc w końcu spróbowałem pętli, aby uzyskać fragment na podstawie id Domyślna pętla $id=$nex_obj->ID; if (have_posts()) : while (have_posts()) : if($id==get_the_ID()){ the_excerpt(); } koniec; endif; Powyższa pętla kontynuuje działanie przeglądarki i sprawia, że przestaje ona odpowiadać. Myślę, że robię to w zły sposób, słyszałem, że nie powinienem używać domyślnej pętli. Więc pominąłem to i wypróbowałem inną pętlę zapytań bez żadnego argumentu, ponieważ nie potrzebuję żadnego filtra w konkretnym poście query_posts($args); // Pętla $id=$nex_obj->ID; while (have_posts()) : the_post(); if ($id== get_the_ID()) { echo $excerpt = get_the_excerpt(); } koniec; // Zresetuj zapytanie wp_reset_query(); Jak zdobyć fragment postu z identyfikatorem posta lub czymś? Wszystko, co mam, to post Object


title: Niestandardowa wtyczka jQuery nie działa

text: Próbuję użyć tego dodatku: http://trentrichardson.com/examples/timepicker/, aby umożliwić edycję daty i godziny postu w interfejsie użytkownika przed jego przesłaniem. Rejestruję swoje skrypty w następujący sposób: function nazwa_motywu_skrypty() { wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui .css'); //TIMEPICKER wp_enqueue_style( 'timepicker', get_stylesheet_directory_uri() . '/js/timepicker/jquery-ui-timepicker-addon.css' ); wp_enqueue_script('timepicker', get_stylesheet_directory_uri() . '/js/timepicker/jquery-ui-timepicker-addon.js', array('jquery', 'jquery-ui-core', 'jquery-ui-slider', ' jqueryui-datepicker', ), '1.4.3' ); wp_enqueue_script('modernizr'); //ULOTKA wp_enqueue_style( 'ulotka', get_stylesheet_directory_uri() . '/js/ulotka/ulotka.css' ); wp_enqueue_script('ulotka', get_stylesheet_directory_uri() . '/js/ulotka/ulotka.js' ); } add_action( 'wp_enqueue_scripts', 'theme_name_scripts' ); Zintegrowany datepicker działa dobrze, ale ponieważ chcę również użyć timepickera, otrzymuję komunikat o błędzie: TypeError: jQuery(...).datetimepicker nie jest funkcją Zastanawiałem się więc, co powoduje ten błąd. Czy może dlatego, że dodatek używa $ zamiast jQuery? http://trentrichardson.com/examples/timepicker/jquery-ui-timepicker-addon.js


title: Zapytanie SQL w WordPressie - Niemożliwy błąd GDZIE

text: Nie otrzymuję żadnego wyniku w poniższym zapytaniu SQL. Próbuję znaleźć user_id użytkowników z niestandardowymi polami usermeta. SELECT DISTINCT identyfikator_użytkownika FROM wp_usermeta WHERE ( ( (meta_key='user_school_subjects' AND meta_value LIKE '%history%') OR (meta_key='user_professional_courses' AND meta_value LIKE '%history%') OR (meta_key='user_value LIKE' 'AND %history%') OR (meta_key='user_music_tutoring' AND meta_value LIKE '%history%') ) AND (meta_key='user_gender' AND meta_value='male') ) Kiedy uruchamiam zapytanie w SQL PHPMYADMIN, pojawia się błąd -> **Niemożliwe zapytanie WHERE** Co jest nie tak z zapytaniem? Proszę o pomoc w naprawieniu błędu w powyższym zapytaniu. AKTUALIZACJA: Oto pełne zapytanie wyszukiwania tworzone przy użyciu formularza. globalny $wpdb; $user_ids = tablica(); $user_query = null; if (isset($_REQUEST['search']) && !empty($_REQUEST['search']) ) { $s = $_REQUEST['search']; $user_query .= "((meta_key='first_name' AND meta_value LIKE '%".$s."%') OR (meta_key='last_name' AND meta_value LIKE '%".$s."%') OR (meta_key ='display_name' AND meta_value LIKE '%".$s."%') OR (meta_key='user_nicename' AND meta_value LIKE '%".$s."%') OR (meta_key='user_login' AND meta_value LIKE ' %".$s."%'))"; } if (isset($_REQUEST['email']) && !empty($_REQUEST['email']) ) { $s = $_REQUEST['email']; if ($user_query) { $user_query .= " AND (meta_key='user_email' AND meta_value='".$s."')"; } else { $user_query .= "(meta_key='user_email' AND meta_value='".$s."')"; } } if (isset($_WNIOSEK['temat']) && $_WNIOSEK['temat'] !='' ) { $s = $_WNIOSEK['temat']; if ($user_query) { $user_query .= " AND ((meta_key='user_school_subjects' AND meta_value LIKE '%".$s."%')"; $user_query .= " LUB (meta_key='user_professional_courses' AND meta_value LIKE '%".$s."%')"; $user_query .= " LUB (meta_key='user_language_tutoring' AND meta_value LIKE '%".$s."%')"; $user_query .= " LUB (meta_key= 'user_music_tutoring' AND meta_value LIKE '%".$s."%'))"; } else { $user_query .= "((meta_key='user_school_subjects' AND meta_value LIKE '%".$s."%')"; $user_query .= " LUB (meta_key='user_professional_courses' AND meta_value LIKE '%". $s."%')"; $user_query .= " LUB (meta_key='user_language_tutoring' AND meta_value LIKE '%".$s."%')"; $user_query .= " LUB (meta_key='user_music_tutoring' AND meta_value LIKE '%".$s."%'))"; } } if (isset($_WNIOSEK['lokalizacja']) && $_WNIOSEK['lokalizacja'] !='' ) { $s = $_WNIOSEK['lokalizacja']; if ($user_query) { $user_query .= " AND ((meta_key='user_address' AND meta_value LIKE '%".$s."%')"; $user_query .= " LUB (meta_key='user_zipcode' AND meta_value LIKE '%".$s."%'))"; } else { $user_query .= "((meta_key='user_address' AND meta_value LIKE '%".$s."%')"; $user_query .= " LUB (meta_key='user_zipcode' AND meta_value LIKE '%". $s."%'))"; } } if (isset($_REQUEST['płeć']) && !empty($_REQUEST['płeć']) ) { if ( $_REQUEST['płeć'] != '') { $s = $_REQUEST[' płeć']; if ($user_query) { $user_query .= " AND (meta_key='user_płeć' AND meta_value='".$s."')"; } else { $user_query .= "(meta_key='user_płeć' AND meta_value='".$s."')"; } } } if (isset($_REQUEST['status']) && !empty($_REQUEST['status']) ) { if ( $_REQUEST['status'] == 'aktywne') { $s = $_REQUEST ['status']; if ($user_query) { $user_query .= " AND ( (meta_key='user_membership' AND meta_value='active')"; $user_query .= " OR (meta_key='user_availability' AND meta_value='available'))"; } else { $user_query .= "((meta_key='user_membership' AND meta_value='active')"; $user_query .= " LUB (meta_key='user_availability' AND meta_value='available'))"; } } elseif ( $_WNIOSEK['status'] == 'nieaktywny') { $s = $_WNIOSEK['status']; if ($user_query) { $user_query .= " AND ((meta_key='user_membership' AND meta_value='".$s."')"; $user_query .= " LUB (meta_key='user_availability' AND meta_value='unavailable '))"; } else { $user_query .= "((meta_key='user_membership' AND meta_value='".$s."')"; $user_query .= " LUB (meta_key='user_availability' AND meta_value='unavailable'))" ; } } } if (isset($_REQUEST['nationality']) && $_REQUEST['nationality']!='any' ) { $s = $_REQUEST['nationality']; if ($user_query) { $user_query .= "ORAZ (meta_key='user_nationality' AND meta_value='".$s."')"; } else { $user_query .= "(meta_key='user_nationality' AND meta_value='".$s."')"; } } if (!empty($user_query)) { $wp_users = $wpdb->get_results("SELECT DISTINCT user_id FROM $wpdb->usermeta WHERE ($user_query)"); } EDYCJA: Odpowiedź znajdziesz tutaj: http://stackoverflow.com/questions/3735176/compex-mysql-left-join-using-multiple-entries-from-meta-tables


title: Czy Wordpress może zmieniać rozmiar plików BMP?

text: Ciekawa sytuacja, w którą właśnie wpadłem. Mam witrynę, którą rozwijam, w której określiłem określone rozmiary obrazów, które chcę utworzyć za każdym razem, gdy przesyłany jest nowy obraz. Obecnie powiedzmy tylko, że zdefiniowałem konkretny rozmiar miniatury 75x75 i średniej wielkości obraz 150x150 pikseli. Zakładając, że zaczniemy przesyłać nowy obraz za pomocą wbudowanego programu do przesyłania multimediów, oczekiwalibyśmy, że Wordpress automatycznie załaduje i zapisze oryginalny obraz wraz z wszelkimi dodatkowymi rozmiarami obrazów, które określiłem w moim pliku functions.php (w tym przypadku 75x75 i obrazy 150x150 pikseli). Przede wszystkim powyższy przykład rzeczywiście działa idealnie i jestem bardzo zadowolony z rezultatów. Zauważyłem jednak, że **kiedy wybierzesz plik bmp** do przesłania, automatyczna zmiana rozmiaru nie ma miejsca. Moim celem jest ustalenie, kto jeszcze mógł zauważyć ten problem, próbując znaleźć rozwiązanie tego problemu. Muszę się upewnić, że nawet po przesłaniu dużego pliku bmp kod the_post_thumbnail( array(50,50), 'class=alignleft' ); pokaże obraz o wymiarach 50x50 pikseli. Na wszelki wypadek potwierdziłem, że ten problem dotyczy konkretnie obrazu bmp, biorąc oryginalny obraz bmp i zapisując go jako plik jpg i png w Photoshopie, a następnie używając menedżera multimediów Wordpress, aby przesłać te same pliki przekonwertowane przez Photoshopa ... W obu przypadkach zauważyłem, że po załadowaniu każdego przekonwertowanego pliku dokładnie te same obrazy ZOSTAŁY poprawnie przeskalowane. Powinienem również zwrócić uwagę, że po przesłaniu obrazu pliku bmp faktyczne przesłanie tego pliku DID miało miejsce, jednak w menedżerze mediów dostępny był tylko oryginalny (pełny rozmiar) obraz do wstawienia do postów, a sprawdzenie folderu przesyłania mediów również pokazało pojedynczy obraz. Wszelkie wskazówki, pomoc lub diagnozy są bardzo mile widziane!


title: Tworzenie dodatkowego menu — wszystkie wymagane kroki?

text:
Używam motywu retro hipster i mogłem dodać dodatkowe menu ze szczegółami. Czytałem o dodawaniu tablicy w functions.php, a następnie wywoływaniu obu nav w header.php. Jednak jedno menu jest wyświetlane pionowo nad menu głównym i innymi szczegółami nagłówka. Jak mogę to zrobić tam, gdzie chcę - czyli w drugim menu nad nagłówkiem i pionowym i statycznym - jest to menu koszyka dla woocommerce. Chcę, żeby był lepki, więc zawsze oglądany. Zakładam też, że CSS jest potrzebny do dodania do menu dodatkowego? functions.php register_nav_menus( array( 'podstawowe' => __( 'Menu główne', 'mojtemat' ),
 'dodatkowe' => __( 'Menu dodatkowe', 'mojtemat' ),
 ) ); W pliku header.php -- czy jest dodany w określonej lokalizacji? <?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?> <?php wp_nav_menu( array( 'theme_location' => 'drugorzędny' ) ); ?>


title: is_home() i is_single() nie działają zgodnie z oczekiwaniami z niestandardowymi typami postów?

text: ( **Uwaga moderatora:** pierwotnie miał tytuł: _"Problem z niestandardowymi typami postów?"_) Mam pewne problemy z niestandardowymi typami postów, w których wszystko działa świetnie z wyjątkiem pasków bocznych. Oto trochę kodu z mojego `sidebar.php`: <?php if (is_home()) { dynamic_sidebar('frontpage-sidebar'); } if (is_single()) { dynamic_sidebar('single-post-sidebar'); } .... ?> Normalnie działa to dobrze, z wyjątkiem sytuacji, gdy otwieram pojedynczą stronę, aby sprawdzić post, nie ładuje się ,,frontpage-sidebar'', ponieważ ładuje się ,,single-post-sidebar''. Gdzie jest problem? Oto kod dla mojego niestandardowego typu posta: $labels = array( 'name' => _x('Narzędzia', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Tool', 'post type singular name '), 'add_new' => _x('Dodaj nowe', 'Narzędzie'), 'add_new_item' => __('Dodaj nowe narzędzie'), 'edit_item' => __('Narzędzie edycji'), 'new_item' => __('Nowe narzędzie'), 'view_item' => __('Wyświetl narzędzie'), 'search_items' => __('Narzędzia wyszukiwania'), 'not_found' => __('Nie znaleziono narzędzi'), 'not_found_in_trash' => __('Nie znaleziono narzędzi w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capability_type ' => 'post', 'hierarchical' => false, 'menu_position' => 2, 'supports' => array('title', 'redaktor', 'autor', 'thumbnail', 'excerpt', 'comments ','page-attributes') // 'nie jestem pewien, czy post może mieć atrybuty page ????' ); register_post_type('narzędzia', $args); Jak załadować różne paski boczne na różnych stronach, korzystając z niestandardowych typów postów zamiast zwykłych postów? Dziękuję.


title: Jak buforować json za pomocą wp-super cache

text: W nowym projekcie używamy wp-super-cache (preferowanej wtyczki klienta) do tworzenia statycznych plików html dla niestandardowych typów treści. Ale próbujemy dowiedzieć się, czy wszystko jest poprawnie buforowane. To jest 2 częściowe pytanie. 1) Stworzony przez nas motyw wykorzystuje szablony stron do wyświetlania json, który jest pozyskiwany za pomocą wywołań ajax. tj. jeśli trafisz na stronę: theurl.com/sample - otrzymasz czysty json. Chociaż istnieje wersja nie javascript każdej strony i posta, Ajax kieruje front-endem tego motywu. Usunęliśmy z tych plików nagłówek i stopkę, aby był to czysty json, i próbujemy dowiedzieć się, jak ustalić, czy json jest buforowany. Teoretycznie dane byłyby buforowane, ponieważ technicznie jest to strona obsługiwana przez wordpress. Ale jak możemy dowiedzieć się, czy jest buforowany? 2) Używamy wtyczki json api do obsługi niektórych danych postów. http://wordpress.org/extend/plugins/json-api/ W tym przykładzie załóżmy, że używamy domyślnej metody wyjścia wtyczki i trafiamy na tę stronę: my url.com/category/news?json=1 – Czy ktoś wie, jak możemy sprawdzić, czy dane wyjściowe są buforowane? Jeśli nie jest buforowany, jaka metoda sprawi, że tak się stanie? Wydaje się, że nie ma zbyt wielu informacji na ten temat w Internecie, więc w duchu tworzenia atrakcyjnych i zoptymalizowanych witryn wordpress pomóż bratu


title: Czy mogę programowo odświeżyć miniatury?

text: Chciałbym móc programowo odświeżyć pamięć podręczną miniatur, nie wiem, gdzie ją podpiąć, ale obecnie wszelkie zmiany w projekcie oznaczają ponowne przesyłanie wielu obrazów!


title: Narzędzie do przycinania Wordpress jest wyszarzone

text: Narzędzie do przycinania wordpress jest dla mnie wyszarzone w Firefoksie 3.6 (i IE7/8). Wyłączyłem dodatki do Firefoxa i wypróbowałem rozwiązanie tutaj: http://wordpress.stackexchange.com/questions/1597/wordpress-image-editor-not-work-conflict Ale to nie rozwiązało problemu. Czy ktoś wie, jak wordpress określa, czy włączyć przycisk przycinania? Wersja WP to 3.0.1 dzięki,


title: Co robią add_filters() i apply_filter()?

text: Jestem trochę zdezorientowany, dlaczego to nie działa - chociaż trzeba powiedzieć, że nie jestem pewien, co robią `apply_filters()` i `add_filter`, więc wszelkie ogólne wskazówki też byłyby świetne! Potrzebuję zapytania, które wyświetla pięć wcześniejszych postów na jednej stronie posta. Wysyłam datę bieżącego posta i chcę zastosować filtr, który odfiltruje posty wcześniej niż to. function sw_filter_posts_before( $where = '', $data) { $where .= " AND post_date < '" . $data . "'"; zwróć $gdzie; } Jak poprawnie to zastosować? Po prostu użycie add_filter lub apply_filter przed utworzeniem nowego obiektu WP_Query nie działa poprawnie. Z góry dziękuję! Edycja: Aby przejść dalej, chciałbym zrozumieć, jak przekazać zmienną do filtra, ponieważ nie mogę przekazać $date z innej funkcji. Oto wspomniana inna funkcja (jest to wywołanie ajax w wordpressie, dlatego zaczynam od uzyskania identyfikatora posta dla bieżącej strony za pomocą zmiennej $_POST): function create_more_videos_sidebar() { $id = $_POST['theID']; $args = array( 'post_type' => 'videos', 'posts_per_page' => 1, 'p' => $id ); $wp_query = nowe WP_Query($args); while ($wp_query->have_posts()): $wp_query->the_post(); $do_not_duplicate = $post->ID; $data = get_the_date('Y-m-d'); koniec; $args = array( 'post_type' => 'wideo', 'posts_per_page' => 5 ); add_filter( 'posts_where', 'sw_filter_videos_before' ); //nie wiem jak przekazać $date $wp_query = new WP_Query($args); remove_filter( 'posts_where', 'sw_filter_videos_before' ); //wykonaj pętlę $response = json_encode( array( 'result' => $result ) ); header( "Typ treści: aplikacja/json" ); echo $odpowiedź; Wyjście; }


title: czy istnieje akcja update_post_meta?

text: Czy są jakieś akcje, do których mogę się podłączyć dla update_post_meta()? Nie widzę w źródle niczego oczywistego. Woocommerce pozwala zmienić polecany status przedmiotów za pomocą ajax z ekranu edycji. Używam transjentu do przechowywania polecanych elementów zamiast odpytywania ich za każdym razem i usuwam ten stan przejściowy w haku save_post, ale nie jest zwalniany z powodu funkcji ajax, która bezpośrednio aktualizuje meta postu. W najgorszym przypadku mogę odczepić akcję woo i odtworzyć ją samodzielnie za pomocą wywołania przejściowego usuwania, ale zastanawiam się, czy jest inny hook, którego mógłbym użyć.


title: Zadzwoń do bieżącej kategorii

text:
Używam tego w pliku o nazwie category-portfolio.php, który jest dla strony archiwum mojego portfolio. Nie chcę używać cat= do określenia konkretnej kategorii. Ale kiedy nie używam cat=, wyświetla każdy post niezależnie od kategorii. Jak sprawić, by ten kod wyświetlał tylko bieżącą/odpowiednią/portfolio kategorię? Stukrotne dzięki! <?php get_header(); ?>

  <?php query_posts('posts_per_page=9&paged='.$paged); if (have_posts()) : ?>
 <?php while (have_posts()) : the_post(); ?>
 <a href="<?php the_permalink() ?>"> <?php if ( has_post_thumbnail() ) { the_post_thumbnail( 'thmb- portfel” ); } ?>  <?php the_title(); ?>
<?php my_excerpt('short'); ?>

 <?php endwhile; ?>  <?php if (function_exists("paginacja")) { pagination($additional_loop->max_num_pages); } ?>
  <?php endif; ?>
 <?php get_sidebar(); ?>

 <?php get_footer(); ?>