title: Posty są wyświetlane od starych do nowych, w kolejności rosnącej

text:
Stworzyłem witrynę dla klienta przy użyciu gotowego motywu o nazwie „Adapt”. Kiedy rozwijałem się na własnym serwerze, posty na blogu były publikowane tak, jak powinny, w kolejności malejącej (tj. Nowe do starych z nowym na górze). Jednak, gdy przeniosłem ukończoną pracę na serwer mojego klienta i zaimportowałem jego posty na blogu z jego starej witryny, wpisy zaczęły się wyświetlać w kolejności rosnącej (tj. stare do nowego ze starym na górze). Próbowałem dezaktywować wszystkie wtyczki, ale problem pozostaje. Próbowałem też dodać `<?php query_posts($query_string . '&orderby=date&order=DESC'); ?>` tuż przed `<?php if (have_posts()) : ?>`, ale nic się nie zmieniło. Zabawne jest to, że blogi na stronach archiwum zachowują się tak, jak powinny. Posty są wyświetlane od nowych do starych, a nowe są na górze. Poniżej znajduje się kod strony indeksu, na której blogi zachowują się w ten sposób. Jakakolwiek pomoc w rozwiązaniu tego będzie mile widziana. Dziękuję Ci. <?php get_header(); ?> <?php if (dt_is_sidebar_active('homepage_ad')) : ?>
 <?php dynamic_sidebar('homepage_ad'); ?>
 <?php endif; ?>

 <?php get_sidebar( ); ?>

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  <div <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <?php if ( has_post_thumbnail() ) : ?>

  <?php the_title(); ?> <?php dt_overlay_icon(); ?>
 <a href="<?php the_permalink(); ?>"><?php dt_image(300, ''); ?>
 <?php endif; ?> <?php kategoria_(', '); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?>

 <?php $format = get_post_format(); ?> <?php if ($format == "obraz" || $format == "galeria" || $format == "wideo") : ?> <img src="< ?php echo get_template_directory_uri(); ?>/images/icon-<?php echo $format; ?>.png" alt="<?php echo $format; ?>" /> <?php endif; ?> <?php dt_excerpt(20); ?>
 <a class="read-more" href="<?php the_permalink(); ?>"><?php _e('Czytaj więcej' , 'silnik'); ?>
 <?php echo human_time_diff( get_the_time('U') , aktualny_czas('znacznik czasu') ). ' '. __('temu', 'silnik'); ?> <?php comments_number(__('Brak komentarzy', 'silnik'), __('1 komentarz', 'silnik'), __('% komentarzy ', 'silnik')); ?>

 <?php koniec; endif; ?> <?php get_template_part('includes/index-loadmore'); ?>

 <?php dt_pagination(); ?>

 <?php get_footer(); ?> Edycja: To (w `functions.php`) było winowajcą: function excludeCat($query) { if ( $query->is_home ) { $query->set('cat', '-5377'); } return $zapytanie; } add_filter('pre_get_posts', 'excludeCat');


title: Jak utworzyć stronę menu opcji motywu, aby zapisać wartości użytkownika?

text: Stworzyłem motyw wordpress i nowy w rozwoju wordpress Chcę utworzyć stronę opcji, aby pobrać pewne wartości od użytkownika i trochę z tym skończyłem, ale pomyliłem się, gdzie i jak zapisać te dane Chcę w skrócie stworzyć interfejs użytkownika .


title: Jak mogę dodać programowo niestandardowe terminy taksonomii do wpisu typu niestandardowego podczas zapisywania wpisów?

text: **Scenariusz:** w witrynie znajduje się sekcja „Polecane książki”, która korzysta z niestandardowego typu posta _książka_ i niestandardowej taksonomii _autora_. Używam interfejsu Amazon Product Advertising API do pobierania danych książek i okładek. Podczas dodawania nowej „książki” do WordPress, użytkownik kopiuje identyfikator książki (ASIN) do pola edycji postu i klika „Opublikuj”. Następnie, podczas zapisywania posta, tytuł posta (tytuł książki) i termin taksonomii autora należy wypełnić programowo przez Amazon. (Są one używane do oferowania funkcji „Zamów według” w interfejsie.) Obecnie używam `wp_insert_post_data`, aby podłączyć się do procesu zapisywania „książki”, i funkcji `wp_set_object_terms`, aby spróbować dodać termin taksonomii niestandardowej do książka'. **Problem polega na tym, że:** funkcja `wp_set_object_terms` nie działa. Nic nie doda, ale zwróci tablicę, która według Codexu powinna oznaczać sukces. Chociaż zwracająca tablica jest dziwna (o ile widzę). Podczas korzystania z identyfikatora postu 107 i identyfikatora terminu 3 (zamiast ciągu autora, do celów testowych) zwracana tablica wyświetla następujące z `print_r`: Array ( [0] => 3 ) (Próbowano również z `wp_set_post_terms` i Nie ma różnicy.) Moja kompletna funkcja: // Funkcja do automatycznego pobierania i przechowywania danych Amazon Book (tytułu i autora) podczas dodawania postów typu „książka” if( function_exists('asa_item')) { add_filter( 'wp_insert_post_data', 'filter_handler ', '99', 2 ); function filter_handler( $data , $postarr ) { // Kontynuuj tylko jeśli książka została dodana/edytowana if ( $postarr['post_type'] !== 'book') return $data; // Spróbuj wyodrębnić ASIN z treści posta; zignoruj wszystko inne if ( preg_match( '/([0-9A-Z]{10})/', $data['post_content'], $matches) ) { // Udane, przechowuj ASIN $book_asin = $matches[0 ]; // Automatyczne pakowanie ASIN w krótki kod AmazonSimpleAdmin (z szablonem 'cover') dla wygody użytkownika $data['post_content'] = '[asa cover]' . $matches[0] . '[/jak]'; } else { // Nieudane: ustaw na wersję roboczą, zwróć i pokaż komunikat o błędzie $data['post_status'] = 'draft'; add_filter('redirect_post_location', 'my_redirect_post_location_filter_1', 99); zwróć $dane; } // Pobieranie i przechowywanie danych książek z Amazon za pomocą wtyczki AmazonSimpleAdmin $book_data = explode( "<sep>", asa_get_item( $book_asin, 'book_data' ) ); /****************** * indeks 0 = tytuł * indeks 1 = autor ******************/ // Sprawdź dane; jeśli nie ma danych, ustaw na wersję roboczą, zwróć i pokaż komunikat o błędzie if ( $book_data[0] == '' ) { $data['post_status'] = 'draft'; add_filter('redirect_post_location', 'my_redirect_post_location_filter_2', 99); zwróć $dane; } // Wypełnij tytuł posta danymi Amazon, jeśli jest pusty if ( $data['post_title'] == '' ) $data['post_title'] = $book_data[0]; // Wypełnij tag Author danymi Amazon, jeśli ich brakuje if ( ! has_term( $book_data[1], 'author', $postarr['ID'] ) ) { wp_set_object_terms( $postarr['ID'], $book_data[1 ], 'autor' ); } zwraca $dane; } }


title: W3 Total Cache - Jak wyłączyć menu "Wydajność" w trybie wielostanowiskowym?

text: Prowadzę instalację wielostanowiskową z mapowaniem domen i konfiguracją W3 Total Cache na każdej z witryn. Nie korzystam z sieci w tradycyjnym sensie - każda strona jest generalnie niezależna. Mam tylko drugie pole wyboru zaznaczone w "Opcjach domeny" dla wtyczki mapowania, jeśli to daje jakiś pomysł. Administratorzy każdej witryny mogą jednak nadal wyświetlać menu Wydajność i zmieniać jego opcje. Chciałbym to wyłączyć. Najlepsza metoda?


title: Funkcja excludeCat odwraca kolejność wpisów na blogu

text:
Używam poniższego kodu, aby usunąć kategorię #5377 z zapytania na stronie głównej. Jednak z jakiegoś powodu ten kod odwraca również kolejność wpisów na blogu. Jak mogę zmienić ten kod, aby _tylko_ usunąć kategorię #5377 i zachować tę samą kolejność postów? function excludeCat($query) { if ( $query->is_home ) { $query->set('cat', '-5377'); } return $zapytanie; } add_filter('pre_get_posts', 'excludeCat'); Edycja 1: Pełny kod `index.php`: <?php get_header(); ?> <?php if (dt_is_sidebar_active('homepage_ad')) : ?>
 <?php dynamic_sidebar('homepage_ad'); ?>
 <?php endif; ?>

 <?php get_sidebar( ); ?>

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  <div <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <?php if ( has_post_thumbnail() ) : ?>

  <?php the_title(); ?> <?php dt_overlay_icon(); ?>
 <a href="<?php the_permalink(); ?>"><?php dt_image(300, ''); ?>
 <?php endif; ?> <?php kategoria_(', '); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?>

 <?php $format = get_post_format(); ?> <?php if ($format == "obraz" || $format == "galeria" || $format == "wideo") : ?> <img src="< ?php echo get_template_directory_uri(); ?>/images/icon-<?php echo $format; ?>.png" alt="<?php echo $format; ?>" /> <?php endif; ?> <?php dt_excerpt(20); ?>
 <a class="read-more" href="<?php the_permalink(); ?>"><?php _e('Czytaj więcej' , 'silnik'); ?>
 <?php echo human_time_diff( get_the_time('U') , aktualny_czas('znacznik czasu') ). ' '. __('temu', 'silnik'); ?> <?php comments_number(__('Brak komentarzy', 'silnik'), __('1 komentarz', 'silnik'), __('% komentarzy ', 'silnik')); ?>

 <?php koniec; endif; ?> <?php get_template_part('includes/index-loadmore'); ?>

 <?php dt_pagination(); ?>

 <?php get_footer(); ?> Edycja 2: Dodano `<?php global $wp_query; var_dump($wp_query->query_vars); ?>` tuż przed `<?php if (have_posts()) : while (have_posts()) : the_post(); ?>` w powyższym kodzie i otrzymałem to: array(61) { ["błąd"]=> string(0) "" ["m"]=> string(0) "" ["p"]=> int (0) ["post_parent"]=> string(0) "" ["subpost"]=> string(0) "" ["subpost_id"]=> string(0) "" ["załącznik"]=> string (0) "" ["attachment_id"]=> int(0) ["nazwa"]=> string(0) "" ["statyczny"]=> string(0) "" ["nazwa strony"]=> string (0) "" ["identyfikator strony"]=> int(0) ["druga"]=> string(0) "" ["minuta"]=> string(0) "" ["godzina"]=> string (0) "" ["dzień"]=> int(0) ["numer miesiąca"]=> int(0) ["rok"]=> int(0) ["w"]=> int(0) [ "nazwa_kategorii"]=> string(0) "" ["tag"]=> string(0) "" ["kot"]=> string(0) "" ["identyfikator_tagu"]=> string(0) " " ["autor"]=> string(0) "" ["nazwa_autora"]=> string(0) "" ["kanał"]=> string(0) "" ["tb"]=> string(0) "" ["stronicowany"]=> int(0) ["comments_popup"]=> string(0) "" ["meta_klucz"]=> string(0) "" ["meta_value"]=> string(0) "" ["podgląd"]=> string(0) "" ["s"]=> string(0) "" ["zdanie"] => string(0) "" ["pola"]=> string(0) "" ["menu_order"]=> string(0) "" ["kategoria__w"]=> array(0) { } ["kategoria__nie_w "]=> array(0) { } ["kategoria__i"]=> array(0) { } ["post__in"]=> array(0) { } ["post__nie_w"]=> array(0) { } [ "tag__in"]=> array(0) { } ["tag__nie_w"]=> array(0) { } ["tag__i"]=> array(0) { } ["tag_slug__in"]=> array(0) { } ["tag_slug__i"]=> array(0) { } ["post_parent__in"]=> array(0) { } ["post_parent__nie_w"]=> array(0) { } ["autor__in"]=> array(0) { } ["autor__not_in"]=> array(0) { } ["ignore_sticky_posts"]=> bool(false) ["suppress_filters"]=> bool(false) [" cache_results"]=> bool(true) ["update_post_term_cache"]=> bool(true) ["update_post_meta_cache"]=> bool(true) ["post_type"]=> string(0) "" ["posts_per_page"]= > int(6) ["nopaging"]=> bool(false) ["comments_per_page"]=> string(2) "50" ["no_found_rows"]=> bool(false) ["zamówienie"]=> string( 4) "DESC" }


title: Świeża instalacja nie pokazuje css

text: Właśnie miałem nową instalację `Wordpress` 3.9.1, ale wszystkie strony nie mają stylizacji (nie strona ani administrator). Pokazuje się idealnie w `firefox`, podczas gdy `chrome` to psuje. Kiedy sprawdzam element, do stron nie jest dołączony `CSS`. Skąd więc wziął się problem?


title: Wyświetl post_meta w Shortcode

text:
Prosty, nadmiernie skomplikowany krótki kod <?php function refresh_posts() { $q = new WP_Query( array( 'orderby' => 'date', 'posts_per_page' => '1') ); $list = '
'; while($q->have_posts()) : $q->the_post(); //$lokalizacja = bloginfo('katalog_szablonu'); $imgsrc = get_post_meta($q->ID, 'blog-lewy-obraz', prawda); $list .= '
' . pobierz_tytuł(); $list .= ''; $lista .= '
'; koniec; wp_reset_query(); return $lista . '
'; add_shortcode("recent_posts", "recent_posts");?> Myślałeś, że to będzie proste. Chcesz utworzyć krótki kod, aby wyświetlić miniatury postów. **Problem jest** , get_post_meta(...) nic nie wypisuje, a bloginfo('template_directory') nie łączy się poprawnie.


title: wiele instalacji Wordpress w wielu witrynach na tym samym serwerze

text: Chcę oddzielnej instancji produkcyjnej i testowej/dev. Czy mogę mieć dwie instalacje wordpress multi na tym samym serwerze, używając różnych baz danych, czy też potrzebuję 2 serwerów, jednego do testów i jednego do produkcji? Chcę mieć instancję testową, w której mogę wypróbowywać wtyczki, ustawiać zmiany itp. bez wpływu na moją instancję produkcyjną


title: Wymień terminy taksonomii dla postu jako pola wyboru

text: Modyfikuję wtyczkę `Wordpress Frontend User` dla moich niestandardowych typów postów. To, co muszę edytować, to niestandardowe terminy taksonomii. Aby to zrobić, muszę umieścić moje terminy jako etykiety i mieć pola wyboru powiązane z etykietami (ostatecznie powiązane z taksonomią, gdy wysyłam aktualizację posta). To co mam teraz jest następujące: $jobsTerms = get_terms('jobtype',array('taxonomy' => 'jobtype')); foreach($jobsTerms as $term){ echo "<label for='term-" . $term->slug . „>” . $term->nazwa . „</etykieta>”; echo "<typ danych wejściowych='pole wyboru' name='termin" . $term->slug . "' wartość="" . $term->nazwa . "' /> } Ale poza tym nie wiem, jak sprawdzić, czy ten post ma wybrany termin (jeśli tak, dodaj `checked=checked` do danych wejściowych). aby zaktualizować tę taksonomię po kliknięciu przycisku Prześlij (co uruchamia kilka niestandardowych wywołań `update_post_meta` i wywołanie `wp_update_post`. Jakaś pomoc?


title: Sortuj według niestandardowego typu postu (wiele pętli)

text:
Zmieniłem nieco konfigurację, aby mieć 2 oddzielne typy postów „Opis premium” i „Opis bezpłatny” oraz taksonomię dla kategorii Listing_category. Oto przykład mojej pętli Pomysł polega na tym, aby na stronie archiwum mojej taksonomii wyświetlać aukcje Premium, a następnie aukcje bezpłatne. Wydaje się, że to działa, jednak gdy dodam go do mojej taksonomii_listing_category.php, otrzymuję wyniki, które nie są specyficzne dla mojej taksonomii. Na przykład http://www.domain.com/listing_category/carriers/ powinien zawierać 1 oferty Premium, a następnie bezpłatne z taksonomią Carriers, jednak pokazuje wszystkie taksonomie. Kod znajduje się poniżej <?php $args = array( 'post_type' => 'premium_listing', 'orderby' => 'rand', ); $the_query = nowe WP_Query( $args ); ?> <?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php tytuł_(); ?> <?php koniec; else: ?> <?php get_template_part( 'inc/posts/post-404' );?> <?php endif; ?> <?php rewind_posts(); ?> <?php $args = array( 'post_type' => 'free_listings', 'post_per_page' => 1, 'orderby' => 'rand', ); $the_query = new WP_Query( $args );?> <?php if ( $the_query->have_posts() : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php the_title() ;?> <?php endwhile; else: ?>
Przepraszamy, nie ma postów do wyświetlenia
 <?php endif; ?> Mój motyw nie ma archiwum.php, więc użyłem index.php jako podstawy do stworzenia taksonomii_listing_category.php Wszelkie pomysły Richard. Ryszard


title: Zapytanie o opcje motywu na kartach dotyczące funkcji wywołania zwrotnego add_settings_section

text: Zbudowałem stronę opcji z zakładkami na podstawie niektórych samouczków, które znalazłem, korzystając z interfejsu API ustawień. Oto kod http://pastebin.com/bbSnhFP5 . Dla mnie to wszystko działa dobrze, ale nie jest idealne i jestem pewien, że można to obejść. Problem polega na tym, że kiedy użyłem tego samouczka jako podstawy i dostosowałem go do używania wywołań `add_settings_section()` i `add_settings_field()`, skończyłem z kodem, który używał `register_setting()` (w przeciwieństwie do być może `add_theme_page( )`), aby rozróżnić zakładki (w ten sposób zrobił to samouczek). Oznaczało to, że musiałem użyć `do_settings_fields()` do wydrukowania pól zamiast `do_settings_sections()`, ponieważ `do_settings_sections()` drukuje całą stronę opcji (zdefiniowanych przez `add_theme_page()`) na każdej karcie. Końcowym rezultatem tego jest to, że chociaż muszę mieć wywołania `add_settings_section()` (ponieważ używam `do_settings_section()`) i dlatego muszę mieć dla nich wywołania zwrotne, wywołania zwrotne nie mogą być wykonane w celu zrobienia czegokolwiek ponieważ o ile wiem, jedynym sposobem na wydrukowanie tych wywołań zwrotnych jest użycie `do_settings_sections()`, którego nie mogę użyć, więc wygląda na to, że czegoś mi brakuje. Jako rodzaj hacka użyłem instrukcji switch, która pozwala mi umieścić tekst na początku każdej strony, ale czuję, że musi być lepszy sposób na zrobienie tego i jakiś sposób na zezwolenie na wiele sekcji na karcie. Czy ktoś może coś dodać?


title: Dołącz wtyczkę jQuery do Wordpress

text: Wordpress jest już wyposażony w jQuery. Ale co, jeśli chcę używać wtyczki jQuery na całym blogu? Jaki jest najlepszy sposób umieszczenia w całej witrynie? A co, jeśli chcę umieścić go tylko w jednym konkretnym poście/stronie?


title: Jak tworzyć strony, które nie są indeksowane dla aplikacji ajax

text: Używam sekcji treści na mojej stronie głównej, aby przełączać się między wieloma pętlami z zakładkami ajax, a samouczek kazał mi utworzyć wiele stron i przypisać każdej stronie inny szablon, który zawiera pętlę, którą chcę wyświetlić. Ale robiąc to, tworzę strony najwyższego poziomu, które wyświetlają pętle na pustej stronie bez stylizacji. To sprawia, że myślę, że zostaną zindeksowane, a w wynikach wyszukiwania pojawią się strony bez stylu. Jaki jest właściwy sposób, aby to zrobić?


title: Jak mogę umiędzynarodowić zmienne w funkcji _e() __() itp.?

text: Mam zmienne funkcji intro i życzę dynamicznej internacjonalizacji. Mam następujący kod: _e($widget['description'], MyStaticClass::$i18n_prefix); Kiedy uruchamiam poedit, internacjonalizacja (`$widget['opis']`) nie jest skończona. Jak mogę to dynamicznie? Dziękuję


title: automatyczne wysyłanie wiadomości e-mail w niestandardowym czasie

text: Chcę wysłać automatyczną wiadomość e-mail codziennie o 10:00 Wypróbowałem ten kod $timeN = date('H:i'); $czasS = data('10:00'); if ($timeS == $timeN) { $to = get_option('admin_email'); $nfrom = "moja strona"; $temat = "test"; $ciało = " Cześć"; $nagłówki = 'Od: "'. $nz .'" <' . $do . '>'; wp_mail=$mail($do, $temat, $ciało, $nagłówki); } Działa, jeśli odświeżę stronę. Jeśli strona była odświeżana lub otwierana 10 razy, wysyła 10 wiadomości. Jak mogę to naprawić? Przepraszam, nie jestem programistą i nie mówię dobrze po angielsku.


title: Domyślne włączanie widżetów w tworzeniu motywów niestandardowych

text: W przypadku budowania motywu WP, jeśli pasek boczny nie jest aktywny, czy mogę go włączyć? Ponadto, jeśli pasek boczny jest aktywny i nie zawiera żadnych widżetów, czy mogę je dodać? Jestem twórcą motywów i wtyczek, ale jest to coś, czego jeszcze się nie nauczyłem.


title: Taksonomia WP_query + pobierz wszystkie posty z dwoma terminami z tej samej taksonomii

text: To jest pytanie uzupełniające do Add_query_arg + dwa razy ten sam argument? Chcę uzyskać liczbę postów ze wszystkich postów oznaczonych 2 różnymi tagami z tej samej taksonomii $args2 = array( 'post_type' => 'custom', 'tax_query' => array( 'relation' => 'AND') ); $args['tax_query'][0] = array( 'taxonomy' => 'events', 'field' => 'slug', 'terms' => 'tag1' ); $args['tax_query'][1] = array( 'taxonomy' => 'events', 'field' => 'slug', 'terms' => 'tag-2' ); $zapytanie = nowe WP_Query($args); echo $zapytanie->liczba_postów; Z tym kodem otrzymuję tylko post_count dla jednego z tych tagów. Jak mogę zdobyć jedno i drugie? Nie mogłem znaleźć odpowiedzi w kodeksie Wordpress. Pomoc jest bardzo ceniona.


title: get_option i lista opcji

text: Próbuję pobrać niektóre wartości zapisane w panelu opcji WordPressa, jednak lista opcji, które znalazłem na stronie, wydaje się niekompletna. Może to ja szukam w niewłaściwym miejscu. Po co uzyskać nazwisko autora danego posta?


title: Paginacja komentarzy za pomocą WP_Comment_Query

text:
Tworzę stronę wszystkich komentarzy w mojej witrynie. Poniższe zapytanie jest w zasadzie tym, czego potrzebuję, z wyjątkiem tego, że chcę mieć opcję stronicowania wszystkich komentarzy zamiast ładowania ich wszystkich na jednej stronie. Przeczytałem kilka pytań dotyczących stronicowania i komentarzy, ale dotyczą one głównie wp_list_commments. Przeczytałem tę odpowiedź Pippina, ale nie zawiera ona zbyt wielu szczegółów. Czy ktoś może wskazać mi właściwy kierunek? Nie uważam, że to zduplikowane pytanie i poprawiłoby to stronę kodeksu Wordpress dla WP_Comment_Query, gdyby mogli wyjaśnić, jak stronicować. <?php $args = array( 'number' => 20 'offset' => 20 ); // Zapytanie $comments_query = new WP_Comment_Query; $komentarze = $komentarze_zapytanie->zapytanie( $args ); // Pętla komentarza if ($comments) { foreach ($comments as $comment) { echo '
'. get_the_title($comment->comment_post_ID) . '
'; echo '
' . $comment->comment_content . '
'; } } else { echo 'Nie znaleziono komentarzy.'; } ?>


title: Wyodrębnij i wyświetl PRAWDZIWY pierwszy obraz dołączony do posta - extend the_post_thumbnail()

text: Mam ciekawy problem, który na pewno ktoś tutaj może rozwiązać. Przeszedłem przez kilka różnych wtyczek i fragmentów kodu w poszukiwaniu _idealnego kodu do wyodrębnienia podstawowego obrazu, który ma być powiązany z postem_. Jeśli używany jest nowy element obrazu WP 3.0, oczywiście nie ma problemu, ale istnieje wiele sytuacji, w których post może nie mieć przypisanego „polecanego obrazu”. W takich sytuacjach, jeśli miałbyś użyć standardowego kodu: <?php echo the_post_thumbnail( array(200,200) ); ?> w twoim szablonie... nic nie będzie wyświetlane. Na tego typu sytuacje szukam idealnego rozwiązania. Zasadniczo potrzebuję możliwości przełączenia awaryjnego, gdy the_post_thumbnail nie istnieje, ale nadal potrzebuję również możliwości ustawienia rozmiaru obrazu, tak jak w przypadku kodu z the_post_thumbnail. Uważam, że to „przełączenie awaryjne” powinno mieć dwa kroki: 1. Sprawdź „Galerię multimediów” dla tego postu i znajdź obraz z najwyższą kolejnością sortowania (lub dodany rodzic posta, jak pokazano w poniższej wtyczce) 2. Jeśli nie ma sortowania kolejność jest ustawiona lub jeśli jest pusta, wyodrębnij pierwszy obraz z treści posta. Dobrą wiadomością jest to, że w przypadku dwóch powyższych punktów wydaje mi się, że znalazłem dwa oddzielne fragmenty kodu, które zajmują się tymi żądaniami indywidualnie (skopiowane poniżej do przeglądu), ale nic, co łączy wszystkie trzy elementy w jednym. Podsumowując: zamiast wykonywać kilka wywołań if/then, aby sprawdzić, czy istnieje miniatura posta, a następnie sprawdzać poniższy kod, miałem nadzieję, że ktoś będzie w stanie zapewnić czystą/połączoną funkcję, która pozwoliłaby mi echo pojedynczej funkcji wraz ze zmiennymi rozmiaru, które mogą osiągnąć wszystkie te trzy cele, jak wspomniano powyżej. OTO WYMIENIONE POWYŻEJ BITY KODU: * * * **DLA #1: Pobierz pierwszy obraz na podstawie zamówienia z Galerii multimediów:** Ten kod działa, najpierw wyszukując wszelkie załączniki w tabeli bazy danych wp_posts, które mają Identyfikator „post_parent”, który pasuje do bieżącego posta i jako drugi krok w przypadku postów z wieloma załącznikami graficznymi, zwracając załącznik z polem „menu_order” ustawionym na „1”. Jeśli żadne załączniki graficzne nie pasują do bieżącego identyfikatora posta, wtyczka zwraca „false”. // AUTOMATYCZNE WYDOBYCIE OBRAZÓW NA PODSTAWIE ZAMÓWIENIA POWIĄZANYCH Z GALERII // TEN KOD WYEKSTRAKUJE PIERWSZY OBRAZ NA PODSTAWIE ZAMÓWIENIA W GALERII MULTIMEDIALNEJ // WTYCZKA Z: http://mekosh.org/projects/ordered-thumbnails function ordered_thumbnails( $display = 'prawda', $klasa='' ) { global $post; // pobierz wszystkie załączniki graficzne dla tego posta $images = get_children( array( 'post_type' => 'attachment', 'post_parent' => $post->ID, 'post_mime_type' => 'image', order=>"asc " ) ); // jeśli post ma załączniki graficzne if( $images !== false ) { // znajdź obrazek na pozycji 1 foreach($images as $i) { if ( $i->menu_order == 1 ) { $img_id = $i->ID; } } // jeśli obrazy były nieuporządkowane if ( $img_id == '' ) { $i = array_slice( $images, 0, 1 ); $img_id = $i[0]->ID; } // pobierz dane obrazu $image = wp_get_attachment_image_src( $img_id, 'thumbnail' ); $result = array( 'url' => $obraz[0], 'szerokość' => $obraz[1], 'wysokość' => $obraz[2] ); // czy obraz powinien być wyświetlany, czy dane powinny być zwrócone jako tablica? if ( $display == 'prawda' ) { return _e( '' ); } else { return $wynik; } } else { // post nie zawiera żadnych załączników graficznych return (bool) false; } } // utwórz znacznik szablonu "ordered_thumbnails" add_action( 'ordered_thumbnails', 'ordered_thumbnails', 2 ); * * * **DLA #2: Wyodrębnij pierwszy obraz z treści posta** // TEN KOD POBIERANIE PIERWSZEGO OBRAZU BEZPOŚREDNIO Z TREŚCI POSTU function bm_extract_string($start, $end, $original) { $original = stristr ($oryginał, $start); $przycięte = stristr($oryginał, $koniec); return substr($original, strlen($start), -strlen($przycięte)); } function getFirstImage() { $content = get_the_content(); $pic_string = bm_extract_string('src="','" ',$treść); $rozmiar obrazu = getimagesize($pic_string); list($szerokość, $wysokość, $typ, $atr) = getimagesize($pic_string); $link = pobierz_permalink(); $title = get_the_title($post->post_title); echo ''; }


title: Ogranicz CPT, aby czasami wyświetlać tylko jedną stronę

text: Wyobraź sobie CPT, nazwijmy go „Wiadomości”. Ten typ wiadomości jest używany głównie do wyświetlania krótkich wiadomości w tekście na pierwszej stronie. Ale niektóre z tych wiadomości będą dłuższe, nakazując wyświetlanie tylko fragmentu na pierwszej stronie i posiadanie jednego widoku. Zasadą chyba byłoby to, że tekst użyty na pierwszej stronie umieszczam cały czas we fragmencie, a czasem tylko wpisuję treść. To, o czym myślałem do tej pory: Jeśli żadna nie potrzebowałaby osobnej strony, po prostu wyłączyłbym dla niej opcję `publicly_queryable`. Po prostu pozostawienie jednego widoku dla wszystkiego i wykonanie przekierowania z powrotem na stronę główną, jeśli treść jest pusta, brzmi jak brudny hack. Samo odfiltrowanie tych bez treści prawdopodobnie nie wystarczy. A co z przepisaniem reguł? Wtyczki generujące mapy witryn? Szukaj? Czy jest jeszcze coś, co przegapiłem? Głównie szukam wskazówek co do ogólnego kierunku realizacji tego, niekoniecznie implementacji.


title: W WordPress 3.x nie mam dostępu do wpisów ze wszystkich blogów w sieci

text: Używam WordPressa dużo, ale jestem trochę nowy w multisite. Teraz, gdy wersja 3.0 wprowadziła multisite do głównego rdzenia, czy nie powinna istnieć funkcja łatwej pętli, która pozwalałaby wyświetlać najnowsze posty z całej sieci w pętli, abym mógł wyprowadzać je w PHP tak, jak chcę? Czy ktoś wie, czy to istnieje i po prostu za tym tęsknię?


title: get_term_by wydaje się zawodzić

text:
Kod: print_r($wp->query_vars); echo "

".get_query_var('term'); echo "

".get_query_var('taksonomia'); $term = get_term_by('slug', get_query_var('term'), get_query_var('taksonomia') ); echo "

$termin"; Wyjście: Array ( [titles] => windows-powershell-v2 [taksonomia] => titles [term] => windows-powershell-v2 ) windows-powershell-v2 titles Jak widać, pierwsze trzy wiersze działają poprawnie. Czwarta linia kończy się niepowodzeniem bez błędu - ale kończy wykonywanie strony. Określony termin rzeczywiście istnieje w taksonomii; można to osiągnąć za pomocą adresu URL /titles/windows-powershell-v2/. Masz pojęcie, co robię źle?


title: Jak wyświetlić tę samą treść pod wieloma adresami URL?

text: Klient ma obecnie skonfigurowaną witrynę internetową z trzema odrębnymi podstronami (uruchamiaj jedną instalację WordPress), każda z nieco innym motywem (ten sam układ, inny schemat kolorów. Obecnie mam to skonfigurowane, aby każda podstrona była strona, ze wszystkimi jej stronami jako dzieci. header.php sprawdza, która strona jest stroną nadrzędną i zawiera odpowiedni styl.Problem pojawia się ze stronami, które są identyczne w całej witrynie, do których klient chce mieć dostęp z każdej podwitryny jako oddzielna strona. Na przykład strona z informacjami powinna być dostępna z /site1/about i /site2/about i używać motywu dla witryny, która o to poprosiła, ale wyświetlać tę samą treść na obu.Mogłbym po prostu stworzyć dziecko stron i ustaw rel="canonical" tak, aby odwoływał się do oryginału, ale z punktu widzenia konserwacji, lepiej byłoby mieć jedną stronę, z której pobierana jest treść na każdej z podstron. I tak do pytania, jak uzyskać kilka adresów URL/stron, aby pobrać ich zawartość z? pojedyncze źródło? EDYCJA: Oto przykład pożądanej struktury: * **www.example.com** \- Wyświetla linki do trzech głównych usług, a także ogólne informacje * **www.example.com/about** \- Wyświetla informacje o kliencie, stylizowane na www.example.com * **www.example.com/service1** \- Wyświetla nawigację związaną z konkretną usługą, stylizowaną na swój indywidualny kolor, obok ogólnych linków (informacje, kontakt) * **www.example.com/service1/about** \- Wyświetla nawigację i arkusz stylów dla /service1, ale używając treści z www.example.com/about (oraz z kanonicznym odnośnikiem do www.example.com /about) To jest następnie powtarzane dla /service2 i /service3.


title: Opcje niestandardowe pod edytorem stron/postów?

text: Chcę na stałe dodać pola poniżej Edytora wizualnego/HTML dla każdej strony/postu. Nigdy wcześniej nie grałem z polami niestandardowymi i nie jestem pewien, czy to jest droga? Jeśli tak, dziesięć powiedz mi, dobrzy ludzie ze StackExchange, jak osiągnąć coś takiego (szare pola): ![wpisz tutaj opis obrazu](http://i.stack.imgur.com/eerx1.png)


Jak dodać losowy obraz do posta z galerii i pokazać tylko jeden? Wiem jak dodać zdjęcie i galerię. Potrzebuję losowo jednego obrazu z pokazu kuchennego na stronie za każdym razem, gdy strona jest ładowana. Strona powinna wyświetlać tylko jeden obraz na raz. Czy istnieje wtyczka lub krótki kod, aby to zrobić? Wiem, jak zrobić losowe galerie, ale pokazują wszystkie zdjęcia. **Answer** : $args = array( 'post_type' => 'attachment', 'numberposts' => 1, 'orderby' => 'rand', 'post_status' => null, 'post_parent' => get_the_ID( ), 'post_mime_type' => 'obraz' ); mieć_posty(); //musi być w pętli the_post(); //ustaw identyfikator $images = get_children( $args ); if ($images) { foreach ( $images as $attachment_id => $attachment ) { echo wp_get_attachment_image( $attachment_id, 'full'); } } wp_reset_query();


title: Jedna funkcja register_sidebar działa, druga nie?

text: Oto jak mam skonfigurowany kod w pliku funkcji: register_sidebar(array( 'name' => 'Najnowsze aktualizacje', 'before_widget' => '<span>', 'after_widget' => '</span>', 'before_title' => '', 'after_title' => '' )); register_sidebar(array( 'name' => 'BBRB Loves (Szerokość wideo - 200px)', 'before_widget' => '', 'after_widget' => '', 'before_title' => '', 'after_title' => ' ')); Pierwsza funkcja `register_sidebar` jest wywoływana w header.php, a druga funkcja jest wywoływana w index.php. Kiedy wstawiam otwierające i zamykające znaczniki `<span>` w drugiej funkcji (tj. `before_widget` i `after_widget`), wyprowadzane są prawidłowe znaczniki. Ale kiedy wstawiam te same znaczniki otwierające i zamykające `<span>` w pierwszej funkcji, nic nie jest wyprowadzane poza domyślnym `<div class="textwidget">foobar</div>`. Jedyna różnica między nimi polega na tym, że jeden jest wywoływany w nagłówku, a drugi w indeksie. Jednak OBA widżety pojawiają się na pulpicie nawigacyjnym i kiedy wypełniam je tekstem, oba są wyświetlane — tylko nie znaczniki przed/po. Co ja robię źle?


title: Jak mogę dodać przycisk podziału lub pole listy do instancji WordPress TinyMCE?

text: Dodałem niestandardowy przycisk do tinymce, aby wstawić moje shortcodes, ale mam ich tak wiele i zamiast tego chcę zrobić splitbutton i nie wiem jak. Każdy może pomóc. Oto kod, którego użyłem do stworzenia normalnego przycisku: w functions.php : /** Podłącz do WordPressa */ add_action('init', 'onehalf_button'); /** Utwórz naszą funkcję inicjującą */ function onehalf_button() { if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) { return; } if ( get_user_option('rich_editing') == 'prawda' ) { add_filter( 'mce_external_plugins', 'add_plugin' ); add_filter( 'mce_buttons', 'register_button' ); } } /** Zarejestruj przycisk */ function register_button( $buttons ) { array_push( $buttons, "|", "onehalf" ); zwróć $przyciski; } /** Zarejestruj wtyczkę TinyMCE */ function add_plugin( $plugin_array ) { $plugin_array['onehalf'] = get_bloginfo( 'template_url' ) . '/js/tinymce_buttons.js'; return $tablica_wtyczek; } oraz we własnej wtyczce .js // JavaScript Document (function() { tinymce.create('tinymce.plugins.onehalf', { init : function(ed, url) { ed.addButton('onehalf', { title : 'Połowa kolumny', image : url+'/mylink.png', onclick : function() { ed.selection.setContent('[one_half]' + ed.selection.getContent() + '[/one_half]'); } }); }, createControl : function(n, cm) { return null; }, }); tinymce.PluginManager.add('onehalf', tinymce.plugins.onehalf); })(); Znalazłem coś tutaj http://tinymce.moxiecode.com/tryit/listbox_splitbutton.php , ale nie wiem, jak zaimplementować to w WP. Każdy może pomóc? Dziękuję.


title: Pobierz zawartość strony według kategorii lub tagu

text: Próbuję naśladować zachowanie widoków w Drupalu z Wordpressem, ale robię to w szablonach motywów. Teraz mam strony, które są składane za pomocą wp_query w szablonie, aby uzyskać posty należące do określonej kategorii. Ale teraz chcę również móc utworzyć inną stronę, która wykonuje zapytanie, aby uzyskać wszystkie powyższe strony, ale tylko zawartość faktycznie na tych stronach, a nie zawartość w postach na nich. Idąc o krok dalej, chciałbym móc odwoływać się do określonych pól na stronie docelowej i wyświetlać je. Wynik końcowy powinien być rodzajem listy postów na tej stronie z tytułami i wstępami do każdej ze „zmontowanych” stron. Powinienem wspomnieć, że jestem całkiem nowy w Drupalu i Wordpressie i testuję je oba, aby zdecydować, co najbardziej pasuje do mojej witryny (nie bloga!). ale w większości innych aspektów Wordpress wydawał się bardziej odpowiedni. Ale jak wykonać powyższe zadanie w Wordpress? Udało mi się uzyskać pożądany wynik, robiąc to (przynajmniej uzyskując daną stronę i tylko jej zawartość, a nie posty. Ale nie mogę wybrać bardziej szczegółowych informacji): $my_query = new WP_Query( array( ' post_type' => 'strona', 'post__in' => tablica( 76, 151 ) ) ); Ale to oznacza konieczność określenia konkretnych identyfikatorów stron, co jest niepożądane. Chcę, aby użytkownicy mogli dodawać strony, które mają być uwzględnione na stronie podsumowania, po prostu dodając do nich tag lub kategorię. Nie udało mi się jednak użyć kategorii lub tagów do wybrania tej samej treści, co powyżej (mimo że mam zainstalowane wtyczki, aby zezwalać na oba na stronach).


Czy można wyeksportować WordPress z wiersza poleceń? Nie mam na myśli używania `mysqldump` do eksportowania bazy danych, ale tworzenie pliku xml używanego do łatwego importu do innej instalacji WordPressa.


title: Specjalne formatowanie opisu wtyczki WordPress?

text: Ostatnie pytanie, dostarczam opis mojej wtyczki, zobacz część tego o nazwie „Dostosowywanie pola informacji o wtyczce” i nie mogę uruchomić żadnego formatu HTML. Po prostu drukuje się jak normalny tekst. Zastanawiasz się, jak uzyskać w tym formatowanie?


title: Widżetować wtyczkę Buddypress Activity Plus?

text: Czy mimo to można widżetować wtyczkę Activity Plus, abym mógł wyświetlić formularz postu w obszarze widżetów na mojej stronie głównej motywu potomnego Genesis News? Używam widżetu aktywności BP Sitewide, aby wyświetlić strumień aktywności w obszarze widżetów i ma on opcjonalny formularz posta, ale nie wyświetla przycisków Activity Plus. Próbowałem skopiować php z wtyczki Activity Plus do widżetu php (przez Peplamb), ale to nie zadziałało. Próbowałem również użyć haka genesis_after_header, ale bezskutecznie. Nie znam php - po prostu znam "wytnij i wklej". Nie byłem więc w stanie określić, czy jest jakaś konkretna część tego php. Jakaś pomoc?


title: Niestandardowy ciąg portfela

text: Mam pole na mojej stronie administratora portfolio, które pokazuje adres URL, gdy użytkownik pisze adres URL (oczywiście). Chcę, aby gdy użytkownik pisze w polu, wraz z nim pojawiają się elementy. A jeśli pole jest puste, nic nie pokazuje. Kod, który pokazuje, co użytkownik pisze w tym polu to: <?php echo get_post_meta($post->ID, '_url', TRUE);?> Próbowałem: <?php if (strpos($post->ID ,'_url') !== true) { ?> [TREŚĆ] <?php echo get_post_meta($post->ID, '_url', TRUE); ?> [/CONTENT] <?php } ?>


title: Uwzględnienie prefiksów tabel WordPress

text: Biorąc pod uwagę poniższy kod, jak mam uwzględnić prefiks tabeli, który może się zmieniać z instalacji na instalację? Czy istnieje lepszy sposób na napisanie tego niż zapytanie SQL? Czy istnieje zmienna, której pominąłem, która zapewnia prefiks tabeli dla takich czasów? // ustawienie postów z aktualną datą lub starszą do wersji roboczej if (!wp_next_scheduled('sfn_expire_hook')){ wp_schedule_event( time(), 'hourly', 'sfn_expire_hook'); } add_action( 'sfn_expire_hook', 'sfn_show_expire'); funkcja sfn_show_expire() { globalna $wpdb; $server_time = data('mdy'); $result = $wpdb->get_results("SELECT * FROM GrandDn4wP_posts WHERE post_type = 'pokaż' AND post_status = 'opublikuj'"); if( !empty($result)) foreach ($wynik jako $a){ $show_time = get_the_time('mdy', $a->ID); if ( $server_time > $show_time ){ $my_post = array(); $my_post['ID'] = $a->ID; $my_post['post_status'] = 'szkic'; wp_update_post ( $ mój_post ); } } // koniec foreach }


title: W którym momencie podczas typowego żądania obiekt $wpdb staje się dostępny?

text: Napisałem kilka niestandardowych zapytań SQL wewnątrz metody klasy i zauważyłem, że wydają się działać, jeśli podłączę metodę do akcji `wp`. Jeśli podłączę się do akcji `plugins_loaded`, wydają się nie działać. **Moje pytanie:** W którym momencie podczas typowego żądania obiekt `$wpdb` staje się dostępny? Odniesienia: * http://codex.wordpress.org/Plugin_API/Action_Reference * http://codex.wordpress.org/Class_Reference/wpdb


title: Dodanie nowego layoutu dla genesis

text:
Dodałem nowy układ dla frameworka genesis o nazwie "modalwindow". Ten układ powinien wyświetlać tylko zawartość, ponieważ jest to okno modalne ładujące zawartość strony (nie chcę, aby wyświetlany był żaden nagłówek, paski boczne, stopki, menu ani cokolwiek innego, tylko zawartość tej strony). Co mogę dodać, aby wyświetlała tylko zawartość tej strony bez niczego innego? tj: kod do usuwania nagłówka, sidebarów, stopek, menu itp. W tej chwili wybrałem układ "modalwindow" dla strony w WP admin - teraz muszę usunąć wszystko z treści. Kod: // z "/themes/genesis/lib/structure/layout.php" <?php /** * Kontroluje strukturę układu. * * @package Genesis */ add_filter( 'content_width', 'genesis_content_width', 10, 3 ); /** * Ta funkcja filtruje szerokość treści na podstawie układu wybranego przez użytkownika. * * @od 1.6 */ function genesis_content_width( $default, $small, $large ) { switch ( genesis_site_layout() ) { przypadek 'treść o pełnej szerokości': $szerokość = $duża; przerwanie; case 'content-sidebar-sidebar': case 'sidebar-content-sidebar': case 'sidebar-sidebar-content': $width = $small; przerwanie; domyślnie: $szerokość = $domyślna; } return $szerokość; } add_filter('body_class', 'genesis_custom_body_class', 15); /** * Ta funkcja/filtr dodaje niestandardowe klasy treści do * tablicy klas treści. Akceptuje wartości z pola niestandardowego na post/stronę * i wyświetla tylko podczas przeglądania pojedynczej strony. * * @od 1.4 */ function genesis_custom_body_class( $classes ) { $new_class = is_singular() ? genesis_get_custom_field( '_genesis_custom_body_class' ) : null; if ( $nowa_klasa ) $klasy[] = esc_attr( sanitize_html_class( $nowa_klasa ) ); zwróć $klasy;} add_action('genesis_meta', 'genesis_load_stylesheet'); /** * Ta funkcja ładuje arkusz stylów. * Jeśli motyw potomny jest aktywny, ładuje arkusz stylów motywu potomnego, * w przeciwnym razie ładuje arkusz stylów Genesis. * */ function genesis_load_stylesheet() { echo '<link rel="stylesheet" href="'.get_bloginfo('stylesheet_url').'" type="text/css" media="screen" />'."\n "; } add_filter('body_class', 'genesis_header_body_classes'); /** * Ta funkcja/filtr dodaje nowe klasy do  *, dzięki czemu możemy używać pseudozmiennych w naszym pliku CSS, * co pomaga nam osiągnąć wiele układów nagłówków przy minimalnym kodzie * * @od 0.2.2 */ function genesis_header_body_classes($classes) { // dodaj klasy nagłówka do tablicy $classes if ( ! is_active_sidebar( 'header-right' ) ) $classes[] = 'header-full-width'; if ( 'image' == genesis_get_option('blog_tytuł') || 'blank' == get_header_textcolor() ) $classes[] = 'header-image'; // return przefiltrowane $classes return $classes; } add_filter('body_class', 'genesis_layout_body_classes'); /** * Ta funkcja/filtr dodaje nowe klasy do  *, dzięki czemu możemy używać pseudozmiennych w naszym pliku CSS, * co pomaga nam osiągnąć wiele układów strony przy minimalnym kodzie * * @od 0.2.2 */ function genesis_layout_body_classes($classes) { // pobierz układ $site_layout = genesis_site_layout(); // dodaj nową klasę do tablicy $classes if ( $site_layout ) $classes[] = $site_layout; // return przefiltrowane $classes return $classes; } add_action('genesis_after_content', 'genesis_get_sidebar'); /** * Ta funkcja wyprowadza plik sidebar.php *, jeśli określono w opcjach motywu lub opcjach posta * * @since 0.2 */ function genesis_get_sidebar() { // pobierz układ $site_layout = genesis_site_layout(); // nie ładuj paska bocznego na stronach, które go nie potrzebują if ( $site_layout == 'full-width-content' || $site_layout == 'modalwindow' ) return; // wypisz główny pasek boczny get_sidebar(); } add_action('genesis_after_content_sidebar_wrap', 'genesis_get_sidebar_alt'); /** * Ta funkcja wyprowadza plik sidebar_alt.php *, jeśli określono w opcjach motywu lub opcjach posta * * @since 0.2 */ function genesis_get_sidebar_alt() { // pobierz układ $site_layout = genesis_site_layout(); // nie ładuj sidebar-alt na stronach, które go nie potrzebują, jeśli ( $site_layout == 'content-sidebar' || $site_layout == 'sidebar-content' || $site_layout == 'full-width- treść' || $site_layout == 'modalwindow' ) return; // wypisz alternatpasek boczny get_sidebar('alt'); } Kod: // z "/themes/genesis/lib/functions/layout.php" <?php /** * Zarejestruj domyślne układy Genesis. * * @package Genesis */ add_action('genesis_init', 'genesis_create_initial_layouts', 0); /** * Tworzy początkowe układy po uruchomieniu akcji 'init' * * @since 1.4 */ function genesis_create_initial_layouts() { genesis_register_layout( 'content-sidebar', array( 'label' => __('Content-Sidebar' , 'genesis'), 'img' => GENESIS_ADMIN_IMAGES_URL . '/layouts/cs.gif', 'default' => true ) ); genesis_register_layout( 'sidebar-content', array( 'label' => __('Sidebar-Content', 'genesis'), 'img' => GENESIS_ADMIN_IMAGES_URL . '/layouts/sc.gif' ) ); genesis_register_layout( 'content-sidebar-sidebar', array( 'label' => __('Po stronie treścibar-Pasek boczny', 'geneza'), 'img' => GENESIS_ADMIN_IMAGES_URL . '/układy/css.gif' ) ); genesis_register_layout( 'sidebar-sidebar-content', array( 'label' => __('Sidebar-Sidebar-Content', 'genesis'), 'img' => GENESIS_ADMIN_IMAGES_URL . '/layouts/ssc.gif' ) ); genesis_register_layout( 'sidebar-content-sidebar', array( 'label' => __('Sidebar-Content-Sidebar', 'genesis'), 'img' => GENESIS_ADMIN_IMAGES_URL . '/layouts/scs.gif' ) ); genesis_register_layout( 'full-width-content', array( 'label' => __('Treść o pełnej szerokości', 'genesis'), 'img' => GENESIS_ADMIN_IMAGES_URL . '/layouts/c.gif', ) ); genesis_register_layout( 'modalwindow', array( 'label' => __('Układ przewodnika po rozmiarach', 'genesis'), 'img' => DZIECKO_URL . '/images/stcsb.gif', ) ); } /** * Ta funkcja rejestruje nowe układy przez mmodyfikowanie globalnej zmiennej * $_genesis_layouts. * * @od 1.4 */ function genesis_register_layout( $id = '', $args = array() ) { global $_genesis_layouts; if ( !is_array( $_genesis_layouts )) $_genesis_layouts = array(); // Nie zezwalaj na puste $id lub podwójne rejestracje if ( !$id || isset( $_genesis_layouts[$id] ) ) return false; $defaults = array( 'label' => __( 'Nie wybrano etykiety', 'geneza' ), 'img' => GENESIS_ADMIN_IMAGES_URL . '/layouts/none.gif', ); $args = wp_parse_args($args, $defaults); $_genesis_layouts[$id] = $args; return $args; } /** * Ta funkcja pozwala użytkownikowi zidentyfikować układ jako domyślny * w nowej instalacji, a także służyć jako układ zastępczy. * * @od 1.4 */ function genesis_set_default_layout( $id = '' ) {globalne $_genesis_layouts; if ( !is_array( $_genesis_layouts )) $_genesis_layouts = array(); // Nie zezwalaj na puste $id lub podwójne rejestracje if ( !$id || !isset( $_genesis_layouts[$id] ) ) return false; // usuń flagę domyślną dla wszystkich innych układów foreach ( (array)$_genesis_layouts as $key => $value ) { if ( isset( $_genesis_layouts[$key]['default'] ) ) { unset( $_genesis_layouts[$key ]['domyślna'] ); } } $_genesis_layouts[$id]['default'] = prawda; zwróć identyfikator $; } /** * Ta funkcja wyrejestrowuje układy, modyfikując globalną * zmienną $_genesis_layouts. * * @od 1.4 */ function genesis_unregister_layout( $id = '' ) { global $_genesis_layouts; if ( !$id || !isset( $_genesis_layouts[$id] ) ) return false; unset( $_genesis_layouts[$id]); zwróć prawdę; } /** * Ta funkcja zwraca wszystkie zarejestrowane układy Genesis * * @since 1.4 */ function genesis_get_layouts() { global $_genesis_layouts; if ( !is_array( $_genesis_layouts )) $_genesis_layouts = array(); zwróć $_genesis_layouts; } /** * Ta funkcja zwraca dane z pojedynczego układu, * określonego przez przekazany do niego $id. * * @od 1.4 */ function genesis_get_layout( $id ) { $układy = genesis_get_layouts(); if ( !$id || !isset( $layouts[$id] ) ) return; zwróć $układy[$id]; } /** * Ta funkcja zwraca układ, który jest ustawiony na domyślny. * * @od 1.4 */ function genesis_get_default_layout() { global $_genesis_layouts; $default = ''; foreach ( (tablica)$_genesis_layouts jako $klucz => $value ) { if ( isset( $value['default'] ) && $value['default'] ) { $default = $key; przerwanie; } } // zwróć domyślny układ, jeśli istnieje if ( $default ) { return $default; } return 'nolayout'; } /** * Ta funkcja sprawdza zarówno pole niestandardowe, jak i * opcję motywu, aby znaleźć układ witryny * wybrany przez użytkownika i zwraca go. * * @since 0.2.2 */ function genesis_site_layout() { // Jeśli przeglądasz pojedynczą stronę/post if ( is_singular() ) { $custom_field = genesis_get_custom_field( '_genesis_layout' ); $site_layout = $custom_field ? $custom_field : genesis_get_option( 'site_layout' ); } // Jeśli przeglądasz archiwum taksonomii elseif ( is_category() || is_tag() || is_tax() ) { global $wp_query; $term = $wp_query->get_queried_object();$site_layout = $term && isset( $term->meta['layout'] ) && $term->meta['layout'] ? $term->meta['layout'] : genesis_get_option( 'site_layout' ); } // Jeśli przeglądasz archiwum autora elseif( is_author() ) { $site_layout = get_the_author_meta( 'układ', (int)get_query_var('autor')) ) ? get_the_author_meta( 'układ', (int)get_query_var('autor') ): genesis_get_option('site_layout'); } // else pociągnij opcję motywu else { $site_layout = genesis_get_option( 'site_layout' ); } // Użyj domyślnego układu jako zastępczego, jeśli to konieczne if ( !genesis_get_layout( $site_layout )) { $site_layout = genesis_get_default_layout(); } return esc_attr( apply_filters( 'genesis_site_layout', $site_layout ) ); } /** * Funkcja pomocnicza, która wyświetla elementy formularza niezbędne do wybrania układu. * * Musisz manualnieWystarczy zapakować to w element HTML z klasą 'genesis-layout-selector' *, aby CSS i JavaScript działały poprawnie. * * @since 1.7 */ function genesis_layout_selector( $args = array() ) { /** Połącz wartości domyślne z argumentami użytkownika */ $args = wp_parse_args( $args, array( 'name' => '', 'selected' = > '', 'echo' => prawda ) ); $wyjście = ''; foreach ( genesis_get_layouts() as $id => $data ) { $class = $id == $args['selected'] ? 'wybrany' : ''; $output .= sprintf( '
 <input type="radio" name="%4$s" id="%5$s" value="%5$s" %6$s />', esc_attr( $data[' etykieta'] ), esc_attr( $klasa ), esc_url( $dane['img'] ), esc_attr( $args['nazwa'] ), esc_attr( $id ),sprawdzone( $id, $args['selected'], false ) ); } /** Echo lub Return wyjście */ if ( $args['echo'] ) echo $output; w przeciwnym razie zwróć $wyjście; } /** * Funkcja pomocnicza do wykonywania logiki i potencjalnie echo/zwracanie strukturalnego div wrap. * * @since 1.6 */ function genesis_structural_wrap( $context = '', $output = '
', $echo = true ) { $genesis_structural_wraps = get_theme_support( 'genesis-structural-wraps' ); if ( ! in_array( $context, (tablica) $genesis_structural_wraps[0] ) ) return ''; switch( $output ) { case 'open': $output = '
'; przerwanie; wielkość liter 'zamknij': $output = '
'; przerwanie; } if ( $echo ) echo $wyjście; w przeciwnym razie zwróć $wyjście;} /** * Funkcja pomocnicza do zwracania klucza układu 'content-sidebar'. * * @od wersji 1.7 */ function __genesis_return_content_sidebar() { return 'content-sidebar'; } /** * Funkcja pomocnicza do zwracania klucza układu 'sidebar-content'. * * @od wersji 1.7 */ function __genesis_return_sidebar_content() { return 'sidebar-content'; } /** * Funkcja pomocnicza do zwracania klucza układu 'content-sidebar-sidebar'. * * @od wersji 1.7 */ function __genesis_return_content_sidebar_sidebar() { return 'content-sidebar-sidebar'; } /** * Funkcja pomocnicza do zwracania klucza układu 'sidebar-sidebar-content'. * * @od wersji 1.7 */ function __genesis_return_sidebar_sidebar_content() { return 'sidebar-sidebar-content'; } /** * Funkcja pomocnicza do zwracania klucza układu 'sidebar-content-sidebar'. * * @od 1.7 */ funkcjan __genesis_return_sidebar_content_sidebar() { return 'sidebar-content-sidebar'; } /** * Funkcja pomocnicza do zwracania klucza układu 'full-width-content'. * * @od wersji 1.7 */ function __genesis_return_full_width_content() { return 'pełna-zawartość'; } /** * Funkcja pomocnicza do zwracania klucza układu 'modalwindow'. * * @od wersji 1.7 */ function __genesis_return_modalwindow_content() { return 'modalwindow'; }


title: 404 podczas pobierania obrazu z wp-content/uploads/

text: Podczas pobierania obrazów otrzymuję status 404, a http nadal zawiera ten obraz. Obraz pojawia się w przeglądarce, ale kod 404 psuje niektóre aplikacje. wywołania wp-content/uploads/ są przekierowywane w .htaccess: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule (.*) /index.php?getfile=$1 [L ] </IfModule> Dlaczego otrzymuję status 404, jeśli obraz tam jest i jest wyświetlany?


title: niestandardowe tabele użytkowników obsługiwane we wtyczce SharDB?

text: Wypróbowuję wtyczkę SharDB, ale wygląda na to, że nie przestrzega ona moich deklaracji CUSTOM_USER_TABLE i CUSTOM_USER_META_TABLE -- wysyła zapytanie `$shardb_prefix.users` zamiast nazwy mojej niestandardowej tabeli. Czy ktoś wie, czy ta wtyczka ma obsługiwać definicje CUSTOM_USER_TABLE? Dziękuję!


title: Jak usunąć slogan z HTML <title>?

text: Używam domyślnego motywu Wordpress 2011 na nowym blogu, który konfiguruję. Na razie wszystko mam w porządku. Mam doświadczenie z PHP/MySQL i HTML/CSS, ale jeszcze nie używałem WordPressa. Kiedy ustawiłem bloga, poprosiłem o slogan w ogólnych ustawieniach, które podałem. Jest to widoczne poniżej nagłówka bloga, co jest w porządku, jednak nie chcę, aby pojawiało się to w tytule HTML. W tej chwili element `<title>` wygląda tak: "Nazwa bloga | Slogan". Chcę tylko nazwę bloga. Jak mogę to zmienić?


title: Filtrowanie tabeli administratora nie działa dla niestandardowego typu postu

text: Kiedy próbuję filtrować tabelę administracyjną niestandardowego typu postu (posty CPT) za pomocą menu wyboru, przefiltrowana tabela, która się ładuje, pokazuje 0 elementów. To jest struktura adresu URL, która jest tworzona przez przesłanie formularza tabeli filtrów (dodałem podziały wierszy dla czytelności): {HOST}/wp-admin/edit.php ?s &post_status=all &post_type=pies &action=-1 &dog= labrador &filter_action=Filtr &paged=1 &mode=list &action2=-1 Nie ma błędów, wypróbowałem wiele samouczków i niezliczonych poprawek i nie mogę nic zrobić. Czy ktoś ma pojęcie, co się dzieje? Mogę dodać dowolne filtry, akcje, funkcje, deklaracje, których użyłem do tego pytania, jeśli byłyby przydatne - po prostu daj mi znać, co byłoby pomocne.


title: Wypisz the_title() wewnątrz the_content()

text:
Jestem pewien, że to niemożliwe, ale pomyślałem, że zapytam. Mam sekcję z referencjami, html każdej opinii wygląda tak
 referencja tutaj bla, bla, bla, bla, bla, bla, bla, bla Imię osoby
 Teraz w WP mam referencje jako typ postu Custom. Nazwa osoby to tytuł, a referencja to treść. Czy mogę wypisać post z referencjami, aby wyglądał jak html. Więc byłby to tytuł w 'em', który jest w 'p' zawartości. Wiem, że mógłbym dodać nazwę do treści w wordpressie, a następnie zrobić kursywę, ale wiem, że klient nie chciałby tego robić.


title: Wybierz pasek boczny z tworzenia strony

text: Tworzę witrynę WP, która musi mieć możliwość tworzenia unikalnych widżetów na podstawie sekcji. Zbudowałem strukturę strony witryny, a następnie zbudowałem strukturę paska bocznego witryny. To wygląda tak... Usługi (sekcja - używa paska bocznego usług) Nazwa usługi (strona - używa paska bocznego usług) Nazwa usługi (strona - używa paska bocznego usług) Branże (sekcja - używa paska bocznego branż) Branża (strona - używa paska bocznego branż) Przemysł (strona - używa paska bocznego Industries) Na stronie tworzenia wpisu Nazwa usługi chciałbym mieć rozwijane menu Wybierz w meta polu z boku, które umożliwia wybór zarejestrowanego paska bocznego. Na przykład podczas tworzenia nowej strony Nazwa usługi chciałbym wybrać pasek boczny Usługi jako żądany pasek boczny dla tej strony. Następnie mógłbym odwołać się do tego obiektu w moim pliku sidebar.php. Powodem, dla którego chcę tę konfigurację, jest to, że nie mam nic do powiązania z tym, co mówi „jeśli ta strona należy do strony nadrzędnej Usługi, chciałbym, aby ten pasek boczny był wyświetlany za każdym razem”. Mogę _mógłbym_ użyć warunków warunkowych i powiązać z nazwą strony, identyfikatorem strony, ślimakiem itp., ale to nie jest elastyczne i nie pasuje do żądania CMS. Co się stanie, jeśli klient zmieni Usługi na Nasze Usługi? co się stanie, jeśli odtworzy stronę Usługi i otrzyma nowy identyfikator? Nie mogę ograniczać mojego klienta do tych konwencji. Nie mogę polegać na wtyczce Widget Logic ani nic podobnego, ponieważ klient nie miałby pojęcia, jak z niej korzystać; najwyraźniej nie został zbudowany dla tłumu z problemami technologicznymi. Każda pomoc lub rada w tym zakresie byłaby bardzo pomocna. A jeśli moja logika w tym, jak to buduję, nie jest właściwa, proszę, powiedz mi, że jestem wielkim głupcem i wyjaśnij, jak najlepiej to zrobić. Dziękuję Ci!


title: Wykonywanie arbitralnego kodu pod określonym adresem URL bez tworzenia posta lub strony?

text: Próbuję dowiedzieć się, z którymi hakami mogę się połączyć, aby odczytać przychodzący adres URL przed faktycznym uruchomieniem zapytania. Szybkie spojrzenie mówi mi, że może `wp_loaded` lub `posts_selection` byłyby dobrym wyborem, ale nie chciałbym przegapić czegoś wyraźnie lepszego dla moich potrzeb. `template_redirect` brzmiało obiecująco, ale wydaje się, że jest wywoływane po wybraniu treści, więc nie sądzę, aby to zadziałało. Myślałem, że przepisanie kodu może pomóc, ale takie jak `generate_rewrite_rules` nie pozwalają na wykonanie dowolnego kodu… wydaje się, że wszystko jest nastawione na przekierowanie do istniejącej treści. Moim celem jest napisanie kodu przekierowania, który nie musi być powiązany z istniejącym fragmentem treści. Znalazłem kilka wtyczek, które robią podobne rzeczy, ale wszystkie wydają się wymagać dodania posta lub strony do systemu, aby dołączyć przekierowanie. Na przykład chcę, aby `/foo/bar` przekierowywał do `/baz`, ale nie chcę tworzyć strony `foo` lub podstrony `foo` o nazwie `bar`.


title: Zrób coś, gdy użytkownik utworzy post (to oczekuje)

text: Jak mam coś zrobić, gdy (normalny) użytkownik tworzy post (który jest przesyłany do zatwierdzenia) Obecnie posiadam: function emailinvestment( $new_status, $old_status, $post_id ) { if ( $old_status != 'new' && $new_status != 'pending' ) { // Zrób coś (nie działa bankomat) } } add_action('transition_post_status','emailinvestment', 10,3); Dzięki za obejrzenie tego :)


title: Wyświetlać posty na osobnej stronie od niektórych autorów?

text: Pracuję nad tym od kilku dni. Próbowałem kodeksu WP, wyszukiwarki Google itp. i wiem, że nie robię czegoś dobrze, ale moja cierpliwość się skończyła :( . Mam 3 autorów. Staram się wyświetlać ich posty na osobnych stronach, więc nie jest zaśmiecanie strony głównej i mogę użyć strony statycznej.Mam szablony stworzone dla wszystkich 3 Chcę wywołać 5 postów z każdego ID autora, aby pokazać na ich stronie.Jeżeli jeden z moich ID autora to 4, jaki byłby najlepszy kod w użyciu?Czy ktoś może mi podać przykład?Będę wdzięczny za każdą pomoc, jaką mogę uzyskać!


title: Przekieruj brakującą paginację do strony bazowej

text: Mam dziwny problem z wp_redirect, którego sam nie potrafię rozwiązać. Próbuję przekierować wcześniej istniejące strony z powrotem do katalogu głównego strony, więc: http://example.com/slug/page/5/?sort=no-image przekieruje z powrotem do http://example.com/ slug/?sort=no-image w przypadku, gdy numer strony już nie istnieje. Podłączyłem się do template_redirect za pomocą funkcji poniżej, ale z jakiegoś powodu znalazłem się w pętli przekierowania. Co ja robię źle? Edycja: zapomniałem wspomnieć, że adres URL kończący się pętlą przekierowania ma również dodany ciąg zapytania. funkcja filter_redirect() { globalne $wp_query, $wp; $requested_url = add_query_arg( $_SERVER['QUERY_STRING'], '', trailingslashit(home_url($wp->request )) ); $redirect_url = preg_replace('#/strona/[0-9]+?(/+)?$#', '/', $requested_url); $bieżąca_strona = (get_query_var('stronicowany')); if ($current_page > $wp_query->max_num_pages) { wp_redirect($redirect_url,301); Wyjście(); } } add_action('template_redirect', 'filter_redirect' );


title: Czy powinienem usunąć_filtr, aby wymienić filtr?

text: Jeśli wtyczka zmodyfikowała jeden z filtrów wp przez "add_filter" i chcę odrzucić tę modyfikację i zmodyfikować filtr wp własnymi kodami. Czy powinienem usunąć filtr wtyczki przed dodaniem własnego filtra?


title: Używać wordpress do wyników szkolnych?

text: Chcę użyć wordpressa jako skryptu wyników szkolnych. Utwórz bazę danych uczniów, przedmiotów i wyników. A użytkownik końcowy pyta o nazwę identyfikatora, aby uzyskać wyniki i dane dla konkretnego ucznia. Czy jest do tego taka wtyczka?


title: Ostatni post według niestandardowego zapytania wyboru

text:
Cześć, to jest kod, który wyświetla ostatni post ze wszystkich kategorii. ale chcę wyświetlić posty z dowolnej kategorii. Nie chcę zmieniać kodu proszę o pomoc. function mdv_recent_posts( $no_posts = 5, $before = '
', $after = '
', $hide_pass_post = true, $skip_posts = 0, $show_excerpts = false, $include_pages = false ) { global $ wpdb; $time_difference = get_settings( 'gmt_offset' ); $now = gmdate( "Y-m-d H:i:s", time() ); $request = "SELECT ID, post_title, post_excerpt, post_date, comment_count FROM $wpdb->posts WHERE post_status = 'opublikuj'"; if ( $hide_pass_post ) $request .= "I post_password ='' "; if ( $include_pages ) $request .= "ORAZ (post_type='post' OR post_type='strona')"; else $request .= "ORAZ post_type='post'"; $request .= "ORAZ post_date_gmt < '$now' ZAMÓWIENIE WEDŁUG LIMITU OPUSZCZANIA post_date $skip_posts, $no_posts"; $posts = $wpdb->get_results($żądanie); $wyjście = ''; if ( $posts ) { foreach ( $posts as $post ) { $post_title = $post->post_title; $permalink = get_permalink( $post->ID ); $date=date('F j, Y', strtotime($post->post_date)); $wyjście .= $przed . ''.$date.''. esc_html( $post_title ) ; if ( $show_excerpts ) { $post_excerpt = esc_html( $post->post_excerpt ); $output.= '
' . $post_wyciąg; } $wyjście .= $po; } } else { $output .= $before . "Nic nie znaleziono" . $po; } echo $wyjście; }


title: Użyj innego szablonu niż author.php dla get_author_posts_url()

text: Mam klienta, który chce mieć dwie strony dla każdego profilu autora: Pierwsza strona - zawiera informacje o użytkowniku, kilka linków do mediów społecznościowych itp. Do tego celu używam author.php. Druga strona - lista wpisów autorów Wszystko zbudowałem, a oto moje pytanie: **Czy istnieje sposób, aby get_author_posts_url() używał szablonu innego niż author.php?**


title: Czy wp śledzi wyświetlenia postów?

text: Chcę wykonać zapytanie i posortować posty według wyświetleń. czy to możliwe? Nie wiem nawet od czego zacząć…


title: Niestandardowe sortowanie taksonomii dla niestandardowego zapytania

text:
Próbuję sortować niestandardowe taksonomie w niestandardowym zapytaniu, które napisałem dla jednej z moich witryn. Nie mogę użyć żadnej niestandardowej wtyczki, ponieważ próbowałem i nie działają z moją bieżącą konfiguracją. add_action('init', 'ecommerce_create_post_type', 1); function ecommerce_create_post_type() { // Utwórz nowy niestandardowy typ postu Najnowsze wiadomości $labels = array( 'name' => _x('Produkty', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Produkty', 'post type singular name'), 'add_new' => _x('Dodaj nowy', 'Produkt'), 'add_new_item' => __('Dodaj nowy produkt'), 'edit_item' => __('Edytuj produkt' ), 'new_item' => __('Nowe produkty'), 'view_item' => __('Wyświetl produkty'), 'search_items' => __('Wyszukaj produkty'), 'not_found' => __('Nie Znalezione produkty'), 'not_found_in_trash' => __('Nie znaleziono produktów w Koszu'), '_builtin' => false, 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'show_ui' => true, 'query_var' => true, 'sort ' => true, 'register_meta_box_cb' => 'icom_meta_boxes', 'rewrite' => array( 'slug' => 'products', 'with_front' => false ), 'capability_type' => 'post', 'hierarchical' => true, 'menu_position' => 20, 'supports' => array('title','editor','thumbnail','custom-fields','excerpt'), 'menu_icon' => ICOMMERCE_DIR.'/ obrazy/koszyk.png' ); register_post_type('produkty',$args); // Kategorie produktów, są hierarchiczne i mogą używać permalinków $labels = array( 'name' => _x( 'Kategorie produktów', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Kategoria produktów', 'taksonomia singular name'), 'search_items' => __( 'Kategorie wyszukiwania'), 'all_items' => __( 'Wszystkie kategorie produktów'), 'parent_item' => __('Kategoria produktów'), 'parent_item_colon' => __ ( 'Nadrzędna kategoria produktu:'), 'edit_item' => __( 'Edytuj kategorię produktu'), 'update_item' => __( 'Aktualizuj kategorię produktu'), 'add_new_item' => __( 'Dodaj nową kategorię produktu' ), 'new_item_name' => __( 'Nazwa nowej kategorii produktów') ); register_taxonomy( 'icomcat', 'products', array( 'rewrite' => array( 'slug' => 'product-category', 'with_front' => false, 'sort' => true, ), 'labels' = > $etykiety, ) ); } używając następującego kodu , pobieram najnowsze produkty <?php global $wpdb; $prefiks=$wpdb->prefiks; $latest_products = $wpdb->get_results( "SELECT a.term_id, a.name FROM ".$prefix."terms a,.$prefix."term_taxonomy b WHERE b.parent=".$prodcatid." i a. term_id=b.term_id i b.taxonomy='icomcat' zamów według a.name opis"); if ( count( $latest_products ) > 0 ) {$count=0; echo '

  <?php $bieżąca_kategoria = single_cat_title("", false); ?>

'; foreach ( $latest_products as $latest_product ) { $count=$count+1; ?> Próbuję posortować te wyniki za pomocą pola daty. jak widać, uruchamiam $latest_products = $wpdb->get_results( "SELECT a.term_id, a.name FROM ".$prefix."terms a,".$prefix."term_taxonomy b WHERE b.parent=". $prodcatid." i a.term_id=b.term_id and b.taxonomy='icomcat' zamówienie według a.name desc"); ale moje wyniki nie są sortowane według daty.


title: Przyspieszenie zapytań SQL dla dużej bazy danych?

text: Używam wtyczki WordPress o nazwie feedwordpress, aby uruchomić witrynę podobną do planety na wordpress (zobacz ją tutaj). Wtyczka jest świetna, z wyjątkiem jednej rzeczy - raz w tygodniu zatrzymuje mój serwer (VPS). W niedawnej wymianie e-maili z webbadminem napisał, co następuje: > Wygląda na to, że zwiększone zużycie zasobów mysql jest spowodowane przez powolne > uruchamianie zapytań przez r-bloggers.com. Oto kopia niektórych dzienników, które > są tworzone. Będziesz musiał > dalej zoptymalizować tę witrynę i bazę danych, aby działały tak wydajnie, jak to tylko możliwe. Jeśli te zmiany zostały > już wprowadzone, najlepszą opcją byłoby rozważenie dużej aktualizacji > VPS ze względu na wysoki poziom zasobów i ruch, których potrzebuje i widzi Twoja witryna. Oto logi: # Czas: 110614 16:11:35 # Użytkownik@Host: rblogger_rblogr[rblogger_rblogr] @ localhost [] # Czas_zapytania: 104 Czas_blokady: 0 Wysłane wiersze: 0 Zbadane wiersze: 54616 SELECT SQL_CALC_FOUND_ROWS wp_rb_wposts_r_r.* FROM 1 1 AND ((guid = '235cbefa4424d0cdb7b6213f15a95ded') LUB (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') LUB (guid = 'http://www.r-bloggers.com/ ?guid=235cbefa4424d0cdb7b6213f15a95ded') LUB (MD5(guid) = '235cbefa4424d0cdb7b6213f15a95ded')) AND wp_rb_posts.post_type IN ('post', 'strona', 'załącznik', 'nav_r. 'opublikuj' LUB wp_rb_posts.post_status = 'przyszłość' LUB wp_rb_posts.post_status = 'szkic' LUB wp_rb_posts.post_status = 'oczekujące' LUB wp_rb_posts.post_status = 'kosz' LUB wp_rb_posts. 'dziedziczy' LUB wp_rb_posts.post_status = 'prywatny') ZAMÓWIENIE WG wp_rb_posts.post_date LIMIT DESC 1570, 10; # User@Host: rblogger_rblogr[rblogger_rblogr] @ localhost [] # Query_time: 237 Lock_time: 0 Rows_sent: 0 Rows_examined: 54616 SELECT SQL_CALC_FOUND_ROWS wp_rb_posts.* FROM wp_rb_posts WHERE = 124f 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') LUB (guid = 'http://www.r-bloggers.com/?guid=235cbefa4424d0cdb7b6213f15a95ded') LUB (MD5(guid) = ' 235cbefa4424d0cdb7b6213f15a95ded')) AND wp_rb_posts.post_type IN ('post', 'strona', 'załącznik', 'rewizja', 'nav_menu_item') AND (wp_rb_posts.post_post_post = 'publish' LUB 's_rbture' = wp_rbture post_status = 'szkic' LUB wp_rb_posts.post_status = 'w toku' LUB wp_rb_posts.post_status = 'kosz' LUB wp_rb_posts.post_status = 'auto-draft' LUB wp_rb_posts.post_status = 'odziedziczony' LUB 'wp. wp_rb_posts.post_date LIMIT DESC 570, 10; # Czas: 110614 16:18:13 # Użytkownik@Host: rblogger_rblogr[rblogger_rblogr] @ localhost [] # Czas_zapytania: 257 Czas_blokady: 0 Wysłane wiersze: 0 Zbadane wiersze: 54616 SELECT SQL_CALC_FOUND_ROWS wp_rb_posts. = '956e208f101562f6654e88e9711276e4') LUB (guid = 'http://www.r-bloggers.com/?guid=956e208f101562f6654e88e9711276e4') LUB (guid = 'http://www.r-bloggers.com/?guid=764156211f ) LUB (MD5(guid) = '956e208f101562f6654e88e9711276e4')) AND wp_rb_posts.post_type IN ('post', 'strona', 'załącznik', 'rewizja', 'nav_menu_item') AND (wp_rb_posts' wp_rstas'p_rsta .post_status = 'przyszłość' LUB wp_rb_posts.post_status = 'szkic' LUB wp_rb_posts.post_status = 'oczekuje' LUB wp_rb_posts.post_status = 'kosz' LUB wp_rb_posts.post_posts.posts. .post_status = 'prywatny') ZAMÓWIENIE PRZEZ wp_rb_posts.post_date LIMIT DESC 570, 10; # Czas: 110614 16:19:02 # Użytkownik@Host: rblogger_rblogr[rblogger_rblogr] @ localhost [] # Czas_zapytania: 83 Czas_blokady: 0 Wysłane wiersze: 0 Zbadane wiersze: 54616 SELECT SQL_CALC_FOUND_ROWS wp_rb_posts.* FROM=1 AND wp_guirb = '6c589e661f03a67b0529fab2f080bfd3') LUB (guid = 'http://www.r-bloggers.com/?guid=6c589e661f03a67b0529fab2f080bfd3') LUB (guid = 'http://www.r-bloggers'661f69f3a? ) LUB (MD5(guid) = '6c589e661f03a67b0529fab2f080bfd3')) AND wp_rb_posts.post_type IN ('post', 'page', 'attachment', 'revision', 'nav_menu_item') AND (wp_rb_posts.posts. .post_status = 'przyszłość' LUB wp_rb_posts.post_status = 'szkic' LUB wp_rb_posts.post_status = 'oczekuje' LUB wp_rb_posts.post_status = 'kosz' LUB wp_rb_posts.post_posts.posts. .post_status = 'prywatny') ZAMÓWIENIE PRZEZ wp_rb_posts.post_date LIMIT DESC 1440, 10; Co prowadzi mnie do mojego pytania - co w tych logach może mi wskazywać, co się dzieje (dlaczego takie zapytania miałyby trwać tak długo?)? czy można je zoptymalizować? Jeśli tak to jak? Dzięki, Tal


title: Trwały sidebar.php

text: Ten pasek boczny nie pozwala na wyrównanie ani do lewej, ani do prawej, dzięki czemu treść poniżej (posty) można umieścić obok niego. Z jednej strony listwa, z drugiej słupki. To jest strona: http://www.joaoalexandre.com/wordpressteste/artigos/ A to index.php: http://pastebin.com/F9khFceg


title: jak wyświetlić wszystkie posty z określonej kategorii na stronie głównej?

text: Staram się wyświetlać wszystkie posty z określonej kategorii na mojej stronie głównej. W tej kategorii jest ponad 70 postów. Chciałbym mieć paginację, aby wyświetlało się tylko 10 postów i mieć ustawioną paginację, aby użytkownicy mogli przejść do następnej strony, klikając numery stron. Czy to możliwe? Oto aktualny kod, który mam globalny $post; $args = array( 'numberposts' => 5, 'offset'=> 0, 'ORDER BY'=>'data', 'order'=>'desc','category' => 1 ); $mojeposty = get_posts( $args ); foreach( $myposts jako $post ): setup_postdata($post); // while(have_posts()):the_post(); $attrs = array( 'src' => $src, 'class' => "", 'alt' => get_the_title(), 'title' => get_the_title(), ); Dzięki Prady


title: 3 kolumny, 3 kategorie, jedno archiwum i paginacja

text:
Mam trzy kolumny, z których każda wyświetla 2 posty, każda z różnych kategorii i każda jest nowym zapytaniem. Te trzy kolumny są wyświetlane na stronie nadrzędnej kategorii, która jest ustawiona na wyświetlanie 6 postów na stronę. $soundPosts = new WP_Query('posts_per_page=2&cat=4&paged=' . get_query_var( 'paged' )); $viewsPosts = new WP_Query('posts_per_page=2&cat=5&paged=' . get_query_var( 'paged' )); $wordsPosts = new WP_Query('posts_per_page=2&cat=6&paged=' . get_query_var( 'paged' )); W tej chwili paginacja działa, ale nie do końca. Wykorzystuje paginację dla głównej kategorii nadrzędnej.

<?php previous_posts_link('< Poprzedni') ?>

<?php next_posts_link('Następny >', '') ?>

 Paginacja działa, ponieważ kategoria nadrzędna zawiera posty i jest ustawiona na pokazywanie 6 postów, ale nie zawsze działa, ponieważ posty nie zawsze są równe rozmieszczone w kolumnach. Jak mogę ręcznie zbudować łącza nawigacyjne, aby uruchamiały powyższe zapytania, a nie domyślną paginację archiwum? I jak i na końcu wszystkich rekordów mogę sprawić, by archiwum zwróciło stronę 404, do użytku z infinte scroll. Warto również zauważyć, że jestem świadomy tego pytania / odpowiedzi, ale nie sądzę, że jest to akceptowalne rozwiązanie, lub w rzeczywistości jest to ta sama konfiguracja, którą mam obecnie. Wielkie dzięki za wszelkie wskazówki!


title: <a>znacznik w register_sidebar

text:
Używam tego widżetu paska bocznego między postami z miniaturami. Kiedy wstawiam tag `<a href="example"><img src="example2"></a>` do widżetu, jego rozmiar i pozycja pokazują rozmiar i pozycję posta, na którą ma wpływ właściwość inline. Chcę, aby nie miało wpływu na właściwość inline, taką jak tag iframe. Czy to możliwe? add_action( 'widgets_init', 'wpse_1111_register_ad_widgets' ); function wpse_1111_register_ad_widgets() { // używana tylko na pierwszej stronie głównej pętli register_sidebar( array ( 'name' => 'front Widget 1', 'id' => 'front_widget_1', 'before_widget' => '
', 'after_widget' => '
' ) ); register_sidebar( array ( 'name' => 'front Widget 2', 'id' => 'front_widget_2', 'before_widget' => '
', 'after_widget' => '
' ) ); } add_action( 'loop_start', 'wpse_1111_show_ad_widgets' ); funkcja wpse_1111_show_ad_widgets() { statyczna $liczba = 0; if ( is_single() ) return; if ( 'loop_start' === current_filter() ) return add_action( 'the_post', __FUNCTION__ ) && add_action( 'loop_end', __FUNCTION__ ); $liczba += 1; if (7 === $liczba) dynamic_sidebar( 'front_Widget_1' ); if ( 13 === $liczba lub 'loop_end' === current_filter() ) { dynamic_sidebar( 'front_Widget_2' ); usuń_działanie( 'post', __FUNKCJA__ ); } }


title: Dlaczego ten wiersz kodu powoduje wyświetlanie albumów ze zdjęciami?

text: W motywie zbudowanym od podstaw używam wtyczki WP Photo Album Plus. W przypadku niektórych książek, których używałem jako przewodników, muszę umieścić ten kod w nagłówku, aby komentarze działały na blogu: <?php if ( is_singular() ) wp_enqueue_script ( 'comment-reply'); wp_head(); ?> Umieszczam ten wiersz w nagłówku wszystkich moich niestandardowych motywów, niezależnie od tego, czy witryna zawiera blog, czy nie (moje witryny to wszystkie witryny biznesowe, niektóre zawierają blogi, ale żadne z nich nie są głównie lub tylko blogami). Ta strona nie miała bloga, więc usunąłem ten wiersz kodu. Spowodowało to, że albumy ze zdjęciami przestały pojawiać się na stronach. Skróty pojawiły się zamiast tego jako tekst. Albumy wciąż były w adminie, wtyczka wciąż tam była i wszystko inne nadal działało. Czy ktoś może wyjaśnić połączenie? Dziękuję!


title: Czy istnieje zmienna dla nazwy części szablonu?

text: Jeden, który nazwałeś szablonem za pomocą `get_template_part()` (lub `locate_template()`) jest sposobem na sprawdzenie, w jakim szablonie się znajdujesz. Na przykład, jeśli wywołasz `get_template_part('loop','archive');` z `archive.php`, a następnie pracują w pliku loop-archive.php. czy istnieje sposób na zdefiniowanie zmiennej, która ma nazwę aktualnej części szablonu... więc `$template = 'loop-archive'`. jeszcze lepiej, może w dwóch częściach, czyli 'pętla' i 'archiwum', ale mogę to zrobić z pewnym rozszczepieniem strun. Pytanie nr 10537 wydaje się być trochę powiązane, ale nie obejmuje szablonu _parts_.


title: Struktura dla projektów i klientów

text: Mam klienta, który poprosił o portfolio oparte na WP, w którym przedstawi swoje projekty i klientów, przefiltrowane według kategorii i tagów. Chcą również filtrować wszystkie projekty wykonane dla konkretnego klienta. Postanowiłem używać zwykłych postów do projektów, ale nie jestem pewien, co byłoby dobrym ustawieniem dla klientów. Moim pomysłem jest posiadanie niestandardowego typu posta o nazwie klienci, w którym użytkownik może tworzyć klientów, które są następnie udostępniane na liście wyboru pola niestandardowego w każdym poście. Dałoby to solidną strukturę, ale wydaje się trochę niepotrzebne, aby po prostu użyć niestandardowego typu posta, aby to osiągnąć. Masz pomysły na bardziej efektywne podejście?


title: Automatycznie generowane strony menu

text: Jestem projektantem strony internetowej, którą zleciłem programiście zbudowanej dla mnie w wordpersach. Za każdym razem, gdy tworzona jest nowa strona, jest ona automatycznie dodawana do mojego paska menu. Czy jest to coś, co programista wbudował w kod, czy jest to coś, co mogę wyłączyć?


title: Zmieniono obsługę PHP na DSO - dziwny problem z niestandardowymi polami

text: Mam problem z moją stroną internetową. Strona główna zawiera listę artykułów (linki zewnętrzne), które są podzielone na kategorie, a także podają źródło artykułu (strona internetowa, na której artykuł jest opublikowany). Te źródła to pola niestandardowe, które wypełniam w edytorze postów wordpress. Problem polega na tym, że każdy artykuł pokazuje teraz to samo źródło, podczas gdy dla każdego artykułu wymieniłem inne źródło. Dziwne rzeczy działy się odkąd zmieniłem obsługę PHP na DSO. Problem pojawił się po zmianie handlera, więc mam duże wątpliwości, że może to być powiązane. Czy widzisz obejście tego problemu? Dziękuję


title: Kod nie zapętla się po wszystkich produktach z danej kategorii

text:
Próbuję pobrać wszystkie produkty dla danej kategorii zarządzanej przez wtyczkę wp e-commerce, ale kod, którego używam, nie zapętla wszystkich zwracanych produktów. Cały kod jest rodzajem API do wyszukiwania produktów i zwracania ich później do zewnętrznej aplikacji z JSON. Po pierwsze , to jest cały kod, którego używam: $catid = $_REQUEST['catid'];//pobierz identyfikator kategorii z adresu URL $term1 = get_term($catid,'wpsc_product_category'); getdetails($term1->slug,$term1->term_id,$host,$term1->parent); echo '----------------------------'.'
'; echo $term1->slug .'
'; echo $term1->term_id.'
'; echo $term1->rodzic.'
'; echo '----------------------------'.'
'; funkcja getdetails ($id,$tid,$host,$cid) { $wpec_product_categories = get_terms('wpsc_product_category', 'hide_empty=0&slug='.$id); echo '-------to jest stos tablicy kategorii produktów--------
'; var_dump($wpec_product_categories).'
'; echo '-----------------------------------------------------
' ; if($wpec_product_categories[0]->liczba != 0) { echo 'liczba to '.$wpec_product_categories[0]->liczba.'
';//tutaj poprawna liczba produktów. Jak na razie wszystko idzie dobrze. foreach($wpec_product_categories jako $wpec_categories){ $wpec_term_id = $wpec_categories->term_id; $wpec_term_name = $wpec_categories->nazwa; $wpec_term_slug = $wpec_categories->slug; $wpec_term_parent = $wpec_categories->rodzic; echo '
--------------------
'; echo $wpec_term_name.'
'; echo $wpec_term_slug.'
'; echo $wpec_term_parent.'
'; echo '
--------------------
'; $wpec_args = array( 'post_status' => 'publish', 'post_type' => 'wpsc-product', 'wpsc_product_category' => $wpec_term_slug ); $wpec_categoryProducts = nowe WP_Query ($wpec_args); while ($wpec_categoryProducts->have_posts()) : $wpec_categoryProducts->the_post(); echo '
---------------------||||||----------------- ---
'; echo 'Treść:'.$wpec_categoryProducts->the_post().'
'; echo '
---------------------||||||----------------- ---
'; echo 'Cena hurtowa produktu: '.wpsc_the_product_price().'
'; $selthumb ="SELECT p.*, pm.* FROM wp_posts as p, wp_postmeta as pm WHERE pm.meta_key = '_thumbnail_id' AND pm.meta_value = p.ID AND p.post_parent = '".wpsc_the_product_id()."' AND p.post_type = 'załącznik'"; $resthumb = mysql_query($selthumb); $rowthumb = mysql_fetch_array($resthumb); $img = stripslashes($rowthumb['guid']) ; if($img != '') { $ścieżka = $img; } else { $selimg = "SELECT * FROM wp_wpsc_meta WHERE meta_key = 'obraz' AND object_id = ".$tid; $resimg = mysql_query($selimg); $rowimg = mysql_fetch_array($resimg); if($rowimg != '') { $path = "http://".stripcslashes($host."/wp-content/uploads/wpsc/category_images/".$rowimg['meta_value']); } else { $selimg = "SELECT * FROM wp_wpsc_meta WHERE meta_key = 'obraz' AND object_id = ".$cid; $resimg = mysql_query($selimg); $rowimg = mysql_fetch_array($resimg); if($rowimg != '') { $path = "http://".stripcslashes($host."/wp-content/uploads/wpsc/category_images/".$rowimg['meta_value']); } else { $selpimg = "SELECT tx.*,m.* FROM wp_term_taxonomy tx,wp_wpsc_meta m WHERE tx.term_id = '".$cid."' AND m.meta_key = 'obraz' AND m.object_id = tx.parent "; $respimg = mysql_query($selpimg); $rowpimg = mysql_fetch_array($respimg); if($rowpimg != '') { $path = "http://".stripcslashes($host."/wp-content/uploads/wpsc/category_images/".$rowpimg['meta_value']); } else { $ścieżka= "fałsz"; } } } } $selcolor = "SELECT * FROM wp_postmeta WHERE post_id = '".wpsc_the_product_id()."' AND meta_key = '_wpsc_color'"; $rescolor = mysql_query($selcolor); $rowcolor = mysql_fetch_array($rescolor); $selsize = "SELECT * FROM wp_postmeta WHERE post_id = '".wpsc_the_product_id()."' AND meta_key = '_wpsc_size'"; $ressize = mysql_query($selsize); $rozmiar wiersza = mysql_fetch_array($rozmiar); $selprice = "SELECT * FROM wp_postmeta WHERE post_id = '".wpsc_the_product_id()."' AND meta_key = '_wpsc_special_price'"; $resprice = mysql_query($selprice); $rowprice = mysql_fetch_array($resprice); $selmanu = "SELECT * FROM wp_postmeta GDZIE post_id = '".wpsc_the_product_id()."' AND meta_key = '_wpsc_manufacturer'"; $resmanu = mysql_query($selmanu); $rowmenu = mysql_fetch_array($resmanu); $product_data = get_post_custom (wpsc_the_product_id()); $product_data['meta'] = Maybe_unserialize( $product_data ); $ image = stripslashes(sb_get_images_for_product( wpsc_the_product_id() )); $lista = rozbij(",",$obraz); $arr[] = array("Identyfikator produktu" => wpsc_the_product_id(),"Tytuł produktu" => wpsc_the_product_title(), "Opis produktu" => wpsc_the_product_description(), "Cena hurtowa produktu" => wpsc_the_product_price(), "Produkt Cena sprzedaży" => '$'.$rowprice['meta_value'], "Id kategorii" => $wpec_term_id,"Nazwa kategorii" => $wpec_term_name,"Obraz produktu" => $ścieżka, "Obrazy składowe produktu" = > $list , "SKU" => wpsc_product_sku(), "Ilość" => $product_data['meta']['_wpsc_stock'][0], "Rozmiar" => $rowsize['meta_value'], "Kolor" => $rowcolor['meta_value'], "Producent" => $rowmenu['meta_value'] ); $i++; koniec; } } } Nie rozumiem, dlaczego pętla foreach i while nie zapętlają wszystkich produktów. Zapętlają tylko pierwsze 7-10 pozycji, chociaż gdy sprawdzam zwróconą ilość produktów, to około 60 sztuk. Moje pytanie brzmi, jak naprawić mój kod, aby zapętlił się na wszystkich produktach? proszę o pomoc iz góry dziękuję.


title: Przekieruj, jeśli ciąg zostanie znaleziony w adresie URL

text: Próbuję przekierować niezalogowanych użytkowników na stronę logowania podczas przeglądania stron związanych z wtyczką. Mój kod działa dobrze, gdy określam, których stron nie mogą wyświetlić, ale próbuję pobrać ciąg z adresu URL, w którym mam problemy. Oto przykładowy adres URL: http://domain.com/idx/city/irvine/ Próbuję wykryć ciąg „idx” w adresie URL. Spojrzałem na reguły przepisywania zdefiniowane we wtyczce IDX, której używam: "idx/city/([^/]+)(?:/page\-(\\d+))?" => 'index.php?idx-action=results&idx-q-Cities=$matches[1]&idx-d-ResultPage=$matches[2]' Próbowałem sprawdzić, czy $_GET['idx-action'] jest ustawiony, ale to nie zadziałało. // Sprawdź zarejestrowanego użytkownika lub przekieruj na stronę logowania/rejestracji add_action('template_redirect','tc_check_if_logged_in'); function tc_check_if_logged_in() { // Jeśli użytkownik nie jest zalogowany, sprawdź strony z ograniczeniami (wewnątrz tablicy) i zignoruj stronę główną/główną oraz strony administratora //if (!is_user_logged_in() && (is_page( array('1306',') 999999','999998',)) && !is_home() && !is_front_page() && !is_admin())) // skomentowano, ponieważ wiem, że ta część działa, jeśli ($_GET['idx-action']) // Sprawdź, czy zapytanie IDX jest ustawione { // Jeśli jest ograniczone, przekieruj do strony logowania, a następnie przekieruj z powrotem do oryginalnej strony $url = add_query_arg( 'redirect_to', get_permalink(), site_url('wp-login.php') ); wp_redirect($url); Wyjście; } } Przepraszam, jeśli pytanie jest niejasne. Dostałem naprawdę paskudnego przeziębienia i nie mogę myśleć!


title: Silnik MySQL kontra zestaw znaków

text: Próbuję, aby moja wtyczka utworzyła nową tabelę. Jestem całkiem nowy w SQL. Znalazłem dwie różne metody tworzenia tabel: ### Metoda I $table_name = $wpdb->prefix . „fajna_tabela”; $sql = "UTWÓRZ TABELĘ $table_name ( [polecenie do ustawienia kolumn przejdź tutaj] ) DOMYŚLNY ZESTAW ZNAKÓW=utf8;"; ### Metoda II if ( ! empty($wpdb->charset) ) $charset_collate = "DOMYŚLNY ZESTAW ZNAKÓW $wpdb->charset"; if ( ! empty($wpdb->sortuj)) $charset_collate .= " SORTUJ $wpdb->sortuj"; $table_name = $wpdb->prefiks . „fajna_tabela”; $sql = "UTWÓRZ TABELĘ $table_name ( [polecenie do ustawienia kolumn przejdź tutaj] ) ENGINE = InnoDB {$charset_collate};"; Jaka jest korzyść z ustawienia domyślnego zestawu znaków w porównaniu z ustawieniem SILNIKA podczas tworzenia nowej tabeli?


title: Łączenie obrazu, aby otworzyć film z YouTube w lightbox/fancybox w wordpressie

text: Oto, z czym mam problemy... Chcę połączyć film z YouTube, aby rozpocząć odtwarzanie w lightbox/fancybox, gdy dana osoba kliknie obraz. Podobnie jak ta strona - http://www.adroll.com/ \- jeśli klikniesz „Kliknij, aby odtworzyć” (który jest obrazem), otworzy się okno (chociaż nie lightbox/fancybox) i wideo rozpocznie się autoodtwarzanie . Najchętniej chciałby to zrobić z możliwie najmniejszym potrzebnym programowaniem. Potrafię wykonać podstawową edycję, ale tak naprawdę nie wiem, jak napisać PHP/javascript


title: Lista wszystkich wpisów typu custom-post: Dodaj parametr roku?

text:
Otrzymałem kiedyś pomoc z następującą funkcją: function get_event_list( $latest = true, $order = 'ASC', $return = false ) { $yesterday = time() - 24*60*60; $porównaj = $ostatni ? '>' : '<'; $bieżący_rok = ''; $args = array( 'post_type' => 'wr_event', //'posts_per_page' => is_archive() ? 16 : -1, 'posts_per_page' => -1, 'meta_key' => 'event_date', 'orderby' => 'meta_value_num', 'order' => $order, 'meta_value' => $yesterday, 'meta_compare' => $compare, /*'tax_query' => array( array( 'taxonomy' => 'event_type', 'field' => 'slug', 'terms' => 'empfehlungen', 'operator' => 'NOT IN' ), )*/ ); $pętla = nowe WP_Query( $args ); // if funkcja nie powinna zwracać żadnych wiadomości if ( $loop->have_posts() && $return ) return true; echo '
'; while ( $loop->have_posts() ): $loop->the_post(); globalny $post; $ten_rok = get_post_meta( $post->ID, 'data_zdarzenia', prawda ); $ten_rok = data('Y', (int)$ten_rok); if ( !$latest && ( $ten_rok != $bieżący_rok ) ) : if ($bieżący_rok != '') echo '

'; echo '

' . $w tym roku . '
Pokaż archiwa

'; $bieżący_rok = $bieżący_rok; endif; get_template_part( 'inc/event', 'item' ); koniec; if ($bieżący_rok != '') echo '

'; wp_reset_postdata(); echo '
'; } Problem jaki mam polega na tym, że ta funkcja pobiera mi wszystkie zdarzenia starsze niż bieżący rok. Jak mogę przekształcić tę funkcję, aby dodać parametr, który otrzyma mnie w każdym roku, w którym przechodzę? Celem, do którego dążę, jest to, aby nie ładować wszystkich zdarzeń naraz, ale raczej po kliknięciu „2011” chcę pobrać te zdarzenia przez ajax. Czy ktoś może mi tutaj pomóc? Z góry dziękuję, Matt


title: Niestandardowe zapytanie var rewrite dla wtyczki widżetu niestandardowych archiwów postów

text: Mam stronę internetową, która wkrótce zostanie dostarczona do klienta. Klient absolutnie chce, aby następujący adres URL nie zawierał dołączonej zmiennej zapytania: http://beta.example.com/inav1/2012/?post_type=new Jak mogę to zrobić? Chciałbyś też, żebym ci pokazał, co zrobiłem do tej pory? Do archiwów używam wtyczki.


title: Zezwalać użytkownikom na udostępnianie postów za pośrednictwem Twittera?

text: Korzystam z narzędzi Twittera, które pozwalają mi automatycznie tweetować moje posty na blogu. To świetnie, ale chciałbym też przycisk, aby czytelnicy mogli łatwo je tweetować. <\--- To, o czym mówię, jest dokładnie takie, jak mały przycisk Twittera obok tego pytania. Jak mogę dodać coś takiego do moich postów na blogu?


title: wstaw numer zamówienia do wiadomości e-mail z potwierdzeniem zamówienia wp e-commerce

text: Witryna klienta nie może korzystać z Paypal, więc ich katalog / koszyk WP-e-Commerce musi teraz korzystać z ręcznych płatności bankowych EFT, aby przyjmować pieniądze od klientów. Klient otrzymuje te informacje bankowe w wiadomości e-mail z potwierdzeniem zamówienia. Gdy klient dokonuje płatności EFT za pośrednictwem strony internetowej swojego banku, ma możliwość wstawienia numeru referencyjnego, który będzie towarzyszył płatności. To jest ciąg tekstu. Chcielibyśmy wysłać numer zamówienia w wiadomości e-mail z potwierdzeniem zamówienia, aby klient mógł użyć numeru zamówienia jako numeru referencyjnego EFT, aby witryna klienta mogła dopasować płatności i zamówienia EFT. **Jak wstawić numer zamówienia do wiadomości e-mail z potwierdzeniem zamówienia?**


title: Jak korzystać z eksportu WP i uzyskać obrazy zawarte w galerii postów

text: Uruchomiłem standardowy eksport wp na pojedynczym niestandardowym typie posta o nazwie produkty. Mam wszystkie pola niestandardowe i to wszystko, ale każdy cpt ma standardową galerię postów. Link do obrazu nie pochodzi z eksportu. Potrzebuję, aby importowane produkty miały tę samą galerię postów, co poprzednia witryna. Nie chcę też dodawać ich ręcznie, ponieważ jest ich sporo. Czy istnieje sposób na wyeksportowanie tego niestandardowego typu postu i przeciągnięcie obrazów? Nie przeszkadza mi ręczne przenoszenie obrazów przez FTP, ale otworzyłem wyeksportowany plik xml i nie ma notacji obrazów połączonych z tym niestandardowym typem postu. używam 3.4


title: Jak naprawić ten błąd: Ostrzeżenie: podano nieprawidłowy argument dla foreach()?

text: Niedawno przeniosłem instalację Wordpress z mojej lokalnej instancji na serwer deweloperski. Aby przenieść, zainstalowałem czystą wersję wordpress 3.4, przeniosłem dokładne duplikaty struktury pliku i użyłem funkcji importu / eksportu, aby wprowadzić posty. Następnie wszedłem i ustawiłem niezbędne widżety i ustawienia. Robiłem to 100 razy i nigdy nie miałem tego problemu. Oto błąd: **Ostrzeżenie** : Nieprawidłowy argument podany dla `foreach()` w **/home/content/46/9411746/html/dev/wp-admin/includes/plugin.php** on-line * *1285** Pojawia się tylko w menu administratora. Widzę to, gdy próbuję dodać widżet, zmienić ustawienie, pracować z menu lub zaktualizować metadane posta. Pojawia się w całym menu administratora. Oto funkcja wywołująca błąd w pliku include/plugin.php function remove_menu_page( $menu_slug ) { global $menu; foreach ( $menu as $i => $item ) { if ( $menu_slug == $item[2] ) { unset( $menu[$i] ); zwróć $item; } } return false; } Używam wyglądu > menu i mam dwa zarejestrowane tutaj w functions.php tutaj: add_action( 'init', 'register_my_menus' ); function register_my_menus() { register_nav_menus( array( 'header-nav' => __( 'Nawigacja w głównym nagłówku', 'kyosay' ), 'footer-nav' => __( 'Nawigacja stopką', 'kyosay' ) ) ); } Dokonuję innych dostosowań panelu administracyjnego, zmieniając kolejność niektórych elementów menu i eliminując inne, których moi klienci nie potrzebują. Mogę dołączyć ten kod, jeśli uważasz, że jest to istotne. Ponieważ ten problem występuje w rdzeniu, nie wiem, jak go naprawić. _UWAGA:_ Problem nie występuje w mojej lokalnej kompilacji. Myśli? **Edycja: dodano kod remove_menu_items z functions.php w celach informacyjnych** function remove_menu_items() { remove_menu_page('link-manager.php'); // Linki remove_menu_page('edit-comments.php'); // Komentarze } add_action( 'admin_init', 'remove_menu_items' ); **Aktualizacja:** Usunąłem functions.php jako źródło tego problemu. Wygląda na to, że jest uruchamiany na zdarzeniach Ajax (przeciąganie nowego widżetu na pasek boczny, aktualizowanie metaboksu itp. Zamierzam odinstalować i ponownie zainstalować i sprawdzić, czy nadal się to dzieje. Czy to może mieć coś wspólnego z hostem internetowym (Godaddy) W ogóle nie pojawia się w mojej lokalnej wersji.


title: Czy użytkownik nr 1 (pierwszy użytkownik) może zostać usunięty bez negatywnych skutków?

text: Kiedy tworzysz nową witrynę Wordpress, pierwszym utworzonym użytkownikiem jest użytkownik nr 1 z przypisaną rolą administratora. Czy jest coś specjalnego w użytkowniku nr 1, co sprawiłoby, że usunięcie go byłoby nierozsądne? (Zakładając, że istnieją inni użytkownicy z rolą administratora.)


title: Utwórz krótki kod dla listy niestandardowych tytułów postów z niestandardowymi polami obok

text:
Jestem zakłopotany. Przejrzałem różne strony, ale nie znalazłem dokładnego kodu, którego potrzebuję. Zasadniczo chcę utworzyć listę niestandardowych tytułów postów z datą z jednego z niestandardowych pól dla tego postu obok. Skończę z listą wyglądającą mniej więcej tak: Tytuł posta 1 (z linkiem) ...... Powiązany tytuł posta w polu niestandardowym 2 (z linkiem) ...... " Tytuł posta w polu niestandardowym 3 ( z linkiem) ...... " Pole niestandardowe itp. Chcę móc dodać to do strony za pomocą krótkiego kodu [łodzi]. Wiem, że jestem na dobrej drodze, ale naprawdę zahaszowałem dwa fragmenty kodu. Nie jestem pewien, jak wyciągnąć tablicę ze skryptu php (bit zaczynający się od $args=array) do extract(short code_atts ... Nie jestem również pewien co do końcowej części z
 <?php } wp_reset_query() ', 'post_status' => 'publish', 'posts_per_page' => 15, 'caller_get_posts'=> 1 ); $my_query = null; $my_query = new WP_Query($args); if( $my_query->have_posts() ) { ?>
Lista dostępnych jachtów i katamaranów

 <?php while ($my_query->have_posts()) : $my_query->the_post(); $price = get_post_meta($post->ID, 'price', true); ?>
<?php the_title(); ?><?php echo $cena; ?>
 <?php endw Hile; ?>
 <?php } wp_reset_query(); } add_shortcode("łodzie", "shortcode_łodzie"); Na wypadek, gdyby można było to wykorzystać w jakikolwiek sposób, obecnie używam wtyczki „Wyświetl posty skrócone” autorstwa Billa Ericksona na stronie, ale potrzebuję wyrównania niestandardowego pola „cena”. [display-posts post_type="jacht-na-sprzedaż" order="DSC" orderby="title" posts_per_page="20"] Dziękuję za wszelką pomoc, jakiej możesz mi w tej sprawie udzielić. Nie jestem świetnym koderem php ... jak pewnie można powiedzieć. :) Pozdrawiam, Tracy


title: Wyświetlasz metadane dla niestandardowych typów postów?

text: Jestem zajęty poznawaniem podstaw tworzenia Wordpressa i jak na razie radzę sobie całkiem nieźle. Jednak trafiłem na przeszkodę. Po pierwsze, moja strona testowa to; http://popcorn.canny-creative.com Moje ustawienia czytania są ustawione jako Wordpress, aby wyświetlać „Twoje najnowsze posty” na stronie głównej. ![Ustawienia](http://i.stack.imgur.com/3orA2.png) Jeśli sprawdzisz link, zauważysz, że posty „Hello World” i „Let's Get Chinese Food” zostały „opublikowane przez... .opublikowane w...” metainformacje, a także „Opublikowany w” na dole. Problem polega na tym, że niestandardowy typ postu (movie_reviews) z Shawshank Redemption i The Dark Knight nie pokazuje tych samych wartości. Używam podkreśleń jako punktu wyjścia i myślę, że zawęziłem je do szablonu-tags.php będącego miejscem, z którego pobierane są te informacje. Czy mam rację sądząc, że niestandardowy typ postu nie jest w jakiś sposób uwzględniony? Czy te informacje są „post-meta”? A może źle to wychwyciłem? Wielkie dzięki.


title: Najlepsze praktyki dotyczące korzystania z interfejsu API transients

text: Niedawno natknąłem się na API Transients w Wordpress w nadziei na poprawę wydajności wtyczki, którą próbuję napisać. Zasadniczo wtyczka przechowuje w bazie danych szczegóły produktu z interfejsu API reklamowego produktu amazon. Szczegóły produktu są przechowywane przy użyciu zakodowanej w formacie json reprezentacji tablicy. Teraz próbuję użyć interfejsu API transients, aby za każdym razem, gdy administrator czyści rekordy bazy danych, aktualizuje się również przy użyciu interfejsu API transients. To, co aktualnie robię, to przechowywanie zakodowanej wartości json przy użyciu metody `set_transient`. Coś takiego: $data = array( '123' => "{'tytuł' : '', 'cena' : '', 'marka' : ''}" '456' => ... ); $wartość = json_encode($dane); set_transient('amazon_items', $wartość, 60 * 60); A potem otrzymuję to stamtąd używając `get_transient` $asin = '123'; $data = json_decode(get_transient('amazon_items'), prawda); print_r($dane[$asin]); Czy to jest w porządku, czy powinienem po prostu przechowywać go w formie tablicy, abym mógł po prostu uzyskać do niego bezpośredni dostęp bez użycia `json_decode`? Czy mój przypadek użycia jest akceptowalny, czy jest to przesada? Czy nadal mogę to ulepszyć? Czy istnieje określony limit ilości danych, które mogę przechowywać za pomocą interfejsu API transients? W tym konkretnym przypadku użycia spodziewam się, że będzie to więcej niż 50 MB danych.


title: remove_action z profile_personal_options

text: Chciałbym usunąć akcję `profile_personal_options` (dokładniej schemat kolorów i pole wyboru edytora wizualnego), która pojawia się w `wp-admin/user-edit.php`. Uważam, że jest to tak proste, jak uruchomienie go przez `remove_action()`, ale nie jestem pewien, jaki byłby drugi parametr. Gdzie najlepiej szukać? remove_action('profile_personal_options'); Wcześniej używałem: function of_remove_profile_fields() { if (current_user_can('manage_options') == false) { ?> <style type="text/css"> form#your-profile p+h3, form#your-profile p +h3+tabela { wyświetlanie:brak!ważne;widoczność:ukryte!ważne; } </style> <?php } } add_action( 'admin_print_styles-profile.php', 'of_remove_profile_fields' ); add_action( 'admin_print_styles-user-edit.php', 'of_remove_profile_fields' ); ale wolałbym to zrobić we właściwy sposób. Dziękuję! # Update Ack, wygląda na to, że może być zakodowane na sztywno w `user-edit.php`. Czy powinienem po prostu przejść z metodą CSS? Czy ten obszar jest naprawdę wymagany, czy WP? Dlaczego nie podłączyli się do własnego `do_action('profile_personal_options', $profileuser);`?


title: Generowanie miniatur do wideo

text: Sprawdziłem i przeczytałem wiele postów na temat jednego problemu, który jest o wiele bardziej skomplikowany, niż się wydaje. Mam stronę internetową, która używa wielu filmów z witryny tak, jak z internetu ^^ (usługi takie jak youtube, vimeo, videobuzzy itp.) i chcielibyśmy wygenerować w locie miniaturę osadzonego wideo. Każda usługa korzysta z własnego API, więc powinienem dostosować kod dla każdej, ponieważ jest to zdecydowanie za dużo kodu i nigdy nie mógłbym zarządzać każdą usługą. Serwer WWW proponuje coś takiego : http://embed.ly ale wypróbowałem je i jako przykład filmy z videobuzzy nie działają. Więc to jest częściowe rozwiązanie. Innym rozwiązaniem byłoby skorzystanie z usługi zrzutów ekranu, która mogłaby zażądać adresu URL filmu, wyrenderować go, zrobić migawkę i wygenerować obraz. Kuszące, ale wyniki zwykle dodają opóźnień, a ja muszę znaleźć usługę migawek i wygenerować kod (no cóż, to może być fajna część). Najprościej byłoby zrobić zrzut ekranu i samodzielnie stworzyć obraz, a następnie go przesłać. Wolałbym zaproponować coś bardziej przyjaznego dla użytkownika, ale nie mam więcej pojęcia. Czy ktoś ma jakieś rady na ten temat i czy obraz jest prawidłowy? Dziękuję Ci. _**_ADDENDUM **** Gdybym mógł, zamiast miniatur, po prostu osadzić wideo (zwykle iframe) w określonym rozmiarze, to mogłoby załatwić sprawę...


title: Wyjście shortcode zawsze wyświetlane na górze strony

text: moje wyjście shortcode nie pojawi się tam, gdzie je umieściłem, ale raczej na górze treści (na górze treści postu/strony). A oto moja funkcja kodu service_shortcode_index() { global $content; $output = include ( ŚCIEŻKA SZABLONU . '/service.php' ); zwróć $wyjście; } add_shortcode('service_mid', 'service_shortcode_index'); istnieje kilka zwykłych list HTML z widżetem w "service.php" Treść wyświetla się poprawnie, tylko w złej pozycji.


title: Jak określić szerokość i wysokość wyróżnionego obrazu w motywie Twenty Twelve?

text: Próbuję ustawić szerokość, wysokość i pozycję polecanego obrazu dla nowej utworzonej przeze mnie strony.


title: Feedburner już nie działa

text:
Naprawdę nie mam pojęcia, jak dowiedzieć się, co dokładnie jest nie tak, więc szukam tutaj pomocy. Gdy próbuję zweryfikować mój kanał, otrzymuję następujący komunikat o błędzie: Błąd analizy XML: <unknown>:8:17928: mismatched tag ... d/show_ads.js">/*<![CDATA[*/
 /*]]>*/</script>

Następnego dnia... Źródłem jest oryginalny adres URL kanału, a nie sam Feedburner, oczywiście. Plik .js pochodzi z Google Adsense, który zostały ostatnio wdrożone w moich wpisach na blogu. Rozumiem również to: Ponadto interoperacyjność z najszerszym zakresem czytników kanałów można poprawić, wdrażając następujące zalecenie: wiersz 1, kolumna 485: Odniesienie do siebie nie pasuje do lokalizacji dokumentu [pomoc] ... rel="self" type="application/rss+xml" /><link>http://zoomingjapan.com</l ... Źródłem tutaj jest sam Feedburner. Do tej pory zrobiłem to, że usunąłem Adsense prawie całkowicie z mojego bloga. Kanał odzyskał się częściowo. Na początku w kanale nie były wyświetlane żadne najnowsze posty. Teraz są wyświetlane ponownie: http://feeds.feedburner.com/ZoomingJapan wydaje się, że ma to związek z Adsense lub to po prostu wielki zbieg okoliczności. Jednak nadal nie rozumiem, dlaczego nie wyświetla się zwykły układ Feedburner, zamiast tego typowy układ RSS. Wygląda na to, że coś jest nie tak! Czy ktoś może mi powiedzieć, co dokładnie jest nie tak i co muszę zrobić, aby naprawić ten problem? Daj mi znać, jeśli potrzebujesz dodatkowych informacji. Z góry bardzo dziękuję.