title: Pomoc w tworzeniu niestandardowego typu postu pokazu slajdów z niestandardowymi polami meta?

text: Muszę utworzyć niestandardowe meta pola postu dla mojego niestandardowego typu posta „Pokaz slajdów” (ten typ postu jest już utworzony). W każdym metaboksie będzie przechowywana zawartość każdego slajdu i zapisywana w odpowiednich polach niestandardowych. Każde metabox powinno zawierać następujące pola: * Tytuł (pole tekstowe) * Obraz (Pole tekstowe dla adresu URL img lub najlepiej listę rozwijaną pokazującą miniatury obrazów dołączonych do posta) * Kod do umieszczenia (obszar tekstowy) * Opis (wysiwyg) * Ukryj slajd (pole wyboru służy do tymczasowego ukrycia slajdu bez jego usuwania) * Usuń slajd (przycisk, który usuwa zawartość pól meta postu, które zostały wypełnione przez ten slajd) Chciałbym również przycisk gdzieś, który pozwala mi na „Dodaj slajd”, więc po kliknięciu dodaje kolejne niestandardowe pole meta „slajdu”, które jest duplikatem pierwszego, ale dodaje przyrostowy numer do każdego niestandardowego pola meta postu. Obecnie mam tylko 15 metaboksów, a szablon pokazu slajdów jest skonfigurowany w taki sposób, że jeśli tylko 5 metaboksów jest wypełnionych, wyświetla się tylko 5 slajdów. Na koniec chciałbym móc ponownie zamówić slajdy, czy to za pomocą „przeciągnij i upuść”, czy za pomocą innego pola tekstowego, w którym mogę wpisać numer zamówienia. Mam go prawie tam, gdzie go potrzebuję za pomocą „Więcej Wtyczka Fields” i pomoc dotycząca kodu od Rarsta. Dzięki wtyczce "More Fields" mam następujące pola w każdym metaboxie: * Tytuł (pole tekstowe) * Obraz (rozwijana lista obrazów dołączonych do posta) * Kod do umieszczenia (obszar tekstowy) * Opis (wysiwyg) * Ukryj slajd (pole wyboru do tymczasowego ukrycia slajdu bez usuwania go) Oto zrzut ekranu przedstawiający konfigurację za pomocą wtyczki „Więcej pól”: ![tekst alternatywny](http://i.stack.imgur.com /7kjHX.jpg) Problem polega na tym, że nie ma możliwości usunięcia slajdu po jego wykonaniu, ponieważ "Więcej pól" nie używa `<?php delete_post_meta($post_id, $key, $value); ?>` gdziekolwiek. Innym problemem związanym z wtyczką jest to, że jest zbyt zawodna i często się psuje wraz z aktualizacjami. Udało mi się zaimplementować podobne rozwiązanie z własnymi niestandardowymi metaboxami, które obejmują: * Tytuł (pole tekstowe) * Obraz (pole tekstowe dla adresu URL img) * Kod osadzania (obszar tekstowy) * Opis (obszar tekstowy) * Ukryj slajd (Pole wyboru do tymczasowego ukrycia slajdu bez jego usuwania) W tej implementacji nie mogę uruchomić wielu pól TinyMCE ani menu rozwijanego obrazu. Kod TinyMCE wydaje się działać, dopóki nie dodam kodu, który tworzy przyrostowe kopie pierwszego metaboksu, w którym to momencie pojawia się ten błąd tuż nad polem, w którym powinny znajdować się przyciski TinyMCE: `Ostrzeżenie: array_push() [function.array-push] : Pierwszym argumentem powinna być tablica...`. Ponadto w tej chwili polegam na moich pisarzach, aby wiedzieli, że wstawią ALBO wideo lub obraz dla każdego slajdu i to jest w porządku, ale może lepiej mieć przycisk radiowy, który pozwoli im wybrać, który slajd jest (prawdopodobnie domyślnie obraz), który jest powiązany z instrukcją wyświetlania warunkowego w szablonie pokazu slajdów. Obsługuję przesyłanie obrazów za pomocą wbudowanego pola „Polecany obraz” na pasku bocznym, chociaż nie miałbym nic przeciwko niestandardowemu metaboksowi, który po prostu mówi „Prześlij obrazy” u góry panelu zapisu. Docelowo szukam pokazu slajdów podobnego do tego: http://www.nytimes.com/slideshow/2010/08/10/science/20100810angier-1.html. Chcę, aby mój również mógł mieć wideo jako treść slajdu zamiast obrazu. Potrzebuję intuicyjnego i łatwego w użyciu panelu administracyjnego dla moich pisarzy (nie są zbyt obeznani z technologią i nie są niezawodni w użyciu html i/lub shortcodes). Na wypadek, gdyby to nie wynikało z przykładu, każdy slajd powinien generować nową odsłonę. Zmiana kolejności Drag'n'Drop nie ma wysokiego priorytetu, ale byłoby fajnie. Znalazłem wtyczkę, która radzi sobie z tym naprawdę dobrze: SlideDeck. Niestety wtyczka nie odpowiada moim potrzebom, ale sposób, w jaki radzą sobie z zamawianiem slajdów, jest dość zgrabny. Jest to oddzielne metabox na pasku bocznym, który pozwala przeciągać slajdy w dowolnej kolejności. W ten sposób dodajesz slajdy, klikając przycisk „Dodaj slajd”, który dodaje kolejny Metabox slajdów do panelu zapisu. Oto zrzut ekranu: ![tekst alt](http://i.stack.imgur.com/HLfvH.jpg) Możesz również zobaczyć więcej zrzutów ekranu w akcji w repozytorium wordpress. **Oto cały mój kod:** Funkcje konfigurujące mój typ postu pokazu slajdów i paginację pokazu slajdów: http://loak.pastebin.com/g63Gf186 Oryginalny kod z DeluxeBloggingTips.com (DBT), na którym oparłem moje Metaboksy : http://loak.pastebin.com/u9YTQrxf Wersja kodu DBT, którą zmodyfikowałem w celu uzyskania przyrostowych wersji tego samego metaboksu: http://loak.pastebin.com/WtxGdPrN Zmodyfikowana wersja kodu DBT, która Chris Burbridge stworzył, aby umożliwić wiele instancji TinyMCE: http://loak.pastebin.com/Mqb3pKhx _Z tym kodem TinyMCE działają._ Moja modyfikacja kodu Burbridge, która próbuje uwzględnić moją inkrementację i pole, które pozwala wybrać obraz z listy rozwijanej wszystkich obrazków dołączonych do posta: http://loak.pastebin.com/xSuenJTK _W tej próbie TinyMCE jest uszkodzony i menu rozwijane nie działa._ To prawdopodobnie nie ma znaczenia, ale po prostu na wypadek, gdybyś się zastanawiał, oto kod, którego używam do pobrania kodu do osadzenia z niestandardowej meta postu, zmień rozmiar go i wstaw do posta: http://loak.pastebin.com/n7pAzEAw ** To jest edytowana wersja oryginalnego pytania, aby odzwierciedlić aktualny stan projektu i odpowiada na pytania zamieszczone w komentarzach. Dzięki Chris_O za przyznanie nagrody za to. Dziękuję także Rarstowi i Justinowi za pomoc na forum ThemeHybrid.com. Spędziłem nad tym wiele godzin i utknąłem (na to pytanie spędziłem kilka godzin sam). Każda pomoc byłaby bardzo mile widziana.**


title: Zdobądź tylko jedną z aktualnych kategorii

text:
Na stronach postów używam poniższego kodu, aby wyświetlić linki do innych postów z bieżącej kategorii. Mój problem polega na tym, że gdy bieżący post jest w więcej niż 1 kategorii, wyświetla posty tylko z pierwszej kategorii. Chcę kontrolować, z których bieżących kategorii wyświetla posty, wyłączając niektóre identyfikatory kategorii (np. 29, 35). Wszelkie pomysły byłyby bardzo mile widziane. <?php globalna $post; $kategoria = get_the_category($post->ID); $kategoria = $kategoria[0]->identyfikator_kata; $myposts = get_posts(array('numberposts' => 5, 'offset' => 0, 'category__in' => array($category), 'post_status'=>'publish', 'order'=>'ASC' ) ); foreach($myposts as $post) : setup_postdata($post); ?>
 <a href="<?php the_permalink(); ?>"> <?php echo get_post_meta($post->ID, "rw_post_type", prawda); ?>
 <?php endforeach; ?> <?php wp_reset_query(); ?>
 <?php


title: Usuń link „Wstaw z adresu URL” w Przesyłaniu multimediów - WP 3.5

text: Jak usunąć link „Wstaw z adresu URL” z nowej strony wyskakującej dodawania multimediów w programie Wordpress 3.5? We wcześniejszych wersjach Wordpress działało to dobrze: // usuwa zakładkę URL podczas przesyłania obrazu dla funkcji post remove_media_library_tab($tabs) { if (isset($_REQUEST['post_id'])) { $post_type = get_post_type($_REQUEST[' post_id']); if ('premium' == $post_type) unset($tabs['library']); unset($tabs['type_url']); } return $tabs; } add_filter('media_upload_tabs', 'remove_media_library_tab'); Kto wie?


title: Usuń podfoldery z adresu URL

text: Mam trudności z usunięciem podfolderów z adresu URL w mojej witrynie WordPress. Obecnie format adresu URL to: `www.mysite.com/subfolder/index.php/category/postname` Chciałbym usunąć zarówno podfolder, jak i index.php z adresu URL. Witryna musi pozostać w podfolderze root na moim serwerze. Mój obecny plik `htaccess` to: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /subfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule /subfolder/index.php [L] </IfModule> Próbowałem dodać poniższe, ale nie zadziałało. Opcje +FollowSymlinks RewriteEngine na RewriteRule ^subfolder/(.*)$ http://www.mysite.com/$1 [R=301,L] RewriteRule .* index.php/$0 [PT,L]


title: Wordpress 3.5 załączniki_pola_do_edycji i media_wyślij_do_edytora

text: W poprzedniej wersji ustawiłem nowe pole wyboru w oknie mediów za pomocą prostej funkcji kodu ab_prettyphoto_attachment_fields_to_edit( $form_fields, $post ) { $my_form_fields = array( 'ab_prettyphoto' => array( 'label' => __('Automatyczne powiększenie kliknij', 'ab_prettyphoto'), 'input' => 'html', 'html' => " <input type='checkbox' name='ab_prettyphoto-{$post->ID}' id='ab_prettyphoto-{$ post->ID}' value='1' /> ID}'>" . __('Enable zoom', 'ab_prettyphoto') . "" ) ); if( $post->post_mime_type == 'image/jpeg' OR $post->post_mime_type == 'image/gif' OR $post->post_mime_type == 'image/png' LUB $post->post_mime_type == 'obraz /tiff') return array_merge( $form_fields, $my_form_fields ); w przeciwnym razie zwróć $form_fields; } add_filter( 'attachment_fields_to_edit', 'ab_prettyphoto_attachment_fields_to_edit', 100, 2 ); I wysyłam do edytora wartość czeku funkcją ab_prettyphoto_send_to_editor( $html, $send_id, $attachment ) { if( isset($_POST["ab_prettyphoto-$send_id"]) ) $title=($_POST['attachments '][$send_id]['post_title']); return str_replace('<a', '<a rel="prettyPhoto-img" title="'.$title.'"', $html); } w przeciwnym razie zwróć $html; } add_filter( 'media_send_to_editor', 'ab_prettyphoto_send_to_editor', 66, 3 ); W nowym WP35 działają attachment_fields_to_edit, ale media_send_to_editor nie: w tablicy $_POST klucz „ab_prettyphoto-$send_id” nie istnieje i widzę w Firebugu wywołanie wp-ajax.php po kliknięciu pola wyboru. Wartości tablicy $_SPOST w funkcji ab_prettyphoto_send_to_editor (uruchamianej przez media_send_editor) to (wartość jak na przykład) Array ( [nonce] => 125ece740a [attachment] => Array ( [id] => 4 [post_content] => [ post_excerpt] => [url] => http://localhost:8888/wpn/wp-content/uploads/2012/12/fotohome.jpg [align] => left [rozmiar-obrazu] => miniatura [image_alt] = > fotohome ) [html] =>  [post_id] => 1 [action] => send-attachment- to-editor ) $_POST[ab_pretthyphoto....] nie jest wysyłany Znalazłem w sieci kilka dokumentów dotyczących problemu, ale nie mam f


title: Czy lepszą praktyką jest używanie query_posts, WP_Query lub get_posts do tworzenia różnych niestandardowych pętli na stronie?

text:
Obecnie używam `get_posts` do pobierania niestandardowych typów postów z przypisaną do nich niestandardową taksonomią w celu wygenerowania statycznej zawartości takiej jak ta: <?php /** * Nazwa szablonu: Strona główna * @package WordPress * @subpackage Wyraźny * @since Wyraźny 1.0 */ get_header(); ?>

 <?php // Utwórz własną pętlę ?> <?php $custom_posts = get_posts('post_type=page_content&page_sections=Slider (strona przednia)'); ?> <?php foreach( $custom_posts as $post ): setup_postdata( $post ); ?>
<?php the_content(); ?>
 <?php endforeach; ?> <?php wp_reset_query(); ?>

 <?php $page_id = $post->ID; // 123 należy zastąpić konkretnym identyfikatorem strony ze swojej witryny, który można znaleźć, najeżdżając kursorem myszy na link, aby edytować tę stronę na stronie administracyjnej Zarządzaj stronami. Identyfikator zostanie osadzony w ciągu zapytania adresu URL, np. page.php?action=edit&post=123. $page_data = get_page( $page_id ); // Musisz przekazać zmienną do funkcji get_page. Jeśli podasz wartość (np. get_page ( 123 ); ), Wordpress wygeneruje błąd. $content = apply_filters('the_content', $page_data->post_content); // Pobierz zawartość i zachowaj filtry Wordpress, takie jak znaczniki akapitów. Pochodzenie z: http://wordpress.org/support/topic/get_pagepost-and-no-paragraphs-problem $title = $page_data->post_title; // Pobierz tytuł ?>

<?php echo $content; // Zawartość wyjściowa ?>

 <?php // Utwórz własną pętlę $custom_posts = get_posts('post_type=page_content&page_sections=Content (strona główna)'); ?> <?php foreach( $custom_posts as $post ): setup_postdata( $post ); ?>

<?php the_title(); ?>

<?php the_content(); ?>

 <?php endforeach; ?> <?php wp_reset_query(); ?>

 <?php get_footer(); ?> Jaka jest lepsza praktyka w tym przypadku? Aby użyć query_posts, WP_Query lub get_posts? ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/HVCoj.png)


title: Błąd krytyczny: nie znaleziono klasy „ZipArchive”

text: Co spowodowałoby ten błąd: Błąd krytyczny: Nie znaleziono klasy 'ZipArchive' w /home/test/dummyurl.com/wp-content/themes/mytheme/upload-zip.php w wierszu 14. Wersja PHP to 5.3.1 Czy WP ma wbudowana funkcja, której powinienem użyć zamiast tego? Jak być może linia funkcji "unzip_file" 525 z ./wp-admin/includes/file.php"? function openZip($file_to_open) { global $target; $zip = new ZipArchive(); //To jest linia 14 $x = $zip->open($file_to_open); if($x === true) { $zip->extractTo($target); $zip->close(); unlink($file_to_open); } else { die( "Wystąpił problem. Spróbuj ponownie!"); } }


title: wordpress wp_list_categories

text:
używam wp_list_categories tak: <?php //lista terminów w danej taksonomii przy użyciu wp_list_categories (przydatne również jako widżet przy korzystaniu z wtyczki PHP Code) $taxonomy = 'news_cat'; $orderby = 'nazwa'; $pokaz_liczba = 0; // 1 dla tak, 0 dla nie $pad_counts = 0; // 1 dla tak, 0 dla nie $hierarchical = 1; // 1 dla tak, 0 dla nie $title = ''; $args = array( 'taxonomy' => $taxonomy, 'orderby' => $orderby, 'show_count' => $show_count, 'pad_counts' => $pad_counts, 'hierarchical' => $hierarchical, 'title_li' => $tytuł ); ?>
 <?php wp_list_categories( $args ); ?>
 co działa świetnie. wyświetla w następujący sposób:

 cat 1

 cat 2

 cat 3

 cat 4

 problem polega na tym, że nie chcę bezwzględna ścieżka, tylko względna... potrzebuję href czytać jako `/news_cat/cat-1` z góry dzięki.


title: Dodaj nowe przekierowanie posta

text: Nie wiem co się dzieje z moją stroną, to już drugi problem z przekierowaniami, Za każdym razem, gdy dodaję nowy post, Po dodaniu tytułu, Gdy próbuję dodać treść, Obok pojawia się strona główna Moje strony pole treści w czerwonym polu, a strona próbuje się załadować, ta strona nadal się ładuje, nic nie przychodzi, adres URL strony ładowania to „http://mywebsite.com/wp-admin/post-new.php ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/KP9hf.jpg)


title: Jak dodać niestandardową długość fragmentu w dwudziestu jedenastu motywach potomnych?

text:
Mam problem z wyświetleniem niestandardowej długości fragmentu. Szukałem rozwiązania na stosie wordpress i znalazłem to: remove_filter( 'excerpt_length', 'twentyeleven_excerpt_length'); add_filter('długość_wypisu', 'długość_nowego_wypisu'); function new_excerpt_length($długość) { return 50; } Dodając to do **functions.php**, nadal otrzymuję ten sam 3-wierszowy fragment, co poprzednio. Jeśli zmienię oświadczenie return na coś innego, zwróć 8 lub zwróć 17, nadal otrzymuję ten sam fragment, co poprzednio. Funkcja fragmentu jest wstawiana do **content.php** w następujący sposób:
 <?php the_excerpt(); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'twentyeleven') . '', ' po' => '
' ) ); ?>
 <?php endif; ?> Co tu robię źle?


title: Pobierz/wyświetl schemat (lub DTD) do importu XML

text: Skąd mogę pobrać schemat (lub DTD) dla układu formatu pliku importu/eksportu WordPress?


title: użyj wp_get_attachment_image(), aby wyświetlić załączniki

text:
Naprawdę mam nadzieję, że to moment facepalm, b/c jestem tym sfrustrowany. Tworzenie szybkiej pętli, aby pokazać określone obrazy załączników. podniosłem go prawie prosto z kodeksu, ale wp_get_attachment_image() nie zachowuje się tak, jak bym się spodziewał. czy część ID w wp_get_attachment_image nie jest identyfikatorem załącznika? czy to nie to samo, co identyfikator posta załącznika? $args = array( 'post_type' => 'attachment', 'post_mime_type' => array('image','image/jpeg','image/png','image/gif'), 'numberposts' => 5 , 'zamówienie' => 'ASC', 'zamówienie' => 'post_title' ); $załączniki = get_posts( $args ); if ( $attachments ) { foreach ( $attachments as $attachment ) { echo wp_get_attachment_image( $attachment->ID, 'full', true); echo '
' . $attachment->post_title . '
'; } } drukuje tytuły postów, ale bez obrazów. **EDYTUJ 1:** tak Zdecydowanie otrzymuję posty z moimi get_posts trochę więcej debugowania: $attachments = get_posts( $args ); if ( $attachments ) { foreach ( $attachments as $attachment ) { $image= wp_get_attachment_image( $attachment->ID, 'thumbnail' , false, array( 'id' => $attachment->ID)); echo $obraz; print_r(wp_get_attachment_image_src( $attachment->ID, 'thumbnail' , false, array( 'id' => $attachment->ID ))); echo var_export($obraz); echo '
' . $attachment->post_title . '
'; } } } zwraca to: Array ( [0] => http://localhost/multi/wp-content/uploads/2011/11/FabricColllFabrics-150x150.jpg [1] => 100 [2] => 100 [3 ] => 1 ) false FabricColllFabrics dla pierwszego obrazu... więc wp_get_attachment_image_src poprawnie znajduje źródło, ale wp_get_attachment_image najwyraźniej zwraca false? **edit 2:** i oto palma na której czekałem w pewnym momencie musiałem coś debugować i kto wie z jakiego powodu umieściłem funkcję wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon = fałsz) { zwróć fałsz; na samym początku wp_get_attachment_image to wszystko jest localhost i zwykle nie hakuję w rdzeniu, ale myślę, że w pewnym momencie byłem tam prawdopodobnie próbując coś prześledzić i zapomniałem posprzątać po sobie. epicka porażka.


title: Jak zastosować następne/poprzednie klasy do LI dla linków stronicowania?

text: Używam wtyczki WP-Paginate i muszę zastosować klasę do zawierających LIs dla następnych/poprzednich linków. Czy ktoś może mi powiedzieć, jak to zrobić? Jeśli istnieje lepszy / łatwiejszy sposób na zrobienie tego, inny niż użycie WP-Paginate, jestem otwarty na sugestie. Dziękuję!


title: Darmowy motyw Wordpress dla witryny z samouczkami intranetowymi

text: Pracuję dla firmy zorientowanej na badania naukowe i dlatego codziennie odkrywam wiele nowych faktów i sposobów pracy. Chcemy skonsolidować wszystkie nasze zrozumienie i skategoryzować je jako samouczki w intranecie naszej firmy, które mogą aktualizować niektórzy autorzy (uprawnieni do tego). Potrzebuję kompleksowego motywu, który jest elegancki, kreatywny i prosty w zarządzaniu, z konfigurowalnym menu i nadaje się do wielobranżowej witryny intranetowej z samouczkami. Również taki, który jest wstępnie dostosowany do witryny z samouczkami, dzięki czemu nie muszę znajdować zbyt wielu wtyczek, aby była użyteczna. jakiś motyw taki jak ta strona, choć bardziej przestronny dla tekstu


title: Zwróć tekst Meta użytkownika jako linki do edycji w kolumnach użytkownika

text: Używam tej funkcji, aby uzyskać informacje do kolumn użytkownika, function column_company( $defaults ) { $defaults['usercolumn-company'] = __('Company', 'user-column'); $defaults['usercolumn-myoffers'] = __('Zastosowane oferty', 'user-column'); $defaults['usercolumn-totaloffers'] = __('Wszystkie oferty', 'user-column'); zwróć $domyślne; } function custom_column_company($value, $column_name, $id) { if( $column_name == 'usercolumn-company' ) { return get_the_author_meta( 'company', $id ); } elseif( $column_name == 'usercolumn-myoffers' ) { return get_the_author_meta( 'offersiget', $id ); } elseif( $column_name == 'usercolumn-totaloffers' ) { return get_the_author_meta( 'totaloffers', $id ); } } add_action('manage_users_custom_column', 'custom_column_company', 15, 3); add_filter('zarządzaj_kolumnami_użytkowników', 'kolumna_firma', 15, 1); zwracam get_the_author_meta('offersiget', $id); i tutaj otrzymuję z db identyfikator posta jako tekst, taki jak: 8,12,51 czy można to zwrócić, nie jako tekst, ale jako link do edycji posta (/wp-admin/post.php?post =(8)&akcja=edycja)? Próbuję tego przez @hakre return sprintf(''.get_the_author_meta( 'offersiget ', $id ).''); i działa, ale zwraca jeden link ze wszystkimi identyfikatorami postów w środku, czy można je podzielić? jakaś pomoc? Dzięki, Filipie


title: add_rewrite_endpoint() nie działa dla archiwów niestandardowych postów

text:
Pracuję nad jakimś systemem wiki/encyklopedii opartym na wordpressie. istnieją dwa niestandardowe typy postów. pokażę moją konfigurację dla jednego z nich: $labels = array( 'name' => _x('Objects', 'Ogólna nazwa typu posta'), 'singular_name' => _x('Object', 'post type singular name'), 'add_new' => _x('Dodaj nowy', 'object'), 'add_new_item' => __('Dodaj nowy obiekt'), 'edit_item' => __('Edytuj obiekt'), 'new_item ' => __('Nowy obiekt'), 'view_item' => __('Wyświetl obiekt'), 'search_items' => __('Wyszukaj obiekty'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'has_archive' => 'objects', // to jest slug-archiwum (może być "objects/index"!!) 'rewrite' => array( 'slug' => 'objects' ), // to jest dopisany slug (jak "objects/my- object") 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','thumbnail') ); register_post_type( 'dr_object' , $args ); wszystko działa zgodnie z oczekiwaniami: mysite.de/objects daje mi przegląd (szablon archiwum-dr_object.php), mysite.de/objects/my-object pokazuje szczegóły obiektu. aby mieć kilka ładnych adresów URL dla funkcji edycji frontendu, dodałem przepisać punkty końcowe. add_rewrite_endpoint('do', EP_PERMALINK | EP_PAGES ); // dla do/edit, do/remove, itp. działa to świetnie dla adresów URL, takich jak mojawitryna.de/objects/my-object/do/edit **tu pojawia się mój problem:** archiwa również powinny mieć pewne możliwości edycji. ale mysite.de/objects/do/edit daje mi błąd 404: „Nie znaleziono strony”. print_r'ed $wp_query i wygląda na to, że wp wysyła zapytanie do załącznika o nazwie "edit" mam nadzieję, że ktoś może mi pomóc - teraz będę się trzymać brzydkich adresów URL ?do=edit dla archiwów. z góry dzięki, hans //update 09.03.2012 okrojony kod **my-plugin.php** add_action('init', 'object_register'); function object_register() { $labels = array( 'name' => _x('Obiekty', 'Ogólna nazwa typu posta'), 'singular_name' => _x('Object', 'Pojedyncza nazwa typu postu'), 'add_new ' => _x('Dodaj nowy', 'object'), 'add_new_item' => __('Dodaj nowy obiekt'), 'edit_item' => __('Edytuj obiekt'), 'new_item' => __(' Nowy obiekt'), 'view_item' => __('Wyświetl obiekt'), 'search_items' => __('Wyszukaj obiekty'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __ ('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'has_archive' => 'objects', // to jest slug-archiwum (może być "objects/index"!!) 'rewrite' => array( 'slug' => 'objects' ), // to jest dopisany slug (jak "objects/my- object") 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','thumbnail') ); register_post_type( 'dr_object' , $args ); } add_action('init', 'cluster_register'); function cluster_register() { $labels = array( 'name' => _x('Cluster', 'General name type post'), 'singular_name' => _x('Cluster', 'post type osobliwa nazwa'), 'add_new ' => _x('Dodaj nowy', 'klaster'), 'add_new_item' => __('Dodaj nowy klaster'), 'edit_item' => __('Edytuj klaster'), 'new_item' => __(' Nowy klaster'), 'view_item' => __('Wyświetl klaster'), 'search_items' => __('Wyszukaj klaster'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __ ('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'has_archive' => true, 'rewrite ' => array( 'slug' => 'cluster' ), 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title') ) ; register_post_type( 'dr_cluster' , $args ); } add_action( 'init', 'build_taksonomies', 0 ); function build_taxonomies() { register_taxonomy( 'dr_designers', array("dr_object"), array("hierarchical" => false, "label" => "Projektanci", "singular_label" => "Projektant", "rewrite" => array('slug' => 'projektant'))); register_taxonomy( 'dr_tags', array("dr_object", "dr_cluster"), array("hierarchical" => false, "label" => "Tagi", "singular_label" => "Tag", "przepisz" => tablica ('slug' => 'tagi'))); register_taxonomy( 'dr_manufactors', array("dr_object"), array("hierarchical" => false, "label" => "Producenci", "singular_label" => "Producent", "przepisz" => array('slug' => 'producenci'))); } function dr_rewrite_settings(){ // to umożliwia pobranie akcji z obiektów, klastrów itp. przez dodanie czegoś takiego jak "obiekty/mój-obiekt/do/edytuj" -- TAK! add_rewrite_endpoint('do', EP_PERMALINK | EP_PAGES ); // UWAGA: Robi się to *tylko* podczas przechwycenia aktywacji wtyczki w tym przykładzie! // *NIGDY NIGDY* tego nie powinieneś robić przy każdym ładowaniu strony!! flush_rewrite_rules(); } //zaczep_aktywacyjny_rejestru( __PLIK__, 'dr_rewrite_settings' ); to powinno się zdarzyć add_action('init', dr_rewrite_settings); jak widać – miałem problem z prawidłowym opróżnieniem przepisywania (register_activation_hook). oprócz tego, że powinienem wspomnieć, że używam innej wtyczki do tworzenia fałszywej strony: mysite.de/objects/new i wygląda to tak: <?php /** * Nazwa wtyczki: Fake Page Plugin 2 * URI wtyczki: http ://scott.sherrillmix.com/blog/blogger/creating-a-better-fake-post-with-a-wordpress-plugin/ * Opis: Tworzy fałszywą stronę bez błędu 404 (na podstawie Strona fałszywej wtyczki Seana Hickeya) * Autor: Scott Sherrill-Mix * URI autora: http: //scott.sherrillmix.com/blog/ * Wersja: 1.1 */ class FakePage { /** * slug dla fałszywego posta. To jest adres URL Twojej wtyczki, na przykład: * http://site.com/about-me or http://site.com/?page_id=about-me * @var string */ var $page_slug = 'objects/ Nowy'; /** * Tytuł fałszywego posta. * @var string */ var $page_title = 'Nowy obiekt'; /** * Zezwalać na pingi? * @var string */ var $ping_status = 'otwarty'; /** * Konstruktor klasy */ function FakePage() { /** * Poczekamy, aż WordPress wyszuka posty, a następnie * sprawdzimy, czy żądany adres URL pasuje do naszego celu. */ add_filter('the_posts',array(&$this,'detectPost')); } /** * Wywoływane przez akcję 'detectPost' */ function createPost() { /** * To, co zrobimy tutaj, to utworzenie fałszywego posta. Post *, który w rzeczywistości nie istnieje. Wypełnimy go * dowolnymi wartościami, jakie tylko zechcesz. Treść posta będzie * wynikiem Twojej wtyczki. */ /** * Utwórz fałszywy post. */ $post = nowa klasa standardowa; /** * Identyfikator autora posta. Zwykle 1 jest administratorem systemu. Twoja wtyczka * może bez problemu znaleźć prawdziwy identyfikator autora. */ $post->post_author = 1; /** * Bezpieczna nazwa wpisu. To jest post ślimak. */ $post->post_name = $this->page_slug; /** * Nie jestem pewien, czy to w ogóle ważne. Ale i tak go zapełnię. */ $post->guid = get_bloginfo('wpurl') . '/' . $this->page_slug; /** * Tytuł strony. */ $post->post_title = $this->page_title; /** * To jest treść posta. To jest miejsce, w którym powinno znajdować się wyjście * twojej wtyczki. Po prostu przechowaj dane wyjściowe wszystkich wywołań funkcji * wtyczek i umieść je w tej zmiennej. */ $post->post_content = $this->getContent(); /** * Fałszywy identyfikator posta, aby uniemożliwić WP wyświetlanie komentarzy do * posta, który tak naprawdę nie istnieje. */ $post->ID = -1; /** * Statyczny oznacza stronę, a nie post. */ $post->post_status = 'statyczny'; /** * Wyłączanie komentarzy do wpisu. */ $post->comment_status = 'zamknięte'; /** * Zezwól innym na pingowanie posta? Prawdopodobnie nie ma to znaczenia, ponieważ * komentarze są wyłączone, więc nie jestem pewien, czy WP nawet * pokaże pingi. */ $post->ping_status = $this->ping_status; $post->comment_count = 0; /** * Możesz wypełnić je praktycznie dowolnymi rzeczami. * Aktualna data jest w porządku. To fałszywy post, prawda? Może data * aktywacji wtyczki? */ $post->post_date = current_time('mysql'); $post->post_date_gmt = current_time('mysql', 1); add_post_meta($post->ID, '_wp_page_template', 'objects-new.php', prawda); return($post); } function getContent() { return '
Cześć! Oglądasz mój fałszywy post!
'; } function detectPost($posts){ global $wp; globalne $wp_query; /** * Sprawdź, czy żądana strona pasuje do naszego celu */ if (strtolower($wp->request) == strtolower($this->page_slug)){ //09.03 usunięto: || $wp->query_vars['page_id'] == $this->page_slug //Dodaj fałszywy post $posts=NULL; $posts[]=$this->utwórzPost(); /** * Oszukać wp_query, aby myślał, że to jest strona (konieczne przynajmniej dla wp_title()) * Nie jestem pewien, czy to oszukuje, czy nie modyfikuje zmiennych globalnych w filtrze * ale wygląda na to, że działa, a kod nie mówi bezpośrednio nie. */ $wp_query->is_page = true; //Nie jestem pewien, czy jest to konieczne, ale równie dobrze można ustawić go jako prawdziwą stronę $wp_query->is_singular = true; $wp_query->is_home = fałsz; $wp_query->is_archive = fałsz; $wp_query->is_category = fałsz; //Dłuższe struktury permalinków mogą nie pasować do fałszywego slugu posta i powodować błąd 404, więc wyłapujemy błąd tutaj unset($wp_query->query["error"]); $wp_query->query_vars["błąd"]=""; $wp_query->is_404=fałsz; } return $posts; } } /** * Utwórz instancję naszej klasy. */ nowa fałszywa strona; ?> Dokonałem dwóch modyfikacji standardowej wtyczki. może ingerują w rewrite_rules? (próbowałem dezaktywować tę wtyczkę – nic nie zmieniłem) 1) za pomocą „hierarchicznego” ślimaka. działa, ale: czy jest to dozwolone? 2) pozwól fałszywej stronie użyć niestandardowego szablonu: `add_post_meta($post->ID, '_wp_page_template', 'objects-new.php', true);` (tuż przed zwróceniem posta w `createPost()`)


title: Który motyw wordpress jest zgodny z wtyczką motywu Optima Express (inwentaryzacja nieruchomości)?

text: Używam wtyczki motywu Optima Express (inwentaryzacja nieruchomości) do mojej witryny Wordpress. I działa idealnie w admin. Ale kiedy zacząłem używać go w interfejsie użytkownika, zaczął kolidować z Jquery bieżącego aktywnego motywu. Działa z Twenty-Eleven, Twenty-Twelve, ale nie z motywami „Striking” i „Karma”, których chcę używać z tą wtyczką. Co powinienem zrobić ? Czy powinienem przejść do everyplace w kodzie i napisać JquerynoConflict LUB jakiekolwiek lepsze rozwiązanie dla tego? Wszelkie sugestie będą mile widziane.


title: Menu taksonomii wpml nie działa

text: Stworzyłem niestandardowy typ postu z kategorią produktów taksonomii. Zainstalowałem wpml i dodałem menu z kategorią niestandardową. Po kliknięciu menu utworzonego przy użyciu niestandardowej kategorii typu postu z taksonomią . Następnie selektor języka WPML w nagłówku nie wyświetla listy języków. Proszę poprowadzić mnie, jak to posortować Menu wyboru języka jest wymienione na wszystkich stronach, ale nie na stronach taksonomii


title: Tworzenie widżetu administratora dla /wp-admin/post.php?

text: Witam i dziękuję za pomoc z góry, próbuję stworzyć widżet, który znajduje się na stronie post.php do edycji postu, który istnieje (Nie new-post.php, potrzebuję identyfikatora). Ten niestandardowy widżet pobierze identyfikator postów i prześle go do innej bazy danych, aby go przechowywać, zrobi to przez ajax i będzie miał własny niezależny przycisk zapisywania. Całkiem proste, prawda? Z wyjątkiem tego, że nie wiem, jak sprawić, by mój widżet wyświetlał się na stronie post.php. Oto mój kod testowy w themes/myTheme/functions.php, tylko po to, aby znaleźć go we właściwym miejscu... ale to nie działa. function artist_associator_dashboard_widget_function(){ echo "Witaj świecie"; } function artist_associator_add_dashboard_widget(){ wp_add_dashboard_widget('artist_associator_dashboard_widget', 'Artysta Associate', 'artist_associator_dashboard_widget_function'); } add_action('wp_dashboard_setup','artist_associator_add_dashboard_widget'); Próbowałem też wykonać kilka innych działań, które wyglądały obiecująco, ale nie wyszło, nie mogłem znaleźć swoich funkcji.


title: Czy można ustawić lokalizację przesyłania na inny serwer?

text: Nasza uczelnia przyznała naszej społeczności studenckiej 1 GB miejsca do wykorzystania na naszej stronie internetowej. Mamy jednak niski priorytet przepustowości, więc nie działało szybko z Wordpressem. Udało mi się kupić własną nazwę domeny, w tym hosting po bardzo niskiej cenie (łącznie 14 funtów rocznie). Jedynym problemem (jeszcze nie problem, ale w przyszłości może być) jest to, że ma tylko 250 MB pamięci. Czy istnieje sposób, aby pliki Wordpress przekraczające określony rozmiar (na przykład 500kb) były automatycznie przesyłane do hostingu zapewnianego przez naszą uczelnię? Chciałbym, aby większość zdjęć ładowała się szybko, ale przy dużej liczbie przesyłanych plików nie zużywamy naszej ograniczonej pojemności. Pragnę podkreślić, że chcę, aby użytkownicy mojej witryny mogli przesyłać pliki w konwencjonalny sposób, ale aby ich pliki powyżej określonego rozmiaru były automatycznie zapisywane w innym miejscu przechowywania, zamiast domyślnego.


title: Kontroluj zmianę rozmiaru przesyłanych obrazów

text: Szukam zwykłych obrazów, które są przesyłane z programu do przesyłania multimediów. Chcę umieścić skrypt zmiany rozmiaru obrazu zamiast używać WordPressa do zarządzania obrazami. Głównym powodem jest to, że nie chcę tworzyć 3 obrazów za każdym razem, gdy przesyłam obraz. Chcę tylko rozmiar wybrany z narzędzia do przesyłania multimediów. Poczytałem trochę na tej stronie i wymyśliłem, jak uzyskać rozmiary. Teraz muszę wiedzieć, czy jest haczyk, który może chwycić obraz? Pracowałem tylko z miniaturą. Gdzie są wywoływane zwykłe obrazy, które są wstawiane do treści posta?


title: Jak automatycznie załadować style związane ze skryptem?

text: Scenariusz: Często zdarza się, że zależność JS jest dołączona do pliku stylu, aby działał poprawnie (wystarczy pomyśleć o swojej ulubionej wtyczce jQuery pokazu slajdów). AFAIK, w tej sytuacji skrypt i styl muszą być zawarte w oddzielnych wywołaniach `wp_enqueue_script` i `wp_enqueue_style`. Zastanawiam się, jak **zautomatyzować ten proces**. Rozwiązaniem, które mógłbym znaleźć, jest zadeklarowanie konfiguracji w pliku .json, w którym wpis wygląda tak: "jquery-plugin": ["static/js/jquery-plugin.js", "1.0", ["jquery "], "jquery-plugin.css"] (konfiguracja to `[ścieżka_pliku, wersja, zależność js, dołączony plik css]`). Po załadowaniu mojej wtyczki plik .json jest odczytywany, analizowany, a następnie rejestrowane są skrypty i style. Również informacja o tym, czy skrypt ma dołączony plik stylu, jest przechowywana w globalnej tablicy, nazwijmy ją `$_scirpts_has_style`. W przypadku `$_scirpts_has_style` dołączony styl może automatycznie uzyskać `wp_enqueue_style`' po wykonaniu odpowiedniego skryptu `wp_enqueue_script`'. Więc to, czego w zasadzie chcę, to jakiś sygnał, który informuje mnie, że skrypt jest umieszczony w kolejce, ale nie mogę znaleźć takiego sygnału (akcja/filtr). `script_loader_src` jest czymś bardzo zbliżonym, ale jest wyzwalany, gdy skrypt jest drukowany, czyli za późno, aby umieścić plik stylu w kolejce. Czy jest jakaś akcja/filtr, który to robi? Lub jakie jest twoje rozwiązanie tego problemu?


title: Posty bez wyróżnionego obrazu wykorzystujące wyróżniony obraz innego posta

text:
Używam następującego kodu (patrz na dole), aby wyświetlić niestandardowy post o nazwie „artyści”. Używam również `<?php if (has_post_thumbnail( $post->ID ) )`, więc mogę ustawić tło div za pomocą miniaturki posta (nie sądzę, że to jest problem). Chcę wyświetlić wszystkie posty na jednej stronie, więc użyj `'numberposts' => -1,`. Zauważyłem, że posty po pierwszych dwunastu postach wykorzystują inny obrazek, jeśli nie mają przypisanego. Jeśli przypiszę wyróżniony obraz do dowolnego posta, którego dotyczy problem, wyświetla on prawidłowy obraz. Po prostu nie rozumiem, dlaczego każdy post po pierwszych dwunastu zawiera inny obrazek. Czy coś jest nie tak z pętlą, ponieważ używam `'numberposts' => -1,`? Nie ma w tym nic złego, ponieważ przypiszę obraz do każdego z nich, ale chcę zrozumieć, dlaczego tak się dzieje. ![tutaj podaj opis obrazka](http://i.stack.imgur.com/FX4he.png) <?php $args = array( 'post_type' => 'artists', 'numberposts' => -1, ' orderby' => 'tytuł', 'zamówienie' => 'ASC' ); $mojeposty = get_posts( $args ); foreach ( $myposts jako $post ): setup_postdata( $post ); ?> <?php if (has_post_thumbnail( $post->ID) ): ?> <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?> <?php endif; ?>
 <a href="<?php esc_url( the_permalink() ); ?>"> <div class="pole-artysty na telefon komórkowy" style="obraz-w tle : url('<?php echo $image[0]; ?>')">

WYŚWIETL WYKONAWCĘ

+

<? php the_title();?>

 <?php endforeach; wp_reset_postdata();?>


title: Jak uzyskać listę użytkowników zalogowanych do wordpress i wyeksponować ją w JSON?

text: Czy istnieje sposób na uzyskanie listy użytkowników zalogowanych w witrynie Wordpress i udostępnienie jej w formacie JSON? Proszę rzuć trochę świateł, aby to osiągnąć.


title: co odpala cron

text: Mam problemy z konfiguracją prostego cronjoba. Wiele samouczków WordPress, takich jak ten http://tommcfarlin.com/wordpress-cron-jobs/ określa crontab z pewnym harmonogramem, a w WordPress określa inny harmonogram. Wydaje się, że nie mogę tego zrozumieć. W tutorialu jest określony co 15 minut: `*/15 * * * * wget -q -O – http://twojadomena.com/wp-cron.php?doing_wp_cron` a następnie w kodzie mówią: `wp_schedule_event( time(), 'hourly', 'my_hourly_event' );` Więc ten cron będzie uruchamiał się co 15 minut czy co godzinę?


title: Dwadzieścia czternaście dostosowywania: formaty postów z linkami

text:
Rozwiązanie tego problemu dla poprzedniego domyślnego motywu, Twenty Thirteen, znalazłem tutaj. Jest to idealne rozwiązanie do tego, co chcę zrobić: ustaw własny żądany adres URL jako link w tytule, a nie pierwszy link pojawiający się w poście będący adresem URL, na który będzie wskazywał tytuł posta. Niestety sposób, w jaki robi się rzeczy w Twenty Fourteen, jest zupełnie inny. Oto jak obecnie wygląda kod w `content-link.php`:  <?php if ( in_array( 'kategoria', get_object_taxonomies( get_post_type() ) ) && dwadzieściafourteen_categorized_blog() ) : ? >
 <?php echo get_the_category_list( _x( ', ', 'Używane między elementami listy, po przecinku znajduje się spacja.', ' dwadzieścia czternaście' ) ); ?>
 <?php endif; if ( is_single() ) : the_title( '
', '
' ); else : the_title( '
', '
' ) ; endif; ?>
  <a class="entry-format" href="<?php echo esc_url( get_post_format_link( 'link' ) ); ?> "><?php echo get_post_format_string( 'link' ); ?>  <?php dwadzieściaczternaście_posted_on(); ?> Jestem całkiem zagubiony. Aby było trochę bardziej skomplikować, obecnie mam niestandardowy link post custom_field name aq_format_link. Oto jak wyglądał plik `format-link.php` mojego **poprzedniego** motywu: $link = get_post_meta( get_the_ID(), $key = 'aq_format_link', $single = true );


title: Funkcja automatycznego ustawiania wyróżnionego obrazu, który jest już używany

text: _Nawet nie wiem, od czego zacząć, aby to rozgryźć...._ Ta funkcja dla functions.php pobiera pierwszy załączony obraz w poście i ustawia go jako wyróżniony obraz. Problem polega na tym, że nie dołączy obrazu, jeśli jest już dołączony do innego posta. Testowałem to kilka razy. **Jak można zmienić tę funkcję, aby umożliwić obrazowi, który jest już dołączony do innego posta, ustawić jako polecany obraz w nowym poście?** function wpse127196_auto_set_featured_image() { global $post; $featured_image_exists = has_post_thumbnail($post->ID); if (!$featured_image_exists) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } } } add_action('save_post', 'wpse127196_auto_set_featured_image'); add_action('draft_to_publish', 'wpse127196_auto_set_featured_image'); add_action('new_to_publish', 'wpse127196_auto_set_featured_image'); add_action('pending_to_publish', 'wpse127196_auto_set_featured_image'); add_action('future_to_publish', 'wpse127196_auto_set_featured_image');


title: wordpress nie wyświetla mojego formularza

text: Kiedy tworzę stronę z treścią jako `[contact-form-7 id="199" title="Bez tytułu"]` , wyświetla formularz, ale kiedy używam go jako <div class="first"><? php $recentProjects = get_post('275'); echo $recentProjects->post_content; ?> </div> nie działa. Wyświetla `[contact-form-7 id="199" title="Bez tytułu"]` zamiast formularza.


title: Przepisywanie adresu URL, łamanie stronicowania

text: Czytałem i nie mogę tego rozgryźć. Wszystko działa dobrze, z wyjątkiem tego, że paginacja wydaje się nie działać, dodaję drugą regułę przepisywania, czy to nie powinno tego naprawić? Mogę dostać się do pierwszej strony w porządku, ale każda następna strona wyświetla błąd 404. Oto mój kod: // Przepisz funkcję URL kazania sermon_rewrite() { $cpt = 'kazanie'; $podatek = 'seria'; add_rewrite_rule( '^'.$cpt.'/([^/]+)/([^/]+)/([^/]+)/?', 'index.php?post_type='.$cpt. '&'.$tax.'=$matches[1]&'.$tax.'=$matches[2]&'.$cpt.'=$matches[3]', 'top' ); add_rewrite_rule( 'kazanie/([^/]+)/strona/?([0-9]{1,})/?$', 'index.php?post_type='.$cpt.'&'.$tax .'=$matches[1]&paged=$matches[2]', 'top' ); } add_action('init','sermon_rewrite'); **EDYTUJ** Jeśli wejdę pod następujący adres URL To działa: mojawitryna.com/sermon/term/childterm/page2/ To nie: mojawitryna.com/sermon/term/childterm/page2/ Masz pomysł, co to powoduje?


title: Strony podrzędne Wordpress nie działają

text:
Tworzę wordpress CMS i dodałem wiele stron pod jedną stroną nadrzędną. Generuję linki dla wszystkich stron podrzędnych strony, a następnie, gdy użytkownik kliknie linki, powinien móc otworzyć stronę podrzędną. Jednak po kliknięciu łącza otwierana jest strona indeksu i nie jest wyświetlana zawartość strony podrzędnej. Być może wynika to z użycia pliku .htaccess. Nie mam żadnej wiedzy na temat htaccess. Jakaś pomoc? <?php $pages = get_pages( array( 'child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc' ) ); foreach ($pages as $page) { ?>

<?php echo $page->post_title; ?>
 <?php echo substr(strip_tags($page->post_content),0,50); ?> <a href="<?php echo get_post_permalink($page->ID); ?>">Czytaj więcej...

 <?php } ?> .htaccess # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # KONIEC WordPress


title: Zmień globalne wartości z szablonów

text: Próbuję sprawdzić zmienną php w każdym z moich szablonów, aby przypisać jej inny styl, ale wartość wydaje się znikać, czy możesz mi pomóc, spędziłem już godziny próbując to rozgryźć. Wiem, że brakuje mi czegoś małego. Oto wszystko: mam stronę a, która łączy się z b i przekazuje wartość w identyfikatorze URI jako www.b.com/?value=h teraz plik b otrzymuje wartość i zmienia wartość zmiennej globalnej na przekazaną w identyfikator URI, a następnie przekieruj z powrotem na stronę. To jest kod w moim pliku b: ` $serwer = $_SERVER["REQUEST_URI"]; $valuePos = stripos($serwer, "="); $węzły = substr($serwer, ($wartośćPos + 1)); $endPos = stripos($serwer, "e"); $płeć = substr($serwer, ($valuePos + 1), ($endPos)); $valuePos = stripos($węzły, "-"); $redirecturl = substr($węzły, ($valuePos + 1)); header( 'Lokalizacja: '.$redirecturl ); ` $gender jest zmienną globalną, którą zadeklarowałem w function.php, ustawiłem jej domyślną wartość na neutralną. Teraz, gdy próbuję uzyskać dostęp do $gender z innego szablonu, wyświetla po prostu wartość domyślną (neutralną). Proszę pomóż


title: Wordpress add_permastruct niechciane dopasowania

text: Pracuję nad projektem, który polega na filtrowaniu niektórych postów celnych na froncie. Udało mi się stworzyć permalinki zawierające niestandardowe pole, ale wydaje się, że reguła przepisywania pasuje do niektórych niechcianych stron, przez co nie można ich wyświetlić na interfejsie. Kod, którego używam do przepisywania: $wp_rewrite->add_rewrite_tag('%competition%', '([^/]+)', 'competition='); $wp_rewrite->add_rewrite_tag('%prize_category%', '([^/]+)', 'prize_category='); $wp_rewrite->add_permastruct('konkurencja', '/au/%prize_category%/%competition%/', fałsz); Problem jest następujący. Robi to, co powinien zrobić dla tego adresu URL: `http://example.com/au/win-a-wakacje/win-długi-weekend-at-the-rees-hotel-queenstown/` Ale pasuje również ten: `http://example.com/au/win-a-wakacje/` Czy mimo to mógłbym wymusić, aby drugi parametr `%competition%` był **obowiązkowy**? Czyli reguła będzie miała zastosowanie tylko do adresów URL takich jak: `http://example.com/au/param1/param2`, a nie dla `domain.com/au/param1/` ? Dzięki, George


title: Próbuję uzyskać właściwość nieobiektowego komunikatu o błędzie wordpress

text:
Używam naprawdę prostych przycisków facebook-twitter-share. Umieściłem poniższy kod na mojej stronie zgodnie z zaleceniami wtyczki, czyli:
<?php echo naprawdę_simple_share_publish();?>
 Ta wtyczka działa na całej mojej stronie, z wyjątkiem tego, że mam niestandardową stronę taksonomii, która powoduje następujący błąd z wtyczką: Uwaga: Próbuję pobrać właściwość non-object w /home3/answr/public_html/wp-inclusive/post-template.php w wierszu 29. Przejrzałem wiersz 29 i oto, co moim zdaniem się dzieje. Moja strona taksonomiczna ma wbudowane dwa główne zapytania niestandardowe i dwie pętle wordpress. Te zapytania modyfikują główne zapytanie wordpress dla strony. Wydaje się, że jeśli pierwsze zapytanie nie zwraca wyników, to powoduje powyższy błąd, jeśli wtyczka jest aktywna. Jeśli jednak pierwsze zapytanie zwraca wyniki, nie ma błędu i wtyczka działa dobrze, nawet jeśli drugie zapytanie zwraca wyniki. A jeśli wtyczka nie jest aktywna, nie otrzymuję błędu, czy pierwsze zapytanie zwraca wyniki, czy nie. Oto mój kod w celach informacyjnych. Od jakiegoś czasu próbuję to rozwiązać i brakuje mi pomysłów. Czy ktoś ma pomysły, co może powodować te problemy lub co powinienem spróbować rozwiązać. Dziękuję Ci! <?php query_single('dealers', 'publish', '1', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id);?> <?php echo "
"; if($paid==1) { echo "

";the_title(); echo "

"; echo "

$adres | $miasto, $stan $zip

"; echo "

P: $telefon

"; echo "

$lista_marek

"; } echo "
"; ?> <?php koniec; ?> <?php wp_reset_query(); wp_reset_postdata(); unset($brands_list); ?> <?php jeszcze : ?> <?php $paidnull="prawda"; ?> <?php endif; ?> <?php query_single('dealers', 'draft', '0', $taxtype, $value); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $address=get_post_meta($post->ID, 'wpcf-street_address', TRUE); $city=get_post_meta($post->ID, 'wpcf-city', TRUE); $state=get_post_meta($post->ID, 'wpcf-state_abbreviation', TRUE); $zip=get_post_meta($post->ID, 'wpcf-zip_code', TRUE); $phone=get_post_meta($post->ID, 'wpcf-phone_number', TRUE); $paid=get_post_meta($post->ID, 'wpcf-paid', TRUE); $post_id=get_the_ID(); get_each_dealer_brand($post_id); ?> <?php echo "
"; if($paid==0){ echo "

";the_title();echo "

"; echo "

$adres | $miasto, $stan $zip

"; echo "

P: $telefon

"; echo "

$lista_marek

"; } echo "
"; ?> <?php koniec; ?> <?php /*Resetuje bieżące zapytanie*/ wp_reset_query(); wp_reset_postdata(); unset($brands_list);?> <?php else : ?> <?php /*Jeśli nie było płatnego i nieopłacanego dealera, musimy pokazać błąd 404*/ if ($paidnull=="true") { echo "
Nie znaleziono dealerów dla Twojego wyszukiwania
"; echo "
Użyj poniższego wyszukiwania, aby przeszukać inny obszar
"; echo "
"; }?> <?php endif; ?>


title: Użyj register_post_type(), aby zmodyfikować istniejący typ postu

text: Istnieje wiele sytuacji, w których motyw lub wtyczka rejestrują typ posta i chcesz go zmodyfikować. Oczywiście istnieją `add_post_type_support()` i `remove_post_type_support()`, ale nie dają one dostępu do pełnej listy argumentów, które przyjmuje `register_post_type()`. W szczególności, być może chcę wyłączyć archiwum typu postów, ukryć interfejs administratora, ukryć się przed wyszukiwaniem itp., pozostawiając resztę ustawień typu postów w spokoju. Strona Kodeksu dla `register_post_type()` wisi przede mną: > ## Opis > > Utwórz lub zmodyfikuj typ posta. Ale w przeszłości, kiedy próbowałem to zrobić, wydawało się, że to nie działa. Czy ta funkcja naprawdę służy do modyfikowania typów postów, a jeśli tak, czy możesz po prostu ponownie zadeklarować kilka argumentów i zostawić resztę w spokoju? Widząc, że nie ma nawet funkcji `deregister_post_type()`, nie rozumiem, jak można to zrobić.


title: Czy istnieje sposób na umieszczenie wtyczek społecznościowych Facebooka w plikach php szablonów strony?

text: Zastanawiałem się, czy jest jakiś sposób na umieszczenie funkcji dostarczanych z wtyczką Wordpress „Facebook”, takich jak komentarze, polecanie i subskrybowanie, na mojej stronie głównej, którą stworzyłem za pomocą strony szablonu, na przykład rozwiązanie do_shortcode lub get_shortcode umieścić go na stronie? Dziękuję :)


title: Dynamiczny css dla wtyczki widżetu

text:
Mam wtyczkę, która tworzy widżet do wyświetlania najnowszych postów i chciałbym dodać dynamiczny plik css, aby stylizować tytuł posta bez używania stylów wbudowanych. Na przykład mam widżet funkcji publicznych ($args, $instance) { extract($args); $title = apply_filters('widget_title', $instance['title'] ); echo $before_widget; echo $before_title . $tytuł . $po_tytule; // Argumenty WP_Query $args = array ( 'cat' => $instance['categories'], 'posts_per_page' => $instance['latest_x_posts'], ); // Zapytanie $query = new WP_Query( $args ); if( $query->have_posts() ) { while( $query->have_posts() ) { $query->the_post(); ?>
<a href="<? the_permalink()?>" rel="zakładka" title="<?php the_title(); ?>"><?php the_title(); ?>
 <?php i public function form( $instance ) { $defaults = array( 'title' => 'Najnowsze posty', 'categories' => NULL, 'latest_x_posts' => 5 , 'post_title_color' => '' ); $instancja = wp_parse_args( (tablica) $instancja, $defaults ); ?> muszę dodać dynamiczny css... coś takiego:  Potrzebuję kogoś, kto wskaże mi właściwy kierunek. Dziękuję


title: Strona 404, jeśli opublikuję wartość zawierającą wartość adresu URL

text: Pracuję nad stroną ustawień wtyczki i otrzymuję stronę 404, jeśli opublikuję wartość zawierającą wartość adresu URL, jak poniżej. <input type="ukryty" name="<?php echo $profile[ 'id']; ?>" value="<?php echo (urlencode('http://adnan.pk')); ?>" > Próbowałem wielu funkcji, takich jak esc_url i esc_url_raw, ale ten problem dotyczy tylko adresów URL :(


title: Filtrowanie w administratorze zepsute dla niestandardowego typu postu w 3.8.1?

text: Czy istnieje znany problem z filtrami Wszystkie, Opublikowane, Zaplanowane i Wersje robocze na stronie z listą postów dla niestandardowych typów postów w wersji 3.8.1? Linki są aktualizowane oraz adres URL, ale wpis nie jest odświeżany. Wydaje się nawet, że zapytanie również nie jest stronicowane.


title: Filtrowanie dozwolonych tagów formularza komentarza

text: Jak mogę usunąć niektóre dozwolone znaczniki HTML w komentarzach/postach? Z jakiegoś powodu poniższy kod, umieszczony w `functions.php` mojego motywu, nie zadziałał: add_action('init', 'my_html_tags_code', 10); function my_html_tags_code() { define('CUSTOM_TAGS', true); globalne $allowedtags, $allowedtags; $allowedposttags = array( 'strong' => array(), 'em' => array(), 'pre' => array(), 'code' => array(), 'a' => array( 'href ' => tablica (), 'tytuł' => tablica ()) ); $allowedtags = array( 'strong' => array(), 'em' => array(), 'a' => array( 'href' => array (), 'title' => array ()) ); } Tagi takie jak `<div>` lub `<pre>` są nadal dostępne podczas komentowania.


title: Błąd krytyczny podczas uzyskiwania dostępu do stron w WP admin (i problemy z edycją dowolnych stron)

text: Mam witrynę, która działa od około 4 lat i liczy kilkaset stron. Miałem dziwne problemy z dostępem do sekcji Strony (aby wybrać stronę do edycji) oraz podczas edycji strony. Zostały one rozwiązane (do tej pory) poprzez dezaktywację wtyczek do absolutnego minimum (trzy, które są niezbędne dla wygody użytkownika), następnie pracę nad tworzeniem lub edycją strony, a następnie ponowne aktywowanie wtyczek. Objawy były dwojakie: Strony – ta okazała się całkowicie pusta; nie widziałem żadnych stron na liście Indywidualna edycja strony (gdybym użył opcji Edytuj stronę w pasku administracyjnym) - zawartość strony byłaby biała, chociaż mogłem użyć myszki do zaznaczenia tekstu w tym obszarze (podświetlałby się, pokazując, że jest tam) - a dolna sekcja pokazałaby tylko kilka paneli (przestanie wczytywać stronę) Dzisiaj dotarłem do punktu, w którym miałem błędy, nawet jeśli dezaktywowałem wszystkie wtyczki, więc potrzebuję pilnej pomocy. Zrobiłem porządki w bazie danych, które zmniejszyły ją z 93 MB do 58 MB (usuwając wersje stron, optymalizując tabele bazy danych itp.) i teraz mogę edytować strony, o ile dezaktywuję wszystkie wtyczki. Obawiam się jednak, że problem się pogorszy i nie będę mógł w ogóle tworzyć ani edytować żadnej strony. W tym momencie, gdy ładuję tylko dwie wtyczki (absolutne minimum, aby użytkownicy mogli nawigować po witrynie i oglądać filmy - EmbedIt i JC Submenu) otrzymuję następujący komunikat o błędzie, gdy uzyskuję dostęp do sekcji Strony w obszar administracyjny: Błąd krytyczny: Brak pamięci (przydzielono 147587072) (próbowałem przydzielić 72 bajty) w /homepages/30/d364769427/htdocs/acbestpractices/wp-includes/meta.php w wierszu 778 Jeśli ktoś ma jakieś pomysły na co Mogę rozwiązać ten problem, będę bardzo wdzięczny. Będę również wdzięczny za skierowanie do kogoś, kto może rozwiązać problem i naprawić to za rozsądną opłatą za doradztwo; w razie potrzeby możesz zaoferować własne usługi.


title: testowanie pingbacków

text: Mam kilka pytań dotyczących testowania funkcjonalności PB w nowej instalacji wp (3.0.4): 1. Czy pingbacki są wysyłane natychmiast po opublikowaniu posta, czy są zaplanowane jako zadanie cron? Jeśli to ostatnie jest poprawne, jak często jest uruchamiane zadanie i czy mogę je uruchomić ręcznie? 2. Czy istnieją inne warunki wysyłania PB poza włączeniem opcji „Próba powiadomienia wszelkich blogów, do których prowadzą linki z artykułu” i oczywiście linku do innego bloga w treści posta? (na przykład, czy post nadawcy powinien być publiczny, a nie prywatny? czy blog powinien być nieprywatny?) 3. Czy link wychodzący powinien być umieszczony w treści posta, czy może być umieszczony w niestandardowym polu postu, aby PB do wysłania? 4. W przypadku, gdy PB nie są wysyłane ani odbierane na moim blogu, jaki jest najlepszy sposób na debugowanie i wykrycie problemu? Z góry dziękuję!


title: Jak uniknąć konfliktu stylu wtyczki i stylu motywu?

text: Użyłem do swojej wtyczki Twittera bootstrap. Ale po zainstalowaniu wtyczki zmienia się styl motywu, który ma już załadowanie. Jak mogę uniknąć tego konfliktu?


title: Otrzymuj comiesięczne archiwa dla niestandardowych typów postów

text: Wiem, że to dość powszechny temat, ale nie mogę rozwiązać problemu, który mam. Każda pomoc jest mile widziana, w tym momencie kręcę kołami. Używając wtyczki Custom Post Type UI, stworzyłem kilka niestandardowych typów postów (w tym przykładzie użyję 'blog'). Ustawiłem has_archive => true, a także użyłem wtyczki o nazwie Custom Post Type Archives, aby moja paginacja działała poprawnie. Do tej pory mam działające permalinki, tagi, kategorie i paginację. Problem pojawia się jednak, gdy próbuję użyć funkcji wp_get_archives. Rozumiem, że to nie pobiera CPT, więc użyłem funkcji dostarczanej z wtyczką Custom Post Type Archives (wp_get_custom_post_archives). W zależności od tego, jak dostosuję argumenty, wypluwa albo 404, albo ładuje archiwa, ale po prostu wyświetla każdy wpis (nie tylko te specyficzne dla wybranego miesiąca). Najlepiej, żebym po prostu wyświetlał comiesięczne archiwa. <?php wp_get_post_type_archives('blog'); Zajrzyj tutaj: http://www.metropoliscreative.com/coding/w/blog/ Użyłem tego do zarejestrowania typu posta i wierzę, że zrobiłem to poprawnie. Nie jestem pewien, co w tym momencie robię źle. register_post_type('blog', array( 'label' => 'Blog', 'description' => 'Wpisy na blogu', 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'capability_type ' => 'post', 'hierarchical' => false, 'rewrite' => array( 'slug' => 'blog'), 'has_archive' => true, 'query_var' => true, 'supports' => array('title','redaktor','fragment','trackbacks','niestandardowe-pola','komentarze','poprawki','miniaturka','autor','atrybuty-stron',), 'taksonomie ' => array('category','post_tag',), 'labels' => array ( 'name' => 'Blog', 'singular_name' => 'Blog', 'menu_name' => 'Blog', ' add_new' => 'Dodaj blog', 'add_new_item' => 'Dodaj nowy blog', 'edit' => 'Edytuj', 'edit_item' => 'Edytuj blog', 'new_item' => 'Nowy blog', ' view' => 'Wyświetl blog', 'view_item' => 'Wyświetl blog', 'search_items' => 'Przeszukaj blog', 'not_found' => 'Nie znaleziono bloga', 'not_found_in_trash' => 'Nie znaleziono bloga w koszu', 'parent' => 'Blog nadrzędny', )) );


title: Niestandardowe paski boczne - problemy z get_sidebar()

text: Chcę mieć różne paski boczne na różnych stronach. Więc najpierw zarejestrowałem kilka podstawowych sidebarów w functions.php. Więc będą tam zawsze, bez względu na to, gdzie przeniosę mój motyw. Nazwijmy je Standardowy pasek boczny, Specjalny pasek boczny, Mały pasek boczny. Następnym krokiem było stworzenie metaboxu sidebarów pod postami i stronami. Wyświetla listę wszystkich pasków bocznych za pomocą pętli foreach $GLOBALS['wp_registered_sidebars'] i pozwala użytkownikowi wybrać jeden. Teraz pojawia się problem. Nie wiem, jak wyświetlić moje paski boczne. Mam wartość meta, ale get_sidebar() akceptuje tylko nazwy z pliku sidebar.php. A co z zarejestrowanymi (nieuwzględnionymi w sidebar.php) paskami bocznymi? Wiem, że mógłbym dodać wszystkie moje paski boczne do sidebar.php/save jako sidebar-name.php, ale znowu, użyję generatora sidebarów, aby dodać dodatkowe paski boczne do trzech podstawowych. Jakieś pomysły, jak to zrobić? Wyświetlanie zarejestrowanych sidebarów po nazwie będzie w moim przypadku poważnym przełomem.


title: Niestandardowy przycisk „Wstaw do posta”

text: Próbuję zrobić prostą wtyczkę, która ustawia obraz tła. Mam to połączone z biblioteką multimediów, więc po kliknięciu „Wstaw do posta” wykonuje niestandardową funkcję. Jednak oczywiście ta niestandardowa funkcja jest niepożądana w każdym innym kontekście. W związku z tym chciałbym stworzyć osobny przycisk „Utwórz tło”, który wywołałby funkcję niestandardową. Jakieś pomysły? Dziękuję


title: Ustaw kategorię jako moją stronę główną za pomocą add_rewrite_rule

text: Gdy ktoś odwiedza stronę główną mojej witryny Wordpress: http://www.mysite.com/wordpress/ Chcę, aby zobaczył zawartość tej strony: http://www.mysite.com/wordpress/category/cars/ Próba # 1: dodanie następującego bloku kodu w functions.php mojego motywu: function add_my_rule() { global $wp; $wp->add_query_var('args'); add_rewrite_rule('/', 'kategoria/samochody/', 'góra'); } add_action('init', 'add_my_rule'); Nic. W ramach eksperymentu pomyślałem, że spróbuję sprawdzić, czy mogę przekierować każdą stronę do określonej strony, więc spróbowałem powyższego, ale z różnymi argumentami do add_rewrite_rule: add_rewrite_rule('^.*$', 'index.php ?id_strony=3', 'góra'); Znowu nic. Próba nr 2: następujący kod w functions.php: function wpse_asc_cat_pages( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', 26 ) ; } } add_action( 'pre_get_posts', 'wpse_asc_cat_pages' ); Znowu nic.


title: Wyświetlaj kanały z Twittera

text:
Mam kanały rss z mojego konta na Twitterze. Używam następującego kodu do wyświetlania kanałów, ale nie mogę tego zrobić. Wynik nie jest elementem. <?php // Pobierz kanały RSS include_once( ABSPATH . WPINC . '/feed.php' ); // Pobierz obiekt kanału SimplePie z określonego źródła kanału. $rss = fetch_feed( 'https://script.google.com/macros/s/AKfycbyp8Wwo8-dxWdPjO0atNZJbKPpy0LRaDTszisMWZhsdXU0XYOs/exec' ); if ( ! is_wp_error( $rss ) ) : // Sprawdza, czy obiekt został utworzony poprawnie // Sprawdź, ile jest wszystkich elementów, ale ogranicz to do 5. $maxitems = $rss->get_item_quantity( 5 ); // Zbuduj tablicę wszystkich elementów, zaczynając od elementu 0 (pierwszy element). $rss_items = $rss->get_items( 0, $maxitems ); endif; ?>
 <?php if ( $maxitems == 0 ) : ?>
<?php _e( 'Brak elementów', 'moja-domena-tekstowa' ); ?>
 <?php else : ?> <?php // Przejdź przez każdy element kanału i wyświetl każdy element jako hiperłącze. ?> <?php foreach ( $rss_items as $item ): ?>
 <a href="<?php echo esc_url( $item->get_permalink() ); ?>" title="<?php printf( __( 'Wysłano %s', 'moja-domena-tekstu' ), $item->get_date('j F Y | g:i a') ); ?>"> <?php echo esc_html( $item->get_title () ); ?>
 <?php endforeach; ?> <?php endif; ?>


title: Ustawianie paginacji obrazów dołączonych do postu

text: Próbuję dowiedzieć się, jak podzielić post na strony dla jego obrazów. Mam niestandardowy typ posta skonfigurowany tak, aby działał jak galeria — tylko obrazy. I chciałbym podzielić obrazy na strony. Trudno mi wymyślić, od czego zacząć. Aby uzyskać obrazy dołączone do wpisu, używam get_posts() w pętli. Chciałbym to ustawić tak, aby wyświetlało się 30 obrazów na stronie. Jakiś pomysł, od czego powinienem zacząć? A może muszę zmienić sposób, w jaki mam tę funkcję galerii skonfigurowaną w WP? Z góry dziękuję!


title: Czy można „dołączyć” obrazy do wielu postów bez dwukrotnego przesyłania z sekcji dodawania multimediów?

text: Jak mogę dołączyć do posta obrazy, które zostały już dołączone do innych postów, bez konieczności ich dwukrotnego przesyłania? Nie chcę wstawiać obrazów do posta, po prostu chcę dołączyć ten sam zestaw obrazów do wielu postów.


title: Wtyczka Wordpress z własną "witryną"/motywem

text: Obecnie rozpoczynam projekt tworzenia wtyczek i idealnie chciałbym, aby wtyczka działała przy użyciu własnego niestandardowego motywu, tak jakby była to własna osobna rzecz. Czy możliwe jest dołączenie motywu do wtyczki, który ma własny niestandardowy układ strony itp. i używałby tego szablonu tylko wtedy, gdy uzyskuje się dostęp do powiązanych stron? Chodzi o to, aby użytkownicy mogli logować się do obszaru tylko dla członków za pomocą logowania wordpress. Czy to możliwe, czy coś, co muszę przemyśleć? Dziękuję


title: Dlaczego WP_Query::is_date() zwraca false, gdy ustawiony jest argument 'date_query'?

text: WordPress 3.7 wprowadził argument 'date_query' dla `WP_Query`. Jest to całkiem przydatne i pozwala na bardzo złożone zapytania oparte na datach, jednak coś dziwnego dzieje się podczas używania metod warunkowych `WP_Query` w zapytaniu używającym tego argumentu. Przykład: $args = array( 'tax_query'=> array( 'relation' => 'AND', array( 'taxonomy' => 'category', 'field' => 'slug', 'terms' => 'uncategorized ' ), array( 'taxonomy' => 'post_tag', 'field' => 'slug', 'terms' => array('foo', 'bar') ) ), 'date_query' => array( array( 'rok' => $dziś["rok"], 'miesiąc' => $dziś["pon"], 'dzień' => $dziś["dzień"], ) ) ); $zapytanie = nowe WP_Query( $args ); Zapytanie powinno zwrócić posty opublikowane dzisiaj i posiadające kategorię „bez kategorii” lub tagi „foo” i „bar”. I robi, jak dotąd tak dobrze. Rozważmy teraz następujące metody warunkowe: $query->is_archive(); // zwraca prawdę, zgodnie z przewidywaniami $query->is_category(); // zwraca prawdę, zgodnie z przewidywaniami $query->is_tag(); // zwraca prawdę, jak można się domyślić, ale $query->is_date(); // zwraca false $query->is_day(); // zwraca fałsz $zapytanie->jest_miesiąc(); // zwraca fałsz $zapytanie->jest_rok(); // zwraca false Myślałem, że problem może być spowodowany tym, że pomieszałem 'tax_query' i 'date_query', ale to nie jest problem, dowód: $args = array( 'date_query' => array( array( 'year' => $dziś["rok"], 'miesiąc' => $dziś["pon"], 'dzień' => $dziś["dzień"], ) ) ); $zapytanie = nowe WP_Query( $args ); $zapytanie->jest_data(); // zwraca false $query->is_day(); // zwraca fałsz $zapytanie->jest_miesiąc(); // zwraca fałsz $zapytanie->jest_rok(); // zwraca false $query->is_archive(); // tym razem zwraca false Czy to błąd, czy coś mi brakuje? (Przeszukałem WP Trac, ale nie znalazłem nic związanego).


title: Wysyłając biuletyn – nie za pomocą wordpressa – serwer ma 100% cpu

text: Wysyłając newsletter (nie za pomocą wordpressa, ale za pomocą innego zewnętrznego narzędzia kampanii newsletterowej) do **3 298 odbiorców** , mamy unikalne otwarcia: **155** , serwer ma 100% procesora ze zbyt wielu instancji httpd i mysql. Dedykowana maszyna... CentOS Linux 6.5 Linux 2.6.32-431.17.1.el6.x86_64 na x86_64 Wersja Webmin: 1.701 Procesory: 4 Pamięć rzeczywista: łącznie 15,57 GB Pamięć wirtualna: łącznie 4 GB Apache/2.2.15 (Keep Alive Włączone) MySQL v.5.1.73-log PHP v.5.3.3 APC v.3.1.13 ![Statystyki APC](http://i.stack.imgur.com/EEHLS.jpg) WordPress 3.9.2 z systemem Bucket (http://themeforest.net/item/bucket-a-digital-magazione-style-wordpress-theme/6107209) Motyw potomny. Rozmiar bazy danych = 1,6 GB wp_posts = 118999 (wiersze) wp_postmeta = 1656568 (wiersze) Wtyczki WordPress działające 1\. Dodatkowe rozmiary obrazu (zui) 2\. Formularz kontaktowy 7 3\. Niestandardowe zdjęcie profilu użytkownika 4\. System komentarzy Disqus 5\. Google Analytics dla WordPressa 6\. Biuletyn Pro 7\. Galeria NextGEN autorstwa Photocrati 8\. NextScripts: Auto-plakat sieci społecznościowych 9\. P3 (Profil wydajności wtyczek) 10\. PixCodes 11\. PixTypes 12\. Przewijanie markizy tytułu posta 13\. UBM Premium 14\. Vixy YouTube Umieść 15\. Całkowita pamięć podręczna W3 (z włączonym APC) 16\. Bezpieczeństwo Wordfence 17\. WP-Optymalizuj 18\. Jeszcze inny pokrewny dodatek do postów z **wp-confing.php** /** Włącz całkowitą pamięć podręczną W3 */ define('WP_CACHE', true); // Dodane przez W3 Total Cache /** Włącz W3 Total Cache */ define( 'AUTOMATIC_UPDATER_DISABLED', true ); define('DISABLE_WP_CRON', prawda); zdefiniuj ( 'DISALLOW_FILE_EDIT', prawda ); define('WP_MEMORY_LIMIT', '256M'); define('WP_MAX_MEMORY_LIMIT', '512M'); Wyniki ze skryptu MySQLTuner MySQLTuner 1.3.0 - Major Hayden <major@mhtx.net> Uruchom z '--help' dla dodatkowych opcji i filtrowania wyjścia [OK] Obecnie działa wspierana wersja MySQL 5.1.73-log [OK] Działa na 64 -bitowa architektura -------- Statystyka silnika pamięci ------------------------------------ ------- [--] Status: +CSV +InnoDB +MRG_MYISAM [--] Dane w tabelach MyISAM: 442M (Tabele: 25) [--] Dane w tabelach InnoDB: 1G (Tabele: 68) [ !!] Całkowita liczba pofragmentowanych tabel: 61 -------- Zalecenia dotyczące bezpieczeństwa -------------------------------- ----------- [OK] Wszyscy użytkownicy bazy danych mają przypisane hasła -------- Wskaźniki wydajności -------------------- ----------------------------- [--] Up for: 5d 21h 7m 0s (35M q [70.046 qps], 379K conn , TX: 152B, RX: 7B) [--] Odczyt / zapis: 59% / 41% [--] Całkowite bufory: 5.9G globalnie + 4.2M na wątek (maksymalnie 500 wątków) [OK] Maksymalnie możliwe wykorzystanie pamięci: 8,0G (51% zainstalowanej pamięci RAM) [OK] Wolne zapytania: 0% (23K/35M) [OK] Najwyższe wykorzystanie dostępnych połączeń: 17% (88/500) [OK] Rozmiar bufora klucza / suma MyISAM indeksy: 128,0 mln/75,2 mln [OK] Współczynnik trafień w buforze kluczy: 99,8% (101M w pamięci podręcznej / 155K odczytów) [OK] Wydajność pamięci podręcznej zapytań: 46,9% (11M w pamięci podręcznej / 23M wyborów) [OK] Zapytanie o suszenie w pamięci podręcznej dziennie: 0 [OK] Sortowanie wymagające tabel tymczasowych: 1% (30K sortowań tymczasowych / 1M sortowań) [!!] Tabele tymczasowe utworzone na dysku: 32% (1M na dysku / łącznie 4M) [OK] Współczynnik trafień w pamięci podręcznej wątków: 99% (259 utworzonych / 379K połączeń) [!!] Współczynnik trafień w pamięci podręcznej tabel: 0% (96 otwartych / 64K otwartych) [OK] Wykorzystany limit otwierania plików: 0% (2/65K) [OK] Blokady tabel pozyskane natychmiast: 99% (21M natychmiastowe / 21M blokad) [OK] Pula buforów InnoDB / rozmiar danych: 4.0G/1,0G [OK] Oczekiwanie na log InnoDB: 0 -------- Rekomendacje ------------- ---------------------------------------- Zalecenia ogólne: Uruchom OPTI MIZE TABLE do defragmentacji tabel w celu zwiększenia wydajności Rozmiar tabeli tymczasowej jest już duży — zmniejsz rozmiar zestawu wyników Zmniejsz liczbę zapytań SELECT DISTINCT bez klauzul LIMIT Zwiększaj stopniowo pamięć podręczną table_cache, aby uniknąć limitów deskryptorów plików Przeczytaj to przed zwiększeniem pamięci podręcznej table_cache powyżej 64: Zmienne do dostosowania: table_cache (> 64) Czy ktoś może podpowiedzieć na co zwrócić uwagę? Dziękuję Ci!


title: Jak dynamicznie zmieniać wysokość elementu iframe

text: Na moich stronach mam kilka `[iframe src="myHtmlDocument.html"...]` zbudowanych na wtyczce iframe, której używam do osadzania JavaScript na moich stronach. `myHtmlDocument.html` to prosty dokument html z zawartością tylko tekstową i kilkoma skryptami do dynamicznej wizualizacji informacji z bazy danych. Walczę o ustawienie wysokości ramki iframe, aby dynamicznie dostosowywała się do różnych przeglądarek. Rzeczywiście, jeśli ustawię wysokość iframe za pomocą `height="xxx"` strona może się poprawnie wizualizować w jednej przeglądarce, a nie w innej, w zależności od poziomu powiększenia (chyba). Przetestowałem tę samą stronę w Firefoksie na Macu i Safari na iPhonie i podczas gdy Firefox wizualizuje całą zawartość `myHtmlDocument.html` na iPhonie, jestem w stanie zwizualizować tylko jego część. Próbowałem innej konfiguracji opcji `same_height_as` wtyczki, ale wydawało mi się, że nie jestem w stanie w ogóle wpływać na wysokość.


title: Think Tankowanie dla projektu

text: Mam pytanie, które nie wymaga perse rozwiązań skryptowych. Chciałbym mieć kilka pomysłów i ludzi, którzy myślą razem ze mną. WordPress: Mam skrypt, który pozwala użytkownikowi przesłać plik .csv i wyświetlić zawartość na ekranie edytora, aby użytkownik mógł edytować formularz. Mam ten skrypt działający: Wyświetl treść z przesłanego pliku w edytorze Następnym krokiem jest pytanie projektowe (tu wchodzisz). Cały powód, dla którego użytkownik może edytować plik, to wprowadzenie pewnych „projektowych” modyfikacji, których nie można utworzyć w css ze względu na ich zmienność. Załóżmy, że użytkownik chce mieć określoną komórkę **pogrubioną** lub _kursywą_. Nie mogę się na to przygotować. Jeśli użytkownik zapisze zawartość i ponownie prześle nowy plik .csv, wszystkie „projektowe” rzeczy, które wykonał, znikną i będzie musiał zrobić je ponownie. Tutaj potrzebuję rozwiązania. Potrzebuję sposobu, aby „zaprojektowane” rzeczy zostały zapisane, aby można je było ponownie zastosować w nowej tabeli. Również jeśli plik .csv ma dodatkowe pole lub kolumnę, zastosowany styl należy dodać do prawej komórki. To jest marynata, bo po prostu nie mam pojęcia, jak o tym myśleć. Mam nadzieję, że każdy może podzielić się ze mną swoimi przemyśleniami. M.


title: buforowanie wyjścia myli mnie!

text: Zakodowałem wtyczkę, która współpracuje z zewnętrznym API ReST. Możliwe jest pobranie zestawu postów w JSON, aby wyrenderować listę postów w HTML. Teraz chcę go rozszerzyć, aby udostępnić łącza do pobierania powiązanych dokumentów (w większości przypadków plików pdf). Tyle teorii. Dla innego PHP CMS zakodowałem klasę proxy. Ta klasa żąda interfejsu API i pobiera zawartość binarną dokumentów. Aby wyczyścić bufor wyjściowy, używam `ob_clean()`. Ustawiłem nowy nagłówek dla `Content-Disposition: załącznik; filename=...`, `Content-Type` i tak dalej. Do pobrania dokumentu używam curl. To działa dobrze. Ale nie w WordPress: Nie można modyfikować informacji nagłówka - nagłówki już wysłane przez (wyjście rozpoczęte w /Users/sebastian/php_workspace/wordpress/wp-includes/admin-bar.php:792) w /Users/sebastian/php_workspace/wordpress/wp -content/plugins/bibsonomy-csl/lib/bibsonomy/CurlHttpRequestProxy.php w wierszu 68. Próbowałem różnych sposobów usunięcia bufora wyjściowego, ale bez powodzenia. Próbowałem: while (ob_get_level()) { ob_end_clean(); } Próbowałem też użyć funkcji PHP `header_remove()`. Nic nie działa. Jak mogę usunąć bufor wyjściowy w WordPressie?


title: Uzyskać listę postów dla każdej kategorii za pomocą query_posts?

text: <?php $cat_name=array('Najnowsze historie', 'Wywołanie', 'Polecana historia', 'Standardowe historie'); $count=count($cat_name); /*Pobierz identyfikator kategorii według nazwy*/ for($i=0; $i < $count; $i++) { $cat_id5.="'".get_cat_ID($cat_name[$i])."',"; //$cat_id4.="'".$cat_id5; } echo $id1=rtrim($cat_id5,','); //query_posts("cat=$catIDs&showposts=4"); $args=query_posts(array( 'category__in' => array($id1), 'posts_per_page' => -1, // 'category_name' => array('news-news-stories',); //'category_name' => array('nazwa_kategorii' ,'wiadomości-z ostatniej chwili') ) ); $posts_array = get_posts($args); print_r($posts_array); ?> Kiedy używam powyższego kodu, otrzymuję pierwsze 5 postów. Chcę otrzymać wszystkie posty przez wyżej wymienione **ID**. Poprowadź mnie, jak to zdobyć! Jestem nowy w wordpressie.


title: Mapowanie domeny w wielu witrynach prowadzi do strony rejestracji

text: Postępowałem zgodnie z tym przewodnikiem: https://rtcamp.com/wordpress-nginx/tutorials/multisite/domain-mapinng/ I zainstalowałem wtyczkę do mapowania domeny. Używam subdomen z multisite wordpress, ale gdy próbuję dodać nowe domeny do witryn subdomen, po prostu przekierowują one do np. domena do zmapowania = customsite.com mainsite = mainsite.com Kiedy próbuję uzyskać dostęp do customsite.com, otrzymuję przekierowanie do strony głównej. Dokładniej tutaj: http://mainsite.com/wp-signup.php?new=customsite.com I mówi, że rejestracja jest wyłączona, tak jak chcę. Co jest nie tak? Jak mogę utworzyć mapę domeny customsite.com na customsite.mainsite.com?


title: użytkownik zmienia hasło e-mail po zresetowaniu przez administratora

text: Jestem naprawdę nowy w programowaniu wordpress i nie jestem nawet pewien, czy ta funkcja istnieje. To, co próbuję zrobić, to wysłać wiadomość e-mail do użytkowników (nie administratora), gdy jako administrator zmienię ich hasło/adres e-mail? Obecnie, gdy dodaję nowego użytkownika, wysyłany jest do niego e-mail, co jest świetne, ale żaden e-mail nie jest do niego wysyłany po zmianie hasła/e-maila. Naprawdę będę wdzięczny za wszelką pomoc.


title: Metaslider nie pojawi się na pierwszej stronie/na stronie głównej

text: Strona ustawiona jako statyczna, wprowadzono [identyfikator metasliderka=25]. Nie mogę znaleźć żadnej pomocy w dokumentacji ani na forach. ![tutaj podaj opis obrazu](http://i.stack.imgur.com/wdf52.jpg)Wordpress 4.0, ale nie udało się go również wyświetlić przed najnowszą wersją. Wprowadzono dwie przykładowe zdjęcia. Wszystko bez pokazu.


title: Dodaj klasę do wszystkich obrazów w polu niestandardowym (pole tekstowe)

text: Mam niestandardowe pole `extra_gallery` dla mojej strony. Jest to w zasadzie kolejny edytor WYSIWYG, w którym pisarz przesyła i wstawia obrazy (_nie jako galerię_). Jak mogę automatycznie dodać atrybut rel ("lightbox[1]") do wszystkich linków graficznych? Używam wtyczki `Advanced Custom Fields`, więc kod szablonu używany do wyświetlania zawartości pola niestandardowego to `<?php the_field('extra_gallery'); ?>` _Powód pytania: Wygląda na to, że najpopularniejsze wtyczki Lightbox sprawdzają tylko rzeczy wyświetlane przez `the_content();`, ponieważ obrazy tam działały, ale obrazy z mojego niestandardowego pola nie miały zastosowanego stylu lightbox._ **edytuj** Aby wyjaśnić: 1. Mamy niestandardowe pole/obszar tekstowy z tymi samymi funkcjami, co edytor WP WYSIWYG. 2. Używając tego WYSIWYG, przesyłamy i wstawiamy obrazy. Obrazy są ustawione tak, aby łączyły się z pełnym plikiem obrazu. Tak więc każdy obraz wygląda jak `<a href=".../wp-content/uploads/2014/07/thumb20.jpg"><img class="alignnone size-full wp-image-91" src=". ../wp-content/uploads/2014/07/thumb20.jpg" alt="thumb" /></a>` 3. Czy mogę poprosić o pomoc z funkcją (otwartą na inne rozwiązania/sugestie), która (ewentualnie ) uruchamia się za każdym razem, gdy żądana jest strona i wyszuka wszystkie wstawione obrazy i doda `rel="lightbox[1]"`?


title: Zapisywanie pól wyboru dla konkretnego użytkownika

text: Na mojej stronie mam kilka list kontrolnych z polami wyboru <input type="checkbox"> Opcja 1 <input type="checkbox"> Opcja 2 I tak dalej. W jaki sposób mógłbym zapisać te wybory dla konkretnego użytkownika, aby za każdym razem, gdy powrócą do listy kontrolnej, ich ostatnie zaznaczone pola nadal będą zaznaczone. Zastanawiam się, czy może istnieje wtyczka, która to robi.


title: Datepicker i zaawansowana wtyczka do pól niestandardowych

text: Używam datetimepicker js na niestandardowym formularzu, po wybraniu z kalendarza - format daty wygląda następująco: 24-Jul-2014 * Używam tej wartości ciągu do aktualizacji meta wartości pola niestandardowego utworzonego za pomocą zaawansowanego pola niestandardowego podłącz. * Format wyświetlania pola: dd/mm/rr Zapisz format: ddmmyy Nie mogę zaktualizować wartości metapola o wartość wybraną w polu wyboru daty w interfejsie użytkownika. Mogę potwierdzić, że wartości z formularza są przekazywane. I może być używany z strtotime() wierzę, że jest to coś z formatami. Ale nie jestem w stanie zebrać wszystkich elementów jQuery i PHP (rzeczy daty, godziny), aby wykonać zadanie. Proszę coś zasugerować. Link: http://www.omaksolutions.com/clients/neetinpuri/localmag/submit-your-event/ \- Aby zobaczyć formularz, będziesz musiał się zalogować. \- Możesz użyć, użytkownik: sub8 pass: test


title: Dlaczego podczas przenoszenia witryny WP wp-admin przekierowuje do starej witryny?

text: Jestem w trakcie przenoszenia witryny WP z jednego hosta na drugi. Skopiowałem bazę danych i wszystkie pliki, utworzyłem nową bazę danych i zaimportowałem starą. Następnie zmieniłem plik wp-config. Strona główna pokazuje się dobrze, ale kiedy próbuję uzyskać dostęp do /wp-admin, wracam do starej witryny. Nowa witryna jest serwerem deweloperskim, na którym planuję wprowadzić zmiany w stylu przed uruchomieniem witryny. Czego mi brakuje w tym przejściu? Jak sprawić, by witryna poprawnie odpowiadała na adres URL dewelopera?


title: Galeria Paginate

text:
Używam domyślnej galerii WordPress (wraz z wtyczką Cleaner Gallery) do wyświetlania niektórych obrazów. Jedyne, czego galeria zdaje się nie mieć, to paginacja. To, co chciałbym zrobić, to po 6 zdjęciach dodać linki Poprzedni i Następny, aby poruszać się po stronach. To powiedziawszy, istnieje kilka wtyczek, które twierdzą, że dodają tę funkcję, ale wszystkie z nich zostały opracowane bez nowej biblioteki multimediów, która jest standardem w WordPress 3.5. Nie chcę zmieniać doświadczenia dla użytkownika... Chcę tylko ewentualnie dodać funkcjonalność poprzez functions.php lub jakoś w samej pętli. Nie mam problemu z zastosowaniem tego samego we wszystkich galeriach, więc gdyby poprawka mogła znaleźć krótki kod galerii, byłoby świetnie! Nie wiem, jak to zrobić, po prostu głośno myślę tutaj. Każda pomoc jest mile widziana. Wygenerowany kod wygląda tak:

 Dzięki, Josh


title: Wyświetlanie zawartości stron profilowych w zakładkach

text:
Mam konfigurację strony profilu, która pokazuje posty / komentarze użytkowników w zakładkach obok siebie. Dodałem zakładkę osiągnięć i chciałbym wyświetlić osiągnięcia, które zdobyli użytkownicy. Oto kod, gdzie mam błąd?

<?php _e( "Wpisy", "struktura" ); ?>

<?php _e( "Komentarze", "framework" ); ?>

<?php _e( "Osiągnięcia", "framework" ); ?>
 Wstawiłem to również do moich funkcji funkcja get_user_achievement_page ($user_id) { $user_profile_url = dpa_get_user_avatar_link( array( 'type' => 'url', 'user_id' => get_current_user_id() , ) ); zwróć $user_profile_url; } Zakładka Osiągnięcia wyświetla się poprawnie i poprawnie, ale nie działa. To jest strona internetowa i możesz wyświetlić stronę profilu dotyczącą danego problemu. Następnie możesz zobaczyć osiągnięcia, które chciałbym dodać do zakładki tutaj. Nie pokazuje błędów ani niczego, po prostu nie ładuje okna osiągnięć, gdy wybieram zakładkę osiągnięć.


title: Jak uzyskać posty opublikowane w ostatnim terminie?

text: Czy istnieje sposób na opublikowanie wszystkich postów w ostatnim terminie? Niekoniecznie musi to być dzisiaj, może to być wczoraj lub przedwczoraj, a nawet dzień w zeszłym tygodniu.


title: Lista kontrolna limitu według aktualnego użytkownika

text:
Odsłoń ze mną, jak to wyjaśnię. Dodaję funkcję Assistant Editor do mojej platformy wielu autorów. W polu, które pojawia się na stronie post-edycji, Redaktorzy mogą zaznaczyć, jakie zadanie wykonali (na przykład dokonać korekty artykułu), a następnie sprawdzić swoją nazwę użytkownika (aby zostali dodani na pierwszej stronie posta). Pudełko wygląda mniej więcej tak: ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/LEVXc.png) Kod pudełka: // pola wyboru autora add_action( 'add_meta_boxes', 'assisting_editor' ); function assisting_editor() { add_meta_box( 'assisting_editor', // id, użyte jako html id att __( 'Zadania redakcyjne' ), // tytuł meta pola 'editor_tasks', // funkcja callback, wypluwa treść 'post' , // typ postu lub strona.Dodaje to do postów tylko 'side', // context, gdzie na ekranie 'low' //priorytet, gdzie powinno to trafić w kontekście ); } funkcja editor_tasks($post) { global $wpdb; $wartość = get_post_meta($post->ID, 'oceny', prawda); echo '
Zadania redakcyjne: '; $ratings = array( 1 => ' Korekta ', 2 => ' Dodano grafikę ', 3 => ' Poprawione SEO ', 4 => ' Gotowe do publikacji ' ); foreach ($rating as $id => $text) { $checked = (in_array($id,(array)$value)) ? ' sprawdzone="sprawdzone"' : ''; echo '<input type="pole wyboru" name="oceny[]" value="' . $id . '"'. $zaznaczone . '/>'.$tekst.''; } $qry['relacja'] = 'LUB'; $qry[] = array( 'key' => $wpdb->prefix.'capabilities', 'value' => 'editor', 'compare' => 'like' ); $qry[] = array( 'key' => $wpdb->prefix.'capabilities', 'value' => 'administrator', 'compare' => 'like' ); $qry = array('fields' => 'all_with_meta','meta_query'=>$qry); $alleds = get_users($qry); $currenteds = get_post_meta($post->ID, 'currenteds', true); foreach ($alleds as $ed) { $checked = (in_array($ed->ID,(array)$currenteds)) ? ' sprawdzone="sprawdzone"' : ''; echo '<input type="pole wyboru" name="bieżące[]" value="' .$ed->ID .'"' .$checked . '"/>'.$ed->nazwa_użytkownika.''; } echo '
'; } add_action( 'save_post', ' save_metadata'); function save_metadata($postid) { if ( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return false; if ( !current_user_can( 'edit_page', $postid )) ) return false; if( empty($postid)) ) false; if ( is_null($_REQUEST["ratings"]) ) { delete_post_meta($postid, 'ratings'); } else { update_post_meta($postid, 'ratings', $_REQUEST['ratings']); } if ( is_null($_REQUEST["currenteds"]) ) { delete_post_meta($postid, 'currenteds'); } else { update_post_meta($postid, 'currenteds', $_REQUEST['currenteds']); } } function display_current_eds($ID = '') { if (empty($ID)) { global $post; if (!empty($post)) { $ID = $post->ID; } } if (pusty($ID)) zwróć fałsz; $eds = get_post_meta($post->ID,'currenteds',true); if (!empty($eds)) { foreach ($eds as $e) { $edu = get_userdata($e); $edusers[] = sprintf( '%3$s', get_author_posts_url( $edu->ID, $edu->nazwa_ładnej_użytkownika ), esc_attr( sprintf( __( 'Wpisy użytkownika %s' ), $edu->nazwa_ładna_użytkownika ) ), $edu->nazwa_ładna_użytkownika ); } return $edusers; } zwróć fałsz; } function author_content_filter($content) { $authors = display_current_eds(); if (false !== $autorzy) { $treść .= implode(', ',$autorzy); } return $treść; } add_filter('the_content','authors_content_filter'); // dodaj pola wyboru autora Teraz problem polega na tym, że użytkownik może zaznaczyć swoje imię **i innych redaktorów**. Oznacza to, że użytkownik może równie dobrze odznaczyć dowolne nazwy. To nie jest dobre. Moje pytanie brzmi, jak to zrobić, aby użytkownik mógł zaznaczyć tylko swoje imię, a inne nazwy były wyszarzone?


title: Breadcrumb nie łączy się z poprawnymi stronami indeksu typu niestandardowego postu

text: Napisałem ten kod dla 2 **niestandardowych typów postów**, aby odsyłać do odpowiednich stron indeksu z widoku pojedynczego posta. To działa. Jednak „Portfolio” i „Grafika” będą miały **wiele** stron i nie jestem pewien, co dodać do tego kodu, aby rozpoznać te dodatkowe strony, gdy są tworzone przez użytkownika. Postęp nazwy strony to (na przykład) `portfolio/strona/2/`, `portfolio/strona/3/` itd., ale wszystkie menu nawigacyjne **pojedynczego posta** prowadzą do **pierwszego** niestandardowego typu posta strona indeksu. Każda pomoc jest bardzo mile widziana, ale proszę o zwięzłość, ponieważ moje umiejętności kodowania i znajomość Wordpress są w najlepszym razie _średnie_. globalny $post; $type = get_post_type($post->ID); if($type == 'portfolio'){ echo '' . „Portfel” . '' . $narzut; } else if($type == 'artwork'){ echo '' . „Grafika” . '' . $narzut; }}


title: Wordpress Security - Jak zablokować alternatywny dostęp do Wordpress

text: Prowadzę własny blog Wordpress 3.5. Pracuję nad jego bezpieczeństwem i staram się uniemożliwić niepisarzom dostęp do niczego, czego nie powinni. Ostatnio wypróbowałem Better Wordpress Security, naprawdę podobały mi się niektóre z sugestii htaccess, które mają. Przede wszystkim ten, który ukrywa /wp-admin/ unikalnym kluczem, mimo że ma kilka luk w pętli, można go znaleźć za pomocą zapytania wylogowania. W każdym razie: Zakładając, że moje /wp-admin/ i wp-login.php wyświetlają teraz błąd 404, którego nie znaleziono, myślałem, że automatyczne boty przestaną mnie atakować. Ale nie zrobili tego. Nadal otrzymuję powiadomienia o blokadzie witryny. Domyślam się, że Wordpress ma inne standardowe trasy do zdalnego logowania, które atakujący wciąż próbują wykorzystać. Nie mogę znaleźć żadnej dokumentacji na ten temat ani niczego w ustawieniach. Jednak na początku tego tygodnia jeden z naszych autorów poprosił mnie o pisanie do naszego Wordpressa za pomocą swojego smartfona. Jest ta aplikacja na Androida/iOS. Więc spróbowałem i pomyślałem, że to nie zadziała, ponieważ normalna trasa teraz zwraca 404. Ale faktycznie udało mi się pomyślnie zalogować w aplikacji. Jak to działa - gdzie wysyła zapytanie? Krótko mówiąc, naprawdę przydałoby mi się wyjaśnienie/artykuł o tym, jak działają logowanie do Wordpress. Uwaga: obecnie nie mam basicauth przez /wp-admin/


title: Zaakceptuj wywołanie AJAX z serializowanymi danymi formularza

text: Próbuję przekazać wtyczce wordpress niektóre dane formularza przez ajax i działa dobrze, chyba że dane formularza są serializowane, serwer odpowiada komunikatem o błędzie. Utknąłem z tym od kilku dni, ale nie mogę zmusić tego do pracy. Co robię źle, to nie może być takie trudne, prawda? Oto komunikat o błędzie: > call_user_func_array() oczekuje, że parametr 1 będzie prawidłowym wywołaniem zwrotnym, funkcja > nie znaleziono 'proces_request' lub nieprawidłowa nazwa funkcji w > X:\xampp\htdocs\testsite\wp-includes\plugin.php w wierszu 406 Wywołanie AJAX: jQuery(document).ready(function($) { nonce: cokolwiek //jeśli używam tej zmiennej, działa dobrze var data = {action: 'proces_request', add_my_data: 'cokolwiek', 'my_data[name ]':'whatever', my_nonce:nonce}; //jeśli użyję tej zmiennej, serwer zwróci powyższy błąd //ponieważ .serialize() nie zawiera nazwy przycisku przesyłania //a formularz nie zawierają nazwę funkcji do wywołania, dodałem je ręcznie do ciągu znaków.nonce jest pobierane z formularza.var data2 ='action=process_request&add_my_data=cokolwiek&' + $('#my-form').serialize();$ ('.my_submit_button').click(function(event) { event.preventDefault(); jQuery.ajax({ type : 'post', url : ajaxurl, timeout: 25000, data : //data (działa) lub data2 (nie działa), [...] Dziwne jest to, że dane postu dla 'data2' wydają się być w porządku i mają taką samą składnię jak dla „danych”. Kontrolowałem dane posta za pomocą firebuga: dla 'data': action=process_request&add_my_data=cokolwiek&my_data%5Bname%5D=cokolwiek&my_nonce=1b444dd703 dla 'data2' (przy serializowanym formularzu jedyną różnicą, jaką widzę, jest referer): action=process_request=add_my_data cokolwiek&my_data%5Bname%5D=cokolwiek&my_nonce=1b444dd703&_wp_http_referer=%2Ftestsite%2Fadmin%2Ftestpage%2F Funkcja PHP, która obsługuje żądanie: function process_request() { //walidacja nonce pominięta dla czytelności if( isset ($_my_[data') ) ) { $this->add_info_array('placeholder', 'Database updated'); } //zrób tu trochę die(); } add_action('wp_ajax_process_request', 'process_request'); AKTUALIZACJA: Problemem jest odnośnik w ciągu, który jest tworzony dla „data2”. Sprawdź mój komentarz poniżej.


title: Używasz Loop do pokazywania wszystkich poziomów podstron pod stroną nadrzędną? W połowie drogi

text: Muszę sprawić, aby pętla przebiegała przez wszystkie dzieci rodzica, wszystkie dzieci każdego dziecka itp. Powodem, dla którego potrzebuję pętli zamiast tagu listy, takiego jak wp_list_pages, jest to, że mogę wyświetlić wszelkie powiązane informacje ze stronami za pomocą tagów i funkcji szablonów WP. Jest to wyświetlacz w stylu prezentacyjnym, który ma zawartość hierarchiczną i jest przearanżowany, więc strony> posty do tego zastosowania. Doszedłem do tego, że pętla pokaże dzieci bieżącej strony, a wewnętrzna pętla pokaże wnuki, ale to tylko prototyp brutalnej siły i muszę go przenieść na wyższy poziom. Myślę, że muszę użyć pętli 1, która zaczyna się od post_parent (aby wyświetlała strony podrzędne), ale wstawić funkcję, aby zmienić identyfikator postu na każdą znalezioną stronę podrzędną, aby pętla kontynuowała drążenie, aż do wyczerpania, następnie wycofuje się o 1 poziom, przechodzi do następnego dostępnego identyfikatora itd. Mój problem polega na tym, że nie jestem wystarczająco programistą WP (lub w ogóle prawdziwym programistą), aby to zrobić. Gdyby to wszystko było w kodzie, założę się, że mógłbym to rozpracować, ale WP oczywiście ma ukryte funkcje połączone z have_post i the_post, aby przechodzić przez dostępne identyfikatory postów, a to sprawiło, że nie wiedziałem, jak zintegrować to, czego potrzebuję. Oto gdzie jestem w tej chwili. Każda pomoc będzie mile widziana! <?php $args = array( 'posts_per_page' => -1, 'post_parent' => $post->ID, 'post_type' => 'page', 'post_status' => '', 'orderby' => ' tytuł', 'zamówienie' => 'ASC',); zapytanie_posty($args); ?> <?php if(have_posts()) : while (have_posts()) : the_post(); ?> <a href="<?php the_permalink();?>"><?php the_title();?>: <?php $inner_query = new WP_Query("post_type=page&posts_per_page=-1&post_parent={ $id}&order_by=title&order=ASC"); ?> <?php while ($inner_query->have_posts()) : $inner_query->the_post(); ?> <a href="<?php the_permalink();?>"><?php the_title();?>: <?php endwhile; // koniec wewnętrznej pętli ?> <?php endwhile; //koniec zewnętrznej pętli ?> <?php endif; // zakończ zewnętrzne, jeśli have_posts?>


title: Uzyskaj typ użytkownika autora

text: Pracuję nad witryną i potrzebuję określić typ użytkownika, jakim jest autor, aby móc go oznaczyć. Pomysł polega na tym, że jeśli użytkownik na poziomie administratora opublikuje coś, ma tag [ADMIN] lub coś obok jego nazwy. Wiem, jak porównywać rzeczy w php, ale jak mogę sprawdzić, jaki typ użytkownika jest autorem, jeśli to możliwe? Nie mogę znaleźć żadnej dobrej dokumentacji w tej sprawie.


title: Skopiuj niestandardowe typy postów i administrator

text: Kopiuję witrynę od byłego programisty. Zainstalowałem nową instancję wordpress i bazę danych na nowym serwerze, skopiowałem wszystko oprócz wp-config ze starego serwera na nowy, ale w admin nie pokazuje niestandardowych typów postów, które są wyświetlane w starym adminie. Myślałbym, że te ustawienia są w functions.php, ale kopiuję to. Czy nie powinni się pokazać? Jak mogę sprawić, by to zadziałało? Dzięki wielkie!


title: Utworzyć zadanie cron bez wtyczki?

text: Zasadniczo napisałem funkcję, która pozwala mi zmienić status postu na draft w zależności od pola w tabeli postmeta: /** * Usuń reklamy, jeśli zostały sprzedane przez ponad 5 dni */ function cp_remove_sold_ads(){ global $wpdb; // Pobierz wszystkie sprzedane reklamy $sold_ads = $wpdb->get_results("SELECT * FROM" . $wpdb->prefix . "postmeta WHERE `meta_key` = 'cp_ad_sold_date' AND `meta_value` <> ''"); foreach ($sprzedane_reklamy jako $ad) { $dzisiaj = czas(); // Pobierz dzień, miesiąc, rok $date = explode('-',get_post_meta($ad->post_id, 'cp_ad_sold_date', true)); $data_sprzedaży = mktime(null, null, null, $data[1], $data[2], $data[0]); $data_różnic = $dzisiaj - $data_sprzedaży; // Pobierz różnicę dni $sold_day_diff = floor($date_diff / (60*60*24)); if ($sold_day_diff >= 5) { wp_update_post(array('ID' => $ad->post_id, 'post_status' => 'draft')); } } } Działa to dobrze, a jeśli dodam funkcję do akcji init, zrobi to, co powinno: add_action( 'init' , 'cp_remove_sold_ads' ); Jednak chciałbym, aby ta akcja była wykonywana codziennie, rozglądałem się i odkryłem, że WP używa wp_schedule_event do obsługi zadań cron, ale nie mam pojęcia, jak z niego korzystać, czy ktoś wie, co muszę dodać do zajmij się tym? Z góry dziękuję!


title: Obcinanie różnych długości informacji

text: Niedawno pomogła mi forma niestandardowego przycinania przez Toscho w tym poście, działa bardzo dobrze, ale stwierdzam, że muszę stworzyć wiele odmian długości dla różnych fragmentów treści. Na przykład na mojej stronie wsparcia potrzebuję 80 max_chars w porównaniu do mojej strony głównej, której potrzebuję 200 max_chars. Próbowałem dodać drugą instancję tej funkcji, ale nic dziwnego, że całkowicie zabiła inne aspekty mojej witryny. Jak zawsze, każda pomoc byłaby mile widziana. Dzięki chłopaki! function utf8_truncate( $string, $max_chars = 200, $append = "\xC2\xA0…" ) { $string = strip_tags( $string ); $string = html_entity_decode( $string, ENT_QUOTES, 'utf-8' ); // \xC2\xA0 to spacja bez przerwy $string = trim( $string, "\n\r\t .-;–,—\xC2\xA0" ); $długość = strlen( utf8_decode( $ciąg ) ); // Nic do roboty. if ( $długość < $max_znaków ) { return $string; } // mb_substr() znajduje się w /wp-includes/compat.php jako rozwiązanie awaryjne, // jeśli bieżąca instalacja PHP go nie posiada. $ciąg = mb_substr( $ciąg, 0, $max_znaków, 'utf-8' ); // Brak spacji. Jedno długie słowo lub tekst w języku chińskim/koreańskim/japońskim. if ( FALSE === strpos( $string, ' ' ) ) { return $string . $dołącz; } // Unikaj przerw w słowach. Znajdź ostatnią spację. if ( extension_loaded( 'mbstring' ) ) { $pos = mb_strrpos( $string, ' ', 'utf-8' ); $short = mb_substr( $string, 0, $pos, 'utf-8' ); } else { // Obejście. Może być powolny na długich strunach. $słowa = rozbij( ' ', $string ); // Porzuć ostatnie słowo. tablica_pop( $słowa ); $short = implode( ' ', $słowa ); } return $short . $dołącz; }


title: Przeszukuj wiele pól niestandardowych za pomocą meta_query

text: Próbuję utworzyć listę wyników wyszukiwania dla niestandardowego typu wpisu, a problem, z którym się spotykam, dotyczy sposobu, w jaki parametr „meta_query” łączy razem przekazane wartości. Wygląda na to, że traktuje każdą wartość „meta_query” jako „AND” zamiast „LUB”. Oto kod, którego używam: $strsearch = 'lorem'; $args = array( 'post_type' => 'products', 'meta_query' => array( array('key' => '_product_make','compare' => 'LIKE','value' => $strsearch), array('key' => '_product_model','compare' => 'LIKE','value' => $strsearch) ),'s' => $strsearch); $resource_query = nowe WP_Query($args); Kiedy przeszukuję każde z pól indywidualnie, otrzymuję pożądane wyniki. Kiedy używam ich razem, okazuje się, że nie znaleziono, ponieważ szukany ciąg może występować tylko w jednym z trzech wymienionych poniżej pól. Czy istnieje sposób, aby „meta_query” traktowało każde z przekazanych porównań pól jako „LUB”?


title: Ogranicz długość tekstu biograficznego profilu autora

text: Co jest napisane na puszce: jak mogę ograniczyć ilość tekstu wprowadzanego przez użytkownika w obszarze Informacje biograficzne w Profilu użytkownika? Z funkcją? Lub jQuery, jeśli nie ma możliwości z funkcją? Jeśli ma to znaczenie, używam `<?php echo $curauth->user_description; ?>` aby pobrać tekst. Dziękuję.


title: Zmieniasz kolor tła w zależności od strony nadrzędnej?

text: Stworzyłem szablon WordPress i teraz chciałbym użyć tego szablonu dla kilku stron, jednak chciałbym mieć inny kolor tła na niektórych elementach, takich jak stopka, nagłówek itp., który będzie zależał od rodzica. Powiedzmy, że mam teraz RODZICA A (zielone tło) i RODZICA B (białe tło) teraz, gdy stworzę dziecko RODZICA A, chciałbym, aby automatycznie miało ono zielone tło. Wiem, że coś podobnego można zrobić z postami przy użyciu <div class="post <?php foreach((get_the_category()) as $cat) { echo $cat->cat_name . ' '; } ?>"> </div> Potrzebuję porady, jak najlepiej to zrobić.


title: Jak uniknąć dziedziczenia reguł permalink wordpress w podfolderze?

text: Mam instalację WordPress w katalogu głównym witryny, muszę zainstalować inną aplikację w podfolderze, ale ta aplikacja ma własny zestaw reguł dla adresów URL w pliku .htaccess, mój problem polega na tym, że WordPress przejmuje kontrolę i kiedy Próbuję przejść do adresu URL w tym podfolderze, WordPress po prostu wyświetli mi błąd 404. Potrzebuję aplikacji podfolderów, aby działała całkowicie ignorując reguły WordPress, lub odwrotnie, WordPress zignorował aplikację w tym podfolderze i pozostawił ją działającą samodzielnie. Jakieś pomysły? Dziękuję! **AKTUALIZACJA** Myślę, że znalazłem rozwiązanie, w folderze wewnętrznym pliku .htaccess dodałem bazowy adres URL z podfolderem i teraz działa.


title: Pomoc z niestandardowym szablonem strony — lista zawartości stron podrzędnych?

text: hej chłopaki, nie mam pojęcia jak rozwiązać następujący problem. Chciałbym mieć szablon strony, który zawiera listę wszystkich stron podrzędnych, ale z zawartością. np. Wyobraź sobie, że mam stronę o nazwie „PRACA. A „Praca” zawiera strony podrzędne, takie jak „Praca 01”, „Praca 02”, „Praca 03” itp. Nie chcę tylko, aby „PRACA” wyświetlała nazwy stron podrzędnych jako nawigację, ale raczej po prostu pokaż wszystkie strony pod sobą!Masz pomysł, jak to rozwiązać?Dziękuję.


title: Przekierowanie domeny w Wordpress multisite

text: Mam dwie domeny www.domain1.com i www.domain2.com, obie wskazują na tego samego hosta. Chcę przekierować www.domain2.com na www.domain1.com/domain2. Otrzymałem ten kod dla .htaccess od dostawcy hostingu, ale podczas instalacji wyświetla mi się błąd „500 Internal Server Error”. Jaki jest problem? RewriteEngine On RewriteCond% {HTTP_HOST} ^ [www.] domain1.com $ [NC] RewriteCond% {REQUEST_URI}! ^ / domena2 / .* ^(.*) RewriteRule / index / 1 $ [L]


title: Zmodyfikuj human_time_diff(), aby skrócić „dni” do „d” i „godziny” do „h” itd.

text: Używam funkcji echo time_ago(), która wyświetla czas w następujący sposób: **5 dni temu** jaki jest najlepszy sposób, aby zmienić go na **5d temu**? Moje badania doprowadziły mnie do funkcji human_time_diff() znajdującej się w "formatting.php" Więc próbowałem bezpośrednio edytować funkcję znajdującą się w /wp-include/formatting.php, ale kiedy zmieniam **"godziny"** na **"h "** i tak dalej... to szaleje i daje mi błędy. Wiem, że modyfikowanie rdzenia nie jest najlepszym sposobem, więc jakieś pomysły? Dziękuję Ci.