title: Zapobiegaj duplikowaniu postów na Instagramie za pomocą interfejsu API Instagram

text:
Poniżej znajduje się kod, którego używam do pobierania co godzinę (za pomocą WP CRON) postów na Instagramie za pomocą interfejsu API Instagram, ale najczęściej otrzymuję zduplikowane, potrójne, a nawet poczwórne identyczne posty i doprowadza mnie to do szału, że nie mogę rozwiązać problem. Myślałem, że dużo sprawdzam meta_klucz i wartość „instagram_id”, ale wygląda na to, że po znalezieniu posta na Instagramie utworzył post WP, zawiesza się tam i tworzy kolejne 4, zanim przejdzie do znalezienia kolejnych postów na Instagramie. Idealnie chciałbym, aby zawsze sprawdzał, czy post z tym samym identyfikatorem na Instagramie istnieje przed utworzeniem kolejnego posta! Jest to bardzo sporadyczne, czasami mogę uruchomić API 5 razy i nie ma duplikatów, innym razem dostaję tylko duplikaty. WSPARCIE! // Pobierz najnowsze media dla tagu z 20 stron wstecz. $recent_media = $i->tagRecent($tag, 20); // Zapętl najnowsze media. foreach($recent_media as $media) { // debugowanie globalne $api_debug; $znaleziono = fałsz; echo "+ Sprawdzanie mediów № {$media->id}.
\n"; // Zapytaj WordPressa o media przed wykonaniem wywołań API. $check = new WP_Query( array( 'post_type' => 'instagram_api_feed', 'meta_key' => 'instagram_id', 'meta_value' => $media->id, 'cache_results' => false, 'update_post_meta_cache' => false , 'update_post_term_cache' => false, 'post_status' => array('oczekujące', 'szkic', 'przyszłość', 'opublikuj', 'prywatne') ) ); // log if($api_debug) { write_log("Liczba znalezionych postów: " . $check->found_posts . " for ID " . $media->id); } // Jeśli nie znaleziono istniejącego posta w Wordpressie, musimy go dodać. if(!$check->found_posts) { // log if($api_debug) { write_log("Nie znaleziono identyfikatora Instagrama..." . $media->id); } echo "+ Polubienia Sprawdź media № {$media->id}.
\n"; // Sprawdź, czy jakiś użytkownik polubił media z ograniczonej listy polubień. foreach($media->polubienia->dane jako $lubienie) { foreach($cur_użytkownicy jako $użytkownik) { if($lubi->nazwa użytkownika == $użytkownik) { $znaleziono = true; przerwanie; } } } // Jeśli jeszcze takiego nie znaleźliśmy, powinniśmy zajrzeć głębiej. if(!$found) { // log if($api_debug) { write_log("Identyfikator Instagrama nadal nie został znaleziony, rozszerz sprawdzanie..." . $media->id); } echo "+ Rozszerzone sprawdzanie polubień dla mediów № {$media->id}.
\n"; foreach($cur_users jako $user) { set_time_limit(120); // Sprawdź, czy użytkownik znajduje się na rozszerzonej liście polubień. if($i->userHasLikedMediaLight($user, $media->id)) { $found = true; przerwanie; } } } // Mamy dopasowanie dla tego tagu... if($found) { // log if($api_debug) { write_log("Znaleziono identyfikator Instagrama, ale sprawdźmy dokładnie identyfikator ". $media->id. " dla duplikatów..."); } // ...ale ponownie sprawdź istniejący post, aby uniknąć duplikatów! - JFLAY $doubleCheck = nowe WP_Query( array( 'post_type' => 'instagram_api_feed', 'meta_key' => 'instagram_id', 'meta_value' => $media->id ) ); if(!$doubleCheck->found_posts) { // log if($api_debug) { write_log("Bez duplikatów! Dodajmy ". $media->id); } echo "+ {$media->user->username} zdjęcie № {$media->id} zostało polubione pod #{$tag}
\n"; echo " + Nośnik kopiowania № {$media->id}.
\n"; // Szczegóły mediów. $kciuk = $media->obrazy->standard_resolution->url; $width = $media->images->standard_resolution->szerokość; $wysokość = $media->obrazy->standard_resolution->wysokość; $media_type = $media->typ; // Modyfikuj niektóre rzeczy w zależności od typu nośnika. if($media_type === 'video') { $media_url = $media->video->standard_resolution->url; $plakat_media = $kciuk; } else { $media_url = $kciuk; } // Informacje o miniaturze. $thumb_filename = pathinfo($thumb, PATHINFO_BASENAME); $tmp_thumb_filename = $thumb_filename; $liczba = 1; // Znajdź unikalną nazwę nośnika. while(file_exists($upload_folder . $tmp_thumb_filename)) { $tmp_thumb_filename = $count . '-' . $nazwa_pliku_kciuka; $liczba++; } $nazwa_pliku_kciuka = $nazwa_pliku_pliku_tmp; $copied = copy($thumb, $upload_folder . $thumb_filename); if($copied) { echo " + Tworzenie posta.
\n"; $post_content = '
'. $media->podpis->tekst; // log if($api_debug) { write_log("Tworzenie treści posta... " . $post_content . 'Line:' . __LINE__); } // Dodaj wpis. $ID = wp_insert_post( array( 'post_type' => 'instagram_api_feed', 'post_title' => $media->użytkownik->nazwa użytkownika, 'post_date' => date('Y-m-d H:i:s', $media-> created_time), 'post_content' => $post_content, 'post_status' => 'publish', 'post_author' => 1, 'guid' => $media->link ) ); // Post został wstawiony. if($ID) { // log if($api_debug) { write_log("Wstawiony identyfikator postu $ID Insta_ID: ". $media->id); } // Zaktualizuj różne informacje meta. update_post_meta($ID, 'instagram_media_type', $media_type); update_post_meta($ID, 'instagram_media_url', $media_url); update_post_meta($ID, 'instagram_media_poster', $media_poster); update_post_meta($ID, 'instagram_id', $media->id); update_post_meta($ID, 'instagram_contents', json_encode($media)); update_post_meta($ID, 'instagram_link', $media->link); update_post_meta($ID, 'instagram_hashtag', $tag); update_post_meta($ID, 'import_id', $działanie); echo " + Dołączanie obrazu.
\n"; // Dołącz obraz. $ wp_filetype = wp_check_filetype ($thumb_filename, null); $attachment = array( 'post_title' => $thumb_filename, 'post_content' => '', 'post_mime_type' => $wp_filetype['type'], 'post_status' => 'dziedziczy' ); $attach_id = wp_insert_attachment($attachment, $upload_folder. $thumb_filename, $ID); $attach_data = wp_generate_attachment_metadata($attach_id, $upload_folder. $thumb_filename); wp_update_attachment_metadata ($attach_id, $attach_data); set_post_thumbnail($ID, $attach_id); } else { echo " + Nie udało się utworzyć posta dla mediów № {$media->id}.
\n"; } } else { echo " + Nie udało się skopiować nośnika № {$media->id}.
\n"; } } else { // log if($api_debug) { write_log("Ok, był już post tutaj, jak to się stało?"); } } } else { echo "+ Brak polubień dla mediów № {$media->id}.
\n"; }                  // Znaleziony. Zaktualizuj komentarze. } else { $ID = $check->posts[0]->ID; echo "+ Już w WP jako identyfikator postu $ID.
\n"; // log if($api_debug) { write_log("Już w WP jako identyfikator postu $ID"); } } // Jeśli mamy identyfikator, to dlatego, że został utworzony lub znaleziony. Zaktualizuj komentarze. if($ID) { echo " + Aktualizacja komentarzy.
\n"; update_post_meta($ID, 'instagram_caption', $media->caption->text); update_post_meta($ID, 'instagram_comments', json_encode($i->mediaComments($media->id))); wp_set_post_terms ($ID, $tag, 'instagram_tags', prawda); } echo "
\n"; }


title: Przepisz określony format postu na slug URL

text: Przejdę do sedna. Używam formatów postów na mojej witrynie WordPress 3.6, a konkretnie „Wideo”, które chcę dołączyć do ślimaka adresu URL. Jestem całkiem nieźle zorientowany w pisaniu wtyczek WordPress itp., ale nie mogę znaleźć sposobu, aby TYLKO przepisać adresy URL dla tego formatu postu. Ogólna logika PSEUDO CODE wyglądałaby tak: if (post_format == 'Wideo') { // ZRÓB SPRYTNIE PRZEPISANIE } Bardzo doceniłbym pomoc/poradę, którą każdy może zaoferować.


title: Otrzymuj posty tylko według terminu slug

text: To, co chcę zrobić, to zbudować krótki kod, który wyświetli listę postów na podstawie przekazanych do niego ślimaków taksonomii. Ale o ile wiem, nie można używać tylko sluga terminu do pobierania postów bez konieczności określania taksonomii, w której się znajdują. Czy można uzyskać posty lub inne dane oparte na taksonomii (meta terminu, nazwa itp.) tylko z terminami slug i bez określonej taksonomii, w której się znajduje?


title: Jak ustawić, gdzie użytkownik jest przekierowywany po zalogowaniu się w wp-login?

text: Jestem więc prawie pewien, że prawdopodobnie ma to coś wspólnego z faktem, że używam niestandardowej roli, którą ustawiłem w moim pliku functions.php z prawie 0 uprawnieniami. Jednak nadal jestem w stanie uzyskać dostęp do pulpitu nawigacyjnego, po prostu otrzymuję wysłanie do profile.php podczas logowania zamiast pulpitu nawigacyjnego. Chcę, aby moja rola użytkownika była wysyłana do pulpitu za każdym razem, ponieważ mam tam skonfigurowany niestandardowy widżet. Nie mogę znaleźć funkcji w kodeksie i niezbędnego haka, aby to ustawić? Wygląda na to, że gdybym używał niestandardowego formularza logowania, mógłbym użyć `wp_login_form()`, ale chcę tylko użyć domyślnego formularza logowania bez hakowania pliku administratora, aby nie miało to wpływu na aktualizacje. Każdy zna funkcję, której potrzebuję. Nie mogę podać google właściwej terminologii.


title: Problem z buforowaniem WP 3.5

text: Ok, więc odkąd ostatnio zaktualizowałem niektóre z moich witryn do WP 3.5, wygląda na to, że buforowanie konkretnych obrazów i plików css jest skręcone. Wyjaśnienie: jeśli próbuję zaktualizować obraz, nadal wyświetla starą wersję obrazu nawet po wyczyszczeniu pamięci podręcznej przeglądarki. Jestem na Macu i wypróbowałem FF i Chrome oraz wyczyściłem pamięć podręczną dla obu z nich, uzyskując te same wyniki. Jeśli dodam parametr do adresu URL obrazu (aby usunąć pamięć podręczną), ładuje nowy obraz, ale jeśli usunę parametr, powraca do starej wersji. Zauważyłem, że cmd+shift+R wykonuje pewnego rodzaju odświeżenie, które wymusza wyświetlanie nowych obrazów/zmian, ale każde kolejne „normalne” odświeżenie jest przywracane z powrotem. To samo dzieje się z moimi plikami CSS, jak wyjaśniono powyżej dla obrazów. Zainstalowałem nawet i wypróbowałem W3TC, aby dodać wygasłe nagłówki do moich zasobów i wykonać tam buforowanie, ale to tak naprawdę niczego nie naprawiło. Czy ktoś może po prostu wskazać mi właściwy kierunek, aby to naprawić? Z góry dziękuję!


title: Czy istnieje akcja, która jest wywoływana po przywróceniu wpisu z kosza?

text: Patrzę na listę akcji Wordpress i próbuję znaleźć akcję, która jest wywoływana, gdy post jest przywracany z kosza, ale nie mogę go znaleźć. Czy ktoś wie, czy istnieje?


title: Zdobądź użytkowników z co najmniej jednym postem

text: Jak mogę zdobyć wszystkich użytkowników z co najmniej jednym postem? Nie sądzę, że jest to możliwe z funkcją `get_users`.


title: Natywny program do przesyłania multimediów WordPress na WordPress Frontend

text: Używam niestandardowego szablonu w mojej witrynie, aby umożliwić publikowanie frontendu. Chciałem dodać opcję przesyłania multimediów ( _takich jak zdjęcia_ ) w tym formularzu dokładnie tak, jak ma natywny backend WordPress. Krótko mówiąc, chciałem mieć przycisk na formularzu frontendu, który mógłby wyglądać tak: ![WP Dodaj przycisk mediów](http://i.stack.imgur.com/5mkmX.png) Po kliknięciu tego przycisku chcę, aby otwórz, który wygląda tak: ![Ekran przesyłania multimediów](http://i.stack.imgur.com/Yw5lf.png) Krótko mówiąc, chcę całą opcję przesyłania multimediów WP, ale w formie frontendu. Jestem pewien, że w WP byłaby do tego wbudowana funkcjonalność. Nie mogę znaleźć kodu, aby to uzyskać i niestety żadna wtyczka nie jest w stanie uzyskać tego wyniku. Pomoc doceniona.


title: wp_list_categories: pobierz najnowszy wyróżniony obraz kategorii

text: Myślałem o ładniejszym sposobie wyświetlania kategorii na moim pasku bocznym. Zamiast zwykłego stylu listy chciałbym, aby wyświetlały się również obrazy / miniatury. Obecnie używam: <?php wp_list_categories('show_last_updated=1&show_count=1&title_li='); ?> Po prostu wyświetlając nazwę/link + liczbę postów w każdej kategorii. Chcę to zachować, ale też dodać do tego miniaturę. Przeglądałem tę tablicę w poszukiwaniu odpowiedzi i zastanawiałem się, jak to zrobić, ale nie mogłem jeszcze znaleźć rozwiązania. Wydaje mi się, że muszę stworzyć funkcję, która otrzyma wyróżniony obraz najnowszego posta w tej kategorii. Jeśli post ma więcej kategorii, to również nie powinno sprawić żadnych problemów. Utworzenie pętli z tylko 1 postem w tej kategorii i wyprowadzenie tylko miniatury byłoby opcją, ale ustawienie jej tak, aby dopasowanie miniatury i kategorii mogło być kłopotliwe. Jestem pewien, że musi być na to lepszy sposób. Nie szukam wtyczki (ja jestem pewien, że są), chcę ją zakodować na sztywno. Jeśli ktoś ma dobry pomysł lub radę, jak do tego podejść, proszę o pomoc. Dziękuję Ci bardzo!


title: Gdzie umieścić zewnętrzną bibliotekę PHP?

text: Zajmuję się tworzeniem kilku wtyczek typu open source i motywu (wszystkie są częścią „pakietu”), które korzystają z tej samej biblioteki PHP innej firmy. Zastanawiam się, jak najlepiej umieścić go w Wordpressie. Oto kilka przemyśleń: * umieść go w jednej z wtyczek i wymagaj zainstalowania i aktywacji tej wtyczki * stwórz specjalną „podstawową” wtyczkę, która nie robi nic poza jej włączeniem * umieść ją bezpośrednio w `wp-content` Wszelkie przemyślenia na ten temat materiał?


title: Wyniki wyszukiwania: rozróżniaj posty i strony

text:
Obecnie wszystkie wyniki wyszukiwania są wyświetlane w ten sam sposób, bez względu na to, czy jest to post, czy strona statyczna. Ponieważ nie chcę, aby liczba komentarzy i kategorie pojawiały się na statycznych stronach, zastanawiałem się, jak to zrobić. Kod: **(Aktualizacja 22 października)** <?php if(get_post_type() == 'strona') : ?>
 <img src="<?php bloginfo('template_directory' ?>/images/eye.png" alt="Widoki" title="widoki" /> <?php print_page_views(get_the_ID('')); ?>
To jest statyczna strona!

 <?php endif; ?>
 <img src="<?php bloginfo('katalog_szablonów'); ?>/images/eye.png" alt="Widoki" title="widoki" /> <?php print_page_views (pobierz_ID('')); ?>     <img src="<?php bloginfo('katalog_szablonów'); ?>/images/comments2.png" alt="Komentarze" title="komentarze" /> <?php comments_popup_link('0', '10' , '%'); ?>

<?php the_category(' // ') ?>
 Dziękujemy za dotychczasową pomoc. Zaktualizowałem kod. Teraz pojawia się tylko na stronach statycznych, ale pojawia się również znacznik HTML pod tagiem warunkowym i chcę, aby wyświetlał się tylko w przypadku postów. Chyba muszę gdzieś umieścić tag "inny"? Po prostu nie wiem, jak to poprawnie zaimplementować. Z góry dziękuję!


title: Post-archiwum jak strona w określonym podkatalogu

text: Mam stronę z postami należącymi do określonych kategorii (np. _projekty_ ). Chcę pokazać archiwum określonej kategorii, np. stronę. # Status quo Struktura strony jest podobna do tej: > / > /nasza-praca/ > **/nasza-praca/projekty** <- tutaj chcę mieć archiwum dla _projektów_ > /xyz > /... I użyj następujących ustawień: * `category_base` = _cat_ * `permalink_structure` = _/news/%category%/%postname%/_ Mogę uzyskać dostęp do archiwum projektów poprzez example.com/cat/projects. # To, czego już próbowałem, bez powodzenia spróbowałem następujących rzeczy: Usunięcie `page_for_posts` i ustawienie jej na nowo utworzoną stronę " _news_ ". Dołączenie następującego kodu w pliku .htaccess przed sekcją wordpress (z i bez `[L]`: Jeśli użyję `[L,r=301]` otrzymuję przekierowanie 301. <IfModule mod_rewrite.c> RewriteEngine Na RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/our-work/projects/$ /cat/projects/ </IfModule> Myślę, że był czas, kiedy to jakoś działało, ale Nie pamiętam jak to zrobiłem.(Może strona wyświetlała tylko wszystkie posty, bo nie miała innych informacji).#Moje pytania 1. Czy jest lepszy sposób na zrobienie tego?Jak?(myślę o stworzeniu prawdziwej strony i napisz krótki kod, który zawiera/wyświetla wszystkie posty w kategorii projekty) 2. Jeśli nie - jak to zrobić? /projekty/acme_?


title: Uporządkuj posty według nazwy kategorii

text: Czy istnieje sposób na uporządkowanie postów według nazwy kategorii? Próbowałem $args = array( 'post_type' => 'dlm_download', 'posts_per_page' => 10, 'paged' => $paged, 'order_by'=> 'cat', 'order' => 'ASC' ); Ale to tak naprawdę nie działa, czy mógłby ktoś mi podpowiedzieć?


title: echo a zmienna wyjściowa

text:
Ktoś mi kiedyś powiedział, że dla wydajności jest dobre, żeby nie otwierać i zamykać tagów php i cały czas używać echo, tak: <hgroup>
<?php echo getHeading1(); ?>

<?php echo getHeading2(); ?>
 </hgroup> Zamiast tego używa zmiennej wyjściowej i powtarza ją na końcu. $output .= '<hgroup>
' . pobierzNagłówek1(); . '

' . pobierzNagłówek2(); . '
 </hgroup>'; echo $wyjście; Czy to naprawdę robi jakąś różnicę? Kiedy używać której metody?


title: Niektóre obrazy nie są połączone podczas ustawiania linku do obrazu multimedialnego

text: Podczas wstawiania obrazów do postów mam kilka obrazów, które nie rozpoznają ich ustawienia linku. Ustawienie jest poprawnie zapisane i próbowałem też przełączyć się na brak ustawienia iz powrotem, ale bez efektu. Dzieje się tak tylko w przypadku niektórych obrazów, niezależnie od innych ustawień i kontekstu, w którym jest wstawiany. Jakieś wskazówki co to moja przyczyna? **EDYCJA:** Przez niektóre obrazy rozumiem tylko przypadkowe obrazy. Istnieją pliki JPEG (może być jakiś png, ale wydaje się to nie być powiązane) jak inne, które działają z opisem lub bez. Wszystkie są przesyłane z biblioteki multimediów lub bezpośrednio z postu. Ponowne przesyłanie wydaje się naprawiać problem, ale od czasu do czasu pojawia się on ponownie z nowymi obrazami. Aby ten problem był jeszcze bardziej dziwny: działa, gdy usuwam tekst opisu tych obrazów, ale gdy dodam go ponownie (lub pojedynczą literę do celów testowych), już nie działa. **EDYCJA 2:** Również przycinanie, odwracanie i inne modyfikacje plików nie wpływają na opisane zachowanie tych obrazów. **EDYTUJ 3:** Prawdopodobnie z powodu używania rozszerzenia custom-upload-dir-extension niektóre z moich przewodników wydają się być pomieszane, a niektóre z tych plików są problematyczne. **EDYTUJ 4:** Nawet po usunięciu custom-upload-dir-extension problem nadal występuje, w przypadku nowych i starych obrazów...


title: Czy wp_localize_script wywołuje funkcję JavaScript lub po prostu przekazuje do niej parametry PHP?

text: Proste pytanie: próbuję zrozumieć wp_localize_script. Czy wp_localize_script wywołuje funkcję javascript, czy po prostu przekazuje parametry PHP do javascript? Chcę przekazać parametry php do funkcji javascript i wywołać funkcję js.


title: Zapytanie o zapytanie

text: Załóżmy, że mam zapytanie przechowywane w tablicy. Chcę przeanalizować tę tablicę, znaleźć pierwsze posty w tej tablicy, które pasują do określonej wartości z określonego klucza, a więc wyodrębnić cały post. Czy jest na to elegancki sposób? A może jest możliwe uruchomienie query_posts() wewnątrz tej tablicy? Dziękuję ! * * * **Edytuj:** _Przepraszam, po prostu naucz się korzystać z tej fantastycznej strony internetowej, musisz nauczyć się jej poprawnego użytkowania._ Celem jest wykonanie funkcji `get_posts()` i wyświetlanie postów nie w rzędzie, ale w różnych miejsca na stronie głównej, w których jest miejsce na post w kategorii Uroda, post w kategorii Tryb itp. Ponieważ każdy post może być w kilku kategoriach, nie mogę po prostu poprosić o ostatni post w kategorii: post może być w dwóch miejscach w tym samym czasie. Moim pomysłem jest po prostu wykonanie zapytania get_posts, zapisanie wyniku i przetworzenie go, abym mógł zarejestrować, które posty są wyświetlane, a które nie. Tak więc tworzę zapytanie za pomocą `get_posts()` są przechowywane w zmiennej. Ponieważ nie chcę, aby niektóre posty pozostały w zapytaniu, używam `'post__not_in'`, czyli `array` z wpisami `ID`, których nie chcę. function request_highlights($exclude_ids) { /* żądanie, które wypełni mój kanał hightlight */ $args = array( 'numberposts' => 16, 'category' => null, 'orderby' => 'post_date', 'order' = > 'DESC', 'post__not_in' => $exclude_ids, ); return get_posts( $args ); } $highlights_posts = request_highlights($slides_id); Więc w tym momencie mam zmienną, która jest, jak sądzę, obiektem ze wszystkimi potrzebnymi danymi. To, co chcę zrobić, to uzyskać, powiedzmy, pierwszy post w obiekcie, który ma `cat_ID=5` (na przykład). To, co teraz robię, to: foreach ($highlights_posts as $highlights_post) { $fetched_post = get_the_category($highlights_post->ID); foreach ( $fetched_post as $fetch_cat) { if ($fetch_cat->cat_ID == $cat_sq) { $sq_post_id = $fetch_cat->cat_ID; przerwa 2; } } } // rzeczy do zrobienia jak get_post($sq_post_id); Teraz zdaję sobie sprawę, że musiałbym usunąć ten wpis `ID` z mojej listy `$highlights_posts`, abym nie mógł go ciągnąć dwa razy. Chyba muszę dowiedzieć się więcej o tablicach?


title: Wyświetlać wszystkie posty zaczynające się na podaną literę?

text: Staram się budować słownik oparty na Wordpressie, w zasadzie będzie on miał 26 stron (po jednej na każdą literę): > A B C ... X Y Z I na każdej stronie będą wyświetlane wszystkie posty zaczynające się na daną literę, więc po otwarciu strony "A" to powinien wyświetlać coś w stylu: > aback > > abacus > > abalone > > (...) azure Na początku myślałem o niestandardowych typach postów, ale tworzenie i utrzymywanie 26 niestandardowych typów postów brzmi jak przesada. Jaki będzie najskuteczniejszy sposób sortowania takich postów? Zapytanie do bazy danych, dzielenie pętli z PHP? Celuję w tysiące postów (tak, to musi być Wordpress :)).


title: Tabele niestandardowe czy pola niestandardowe?

text: Tworzę blog, na którym użytkownicy będą mogli pobierać obrazy. Chcę wyświetlić informację, ile razy post został wyświetlony i ile razy obraz został pobrany. Technicznie rozwiązałem to za pomocą pól niestandardowych i działa. W niedalekiej przyszłości chcę dodać opcję sortowania zdjęć na podstawie wyświetleń/pobrań. Również to rozwiązałem, ale teraz myślę, że może powinienem użyć niestandardowych tabel zamiast niestandardowych pól. Planuję mieć około tysiąca obrazów i martwię się, że zapytania o wyświetlanie większości pobranych/przeglądanych obrazów będą powolne.


title: Widżet selektora obrazów

text:
Chcę utworzyć niestandardowy widżet, aby użytkownik mógł wybrać 2 obrazy z biblioteki multimediów za pomocą pola rozwijanego i wyświetlić je na pasku bocznym. Potrzebuję więc widżetu, aby wyświetlić 2 listy rozwijane, z których każdy pokazuje TYTUŁ obrazów w bibliotece multimediów. Następnie muszę zapisać adres URL tych dwóch obrazów do użycia w interfejsie użytkownika (oznaczony `<?php $IMAGEVAR ?>` w funkcji `widget`. Oto mój szablon widżetu -> <?php klasa Image_Picker rozszerza WP_Widget { function Image_Picker() { $widget_ops = array('classname' => 'Image_Picker', 'description' => 'Wybierz 2 obrazy z biblioteki multimediów'); $this->WP_Widget('Image_Picker', 'Image Picker', $widget_ops); } function form() { //USTAWIENIA BACK-END WIDGET echo '<select name="link1">'; echo '<option value="image1" selected>Obraz 1 Tytuł</option>'; echo '<option value="image2">Tytuł obrazu 2</option>'; echo '<option value="image3">Tytuł obrazu 3</option>'; echo '</select>
'; echo ' <select name="link2">'; echo '<option value="image1" selected>Tytuł obrazu 1</option>'; echo '<option value="image2">Tytuł obrazu 2</option>'; echo '<option value="image3">Obraz 3 Tytuł</op nia>'; echo '</select>'; } function update() { //WIDGET SAVE FUNCTION } function widget() { //WIDGET WIDOK Z PRZODU ?>
<img src=" <?php $IMAGEVAR ?>" alt="" width="203" height="271" border="0">

<img src="<?php $IMAGEVAR ?>" alt="" width="177" height="207" border="0">
 <?php } } // Dodaj klasę dla widgetu losowych postów add_action( 'widgets_init', create_function( '', 'zwróć register_widget("Image_Picker");') ); ?> Robiłem to jako metabox dla postów, ale muszę zrobić wersję widżetu i nie mogę wymyślić, jak to zaimplementować. Dodałem w szablonie front-end, aby zilustrować, jak działa jako widżet, ten szablon będzie wyświetlany jako widżet, jeśli umieścisz go w swoim `functions.php`, ale oczywiście nic nie zrobi... Dowolna pomoc jest bardzo doceniany, okrzyki.


title: Czy jest jakiś haczyk do aktywacji motywu? czy coś podobnego?

text: Wiem, że zadano to wcześniej, ale moje pytanie jest inne. Więc. Mam wtyczkę, która w locie tworzy niestandardowe typy postów. wtyczka ma również funkcję tworzenia plików szablonów dla każdego z tych niestandardowych typów postów. po prostu przechodzi do tych folderów motywów i tworzy stronę szablonu dla każdego z bieżącego motywu. działa to idealnie dla aktualnych tematów. jednak co się stanie, jeśli administrator dodał inny motyw i go aktywował? Więc szukam sposobu na wykrycie aktywacji, a następnie uruchomienie funkcji, aby utworzyć stronę szablonu dla tego motywu. Moim pierwszym pomysłem było sprawdzenie haka aktywacyjnego motywu, który chyba nie zadziała. Ktoś z innym pomysłem?


title: Czy można dodać „Klasy parzyste/nieparzyste” do załączników graficznych za pomocą wp_get_attachment_image?

text: Szukam sposobu na dodanie naprzemiennej klasy parzyste/nieparzyste bezpośrednio do każdego załącznika graficznego, gdy jest on wyprowadzany przez moją funkcję poniżej: <?php function nongallery_img_slide( $post_id = null ) { if ( $post_id == null ) return; $images = get_posts( array( 'numberposts' => -1, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'post_parent' => $post_id, 'orderby' => 'menu_order', 'order' => 'ASC', //'exclude' => get_post_thumbnail_id( $post_id ) ) ); if ( count( $images ) > 0 ) { foreach ( $images as $image ) { echo wp_get_attachment_image( $image->ID, 'photogallery-img' ); } } } ?> Czy można to zrobić? Dziękuję!


title: Jak włączyć zakładki qTranslate języków na niestandardowej stronie wtyczki?

text: Na przykład stworzyłem niestandardowy kreator postów. Używam `wp_editor()` do generowania edytorów "WYSIWYG" dla zawartości. Używam `qTranslate` do obsługi wielu języków. Niestety jestem zmuszony do stworzenia osobnego edytora "WYSIWYG" dla każdego tłumaczenia na język. Przesada. Jak włączyć / zaimplementować zakładki języka `qTranslate` tak, jak są one w domyślnym kreatorze postów.


title: Błąd PHP dotyczący wtyczki, która nie jest zainstalowana

text: Jak przez mgłę pamiętam, że na mojej witrynie Wordpress zainstalowałem Broken Link Checker. Nie jest już zainstalowany. Wordpress jest zainstalowany w trybie sieciowym i tylko na jednej z sieciowych witryn pojawia się następujący błąd u góry strony administratora: > Ostrzeżenie: fopen(/...wp-content/plugins/broken-link-checker/ broken-link- > checker.php) [function.fopen]: nie udało się otworzyć strumienia: Brak takiego pliku lub > katalogu w /.../wp-includes/functions.php w wierszu 3594 > > Ostrzeżenie: fread() oczekuje parametr 1 ma być zasobem, wartość logiczna podana w > /.../wp-includes/functions.php w wierszu 3597 > > Ostrzeżenie: fclose() oczekuje, że parametr 1 będzie zasobem, wartość logiczna podana w > /.../wp- include/functions.php w wierszu 3600 Dlaczego ten błąd pojawia się, gdy wtyczka nie jest już zainstalowana? Wersja Wordpress to 3.6.1 Nie przypominam sobie, abym widział to na WP v3.6 lub niższym.


title: Przenieś kategorię do podkategorii, Zachowaj strukturę adresu URL

text: Witryna, nad którą teraz pracuję, była małym blogiem, który następnie rozszerzył się na coś znacznie większego niż początkowo myśleli. Przykład poniżej -Pizza -Chiński -Włoski Potrzebuję albo wszystkich postów w jednej kategorii - Recenzje lub struktury takiej jak - Recenzje - Pizza - Chiński itp. Zaczęli używać kategorii jako tagów zamiast samych tagów, a jest ich około 15 kategorie, które można przenieść do kategorii nadrzędnej. Na przyszłość muszę przenieść je wszystkie do tej samej kategorii (utrzymanie kategorii, w której się teraz znajdują, jest opcjonalne, ale najlepiej). Jedyną rzeczą, która musi pozostać taka sama, są adresy URL. Dotyczy to zarówno komentarzy disqus, jak i celów SEO. Próbowałem użyć wtyczki Term Management Tools, aby przejść do kategorii nadrzędnej, i to działa, ale otrzymuję adres URL `http://example.com/reviews/pizza/post-name` zamiast mojego oryginalnego ` http://example.com/pizza/nazwa-posta`


title: Co jest nie tak z tym przejściowym? Nie buforuje zgodnie z oczekiwaniami

text:
Próbuję buforować zwrócone dane z zapytania przy użyciu WP_Query. Wygląda na to, że nie przechowuje niczego w pobliżu podanego przeze mnie czasu. Czasami odświeża się przy każdym załadowaniu strony. Co mogę zrobić źle? <?php // pobranie naszych danych przejściowych, jeśli istnieją // zapobiega uderzaniu bazy danych wieloma losowymi zapytaniami $tipsloop = get_transient ('homepage_tipsloop'); if (!$tipsloop ) { echo 'TO SĄ NOWE DANE PRZEJŚCIOWE'; $tipsloop = new WP_Query( array( 'cat' => '8', 'posts_per_page' => '1' , 'orderby' => 'rand') ); set_transient ('homepage_tipsloop' , $tipsloop , MINUTE_IN_SECONDS * 5 ); // buforowane przez 5 minut } ?>  <?php while ($tipsloop->have_posts()) : $tipsloop->the_post(); echo get_the_post_thumbnail($page->ID, 'homefooter-thumb'); ?>
 <?php the_content(); ?>

 WIĘCEJ WSKAZÓWEK
 <?php endwhile; ?>


title: Co oznaczają komentarze z [...]?

text: Otrzymuję kilka komentarzy, które po prostu powtarzają tytuł z '[...]'. np.: [...] Jakiś fajny tytuł posta [...] Czy to spam, czy wordpress robi coś złego? Mam włączoną wtyczkę akismet.


title: Pobierz bieżący i zlokalizowany miesiąc

text: zamiast pisać tablicę miesięcy w żądanym języku i wykonywać funkcję zastępującą date('m') zlokalizowanym miesiącem... Uważam, że powinien istnieć jakiś szybki i łatwy sposób na wyświetlenie echa bieżącego miesiąca, w końcu jego Wordpress? Mam define('WPLANG', 'hr');


title: Jak zamówić przez post meta name w wp admin?

text: Próbuję zamówić według meta nazwy posta, którą dodałem do posta. Meta postu to „_merchant_id” i wiem, jak sortować według merchan_id, ale nie wiem, jak sortować według nazwy sprzedawcy. Sortuję według identyfikatora sprzedawcy w następujący sposób: public function column_orderby( $vars ) { if ( isset( $vars['orderby'] ) && is_admin() ) { switch ( $vars['orderby'] ) { case 'merchant' : $vars = array_merge( $vars, array( 'meta_key' => '_merchant_id', 'orderby' => 'meta_value_num' ) ); przerwanie; ... Handlowiec to inny typ poczty ("merchant"). Jak mogę sortować według nazwy sprzedawcy? **AKTUALIZACJA (ulepszone wyjaśnienie za pomocą zrzutu ekranu):** ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/xmFef.png)


title: Powolny wp-admin z powodu "SELECT DISTINCT post_mime_type FROM wp_posts WHERE post_type = 'załącznik'"

text: Biblioteka multimediów w dużej witrynie działa wolno w wp-admin. Zrobiłem trochę badań, patrząc na powolne zapytania w sql i stwierdziłem, że to zapytanie powoduje powolną odpowiedź: SELECT DISTINCT post_mime_type FROM wp_posts WHERE post_type = 'attachment' Zajmuje to około 17 sekund i jest to około 759000 wierszy typu 'attachment' w db. Jaki byłby najlepszy sposób na optymalizację lub buforowanie różnych typów? Nie chcę niczego zmieniać w plikach core.


title: Najlepszy sposób na przerwanie wtyczki w przypadku niewystarczającej wersji PHP?

text: Piszesz wtyczkę, która wymaga PHP 5.1. Ktoś próbuje zainstalować go na serwerze z PHP 4. Jak sobie z tym poradzić w sposób bezpieczny i przyjazny dla użytkownika?


title: Niestandardowy CSS nie jest dodawany przez wtyczkę

text: Próbuję dodać niestandardowy css za pośrednictwem mojej wtyczki. Mam wywołane wp_head() w moim nagłówku. Mój kod to - /** * Zakolejkuj plik stylu wtyczki */ function prefix_add_my_stylesheet() { wp_enqueue_script('style1', plugins_url('style1.css', __FILE__) ); } add_action( 'wp_enqueue_scripts', 'prefix_add_my_stylesheet' ); Mogę uzyskać dostęp do style1.css, gdy wywołam echo plugins_url('style1.css', __FILE__); Więc wiem, że istnieje i jest dostępny. Nie otrzymuję żadnych błędów, a arkusz stylów się nie wyświetla. Umieszczam powyższy kod w mysite/wp-content/plugins/mycustomplug/plugin.php Czy ktoś może mi powiedzieć, dlaczego to się nie ładuje? Nic się nie dzieje, więc zakładam, że moja składnia jest poprawna.


title: Wyświetlaj tylko posty, które mają wielowymiarową meta_value

text:
Chcę więc pobrać listę z postami, które znajdują się w meta_key "_blocks" iw tym jest wielowymiarowa tablica z "obszarów" o nazwie left, right, top itp. A w nich są przypisane post_id:s. Tak: Tablica ( [lewo] => Tablica ( [0] => 450 [1] => 452 [2] => 460 [3] => 451 [4] => 454 [5] => 449 [6 ] => 455) [prawo] => Tablica ( [0] => 460 [1] => 455 [2] => 454 [3] => 453 ) ) Zapytanie wygląda teraz tak.. Jestem trochę zdezorientowany teraz, jak to zarchiwizować.. Przedtem uruchamiam foreach, jak widać w $obszarach jako $obszarze. A `$type_areas` przechowuje etch post_type:s. $args = array( 'post_type' => $type_areas[$area['area']], 'posts_per_page' => '-1', 'meta_key' => '_blocks', 'meta_query' => array( array( 'key' => 'left', 'value' => '450', // tylko testowanie... 'compare' => 'IN', ) ) ); $zapytanie = nowe WP_Query( $args ); while ( $query->have_posts() ): $query->the_post(); $output .= '
post->ID .'" data-area="'. $area['obszar'] .'">
'. get_the_title() .'
'. $query->post->post_type .'
'; koniec; **UPDATE** Skończyło się na prostym zapytaniu SQL: $sql = 'SELECT post_id FROM kwido_postmeta WHERE meta_value REGEXP \'"'. $area['area'] .'";a:[[:digit: ]]+:{[^}]*"'. $mainpost->ID .'"\''; $ wyniki = $ wpdb-> get_results ( $ sql, ARRAY_A ); To zajmuje się bieżącym post_id i obszarem z wyrażeniem regularnym, a jeśli zostanie znaleziony, pobierz post_id.. $post_ids = array(); foreach ( $results as $result ) { $post_ids[] = $result['post_id']; } Z post_id:s wykonuję zapytanie z parametrem `post__in`, który akceptuje tablice. $args = array( 'post_type' => $type_areas[$area['area']], 'posts_per_page' => '-1', 'post__not_in' => $post_ids ); $zapytanie = nowe WP_Query( $args );


title: Oczyszczanie i sprawdzanie poprawności pola e-mail

text: Czy powinienem używać `is_email()` do sprawdzania poprawności pola e-mail? W WP. Umieściłem pole e-mail w widżecie. Naprawdę byłbym wdzięczny za pomoc. aktualizacja funkcji($nowa_instancja, $stara_instancja) { $instancja = $stara_instancja; $instance['email'] = is_email($new_instance['email']); zwróć $instancję; } I <p> <label for="<?php echo $this->get_field_id('email'); ?>"> <?php _e('Email'); ?> </label> <input class="widefat" id="<?php echo $this->get_field_id('email'); ?>" name="<?php echo $this->get_field_name('email' ?>" type="email" value="<?php echo $email; ?> " /> </p> <?php } Czy użycie `is_email()` jest do tego poprawne? Dziękuję Ci!


title: Jak mogę użyć GET METHOD na stronie administratora wtyczki wordpress?

text:
Tworzę niestandardową wtyczkę, którą planuję sprzedać, ale mam problem z przechowywaniem wartości żądań pobierania w adresie URL wtyczki. Mam ten adres URL: /wp-admin/admin.php?page=step-one&filename=Styles_For_Less- Styles_For_Less_Product_Catalog.txt i po kliknięciu przycisku przesyłania na tej stronie powinien przejść do strony z następującym adresem URL: /wp-admin/admin .php?page=step-two&filename=Styles_For_Less- Styles_For_Less_Product_Catalog.txt&header=0&delimiter=%7C&quoted=&step2=Step+2+%3E%3E Ale zamiast tego jest to: /wp-admin/admin.php?header =1&delimiter=%2C&quoted=&step2=Krok+2+%3E%3E <form method="GET" action="<?php echo admin_url( "admin.php?page=drugi krok&filename=$nazwapliku&", "http" ?>"> <tabela border="1" cellpadding="4">
 Wiersz nagłówka:	 <?php echo $nagłówek; ?>

 Ogranicznik:	 <?php echo $delimiter; ?>

 Cytowane:	 <?php echo $cytowane; ?>

<input type="submit" value="Krok 2 >>" name="step2">   <input type="reset" value="Reset" name="B2">
 </form> Wszelka pomoc jest bardzo ceniona.


title: Paginacja ze statyczną stroną główną

text:
Próbuję dodać paginację do mojej strony głównej. Obecnie jest ustawiony na Ustawienia --> Czytanie --> Strona statyczna --> Strona główna: Strona główna Używam niestandardowego szablonu dla strony głównej. Mam otwarty szablon-home.php i wygląda on tak: <?php /* Nazwa szablonu: Home */ ?> <?php get_header(); ?>

  <?php// wp_reset_query(); ?> <?php if ( get_query_var('stronicowane')) { $paged = get_query_var('stronicowane'); } elseif ( get_query_var('strona')) { $paged = get_query_var('strona'); } else { $paged = 1; } query_posts('posts_per_page=3&paged=' . $paged); ?>  <?php jeśli ( have_posts() : while (have_posts()) : the_post(); ?>
 <?php /* Widgetowany obszar */ if ( !function_exists( 'dynamic_sidebar' ) || ! dynamic_sidebar( 'Strona główna' ) ); ?>
 <?php the_content(); ?>

  <?php /* Widgetized Area */ if ( !function_exists( 'dynamic_sidebar' ) || !dynamic_sidebar( 'Pasek boczny strony głównej' ) ); ?>  <?php endwhile; ?>

<?php next_posts_link(__('← Starsze wpisy', 'framework')) ?>

<?php previous_posts_link(__('Nowsze wpisy →', 'framework')) ?>

  <?php echo paginate_links(); ?> <?php endif; ?>

 <?php get_footer(); ?> Przeczytałem sekcję „statyczna strona główna” tej strony i nie działa dla mnie. Kiedy uruchamiam szablon, duplikuje wszystkie moje posty, pokazuje 6 postów i duplikuje moją sekcję nagłówka. jednak moje ustawienia --> Czytanie --> mówi 5


title: pobierz USER ID w functions.php za pomocą akcji user_register

text:
Mam problem z uzyskaniem identyfikatora w filtrze user_register w functions.php... Oto, co otrzymałem add_action( 'user_register', 'sendanotheremail' ); function sendanotheremail($user_id) { $user = nowy WP_User($user_id); $user_login = stripslashes($user->user_login); $user_email = stripslashes($user->user_email); $getid = $użytkownik->ID; globalny $wpdb; $getunion = $wpdb->get_results("WYBIERZ wartość z wp_bp_xprofile_data gdzie user_id = $getid AND field_id = 4", "ARRAY_N"); $message = sprintf(__('Rejestracja nowego użytkownika na %s:'), get_option('blogname')) . "\r\n\r\n"; $message .= sprintf(__('Nazwa użytkownika: %s'), $user_login) . "\r\n\r\n"; $wiadomość .= sprintf(__('E-mail: %s'), $user_email) . "\r\n"; $message .= "
 Przejdź tutaj, aby zatwierdzić nowego użytkownika Zatwierdź/Odrzuć"; if(!($getunion)) { $wiadomość .= "nic tam"; } else { $wiadomość .= "tak"; } $headers = 'Od: xxx <xxx@xxx.com>'; add_filter('wp_mail_content_type',create_function('', 'return "text/html";')); wp_mail('xxx@xxx.com', 'Rejestracja nowego użytkownika na stronie xxx', $message, $headers); } Testuję getunion, jeśli jest pusty, zwracam "nic tam". _**Więc wszystkie inne zmienne dostarczają mi e-mail z prawidłowymi danymi, ale $getunion jest pusty..._** Kiedy przekazuję ręcznie identyfikator tutaj $getunion = $wpdb->get_results("SELECT value from wp_bp_xprofile_data gdzie user_id = $get_id AND field_id = 4", "TABLICA_N"); to działa... Więc jak mogę uzyskać identyfikator?


title: Przenoś treści z jednej witryny Wordpress do drugiej

text:
Zajmuję się tym od wielu dni i teraz czuję, że jestem daleko od desperacji i braku wiedzy. Prawie staram się „zeskrobać” informacje publiczne z jednej instalacji Wordpress do osobnej witryny Wordpress. Witryny znajdują się na różnych domenach, serwerach i bazach danych. Witryna A (ta, z której muszę pobrać treść) korzysta z kanału RSS, który udało mi się z powodzeniem pobrać. Jednak każdy post zawiera obraz (nie wiem, czy jest polecany, czy nie) i naprawdę muszę wiedzieć, jak wyświetlić ten obraz. Na początku uruchomiłem własną pętlę i zbierałem wszystko poza obrazem, potem próbowałem po prostu skonfigurować Simplepie w motywie i nadal nie mogłem pobrać obrazów. Następnie próbowałem opisanej tutaj metody o XMLRPC i nadal nie miałem szczęścia. Mam zamiar wyrwać sobie włosy, a po prostu nie mam wystarczającej wiedzy na ten temat, aby zrobić to, czego potrzebuję. Jak mogę uzyskać kanał i obraz do wyświetlenia z Witryny A do Witryny B? Przeczytałem tyle rzeczy, że czuję się tak zagubiony. Jakakolwiek pomoc byłaby bardzo mile widziana, dzięki **EDYTUJ ** Oto, czego używałem, co działa w zakresie pobierania kanału, ale nie obrazów <?php function custom_dashboard_feed() { $feed = fetch_feed( 'http:// mugshots.starnewsonline.com/feed' ); if ( ! is_wp_error( $feed) ): // Uzyskaj maksymalnie 5 pozycji $maxitems = $feed->get_item_quantity( 5 ); $elementy = $feed->get_items( 0, $maxitems ); foreach ( $items as $item ): ?>
 <a href="<?php echo $item->get_permalink(); ?>"><?php echo $item-> pobierz_tytuł(); ?> <?php echo $item->get_date( 'F j, Y' ); ?>
 <?php if (has_post_thumbnail( $post->ID) ): ?> <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail ' ); ?> <img src="<?php echo $item->get_image_url ?>" height="200" width="200" />
 <?php endif; ?> <?php echo $item->get_description(); ?>
 <?php endforeach; else: // Zwrócono WP_Error, nie można pobrać kanału. ?>
Wystąpił błąd podczas pobierania kanału, spróbuj ponownie później
 <?php endif; ?> <?php } ?> <?php $mugshots = custom_dashboard_feed(); echo $mugshots; ?>


title: Jaki jest preferowany sposób dodawania niestandardowych plików JavaScript do witryny?

text: Dodałem już swoje skrypty, ale chciałem poznać preferowany sposób. Po prostu umieszczam tag `<script>` bezpośrednio w `header.php` mojego szablonu. Czy istnieje preferowana metoda wstawiania zewnętrznych lub niestandardowych plików js? Jak powiązać plik js z pojedynczą stroną? (mam na myśli stronę główną)


title: Dodaj JavaScript w admin w niestandardowej wtyczce

text: > **Możliwe zduplikowanie:** > Jaki jest preferowany sposób dodawania niestandardowych plików JavaScript do witryny? Czytałem tutaj kilka postów na ten temat, ale wszystkie odpowiedzi dotyczą wp_enqueue_script czy czegoś takiego. Szukam rozwiązania do osadzenia niestandardowej zmiennej JavaScript (utworzonej przez json_encode()) w stopce lub w nagłówku, ale w admin add_action 'wp_footer' i 'wp_head' nie są wywoływane. Jak osadzić własny kod - nie dołączaj pliku.


title: Wyróżnij problemy z komentarzami autorów

text: Tak więc kilka dni temu dodałem następujący kod do Geek for Him i oczywiście przegapiłem część zagnieżdżonych komentarzy. Jest to zaimplementowane w wielu innych moich witrynach, bez standardowego motywu zgrubnego i działającego dobrze. Czy czegoś mi brakuje? Sprawdź link tutaj - geekforhim dot com to strona Komentuję, ja komentuję (podświetlenie działa) ktoś komentuje pode mną i jest to również podświetlone. Każda pomoc byłaby bardzo mile widziana. .commentlist li.bypostauthor, li.comment-author-admin { background-color: #E0E0E0 !ważne; } Zorientowałem się, że fi dodaję tło do #comments ul.children { background:none repeat scroll 0 0 #FFFFFF; margines:10px 0 0 25px; dopełnienie:0; } działa, ale jest bardzo brzydki. Jakieś czystsze pomysły? Zobacz obrazek poniżej na tym, co wydaje się popsute. Zauważyłem, że same komentarze są jednym. Mam na myśli to, że 4 zagnieżdżone komentarze pod jednym są równe jednemu komentarzowi. To nie jest poprawnie zakodowane w moim umyśle i prawdopodobnie naprawa błędu? Daj mi znać o wszelkich pomysłach lub obejściach. _**ZAKTUALIZOWANE_** Dzięki poniższym wskazówkom udało mi się dowiedzieć, czego szukam. Dzięki t31os!!


title: Metoda kodowania adresów URL?

text: Czy istnieje metoda lub interfejs API, którego WordPress używa do kodowania adresów URL, podobnie jak generuje część adresu URL podczas używania tytułu w adresie URL? Piszę wtyczkę, która generuje adresy URL i chciałabym użyć tej samej metody, co wszystko inne. Na przykład wpisuję „To jest mój post na blogu” w tytule i generowany jest „to-jest-mój-post-blogu”.


title: Problemy z dziwnymi postaciami i moją wtyczką

text: Istnieją znaki specjalne, które mogą powodować problemy w prasie słów, takie jak niesławne cudzysłowy Microsoft Word. Jest jednak wiele osób, które są schwytane i traktowane. Mój kolega i ja napisaliśmy wtyczkę, która, nawet jeśli tylko przekazuje treść, uniemożliwia wordpress obsługę wielu z tych znaków poprawnie. Widać to szczególnie na stronach internetowych w języku obcym, takich jak niemiecka, gdzie znaki specjalne są obsługiwane dobrze, dopóki moja wtyczka nie zostanie aktywowana. Dlaczego tak jest?


title: Niestandardowy link na ekranie przesyłania „Szczegóły załącznika” w mediach Wordpress

text: Po kliknięciu „Dodaj multimedia” i wybraniu obrazu z tego ekranu biblioteki multimediów po prawej stronie otrzymasz zestawienie (szczegóły załącznika) związane z tym konkretnym obrazem. Tuż pod obrazem znajduje się kilka szczegółów obrazu, a następnie linki > Edytuj obraz > Usuń trwale. Jak dodać niestandardowy link, aby pojawił się tam (najlepiej) nad linkiem „Edytuj obraz” z funkcją? Szukałem i najbliżej mogłem znaleźć, jak dodać niestandardowe pola do ekranu przesyłania multimediów najbliżej dolnych opcji po prawej stronie, gdy wybrany jest obraz. Nie udało mi się znaleźć i nie jestem pewien, jak wziąć ten fragment i przyjąć obszar pola jako tylko link. Użyłem w moim opisie powyższego "obrazu" tylko w celach wizualnych. Chcę, aby link pojawiał się dla wszystkich plików z ekranu przesyłania multimediów, a nie tylko obrazów, jeśli ktoś tak myśli. Wielkie dzięki!


title: Wyklucz kategorie z the_category();

text: function the_category_filter($thelist,$separator=' ') { if(!defined('WP_ADMIN')) { //wymień nazwy kategorii do wykluczenia $exclude = array('Coś','Coś innego','Blah', „YAY”); $koty = eksploduj($separator,$lista); $nowa lista = tablica(); foreach($cats as $cat) { $catname = trim(strip_tags($cat)); if(!in_array($catname,$exclude)) $newlist[] = $cat; } return implode($separator,$newlist); } else return $thelist; } add_filter('kategoria','filtr_kategorii',10,2); Używam tego kodu, aby uzyskać the_category(); aby wykluczyć niektóre kategorie. Ale to nie działa, tak jak powinno...


title: Użyj strony wordpress, aby wyświetlić określoną kategorię

text: Próbuję założyć stronę portfolio na mojej witrynie wordpress i chciałbym następującą konstrukcję: * /blog/ gdzie bloguję różne rzeczy, w tym wpisy portfolio * /portfolio/ gdzie pokazuję tylko posty z mojego portfolio kategoria * niektóre zwykłe strony /nazwa strony/ (informacje, kontakt itp.) Chcę, aby sekcja portfolio miała osobny styl (a prawdopodobnie nawet html) niż zwykły przegląd kategorii. Jeśli więc ktoś kliknie jedną z kategorii na moim blogu, nadal zobaczy normalną stronę /category/randomcategory/ z przeglądem. Oznacza to, że nie mogę po prostu zmienić strony php kategorii i/lub CSS, ponieważ strona portfolio różni się od zwykłego widoku. Czy istnieje sposób na skonfigurowanie mojej strony tak, aby wyświetlała posty w portfolio kategorii tak, jak chcę?


title: Demo motywu w witrynie na żywo

text: Nie wiem, jak wyjaśnić to pytanie, ale pozwól mi spróbować, wyobraź sobie, że mam stronę internetową o nazwie xyz.com, a na xyz przesłano 10 motywów, a na stronie głównej pokażę nazwę i zrzut ekranu wszystkich 10 motywów, jeśli ktoś kliknij aktywuj / demo, wtedy ten motyw zostanie aktywowany w jego adresie IP tylko do czasu, gdy jego sesja zostanie zniszczona po tym, gdy odwiedzi ponownie po pewnym czasie, gdy będzie mógł zobaczyć stary motyw. Oznacza to, że jeśli ktoś chciał kupić motyw z mojej strony, może go obejrzeć bezpośrednio z mojej strony.


title: Jak uniemożliwić innym wyświetlanie załącznika do zaplanowanego posta, który zostanie opublikowany w przyszłości?

text: Zajmuję się tworzeniem strony internetowej dla dużej korporacji. Wydają dokumenty finansowe w określonych terminach i godzinach. Opracowałem niestandardowy formularz do przesyłania tych plików PDF do artykułów oraz niestandardowe pętle, które wyświetlają tylko te załączniki na określonych stronach. Gdy data artykułu zostanie ustalona w przyszłości, załączniki są publikowane, gdy powinny, a system działa całkiem nieźle. Jedyną rzeczą jest to, że dla firmy bardzo ważne jest, aby nie było dostępu do załączników przed datą, kiedy ma się ukazać. Więc jeśli ktoś może odgadnąć nazwę załącznika, może po prostu przejść do wp-content/uploads/financialdocument10.pdf i przeczytać go, zanim ma się ukazać. Czy są jakieś pomysły, jak temu zapobiec? Jak dotąd, moim jedynym pomysłem jest dodanie losowych znaków do nazwy pliku, aby nie można było wydedukować jej nazwy na podstawie poprzednich nazw plików. Dziękuję!


title: Zmiana domyślnej nazwy nagłówka

text: Czy ze względów bezpieczeństwa można zmienić domyślny plik header.php na inny? Wygląda na to, że plik header.php jest celem złośliwych ataków. Wiem to wszystko, mamy różne nazwane nagłówki, mówię o domyślnym. Na przykład zamiast header.php zmień jego nazwę na imcool.php i nie doceniam punktu ujemnego. Wszystkie domyślne pliki index.php, admin jako użytkownik, nagłówek są zawsze celem złośliwych ataków, w tym wstrzykiwania.


title: Dlaczego Wordpress ładuje miniaturę posta o innym rozmiarze?

text:
Mam niestandardowy motyw, w którym używam miniatur postów jako obrazów BG dla suwaka. Miniatury i niektóre inne informacje są wprowadzane przy użyciu niestandardowego typu wpisu. Jednak pomimo tego, że przesyłam obrazy o wymiarach 1440x833, obraz ładowany jest zawsze w formacie 1024x593. Dlaczego nawet tworzy 1024 wersję tych miniatur? Oto odpowiedni kod w index.php.  <?php $args = array( 'post_type' => 'home-slider', 'posts_per_page' => 5, ); ?>  <?php $homeslides = new WP_Query( $args ); ?>

   <?php if ( $homeslides->have_posts() ) : while ( $homeslides->have_posts() ): $homeslides->the_post(); ?> <?php $slideimage = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'home-slides' ); $url = $obraz slajdu['0']; ?>
 <div class="obraz-slajdu" style="background: url(<?php echo ($url); ?>) centrum bez powtórzeń;">

<?php the_field('slide-title') ;?>

<?php the_field ('slide-subtitle') ;?>

 <?php endwhile; endif; ?>

 Tutaj deklaruję rozmiar miniatury (functions.php). // Ten motyw używa niestandardowego rozmiaru obrazu dla polecanych obrazów, wyświetlanych w „standardowych” postach. add_theme_support( 'post-miniaturki' ); set_post_thumbnail_size (320, 180, prawda); // rozmiar podstawowy add_image_size( 'home-slides', 1440, 833, true ); // rozmiar miniatury w głównym suwaku } Dziękujemy za pomoc!


title: Problem z atrybutem przestrzeni nazw kanału WP

text: Mam dziwny problem (cóż, dziwny dla mnie), gdzie atrybut przestrzeni nazw xmlns:media jest dodawany do jednego kanału, ale nie do drugiego. Jak pozbyć się atrybutu „xmlns:media”? Nie wiem nawet, dlaczego jest dodawany do jednego kanału, a drugiego nie. Na przykład: http://pridemoreproperties.agentfire.com/feed/ Zwróć uwagę na dodawane „xmlns:media”. http://landandvillage.com/feed/ Znajdują się one w tej samej instalacji WP (WP Multisite) i oba używają motywu genesis.


title: pasek boczny - widżety a kod - opcje

text: Zdecydowałem się użyć widżetów na moim pasku bocznym za radą innego projektanta, który uważał, że ładowanie witryny zajmie zbyt dużo czasu, jeśli użyję obrazów, których używam do tytułów i brandingu. Jestem niezadowolony z wyniku, ponieważ widżety Obraz i Tekst tworzą zbyt dużo odstępu między sekcjami i mam ograniczone możliwości kontrolowania. Mam dwa powiązane pytania. Czy ktoś zna widżet graficzny lub tekstowy, który pozwoli mi zminimalizować odstępy między sekcjami? Moje obrazy są bardzo ciasno przycięte, więc nie ma powodu, aby odstępy były puste, poza tworzącymi je widżetami. Drugie pytanie brzmi: jeśli zdecyduję się w ogóle nie używać widżetów i po prostu zaprogramuję plik sidebar.php tak, aby odwoływał się do plików graficznych w bibliotece multimediów i wpisywał odpowiedni tekst – czy to szkodzi funkcjonalności strony? Widzę w Internecie wiele bardzo dostosowanych pasków bocznych Wordpress i nie wyobrażam sobie, by używały widżetów. Ale może używają techniki, która jest ponad moją głową? To temat dwudziestu dwunastu dzieci. Doceniane przewodnictwo. Strona jest teraz pod adresem internalcompass.us/castle. kb


title: Dlaczego wyszukiwanie w Wordpress zwraca taką samą liczbę wyników dla każdego zapytania?

text: Uderzam w mur z cegły, szukam czegoś w witrynie, którą tworzę, i przy każdym wyszukiwaniu zwraca 10 wyników, gdy wiem, że w indeksie w relevanssi pokazuje więcej dla terminu, którego szukam. Czy ktoś wie, na czym polega problem? Dzięki, Mark


title: Publikować tytuły i miniatury jako linki do niestandardowych typów postów?

text:
Zmagam się ze strukturą php. Jak przepisać kod, aby uzyskać linki do tytułów i miniatur niestandardowych postów?
 <?php $pfportfolio = new WP_Query( 'post_type=portfolio', 'posts_per_page=-1' );?> <?php while ( $pfportfolio->have_posts() ): $pfportfolio- >the_post();?> <?php echo '
ID, 'lokalizacja', '', ' ', '' ) ).''">'; **echo ''; tytuł(); echo ''; echo '
'; the_post_thumbnail('home-feat'); echo '
';** echo '
';?> <?php endwhile; ?> <?php wp_reset_postdata(); ?>
 Zakładam, że muszę jakoś zintegrować <a href="<?php echo get_permalink(); ?>"> ale niestety po prostu nie rozumiem jak :(. Bardzo dziękuję za pomoc !


title: Czy istnieją oficjalne lub nieoficjalne wytyczne dotyczące stylizacji widżetu?

text: Zaprojektowałem widżet paska bocznego i stwierdziłem, że w wielu motywach widżet wygląda dobrze. Jednak niektóre motywy sprawiają, że widżet wygląda nie na miejscu (zderzanie się kolorami, zły kontrast itp.). Czy istnieją jakieś wytyczne dotyczące prawidłowego stylizowania widżetów, aby pasowały do _większości_ witryn?


title: Miniatura posta nie wyświetla się w prawidłowej pozycji

text:
Używam następującego kodu, który tworzę: $loop = new WP_Query(array('post_type' => 'client', 'posts_per_page' => $limit, 'orderby' => $orderby)) ; if($loop){ $preoutput = '
'; $postoutput = '
'; while ($loop->have_posts()){ $loop->the_post(); $output .= '

witaj
'.the_post_thumbnail(); $output .= '

'.get_the_title().'
'.get_the_excerpt().'

'; $finaloutput = $preoutput . $wyjście . $postwyjście; } } Jednak miniatura posta nie pojawia się w znacznikach, pojawia się tylko na górze posta — dlaczego miałaby to robić?


title: Połącz obrazy z postem

text:
Połącz obrazy, aby opublikować. Cześć wszystkim Jestem pewien, że to proste, ale nie wiem, jak to zrobić. Wiem jak dodać zdjęcia do postu - Kliknij we wpisie, Dodaj multimedia, wybierz miniaturę. To daje mi miniaturę w poście. Myślę, że to, co chcę zrobić, to miniatury linków do posta, abym mógł kontrolować, gdzie pojawiają się miniatury na stronie. Mam taki szablon.
 <?php $car_args = array( 'post_type' => 'post', 'category_name' => 'samochód', 'zamówienie' => 'asc' ); $samochody = nowe WP_Query($car_args); if($cars->have_posts()): while($cars->have_posts()): $samochody->post(); ?>

<?php the_title(); ?>
 <?php the_content(); ?>

 <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?>
 Mam posty o samochodach z nazwą kategorii 'samochód', używam nazwy kategorii w WP_Query. Niektóre z tych postów zawierają obrazy. Jeśli są zdjęcia z postem, chciałbym dodać je jako listę na boku.


title: Personalizacja paginacji

text: Pracuję nad opracowaniem tego typu paginacji: ![tutaj](http://i.stack.imgur.com/vIV5L.jpg) Biorę wartości i wyświetlam je na tej samej stronie, a mój fragment kodu jest poniżej i może t sprawiają, że to nie działa. <?php if ($_SERVER['REQUEST_METHOD'] == 'GET') { global $paged; if(pusty($stronicowany)) $stronicowany = 1; else { $paged = $_GET['paged']; } if(isset($paged) && is_numeric($paged) && ($paged <= $pages) && ($paged >= 1)) //walidacja { if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if(!$strony) $strony = 1; } if(1 != $strony) { ?> <formularz akcja="#" metoda="get"> strona <input type="text" name="paged" value="<?php echo $paged; ?> "> z <?php echo $pages; ?> <input type="submit"> </form> <?php if($paged > 1) echo "‹ Poprzednia strona"; if ($paged < $pages) echo "Następna strona ›"; } } } ?> Proszę zasugerować.


title: dwie kolumny postów na stronie głównej, jedna z nich „ulubione”

text: Używam motywu potomnego Twenty Twelve w wordpressie. Oto, gdzie rozwijam witrynę: http://internalcompass.us/castle/ Zauważysz dwie kolumny postów na stronie głównej. Mam jeden oznaczony jako ostatnie posty i jeden oznaczony jako ulubione. W rzeczywistości obie kolumny są takie same - ostatnie posty uporządkowane według daty. Chciałbym faktycznie stworzyć zestaw postów, które wypełnią drugą kolumnę, aby moja klientka mogła wybrać polecane posty lub jej ulubione posty dla tej kolumny. Chciałbym, aby pierwsza kolumna zawierała najnowsze posty. Słyszę świerszcze na forum wsparcia Wordpress, prawdopodobnie dlatego, że jest to dość techniczne pytanie. baaardzo Wszelkie informacje są mile widziane. Jestem pewien, że mogę jakoś oznaczyć posty etykietami i dodać kod do index.html, aby wypełnić drugą kolumnę. Po prostu nie jestem jeszcze wyposażony w informacje, aby wiedzieć, jaki kod dodać. Pokój i dzięki


title: Ignorowanie wielkości liter slug przy regule przepisywania dla niestandardowej strony archiwum typu post

text: Deklaruję niestandardowy post typu 'games' z regułą przepisywania: 'rewrite' => array('slug' => 'Games','with_front' => false), więc wynikowy adres URL archiwum gier to ` <mojastrona>.com/Games` — to działa dobrze. Z wpisem gry zatytułowanym „Przykład”, odwiedzając stronę `<moja_strona>.com/games/Przykład` automatycznie przekierowuje się do `<moja_strona>.com/Games/Przykład` nie ma problemu. To jest to czego chcę. * * * Jednak podczas odwiedzania archiwum typu `Games` nie nastąpi przekierowanie, jeśli zmienię wielkość liter: * Z slug ustawionym na `Games` odwiedzenie `<mojastrona>.com/Games` działa, ale odwiedzenie `<mojastrona >.com/games` przekieruje do posta na blogu lub strony z adresem URL 'games'. * Przy slugu ustawionym na `games` odwiedzenie strony `<mojawitryna>.com/games` działa, ale odwiedzenie `<mojawitryna>.com/Games` spowoduje przekierowanie do wpisu na blogu lub strony z adresem 'games'. **Uwagi** : * Tak, opróżniam ustawienia permalinka po zmianie reguł przepisywania. Ponieważ adres URL działa w przypadku stron niezwiązanych z archiwum, to nie jest problem. * Używam niestandardowego ustawienia linku bezpośredniego `Miesiąc i nazwa`. * Mam zdefiniowany plik `archive-games.php` i działa on w moim katalogu motywów. * * * Czy istnieje sposób na zapewnienie, aby każda odmiana 'gier' zawierała linki do archiwum, a nie jakiś przypadkowy wpis na blogu? Innymi słowy, czy można powiedzieć wordpressowi, aby ignorował wielkość liter i zawsze przekierowywał do `<moja_strona>.com/Games`, nawet jeśli użytkownik wpisze `<moja_strona>.com/gAMeS`? Chcę tylko, aby było to wygodne dla użytkowników, którzy wpisują adres URL ręcznie i zapominają go pisać wielkimi literami. Mógłbym zmienić slug na domyślnie „gry” małymi literami, ale potem 1. Nie wygląda to tak ładnie 2. Ponownie, jeśli użytkownik wpisze „Gry” z wielkimi literami, są one połączone z pozornie losową stroną.


title: Ogranicz dostęp do niektórych stron pulpitu nawigacyjnego na podstawie identyfikatora użytkownika

text: Mam klienta, który chce uzyskać dostęp administracyjny do pulpitu nawigacyjnego instalacji testowej jej witryny na moim serwerze. Jeszcze mi nie zapłaciła, więc nie chcę, żeby mogła wejść do menu motywów, skopiować kod motywu i uciec bez płacenia. Czy jest więc sposób, aby dać jej dostęp administratora, jednocześnie blokując jej dostęp do menu Wygląd> Edytor?


title: zarejestruj się i wstaw kategorię ręcznie

text: Rejestruję niestandardowe taksonomie .... <?php add_action( 'init', 'create_book_tax' ); function create_book_tax() { register_taxonomy( 'genre', 'product', array( 'label' => __( 'Gatunek' ), 'rewrite' => array( 'slug' => 'gatunek' ), 'hierarchical' = > prawda, ) ); ?> Pomyślnie tworzy taksonomię **Gatunek** pod typem postu **Produkt**. Teraz chcę ręcznie dodać kategorie w **Genre** i będzie to również hierarchiczne, abym mógł ponownie wstawić nową kategorię wewnątrz nowo utworzonej kategorii. Powiedz mi, jak ręcznie utworzyć kategorię.


title: get_locale() zachowuje się dziwnie w tym samym pliku functions.php

text: Zajmuję się tworzeniem wielojęzycznego portalu internetowego dla mojego klienta - w języku angielskim i bengalskim. Zamiast korzystać z multisite, zainstalowałem wtyczkę Polylang. Działa dobrze na stronie internetowej. Dla różnych stylów CSS i różnych rozmiarów czcionek ładuję oddzielny arkusz stylów za pomocą: function styles_and_scripts(){ wp_register_style( 'main-style-bangla', get_template_directory_uri() . '/style-bangla.css', '', '', 'ekran' ); // załaduj oddzielny arkusz stylów dla Bangla if( get_locale() == 'bn_BD' ) { wp_enqueue_style( 'main-style-bangla'); } } add_action( 'wp_enqueue_scripts', 'styles_and_scripts' ); Działa dobrze i ładuje różne CSS, gdy przechodzę na bengalski. Próbuję tej samej metody stosowania filtrów dla cyfr bengalskich i ciągów itp. z tymi funkcjami i filtrami. Więc robię coś takiego w moim `functions.php`: if( get_locale() == 'bn_BD' && !is_admin() ) { add_filter( 'get_the_time', 'make_bangla_number' ); add_filter( 'data_, 'make_bangla_number' ); add_filter( 'czas', 'make_bangla_number' ); add_filter( 'get_the_date', 'make_bangla_number' ); add_filter( 'get_the_time', 'make_bangla_months' ); add_filter( 'data_, 'make_bangla_miesiące' ); add_filter( 'czas', 'make_bangla_miesiące' ); add_filter( 'get_the_date', 'make_bangla_months' ); } Ale to nie działa. Próbowałem dowiedzieć się dlaczego? $my_locale = get_locale(); var_dump( $moja_lokalizacja ); Zwraca „`en_US`” w obu językach. Jako dowód możesz zobaczyć obrazek poniżej: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/GCRRO.png) Dlaczego zachowuje się ten sam fragment kodu w tym samym pliku `functions.php` dziwne w różnych przypadkach? Następnie zmieniłem położenie kodu tuż za częścią kolejki, ale nadal nie działa. :( ## UPDATE Znalazłem funkcję z dokumentacji Polylang mówiącą: `<?php pll_current_language($value); ?>` (Źródło^) pobierze bieżący język. Próbowałem `var_dump(pll_current_language());` zwraca nic.Następnie udało mi się znaleźć następujący kod: function site_current_language() { global $polylang;echo $current_language = pll_current_language('locale');return $current_language; } //add_action('init', 'site_current_language' );/ / nie drukuje add_action( 'wp', 'site_current_language' ); // działa dobrze, powtarza bieżące `$locale`.Ale zamiast powtarzania tego, jeśli próbowałem zwrócić, zwraca `boolean false` .Próbowałem `global $polylang; var_dump($polylang);` bez żadnej funkcji lub haka, pokazuje to, że nie może znaleźć `curlang` wewnątrz. Ale jeśli zrobię to samo w mojej funkcji kolejkowania stylu/skryptu, to jest pobranie aktualnego języka. Podejrzewam więc, że jest coś związanego z właściwy hak. Zauważ, że przechwycenie `init` nie generuje echa, ale `wp` to echo. Myślę, że powinniśmy znaleźć odpowiedni hak, żeby to zadziałało. Ale jak, nie wiem.


title: tworzenie wtyczki, która przenosi inne działania wtyczek wp_head do wp_footer

text: Zmagam się z implementacją jQm na wordpressie i natrafiłem na przeszkodę, że większość wtyczek nie działa na stronach załadowanych ajaxem jQm. Biorąc jednak przykład z wtyczki sharethis, odkryłem, że będzie działać na stronie załadowanej ajax, jeśli zmienię to add_action('wp_head', 'st_widget_head'); do tego add_action ('wp_footer', 'st_widget_head'); w pliku sharethis.php Chodzi o to, że chcę spróbować zrobić to pozostawiając początkowe pliki wtyczek nietknięte (aby aktualizacje wp działały i abym mógł zachować wszystkie moje zmiany modyfikacji wtyczek jQm w jednym miejscu- więc mogą wszystko zostanie wyłączone, jeśli jQm jest wyłączone) Więc myślę, że na początek muszę zrobić wtyczkę, która ładuje się jako ostatnia, która przenosi wszystkie wtyczki, które określę, aby przenieść ich add_action wp_head do add_action wp_footer. Doceniam, że jest to obecnie bardzo brutalne rozwiązanie, ale jak dotąd jest to jedyny błysk światła, jaki znalazłem w sytuacji, która wydaje się być nieprzenikniona, co w przeciwnym razie wymaga przepisania wszystkich wtyczek, których używam do pracy z jQm. Więc wszelkie pomysły na ten temat byłyby bardzo pomocne w stworzeniu bardziej solidnego i łatwego w utrzymaniu rozwiązania tego problemu, czegoś takiego jak „wtyczka do naprawy wtyczek jQm”, którą ja i społeczność moglibyśmy rozwijać i utrzymywać…


title: Jak usunąć domyślny styl nagłówka w metaboksie wordpress?

text: Mam problem polegający na tym, że kiedy tworzę nagłówek w moim metaboxie wtyczki wordpress, zawsze stosuje on domyślny styl do mojego nagłówka: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/pwHPk.png) nawet jeśli zastosuję mój własny styl, `<h3 style="background-color: black; color:blue">Ustawienia bloku tekstu</h3>`, zmienia on tylko kolor tekstu, ale nie kolor tła, dlaczego? ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/fBRlL.png)


title: Wtyczka JS nie wykonuje poprawnie js. Staram się, aby wszystkie wewnętrzne linki przewijały się płynnie

text: w porządku... Próbuję utworzyć wtyczkę dla mojej witryny, która dodaje fragment kodu js do sekcji head, gdy ładuje się strona frontonu. Js ma na celu dodanie płynnego przewijania do wszystkich wewnętrznych linków. Po pierwsze, wtyczka dobrze ładuje skrypt. Jest to fragment z: https://github.com/alextrob/SmoothAnchors Wszyscy inni, którzy używają skryptu, uważają, że działa on świetnie! Ale nie mogę zmusić tego do pracy dla mnie. Jestem BARDZO nowy w JS, więc nie zdziwiłbym się, gdybym robił coś naprawdę głupiego! Ale żaden z linków na mojej stronie nie przewija się... Oto moja strona: http://bigbrownbeaver.net oto kod wtyczki: <?php /* Nazwa wtyczki: Smooth Scrolling Links URI wtyczki: http://bigbrownbeaver .net Opis: Dodaje efekt płynnego przewijania js do wszystkich linków w Twojej witrynie, które wskazują inne części strony lub posta Wersja: 1.0 Autor: Aaron URI autora: http://bigbrownbeaver.net/newsletter/ */ /* Prawa autorskie 2013 Aaron > BigBrownBeaver.Net Ten program jest wolnym oprogramowaniem; możesz go rozpowszechniać i/lub modyfikować zgodnie z warunkami Powszechnej Licencji Publicznej GNU, wersja 2, opublikowanej przez Free Software Foundation. Ten program jest rozpowszechniany w nadziei, że będzie przydatny, ale BEZ ŻADNEJ GWARANCJI; bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Więcej szczegółów znajdziesz w Powszechnej Licencji Publicznej GNU. Wraz z tym programem powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU; jeśli nie, napisz do Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ //załaduj wymagany skrypt add_action('wp_head', 'smooth_scrolling_links'); function smooth_scrolling_links() { ?> <?php if ( !is_admin() ) { ?> <script type="text/javascript"> (function($) { $.fn.smoothscrolling = function() { function scrollto(destination , hash) { // Najpierw zmień hash, a następnie wykonaj przewijanie.var scrollmem = $(document).scrollTop(); window.location.hash = hash; $(document).scrollTop(scrollmem); $("html ,body").animate({ scrollTop: destination }, 400); } if (typeof $().on == "function") { $(document).on('click', 'a[href^=" #"]', function() { var href = $(this).attr("href"); if ($(href).length == 0) { var nameSelector = "[name=" + href.replace("#", "") + "]"; if (href == "#") { scrollto(0, href); } else if ($(nameSelector).length != 0) { scrollto($(nameSelector).offset().top, href); } else { // dobrze, po prostu podążymy za oryginalnym linkiem. Boże. okno.lokalizacja = href; } } else { scrollto($(href).offset().top, href); } zwróć fałsz; }); } else { $('a[href^="#"]').click(function() { var href = $(this).attr("href"); if ($(href).length == 0 ) { var nameSelector = "[name=" + href.replace("#", "") + "]"; if (href == "#") { scrollto(0, href); } else if ($( nameSelector).length != 0) { scrollto($(nameSelector).offset().top, href); } else { // dobrze, po prostu podążymy za oryginalnym linkiem. gosh. window.location = href; } } else { scrollto($(href).offset().top, href); } zwróć fałsz; }); } }; })(jQuery); $(dokument).gotowy(funkcja() { $().smoothscrolling(); }); </script> <?php } } Miło słyszeć od was :)


title: Formularz rejestracji i logowania

text: Tworzę stronę praktyki, w której mam link "zarejestruj się" i "zaloguj się", na którym chcę otworzyć formularz rejestracyjny po kliknięciu "Zarejestruj się" i Formularz logowania po kliknięciu "Zaloguj". W jaki sposób mogę to zrobić?


title: Jak usunąć WSZYSTKIE widżety z pulpitu nawigacyjnego?

text: Szukam całkowicie pustego pulpitu nawigacyjnego. Brak widżetów, a najlepiej jedna kolumna. Istnieją fragmenty, które usuwają domyślne widżety WordPress, ale nie znaleziono nic o tych dodawanych przez wtyczki. Przeszukany wszędzie i wydaje się, że nie został o to poproszony. ![Nie pusty pulpit nawigacyjny WordPress](http://i.stack.imgur.com/yHfgg.png)


title: Dodaj niestandardowe pole automatycznie (add_post_meta) z wartością na podstawie liczby słów artykułu

text: W tym temacie nasz znajomy @toscho stworzył funkcję, która ustawia rozmiar czcionki na podstawie ilości słów w poście. W oparciu o tę funkcję chcę utworzyć niestandardowe pole, którego wartość zostanie ustawiona w zależności od liczby słów w poście. Na przykład, jeśli post zawiera do 200 słów, automatycznie utwórz niestandardowe pole (add_post_meta) o wartości = 1; Jeśli Twój post zawiera więcej niż 200 słów, utwórz niestandardowe pole o wartości = 2. Każdy pomysł jest mile widziany. Dziękuję Ci.


title: Paginacja pokazuje tę samą zawartość na wszystkich stronach

text:
Oto moja pętla $my_query = new WP_Query(array( 'cat' => -399, 'posts_per_page' => 6, 'offset' => 5, 'paged' => (get_query_var('paged')) ? get_query_var( „stronicowane”) : 1 )); if ( $my_query->have_posts() ) : while ( $my_query->have_posts() ) : $my_query->the_post(); $imgurl = wp_get_attachment_url(get_post_thumbnail_id($post->ID) ); $finalurl = get_stylesheet_directory_uri(). "/functions/thumb.php?w=180&h=180&a=t&src=".$imgurl; $data = get_the_date(); $id = $post->ID; ?> .... zawartość pętli .... <?php $finalurl = ""; koniec; else: ?>
<?php _e('Przepraszamy, nie ma postów spełniających twoje kryteria.'); ?>
 <?php endif; wp_reset_query(); $id = ""; wp_pagenavi(); Paginacja pokazuje tę samą treść na wszystkich stronach. Potrzebuję twojej sugestii.


title: Dodaj rozszerzenie pliku do pliku tymczasowego

text: Używam download_url() do pobrania pliku tymczasowego i chcę zapisać ten plik w moim folderze przesyłania za pomocą media_handle_sideload. Działa to dobrze z plikami, które mają rozszerzenie pliku. media_handle_sideload nie działa z plikami, które nie mają rozszerzenia. Więc kiedy próbuję zapisać na przykład ten obraz, nie zostanie on zapisany, ponieważ adres URL nie ma rozszerzenia pliku. Następnie muszę użyć `image_type_to_extension(exif_imagetype($imageurl));`, aby uzyskać rozszerzenie pliku obrazu. Jak mogę dodać to rozszerzenie pliku do pliku tymczasowego? oto mój kod: public function upload_image_from_url($imageurl) { // Pobierz rozszerzenie pliku dla obrazu $fileextension = image_type_to_extension(exif_imagetype($imageurl)); // Zapisz jako plik tymczasowy $tmp = download_url( $imageurl ); $file_array = array( 'name' => basename( $imageurl ), 'tmp_name' => $tmp ); // Sprawdź błędy pobierania if ( is_wp_error( $tmp )) { @unlink( $file_array[ 'tmp_name'] ); zwróć $tmp; } $id = media_handle_sideload( $file_array, 0 ); // Sprawdź, czy nie występują błędy obciążenia bocznego uchwytu. if ( is_wp_error( $id ) ) { @unlink( $file_array['tmp_name'] ); zwróć identyfikator $; } $attachment_url = wp_get_attachment_url($id); zwróć $attachment_url; }          Dziękuję.


title: the_author_meta('user_url', $author->ID) nie działa poprawnie. jak mogę to rozwiązać?

text:
Mam 2 autorów i administratora na moim blogu. Używam następującego kodu w mojej funkcji contributors.php contributors() { global $wpdb; $authors = $wpdb->get_results("SELECT ID, user_nicename z $wpdb->users ORDER BY display_name"); foreach($authors as $author) { echo the_author_image($author->ID); echo the_author_meta('display_name', $author->ID) . '
' ; echo the_author_meta('user_url', $author->ID) . '
'; echo the_author_meta('opis', $autor->ID) . '
' ; echo the_author_meta('user_email', $author->ID) . '

' ; } } współtwórcy(); Idealnie drukuje zdjęcie autora i administratora, imię, opis i e-mail. ale nie drukuje poprawnie linku użytkownika. * w przypadku administratora lub użytkownika o identyfikatorze 1 jest drukowany adres URL bloga * w przypadku pierwszego autora lub użytkownika o identyfikatorze 2 jest drukowany poprawny adres URL. * dla drugiego autora lub ID użytkownika 3 nic nie drukuje. Jaki jest problem? jak mogę to rozwiązać?


title: sortuj według głosów za pomocą wtyczki GD STAR RATING

text: Czy ktoś ma jakieś sugestie, jak mogę uzyskać sortowanie według liczby głosów, aby współpracować z wtyczką GD STAR RATING? Dodałem parametry sortowania do listy kategorii na mojej stronie, ale nadal nie porządkuje postów według liczby głosów kciuków w górę. http://uhurusoftware.com/category/contest/?gdsr_sort=votes&gdsr_order=asc Czy ktoś ma sugestie, co powinienem sprawdzić? Czy są opcje, które muszę ustawić w panelu administracyjnym GD STAR RATING?


title: Zapytanie o posty według Custom Meta (pole wyboru) i Genesis Grid Loop

text:
Próbowałem mnóstwo rzeczy przez ostatnie 2 dni. Jestem teraz w bezruchu. Przeczytałem tu mnóstwo postów, ale nic jeszcze nie działało. Mam „artystów” CPT. Ten CPT zawiera niestandardowe pole wyboru o nazwie Polecani artyści „ecpt_featured_artist”. W ramach pętli Genesis Grid Loop na stronie archiwum artystów 'artists-archive.php' mogę zaatakować wyróżnionego artystę w następujący sposób: $featuredartist = get_post_meta($post->ID, 'ecpt_featured_artist', true); ?> <?php if( $featuredartist ) { echo '

'; } Obecnie używam kodu Billa Ericksona, aby umieścić archiwum artystów w siatce... w ten sposób: function be_archive_post_class( $classes ) { $classes[] = 'one-fourth'; globalne $wp_query; if( 0 == $wp_query->bieżąca_post || 0 == $wp_query->bieżąca_post % 4 ) $classes[] = 'pierwszy'; zwróć $klasy; } add_filter( 'post_class', 'be_archive_post_class' ); **Co staram się osiągnąć:** Chcę wysyłać zapytania TYLKO o posty z zaznaczonym polem wyboru i wyświetlać je w siatce Genesis na stronie o nazwie Polecani artyści. W tej chwili próbuję to zrobić za pomocą szablonu strony. Jeśli istnieje lepszy sposób, aby to osiągnąć, jestem otwarty na sugestie. W tej chwili nie mogę nawet poprawnie sprawdzać postów. Moja ostatnia nieudana próba wyglądała tak: add_action('genesis_loop', 'gt_custom_loop'); funkcja gt_custom_loop() { global $paged; $args = array( 'post_type' => 'artists', 'key' => 'ecpt_featured_artist', 'compare' => '=', 'type' => 'CHAR', 'value' => 1, ); // Akceptuje argumenty WP_Query // (http://codex.wordpress.org/Class_Reference/WP_Query) genesis_custom_loop( $args ); } Każda pomoc jest doceniana! EDYCJA: Zredukowałem go do minimalnego kodu TYLKO w moim pliku functions.php, ze stroną używającą domyślnego szablonu strony. Ten kod teraz 404 to ja na mojej „stronie” Polecani artyści: add_action( 'pre_get_posts', 'pw_filter_query' ); function pw_filter_query ( $query ) { if( $query->is_page('polecani-artyści')) { $query->set('post_type', 'artists'); }        }      Co się dzieje!?


title: Dlaczego nie mogę użyć tablicy slug terminów w WP_Query?

text: W `WP_Query` dobrze działa oddzielona przecinkami lista slugów terminów: $query = new WP_Query ( array( 'customtaxonomy' => 'term1,term2' ) ); ...ale tablica ślimaków powoduje ostrzeżenie: $query = new WP_Query ( array( 'customtaxonomy' => array( 'term1', 'term2') ) ); > **Ostrzeżenie:** urlencode() oczekuje, że parametr 1 to łańcuch, tablica podana w > /ścieżka/do/wp-includes/formatting.php w wierszu 3253 Inny post WPSE sugeruje, że może to być WP szukający hierarchii w taksonomia hierarchiczna, ale nie mogę wymyślić żadnego sposobu na zrozumienie tego zachowania. Czy wiesz, dlaczego tak się dzieje?


Istnieje bardzo wiele ataków brute-force (głównie na nazwę użytkownika „admin”) na stronach WordPress. Wszystkie te ataki są wykonywane automatycznie za pośrednictwem żądań pocztowych. _Pytanie 1:_ **Skąd brute-forcer wie, że hasło zostało złamane dla docelowej nazwy użytkownika?** Brute-forcer wypróbuje typowe hasła, takie jak: „12345”, „qwerty” itp. Często administratorzy witryn mają nazwę użytkownika „admin” ' z typowym hasłem, a ta nazwa użytkownika jest czasami łamana metodą brute-force. Nawiasem mówiąc, wtyczka prób limitu logowania rozwiązuje ten problem całkiem nieźle. _Pomysł i pytanie 2:_ jeśli wiemy na pewno, że jest to atak typu brute-force (test javascript lub test plików cookie rozwiąże ten problem, ponieważ boty typu brute-force nie są zwykłymi klientami przeglądarek) to **czy warto powiedzieć brute-forcer nic, nawet jeśli hasło zostało wybrane poprawnie?** Dyskusja na forum WordPress.org. Aktualizacja: **Opracowałem wtyczkę bezpieczeństwa**. Wtyczka dodaje plik cookie na ekranie logowania i sprawdza, czy ten plik cookie istnieje w żądaniu POST. Jeśli plik cookie nie istnieje, jest to żądanie typu brute-force, a próba logowania jest blokowana, nawet jeśli nazwa użytkownika i hasło są poprawne. Wtyczka wysyła fałszywe pliki cookie logowania do WordPressa do bota brute-force i przekierowuje je do sekcji administratora, aby emulować, że hasło zostało złamane, a wiele osób stosujących metodę brute-force zatrzymuje po tym swoje ataki. Jest naprawdę super :)


title: Jak pozwolić użytkownikowi wybrać rolę podczas rejestracji w Facebook-AWD?

text: Chciałbym skorzystać z wtyczki Facebook-AWD plugin. Moja strona umożliwiałaby rejestrację na dwa sposoby (normalna i rejestracja na Facebooku). Użytkownicy muszą wybrać swoją rolę, tj.: _kupujący_ i _sprzedawca_. Przy normalnej rejestracji mogę to łatwo osiągnąć, ale jeśli moi użytkownicy zdecydują się zarejestrować na Facebook-AWD, nie będą mogli wybierać między rolami, ponieważ wtyczka jest skonfigurowana do rejestrowania użytkownika z domyślną rolą: 'role'=>get_option('default_role' ); Jak to osiągnąć, dodając zaczep, akcję lub filtr do wtyczki, aby zachować rdzeń wtyczki na przyszłą aktualizację? funkcja publiczna register_user() { $username = sanitize_user($this->me['first_name'], true); $i = ''; while (nazwa_użytkownika_istnieje($nazwa_użytkownika . $i)) { $i = absint($i); $i++; } $nazwa użytkownika = $nazwa użytkownika . $i; $userdata = array( 'user_pass' => wp_generate_password(), 'user_login' => $username, 'user_nicename' => $username, 'user_email' => $this->me['email'], 'display_name' = > $this->me['name'], 'nickname' => $username, 'first_name' => $this->me['first_name'], 'last_name' => $this->me['last_name' ], 'role' => get_option('default_role') ); $userdata = apply_filters('AWD_facebook_register_userdata', $userdata); $nowy_użytkownik = wp_insert_user($dane użytkownika); //Przetestuj tworzenie if (isset($new_user->errors)) { wp_die($this->Debug($new_user->errors)); } if (is_int($new_user)) { //wyślij e-mail o nowej rejestracji wp_new_user_notification($new_user, $userdata['user_pass']); zwróć $nowy_użytkownik; } zwróć fałsz; }


title: Dlaczego brakuje mojej stopki

text: Witam z jakiegoś powodu brakuje mojej stopki na mojej stronie i nie wiem dlaczego. Wyłączyłem wszystkie wtyczki i nadal nie ma, sprawdziłem css i wszystko, ale nadal brakuje stopki, czy ktoś może mi powiedzieć, co jest nie tak. Kiedy przeglądam kod źródłowy, stopka jest tam, ale się nie wyświetla. Witryna to EricaVain.com Oto pliki na gist --> https://gist.github.com/mihadaiko/5008645


title: Załaduj komentarze z podziałem na strony w wierszu

text: Obecnie mój blog na WordPressie ładuje komentarze w wynikach z podziałem na strony (ładowanie wszystkich naraz zbytnio spowalniało bloga); najpierw wyświetla najstarsze 50, po kliknięciu "<< Starsze komentarze" wyświetli następnych 50 najstarszych komentarzy i tak dalej. Chciałbym, aby te komentarze ładowały się zgodnie z obecnymi komentarzami, eliminując potrzebę ładowania nowej strony i ukrywania pierwszych 50 komentarzy. Dla jasności: nie chcę nieskończonego przewijania komentarzy, nadal chciałbym, aby użytkownik musiał klikać tekst „Starsze komentarze”, aby wyświetlić więcej komentarzy.


Jaka jest różnica między set_post_thumbnail_size a add_image_size? Czy set_post_thumbnail_size dla wszystkich obrazów, a add_image_size dla poszczególnych rozmiarów obrazów? Dziękuję.


title: Mieszanie niestandardowych typów postów i szablonów stron w Wordpress 3.7.1

text: ### Omówienie Mam niestandardowy typ posta o nazwie Lokalizacje. Chcę, aby użytkownik, który odwiedza **/lokalizacje** , widział ogólne informacje o wszystkich lokalizacjach. Chcę, aby użytkownik, który odwiedza **/lokalizację/{a-lokalizacja}** , zobaczył szczegółowe informacje o „a-lokalizacji”. Brzmi dość łatwo. ### Pierwsze rozwiązanie Próba Utworzyłem stronę Lokalizacje w panelu Wordpress, aby przechowywać zawartość adresu URL /locations. Następnie utworzyłem plik archive-locations.php i single-location.php. archive-locations.php pobiera informacje ze strony Lokalizacje i wyświetla wszystkie niestandardowe lokalizacje typu postów. Kiedy użytkownik kliknie link do lokalizacji, zostanie przekierowany do /locations/{a-location} i zostanie wywołany single-location.php. To prawie załatwia sprawę, ale to po prostu nie wydaje się właściwe i stwarza inne problemy. ### Problem Kiedy użytkownik odwiedza /locations, wolałbym pracować z szablonem strony dla strony Locations (zamiast strony archive-locations.php). Używam wtyczki Yoast, aby określić niestandardowy tytuł meta i opis dla każdej strony. Ponieważ używany jest plik archive-locations.php, wszystkie te meta są ignorowane. Gdybym pracował z szablonem strony, moje metainformacje zostałyby poprawnie rozpoznane. Poza tym, logicznie rzecz biorąc, wydaje mi się, że powinienem pracować na STRONIE Lokalizacji, a nie nad archiwum. STRONA Lokalizacji jest osobną jednostką o znacznie większej zawartości niż tylko archiwum niestandardowych typów postów. Próba zmuszenia tego do koncepcji archiwum wydaje się naciągana. ### Druga próba rozwiązania Stworzyłem więc szablon page-locations.php dla strony Locations i miałem nadzieję, że zostanie wywołany zamiast archive-locations.php. Niestety tak nie jest. Następnie spróbowałem usunąć plik archive-locations.php, myśląc, że może ma pierwszeństwo. To też nie pomogło; Wordpress po prostu renderuje index.php. Jeśli wyłączę typ posta niestandardowego i odwiedzę /locations, mój szablon strony zostanie wywołany poprawnie. Wygląda na to, że nazwanie niestandardowego typu wpisu taką samą nazwą jak strona powoduje pewne problemy z Wordpressem. Jednak muszę być nieco podobny, aby struktury URL działały. /locations musi pobierać z szablonu strony; /locations/{a-location} musi pobierać z innego pliku php. ### Pytanie Czy istnieje sposób, aby szablony stron i niestandardowe typy postów z podobnymi permalinkami współpracowały ze sobą? Jeśli nie, myślę, że moją jedyną opcją jest ulepszenie mojego pliku header.php i sprytniejsze określenie tytułu i opisu, gdy jestem w /locations. Oto kod, który rejestruje mój niestandardowy typ posta na wypadek, gdybym zrobił coś źle: $args = array( 'labels' => $labels, 'description' => 'Przechowuje nasze dane specyficzne dla lokalizacji', 'public' => true , 'menu_position' => 20, 'supports' => array('title', 'editor', 'thumbnail', 'page-attributes' ), 'hierarchical' => true, 'has_archive' => true, 'rewrite ' => array('with_front' => false, 'slug' => 'locations') //usuń /news/ z permalinka podczas wyświetlania niestandardowego typu postu ); register_post_type( 'lokalizacje', $args ); (Próbowałem też zmienić has_archive na false, ale to nie pomogło).


title: 4-kolumnowa pętla uporządkowana alfabetycznie z wpisami pogrupowanymi (i oznaczonymi) według ich pierwszej litery

text:
Znalazłem kod do tworzenia wielokolumnowych pętli WordPress i znalazłem kod do wpisów pogrupowanych według liter alfabetu. Ale nie mogę do końca zmusić kodu do współpracy… kolejność jest trochę pomieszana. PRZYKŁAD http://52words.org/w/ Byłbym wdzięczny za pomoc. <styl> .col { szerokość:24%; pływak:w lewo; margines prawy:5px; } </style> <?php $num_cols = 4; // ustaw tutaj liczbę kolumn $paged = (get_query_var('paged')) ? get_query_var('stronicowane') : 1; // dla stronicowania $args = array( 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => '199', 'paged' => $paged, 'post_type' => ' wiki' ); zapytanie_posty($args); //koniec sekcji zapytania if (have_posts()) : for ( $i=1 ; $i <= $num_cols; $i++ ) : echo '
'; $licznik = $liczba_kolumn + 1 - $i; while (have_posts()) : the_post(); if( $counter%$num_cols == 0 ) : ?> <?php $title=get_the_title(); $initial=strtoupper(substr($tytuł,0,1)); if($initial!=$letter) { echo "
$inicjał

"; $litera=$inicjal; } { ?>
<a href="<?php the_permalink(); ?>" rel="zakładka" title="<?php _e( 'Stały link do', 'buddypress'); ?> <? php atrybut_tytułu(); ?>"><?php tytuł_tytułu(); ?>
 <?php } ?> <?php endif; $licznik++; koniec; rewind_posts(); echo '

'; //zamyka kolumnę div endfor; ?>


title: Dodaj filtr — zmienna przepuszczania (PHP < 5,3)

text: Podczas używania funkcji anonimowych w PHP < 5.3 otrzymuję następujący błąd: `Błąd analizy: błąd składni, nieoczekiwana funkcja T_FUNCTION` Jest to szczególnie kłopotliwe dla add_filters. Na przykład, jeśli chcę zrobić filtr dla niestandardowego fragmentu **Funkcja** function custom_excerpt($new_length = 20, $new_more = '...', $strip = false) { add_filter('excerpt_length', function () use ($nowa_długość) { return $nowa_długość;}, 999); add_filter('excerpt_more', function() use ($new_more) { return $new_more; }); $wyjście = get_the_excerpt(); $output = apply_filters('wptexturize', $output); $wyjście = apply_filters('convert_chars', $output); if(!$strip) $output = '<p>' . $wyjście . '</p>'; echo $wyjście; } Powyższa funkcja akceptuje 3 parametry, długość, czytaj więcej, pasek. Podajesz tej funkcji nową długość, taką jak '30', a otrzymam fragment posta zawierający 30 słów. Przeczytaj więcej zastąpi domyślny `[...]` funkcjami domyślnymi `...`. Chodzi o to, aby użyć `the_excerpt()` i zmienić ilość słów oraz usunąć `[...]` Moje pytanie brzmi teraz, jak mogę przekazać zmienną `$new_length` do tego filtra w PHP < 5.3?


title: Niestandardowy filtr dla głównego wyszukiwania: jak wykluczyć określony post_type z wyników wyszukiwania

text: Czy istnieje sposób użycia metody WP_Query, set(), w celu wykluczenia określonego post_type z globalnego wyszukiwania. Oto moja nieudana próba: function _search_all($query) { if($query->is_search()) { // pozbądź się w wiadomościach $query->set('post_type__not_in', array(IN_THE_NEWS_SLUG)); if(isset($_GET['post_type'])) { $query->set('post_type', $_GET['post_type']); } /*else { $query->set("post_type", array(FEATURES_ID, BRIEFS_ID, PRESS_RELEASES_ID)); }*/ } return $zapytanie; } add_filter("pre_get_posts", "_search_all");


title: Tworzenie odrębnych stron dla profili autorów i list postów według autora

text: Witryna, nad którą obecnie pracuję, zawiera strony profilowe każdego autora oraz metodę wyszukiwania postów określonego autora. Tak więc mielibyśmy stronę pod adresem `/autor/nazwa-autora/`, która wyświetla tylko listę postów tego autora oraz stronę w rodzaju `/autor/nazwa-autora/profil/`, która wyświetla rozszerzone informacje o użytkowniku, ale nie posty. Domyślnie Wordpress zawiera szablon `author.php`, który pokazuje podstawowe informacje o użytkowniku i ostatnie posty autora. Znajduje się on w `/autor/nazwa-autora/`. Szukając zalecanych sposobów budowania profilu użytkownika, wszystko, co znalazłem, zaleca zmianę tego pliku i użycie tego samego adresu URL, jednak chcielibyśmy użyć obu. Jedynym sposobem, w jaki mogę to osiągnąć, byłoby pozwolenie stronie na przyjęcie parametru, dzięki któremu `/author/autor-name/?profile=1` przepisano go w `.htaccess` tak, aby wyświetlał się jako `/author /nazwa-autora/profil/`. Następnie zmień `author.php`, aby sprawdzić ten parametr i użyj osobnego szablonu. Chciałbym uniknąć takich metod i jak najbardziej pozostać na szynach Wordpressa. Czy są jakieś wtyczki lub inne metody zatwierdzone przez Wordpress, których mógłbym użyć do rozwiązania tego problemu? (Nawiasem mówiąc, uruchamiamy 3.8).


title: Kanał RSS bloga WordPress?

text: Właściwie chcę dodać mój blog WordPress do listy artykułów **CodeProject** W tym celu potrzebuję kanału RSS, więc za każdym razem, gdy opublikuję dowolny artykuł na moim blogu, zostanie on automatycznie wyświetlony również w CodeProject. Chcę znać blog **WordPress** **Kanał RSS**, ale nic o nim nie wiem, pomoc zostanie doceniona..


title: Zadania Cron dla dezaktywowanych wtyczek

text: Cześć Używam wtyczki do przeglądania zadań cron, które są uruchamiane przez wordpress. Zauważyłem, że istnieją oferty pracy związane z wtyczkami, które dezaktywowałem, a nawet usunąłem. Dlaczego tak jest i jak mogę je usunąć?


title: Skierować odwiedzających iPhone'a do innego arkusza stylów?

text: Czy istnieje metoda, dzięki której mogę zastosować inny arkusz stylów (inny niż style.css w moim motywie potomnym) dla odwiedzających oglądających na iPhonie?


title: Użycie filtra w widżecie powoduje błąd krytyczny

text: Dodaję filtr dla zapytania WordPress w widżecie. Dodaję w następujący sposób: function filter_where( $where = '' ) { } add_filter( 'posts_where', 'filter_where' ); $zapytanie = nowe WP_Query( $args ); usuń_filtr( 'posty_gdzie', 'filtr_gdzie' ); Działa dobrze, ale jeśli użyję tego samego widżetu więcej niż 1 razy, otrzymuję błąd krytyczny, że nie można ponownie zadeklarować tego samego filtra. Jak użyć filtra, aby tego samego widżetu można było używać wiele razy? To jest dokładnie ten błąd, który otrzymuję: Błąd krytyczny: Nie można ponownie zadeklarować filter_where() (wcześniej zadeklarowanych w xxx.php:70) Dzięki.


title: Automatyczne usuwanie witryn i użytkowników w wielu witrynach

text: Próbuję utworzyć zaplanowane usuwanie witryn i ich użytkowników w multisite WordPress. Utworzony przeze mnie kod skutecznie usuwa witryny, ale nie użytkowników, czy ktoś może zaoferować poprawkę? <?php register_activation_hook( __PLIK__, 'wpchat_clear_sites_activation' ); /** * Przy aktywacji ustaw czas, częstotliwość i nazwę podpięcia akcji do zaplanowania. */ function wpchat_clear_sites_activation() { wp_schedule_event( 1386979200, 'codziennie', 'codzienne_clear_sites_hook' ); } add_action('daily_clear_sites_hook', 'wpchat_clear_out_sites_daily'); /** * Wyczyść witryny i użytkowników */ function wpchat_clear_out_sites_daily() { require_once( ABSPATH . 'wp-admin/includes/admin.php' ); require_once( ABSPATH . 'wp-admin/includes/user.php' ); if( ! function_exists( 'wpmu_delete_blog' ) ) return; $users_to_keep = array( '1','4','43' ); $blogs_to_keep = array( '1','4' ); $all_sites = wp_get_sites(); // Usuń wszystkie blogi poza głównym i szablonowym blogiem foreach ( $all_sites as $key => $val ) { $users = get_users( array( 'blog_id' => $val['blog_id'], 'fields' => ID ) ); // Usuń wszystkich użytkowników z wyjątkiem administratorów strony testowej foreach ( $users as $user) { if ( ! in_array( $user['ID'], $users_to_keep )) { wpmu_delete_user( $user['ID'] ); } } if ( ! in_array( $val['blog_id'], $blogs_to_keep )) { wpmu_delete_blog( $val['blog_id'], true ); } } } Witryny są usuwane przez crona lub przez bezpośrednie wywołanie funkcji, więc cron nie jest tutaj problemem, to jest sposób, w jaki próbuję usuwać użytkowników.


title: Echo Syling Custom Fields pochodzi z functions.php

text: Z pomocą użytkownika Borka udało mi się wyświetlić pola niestandardowe na mojej stronie, umieszczając poniższe w functions.php: function custom_field_before_content() { if(is_page() || is_single() || is_archive() ) { echo genesis_get_custom_field('instrument');} } add_action( 'genesis_entry_header', 'custom_field_before_content' ); Mam jednak problem z nadaniem im identyfikatora lub klasy, aby móc je stylizować. Używam motywu Genesis i nie wiem, jak to zrobić. Próbowałem postępować zgodnie z tym samouczkiem bez powodzenia. Czy ktoś wie, gdzie mogę umieścić identyfikator lub klasę w tych niestandardowych polach w motywie genesis? To jest jedna ze stron, na których wyświetlają się moje pola niestandardowe: http://bethlehem-music.org/?p=18. Tuż nad obrazem i pod tytułem. Doceń każdą pomoc, Ciarán


title: Jak zapobiec uruchamianiu funkcji w oparciu o hosta (tj. web vs local)?

text: Używam LiveReload do odświeżenia przeglądarki i kompilacji SASS. Rozszerzenia przeglądarki nie działają tak dobrze dla mnie, więc dodaję skrypt do stopki. Próbuję wymyślić sposób, aby zapobiec uruchomieniu funkcji, która dodaje ją, jeśli znajduje się na serwerze sieci Web na żywo w przeciwieństwie do mojego lokalnego środowiska produkcyjnego XAMPP (w OSX 10.6.8). Oto co mam teraz: if (! function_exists('_sf_live_reload') && ! is_admin() ) : function _sf_live_reload() { ?> <script>document.write('<script src="http://' + ( location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script> <?php } add_action('tha_body_bottom', '_sf_live_reload'); endif; Tak, wiem, że mógłbym po prostu pamiętać o ręcznym usunięciu go przed przesłaniem, ale załóżmy, że od czasu do czasu coś fałszuję. Poza tym usuwanie i odtwarzanie tego w kółko i tak nie jest najlepszym rozwiązaniem.


title: Błąd HTTP podczas przesyłania obrazów o określonych wymiarach

text: Witam Mam konto resellera z jednym wp 3.5 multisite na współdzielonym hostingu. Nagle nie mogę przesłać zdjęć po kilku losowych wymiarach (przesyła te małe w porządku, ale ma problemy z większymi). Konkretne zdjęcie powyżej 511 (szerokość) mam błąd http i każdy obraz mniejszy niż Przesyłanie 511(szerokość) bez błędu http **System operacyjny:** Linux (64-bitowy) **Serwer:** LiteSpeed **Wersja Apache:** 2.2.23 **Procesy wejścia:** 20 **Pamięć wirtualna Użycie i użycie pamięci fizycznej:** 1048576 KB (każdy) **Użycie we/wy:** 1024 KB/s **Moje specyfikacje PHP:** * **Wersja PHP:** 5.3.18 * **Klient mysql Wersja API:** 5.1.65-cll * **post_max_size** 60m (wartość lokalna) - 60m (wartość główna) * **upload_max_filesize** 100m (wartość lokalna) - 200m (wartość główna) * **memory_limit** 1024m (Wartość lokalna) - 1024m (Wartość główna) * **max_input_time** 60 (Wartość lokalna) - 60 (Wartość główna) * **max_execution_time** 3600 (Wartość lokalna) - 600 (Wartość główna) **functions.php mojego motywu:** http://pastebin.com/ddEQqVJy Mój multisite .htaccess to # BASIC SEC URITY <IfModule mod_security.c> <Files async-upload.php> SecFilterEngine Wył. SecFilterScanPOST Wył. </Files> </IfModule> #<IfModule mod_security.c> #SecFilterEngine Wył. #SecFilterScanPOST Wył. 3600 php_value post_max_size 60M php_value upload_max_filesize 100M </IfModule> #php_value memory_limit 128M #php_admin_flag bezpieczny_mode wyłączony # Zapobiegaj przeglądaniu folderów Opcje Wszystkie -Indeksy <Pliki wp-config.php> zamów zezwalaj, odmów odmowy wszystkim </Pliki> # BEGIN feedburner i przesłane korekty plików. <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC] RewriteRule ^feed/?.*$ http://feeds.feedburner.com/mysite [L,NC,R =302] RewriteRule ^home?.*$ http://feeds.feedburner.com/mysite [L,NC,R=301] RewriteRule ^wp-content/uploads/(.*)$ http://mysite.com /files/$1 [L,R=301] RewriteRule ^wp-content/gallery/(.*)$ http://mysite.com/files/$1 [L,R=301] RewriteRule ^wp-content/uploads/ jw-player-plugin-for-wordpress/player/player.swf$ http://mysite.com/files/jw-player-plugin-for-wordpress/player/player.swf$1 [L,R=301] < /IfModule> # ROZPOCZNIJ REJESTRACJĘ ANTYSPAMBLOGU <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-signup.php* RewriteCond %{HTTP_REFERER}.com!.my [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) http://die-spammers.com/ [R=301,L] RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post. php* RewriteCond %{HTTP_REFERER} !.*mysite.com.* [LUB] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </ IfModule> # BEGIN Znaki wodne z linkami <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?mysite.com [NC ] RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?google.\ [NC] RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.) ?facebook.com [NC] RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?twitter.com [NC] RewriteCond %{HTTP_REFERER} !^https?://([^ .]+\.)?yahoo.\ [NC] RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?bing.\ [NC] RewriteCond %{HTTP_RE FERER} !^https?://([^.]+\.)?ixquick.com [NC] RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?feeds.feedburner .com/mysite [NC] RewriteRule ^(.*\.(png|gif|jpe?g))$ http://mysite.com/wp-content/plugins/watermark-hotlinked-images/watermark.php?img =$1 [L] </IfModule> # KONIEC obrazów ze znakami wodnymi z odnośnikami #Begin gzip and deflate <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/css application/x-javascript text/plain text/xml image/x-icon < /IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/html M3600 ExpiresByType text/css M3600 ExpiresByType application/x-javascript M3600 ExpiresByType image/bmp M3600 ExpiresByType image/gif M3600 Expires-ByType image/gif M3600 Expires-ByType image/ </IfModule> # POCZĄTEK WordPress RewriteEngine na RewriteBase / RewriteRul e ^index.php$ - [L] # przesłanych plików RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] RewriteCond %{REQUEST_FILENAME} -f [LUB] RewriteCond %{ REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule . index.php [L] #END Aktualizacja WordPress: To jest mój functions.php mojego motywu http://pastebin.com/ddEQqVJy Znajdujemy problem , problem jest w wierszu 131 add_image_size('theme-thumb', 520, 497, prawda); linie 267-275 if (function_exists('add_theme_support')) { add_theme_support('post-miniatur'); set_post_thumbnail_size(150, 250); // domyślne wymiary miniaturki posta } if (function_exists('add_image_size')) { add_image_size('post-thumb', 310, 9999); //300 pikseli szerokości (i nieograniczona wysokość) add_image_size('widget-thumb', 220, 180, true); //(przycięte) } Kiedy je zdjęliśmy, nie pojawił się żaden „błąd HTTP” podczas przesyłania zdjęcia na nośnik. na function.php Twenty Twelve use // Ten motyw używa niestandardowego rozmiaru obrazu dla polecanych obrazów, wyświetlanych w "standardowych" postach. add_theme_support( 'post-miniaturki' ); set_post_thumbnail_size( 624, 9999 ); // Nieograniczona wysokość, miękkie kadrowanie bez podania żadnego "błędu HTTP" jest dziwne, wiesz, dlaczego tak się dzieje? A jak mogę to naprawić?


title: Jak śledzić trafienia pojedynczego pliku multimedialnego?

text: Mam wiele plików multimedialnych w mojej bibliotece multimediów WordPress. Ikony, obrazy, pliki PDF i tym podobne. Chciałbym mieć licznik statystyk, który daje mi statystyki pobrań/oddziałów tych plików, indywidualnie. **Już używam WP SlimStat** do śledzenia wyświetleń strony i jestem z niego całkiem zadowolony. Jednak **Nie znalazłem możliwości śledzenia tych plików multimedialnych.** Jak mogę to zrobić?