title: in_category() i tax_query z niestandardowym typem postu

text:
Używam niestandardowego typu postu, który nazwałem "products" Do tego typu postu dodałem niestandardowe taksonomie o nazwie "products_brand" Obecnie są w nim dwa terminy: "natige" i "osakarovka" Dla mojego niestandardowego post type "products" Stworzyłem własny szablon, który nazwałem single-products.php Jest tak pomyślany, że każdy termin taksonomiczny ("natige" i "osakarovka") musi mieć inny wygląd. Próbowałem to zrobić za pomocą funkcji WP in_category(), ale to nie działa. Proszę powiedz mi, jak mogę napisać mój szablon, aby wykonać ten algorytm: jeśli kategoria to "natige" elseif kategoria to "osakarovka" end Oto mój kod single-products.php: <?php get_header(); ?>

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if ( in_category(array( 'tax_query' => array( 'taxonomy' => 'products_brand', 'field' => 'slug', 'terms' => 'natige' ), 'post_type' = > 'products', 'posts_per_page' => 1, ) ) ) :?>

 < a href=" <?php if (ICL_LANGUAGE_CODE == 'ru'){ echo "/ru/produkciya-natizhe"; } elseif (ICL_LANGUAGE_CODE == 'kz'){ echo "/natizhe-onimi"; } ?>" class="natiact"><?php _e( 'Продукция «Нәтиже»', 'wpml_theme');?> <a href=" <?php if (ICL_LANGUAGE_CODE == 'ru'){ echo "/ ru/produkciya-osakarovka"; } elseif (ICL_LANGUAGE_COD E == 'kz'){ echo "/osakarovka-onimi"; } ?>" class="osahover"><?php _e( 'Продукция «Осакаровка»', 'wpml_theme');?>

<?php the_post_thumbnail( 'strona-produktu' ); ?> <?php if( get_field('dop_izobrazheniye') ): ?> <img style="margin-top: 60px;" alt= "<?php atrybut_tytułu(); ?>" title="<?php atrybut_tytułu(); ?>" src="<?php $obraz = get_field('dop_izobrazheniye'); echo($image['sizes']['product-page']); ?>"/> <?php endif; ?>

<?php the_title(); ?>
 <?php if( get_field(' product_parameter') ): ?> <?php while( has_sub_field('product_parameter') ): ?> <?php if( get_sub_field('pack_volume_fat') ): ?> <?php while( has_sub_field('pack_volume_fat') ): ?>

<?php the_sub_field('pakiet'); ?>
 <?php if (get_sub_field('mass_fat') ): ? >
<?php while( has_sub_field('mass_fat') ): ?> <?php the_sub_field('masa'); ?> <?php the_sub_field('miara'); ?> —  <?php the_sub_field(' otłuszczenie'); ?>
 <?php koniec; ?> <?php endif; ?>
 <?php endwhile; ?> <?php endif; ?> <?php koniec; ?> <?php endif; ?> <?php the_content(); ?>
 <?php wp_reset_query(); ?>

 <?php $orig_post = $post; globalny $post; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'post_type' => 'products', 'posts_per_page'=>6, // Liczba powiązanych postów, które zostanie wyświetlony 'caller_get_posts'=>1 ); $moje_zapytanie = nowe wp_zapytanie ($args ); if( $my_query->have_posts() ) { echo _e( '
Rekomenduj посмотреть
', 'wpml_theme'); echo '
'; while( $my_query->have_posts() ) { $my_query->the_post(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php atrybut_tytułu(); ?>" alt="<?php atrybut_tytułu(); ?>"> <?php the_post_thumbnail( 'produkt-kot' ); ?><?php the_title(); ?>
 <? } } } $post = $orig_post; wp_reset_query(); ?>

 <?php $pc = new WP_Query(array( 'order' => 'ASC', 'orderby' => 'title', 'posts_per_page' => '45', 'post_type' => 'produkty', 'tax_query' => array( array( 'taxonomy' => 'products_brand', 'field' => 'slug', 'terms' => 'natige' ) ) )); ?> <?php while ($pc->have_posts()) : $pc->the_post(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?>
 <?php endwhile; ?> <?php wp_reset_query() ?>

 <?php elseif ( in_category(array( 'tax_query' => array( 'taxonomy' => 'products_brand', 'field' => 'slug', 'terms' => 'osakarovka' ), 'post_type' => 'products', 'posts_per_page' => 1, ) ) ) :?>

 <a href=" <?php if (ICL_LANGUAGE_CODE == 'ru'){ echo "/ru/produkciya-natizhe"; } elseif (ICL_LANGUAGE_CODE == 'kz'){ echo "/natizhe-onimi"; } ?>" class="natihover"><?php _e( 'Продукция «Нәтиже»', 'wpml_theme');?> <a href=" <?php if (ICL_LANGUAGE_CODE == 'ru'){ echo "/ru/produkciya-osakarovka"; } elseif (ICL_LANGUAGE_CODE == 'kz'){ echo "/osakarovka-onimi"; } ?>" class="osaact"><?php _e( 'Продукция «Осакаровка»', 'wpml_theme');?>

<?php the_post_thumbnail( 'strona-produktu' ); ?> <?php if( get_field('dop_izobrazheniye') ): ?> <img style="margin-top: 60px;" alt= "<?php atrybut_tytułu(); ?>" title="<?php atrybut_tytułu(); ?>" src="<?php $obraz = get_field('dop_izobrazheniye'); echo($image['sizes']['product-page']); ?>"/> <?php endif; ?>

<?php the_title(); ?>
 < ?php if( get_field('parametr_produktu') ): ?> <?php while( has_sub_field('parametr_produktu') ): ?> <?php if( get_sub_field('pack_volume_fat') ): ?> <?php while( has_sub_field ('pack_volume_fat') ): ?>

<?php the_sub_field('pack'); ?>
 <?php if (get_sub_field( 'mass_fat') ): ?>
<?php while( has_sub_field('mass_fat') ): ?> <?php the_sub_field('mass'); ?> <?php the_sub_field('measure'); ?> —  <?php the_sub_field('fatn es'); ?>
 <?php endwhile; ?> <?php endif; ?>
 <?php endwhile; ?> <?php endif; ?> <?php koniec; ?> <?php endif; ?> <?php the_content(); ?>
 <?php wp_reset_query(); ?>

 <?php $orig_post = $post; globalny $post; $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'post_type' => 'products', 'posts_per_page'=>6, // Liczba powiązanych postów, które zostanie wyświetlony 'caller_get_posts'=>1 ); $moje_zapytanie = nowe wp_zapytanie ($args ); if( $my_query->have_posts() ) { echo _e( '
Rekomenduj посмотреть
', 'wpml_theme'); echo '
'; while( $my_query->have_posts() ) { $my_query->the_post(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php atrybut_tytułu(); ?>" alt="<?php atrybut_tytułu(); ?>"> <?php the_post_thumbnail( 'produkt-kot' ); ?><?php the_title(); ?>
 <? } } } $post = $orig_post; wp_reset_query(); ?>

 <?php $pc = new WP_Query(array( 'order' => 'ASC', 'orderby' => 'title', 'posts_per_page' => '45', 'post_type' => 'produkty', 'tax_query' => array( array( 'taxonomy' => 'products_brand', 'field' => 'slug', 'terms' => 'osakarovka' ) ) )); ?> <?php while ($pc->have_posts()) : $pc->the_post(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?>
 <?php endwhile; ?> <?php wp_reset_query() ?>

 <?php endif; ?> <?php koniec; else : ?> <?php endif; ?>

 <?php get_footer(); ?> Powiedz mi proszę, co mam poprawić. Wielkie dzięki!


title: Buddypress uzyskaj meta informacje o członku dla określonego identyfikatora użytkownika

text: Próbuję utworzyć widżet „polecany członek” dla witryny Buddypress i używam dodatkowych pól cimy, aby dodać pole wyboru „jest wyróżniony użytkownik”. Mam dodatkowe pola meta użytkownika, które zostały utworzone w systemie profili buddypress, takie jak „skąd jesteś”, które chcę pokazać w widżecie. Jestem w stanie wysłać zapytanie do członków / użytkowników, aby uzyskać identyfikator polecanego użytkownika, więc czy ktoś może poinstruować, jak używać bp_has_members() z określonym identyfikatorem użytkownika, aby uzyskać podstawowe informacje o członkach, takie jak: (gravatar) (nazwa członka), z (gdzie członek pochodzi z), jest naszym wyróżnionym członkiem w tym miesiącu. (link do strony profilu) Dzięki!


title: Większość dozwolonych taksonomii w wyglądzie->Menu

text: Zarządzam dużą listą (300) taksonomii "miejsc" i muszę stworzyć menu z tymi miejscami. system menu WordPress wydaje się być dobrym rozwiązaniem, ale kiedy zapisuję menu, pojawia się błąd przekroczenia limitu czasu PHP. Dlaczego zapisywanie menu trwa tak długo? Czy istnieje zalecany limit liczby terminów, które należy dodać do menu?


title: Jak stworzyłbyś archiwum „tygodniowe”?

text: Zamierzam stworzyć indywidualne archiwa dla każdej kategorii mojej strony internetowej, ale chcę, aby rozbijały się one na tygodnie. Sprawdź linkowany obraz (nie możesz osadzić obrazów jako nowy użytkownik?): http://i.stack.imgur.com/ynHWb.png Tutaj napotykam prawdziwe trudności: 1) Cotygodniowe rozbijanie archiwów, 2) Dodawanie daty na górze 3) Umieszczanie każdego posta jako elementu listy z pewnym kodem HTML… Każda pomoc byłaby niezmiernie wdzięczna!


title: WordPress jako aplikacja internetowa - zawsze automatycznie zapisuj posty i metadane

text: Czy możliwe jest częstsze dokonywanie automatycznych zapisów WordPressa, a wersja automatycznego zapisywania zawsze jest najnowszą wersją - podobnie jak działa Google Docs. Oznaczałoby to, że przycisk aktualizacji nie jest konieczny. odwiedzasz wpis lub niestandardowy typ wpisu, wprowadzasz zmiany, a następnie klikasz do innej części administratora, a zmiany są zawsze zapisywane. Niezbędne byłoby zapisanie wszystkich pól niestandardowych podczas automatycznego zapisywania. (może zobaczymy to w wordpressie w wersji 5.0 ;) Oto mój problem: chcę wstawić pomocne linki w meta polach postów z linkami do innych obszarów administratora, ale nie mogę bez umieszczenia dużego ostrzeżenia obok każdego linku użytkownik do zapisania jako pierwszy! jakieś sugestie?


title: Wtyczka WP-navi i post posortowane alfabetycznie

text: Mam problem z używaniem wtyczki WP-Navi i postami posortowanymi alfabetycznie. Pierwsza strona postów (5 - ustawione w ustawieniach wtyczki) pojawia się poprawnie, ale gdy przechodzi się do kolejnych stron, tracę ten rodzaj. W rzeczywistości nie mogę powiedzieć, jak są sortowane posty - wydaje się, że jest to losowe. Autor wtyczki ma opis tego problemu, ale mówi, że jest on naprawiony w wersji wtyczki, którą posiadam i nie mogę się domyślić, gdzie w kodzie wtyczki do weryfikacji. Czy powinienem porzucić wtyczkę i spróbować zakodować w pliku szablonu lub funkcji? Czy ktoś może pomóc?


title: Niestandardowe typy postów i odpowiadające im pliki motywów

text: Mam niestandardowy typ posta o nazwie „business_sold”, który nie czyta archiwum-business_sold.php, ale zamiast tego czyta index.php. Jednak niestandardowy typ posta poprawnie odczytuje single-business_sold.php. W ten sposób zarejestrowałem niestandardowy typ posta (początkowo za pomocą wtyczki, przez którą działał single-business_sold.php), a następnie ręcznie dodałem następujący kod do functions.php: register_post_type('Business_Sold', array( 'label' => ' Sprzedane firmy','description' => '','public' => true,'show_ui' => true,'show_in_menu' => true,'capability_type' => 'post','hierarchical' => false,' rewrite' => array('slug' => ''),'query_var' => true,'has_archive' => true,'menu_position' => 5,'supports' => array('title','editor' ,'excerpt','trackbacks','custom-fields','comments','revision','thumbnail','autor','page-attributes',),'taxonomies' => array('category', 'post_tag',),'labels' => array ( 'name' => 'Firmy sprzedane', 'singular_name' => 'Firmy sprzedane', 'menu_name' => 'Firmy sprzedane', 'add_new' => 'Dodaj Sprzedana firma', 'add_new_item' => 'Dodaj nową sprzedaną firmę', 'edit' => 'Edytuj', 'edit_item' => 'Edytuj sprzedaną firmę', 'new_ite m' => 'Nowa sprzedana firma', 'view' => 'Wyświetl sprzedaną firmę', 'view_item' => 'Wyświetl sprzedaną firmę', 'search_items' => 'Wyszukaj sprzedane firmy', 'not_found' => 'Nie Znaleziono sprzedane firmy', 'not_found_in_trash' => 'Nie znaleziono sprzedanych firm w koszu', 'parent' => 'Firma nadrzędna sprzedana', )) ); Jakieś pomysły, dlaczego tak się dzieje?


title: Usunięcie obsługi Gravatar.com dla WordPressa i prostych lokalnych awatarów

text:
Obecnie używam Simple Local Avatars na kilku moich blogach, umożliwiając ludziom wgrywanie własnych, niestandardowych awatarów. O ile mi wiadomo, Simple Local Avatars używa `get_avatar`, aby sprawdzić, czy wybrano niestandardowy awatar, jeśli nie, domyślnie jest to Gravatar.com. Czy byłoby możliwe wyłączenie bitu Gravatar.com, całkowite wyłączenie Gravatar.com i zwrócenie tylko lokalnego hostowanego obrazu, jeśli nie wybrano niestandardowego awatara? Mam nadzieję, że będzie dobrze, jeśli napiszę to tutaj, ale byłby to plik Simple Local Avatars <?php /* Nazwa wtyczki: Simple Local Avatars Plugin URI: http://www.get10up.com/plugins/simple-local- avatars-wordpress/ Opis: Dodaje pole przesyłania awatarów do profili użytkowników, jeśli bieżący użytkownik ma uprawnienia do multimediów. Generuje żądane rozmiary na żądanie, tak jak Gravatar! Prosty i lekki. Wersja: 1.2.3 Autor: Jake Goldman (10up), Oomph Inc URI autora: http://www.get10up.com */ // dodaj pole do profili użytkowników class simple_local_avatars { function simple_local_avatars() { add_filter('get_avatar', array($this, 'get_avatar'), 10, 5); add_action('admin_init', array($this, 'admin_init')); add_action('show_user_profile', array($this, 'edit_user_profile')); add_action('edit_user_profile', array($this, 'edit_user_profile')); add_action('personal_options_update', array($this, 'edit_user_profile_update')); add_action('edit_user_profile_update', array($this, 'edit_user_profile_update')); add_filter('avatar_defaults', array($this, 'avatar_defaults')); } function get_avatar($avatar = '', $id_or_email, $size = '96', $default = '', $alt = false) { if (is_numeric($id_or_email)) $user_id = (int) $id_or_email; elseif (is_string($id_or_email)) { if ($user = get_user_by_email($id_or_email)) $user_id = $user->ID; } elseif (is_object($id_or_email) && !empty($id_or_email->user_id)) $user_id = (int) $id_or_email->user_id; if (!empty($user_id)) $local_avatars = get_user_meta($user_id, 'simple_local_avatar', true); if (!isset($local_avatars) || empty($local_avatars) || !isset($local_avatars['full'])) { if (!empty($avatar)) // jeśli wywołane przez filtr return $avatar; remove_filter('get_avatar', 'get_simple_local_avatar'); $avatar = get_avatar($id_or_email, $rozmiar, $domyślny); add_filter('get_avatar', 'get_simple_local_avatar', 10, 5); zwróć $awatar; } if (!is_numeric($size)) // upewnij się, że rozmiar jest prawidłowy $size = '96'; if (pusty($alt)) $alt = get_the_author_meta('display_name', $user_id); // wygeneruj nowy rozmiar if (empty($local_avatars[$size])) { $upload_path = wp_upload_dir(); $avatar_full_path = str_replace($upload_path['baseurl'], $upload_path['basedir'], $local_avatars['full']); $rozmiar_obrazu = zmiana_obrazu($awatar_pełna_ścieżka, $rozmiar, $rozmiar, prawda); if (is_wp_error($image_sized)) // radzić sobie z oryginalną istotą >= do oryginalnego obrazu (lub brak możliwości zmiany rozmiaru) $local_avatars[$size] = $local_avatars['full']; else $local_avatars[$size] = str_replace($upload_path['basedir'], $upload_path['baseurl'], $image_size); update_user_meta($user_id, 'simple_local_avatar', $local_avatars); } elseif (substr($local_avatars[$size], 0, 4) != 'http') $local_avatars[$size] = site_url($local_avatars[$size]); $author_class = is_author($user_id) ? ' aktualny-autor' : ''; $avatar = ""; zwróć $awatar; } function admin_init() { load_plugin_textdomain('simple-local-avatars', false, dirname(plugin_basename(__FILE__)) .'/localization/'); register_setting('dyskusja', 'simple_local_avatars_caps', array($this, 'sanitize_options')); add_settings_field('simple-local-avatars-caps', __('Uprawnienia lokalnego awatara', 'simple-local-avatars'), array($this, 'avatar_settings_field'), 'dyskusja', 'awatary'); } function sanitize_options($input) { $new_input['simple_local_avatars_caps'] = pusty($input['simple_local_avatars_caps']) ? 0:1; zwróć $nowe_wejście; } function avatar_settings_field($args) { $options = get_option('simple_local_avatars_caps'); echo '  <input type="pole wyboru" name="simple_local_avatars_caps" id="simple_local_avatars_caps" value="1" ' . @checked($options['simple_local_avatars_caps'], 1, false) . ' /> ' . __('Zezwalaj tylko użytkownikom z możliwością przesyłania plików na przesyłanie lokalnych awatarów (Autorzy i nowsze)', 'simple-local-avatars') . '  '; } function edit_user_profile($profileuser) { ?>
<?php _e('Avatar', 'simple-local-avatars'); ?>

 <?php _e('Prześlij awatar', 'simple-local-avatars '); ?>	  <?php echo get_avatar($profileuser->ID); ?> 	  <?php $options = get_option('simple_local_avatars_caps'); if (empty($options['simple_local_avatars_caps']) || current_user_can('upload_files')) { do_action('simple_local_avatar_notices'); wp_nonce_field('simple_local_avatar_nonce', '_simple_local_avatar_nonce', fałsz); ?> <input type="file" name="simple-local-avatar" id="simple-local-avatar" />
 <?php if (empty($profileuser->simple_local_avatar)) echo '' . __('Nie ustawiono lokalnego awatara. Użyj pola przesyłania, aby dodać lokalny awatar.', 'simple-local-avatars') . ''; else echo ' <input type="checkbox" name="simple-local-avatar-erase" value="1" /> ' . __('Usuń lokalny awatar', 'proste-lokalne-awatary') . '
 ' . __('Zastąp lokalny awatar, przesyłając nowy awatar lub usuń lokalny awatar (powracając do gravatara) przez zaznaczenie opcji usuwania.', 'simple-local-avatars') . ' '; } else { if (empty($profileuser->simple_local_avatar)) echo '' . __('Nie ustawiono lokalnego awatara. Ustaw swój awatar na Gravatar.com.', 'simple-local-avatars') . ''; else echo '' . __('Nie masz uprawnień do zarządzania mediami. Aby zmienić swój lokalny awatar, skontaktuj się z administratorem bloga.', 'simple-local-avatars') . ''; } ?>

  <?php } function edit_user_profile_update($user_id) { if (!wp_verify_nonce($_POST['_simple_local_avatar_nonce'], 'simple_local_avatar_nonce')) //zwrot bezpieczeństwa; if (!empty($_FILES['simple-local-avatar']['name'])) { $mimes = array( 'jpg|jpeg|jpe' => 'image/jpeg', 'gif' => ' image/gif', 'png' => 'image/png', 'bmp' => 'image/bmp', 'tif|tiff' => 'image/tiff' ); $avatar = wp_handle_upload($_FILES['simple-local-avatar'], array('mimes' => $mimes, 'test_form' => false)); if (empty($avatar['file'])) // obsługuj błędy { switch ($avatar['error']) { case 'Typ pliku nie spełnia wytycznych bezpieczeństwa. Spróbuj innego.': add_action('user_profile_update_errors', create_function('$a', '$a->add("avatar_error",__("Prześlij prawidłowy plik obrazu dla awatara.","simple-local-avatars) "));')); przerwanie; default: add_action('user_profile_update_errors', create_function('$a', '$a->add("avatar_error","".__("Wystąpił błąd podczas przesyłania awatara:","simple-local- awatary")." ' . esc_attr($avatar['błąd']) . '");')); }                     zwrócić; } $this->avatar_delete($user_id); // usuń stare obrazy jeśli się powiedzie update_user_meta($user_id, 'simple_local_avatar', array('full' => $avatar['url'])); // zapisz informacje o użytkowniku (nadpisując stare) } elseif (isset($_POST['simple-local-avatar-erase']) && $_POST['simple-local-avatar-erase'] == 1) $this-> avatar_delete($user_id); } // usuń niestandardowy zaczep get_avatar dla domyślnego wyjścia listy awatarów w options-discussion.php function avatar_defaults($avatar_defaults) { remove_action('get_avatar', array($this, 'get_avatar')); zwróć $avatar_defaults; } // usuń awatary na podstawie funkcji user_id avatar_delete($user_id) { $old_avatars = get_user_meta($user_id, 'simple_local_avatar', true); $ ścieżka_przesyłania = wp_upload_dir(); if (is_array($old_avatars)) { foreach ($old_avatars as $old_avatar) { $old_avatar_path = str_replace($upload_path['baseurl'], $upload_path['basedir'], $old_avatar); @odłącz($stara_ścieżka_awatara); } } delete_user_meta($user_id, 'simple_local_avatar'); } } $simple_local_avatars = nowe proste_lokalne_avatars; if (!function_exists('get_simple_local_avatar')): /* * wydajniejsze wywołanie prostego lokalnego awatara bezpośrednio w motywie i uniknięcie konfiguracji gravatara * * @param int|string|object $id_or_email ID użytkownika, adres e-mail lub obiekt komentarza * @param int $size Rozmiar obrazu awatara * @param string $domyślny adres URL obrazu domyślnego do użycia, jeśli awatar nie jest dostępny * @param string $alt Alternatywny tekst do użycia w tagu obrazu. Domyślnie puste * @return string  tag awatara użytkownika */ function get_simple_local_avatar($id_or_email, $size = '96', $default = '', $alt = false) { global $simple_local_avatars; return $simple_local_avatars->get_avatar('', $id_or_email, $size, $default, $alt); } endif; // przy deinstalacji usuń niestandardowe pole z użytkowników i usuń lokalne awatary register_uninstall_hook(__FILE__, 'simple_local_avatars_uninstall'); function simple_local_avatars_uninstall() { $simple_local_avatars = nowe simple_local_avatars; $users = get_users_of_blog(); foreach ($users jako $user) $simple_local_avatars->avatar_delete($user->user_id); delete_option('simple_local_avatars_caps'); }


title: Wyświetlaj polecany obraz jako miniaturę postu

text: próbuję skonfigurować motyw mobilny dla mojej witryny Wordpress. Moja wersja na komputery używa cotygodniowego motywu themejunkie, a moja wersja mobilna korzysta z motywu dotmobi. motyw Dotmobi wyciąga pierwszy obraz i wyświetla jako miniaturę, gdzie jako motyw tygodniowy wyświetla „polecany obraz” jako miniaturę lub obrazek zdefiniowany w niestandardowej wartości pola „kciuk” Jak mogę wykorzystać tę samą logikę również dla dotmobi? Próbowałem get_thumbnail(), ale to nie działa. Wszelką pomoc w tej sprawie proszę. Próbowałem również umieszczając ten kod w moim functions.php // Pobierz załącznik obrazu (rozmiary: miniatura, średnia, pełna) function get_thumbnail($postid=0, $size='full') { if ($postid<1) $ postid = get_the_ID(); $klucz_kciuka = get_theme_mod('klucz_kciuka'); if($klucz_kciuka) $klucz_kciuka = $klucz_kciuka; w przeciwnym razie $thumb_key = 'kciuk'; $kciuk = get_post_meta($postid, $klucz_kciuka, PRAWDA); // Zadeklaruj pole niestandardowe dla obrazu if ($thumb != null lub $thumb != '') { return $thumb; } elseif ($images = get_children(array( 'post_parent' => $postid, 'post_type' => 'attachment', 'numberposts' => '1', 'post_mime_type' => 'image', ))) { foreach ($images as $image) { $thumbnail=wp_get_attachment_image_src($image->ID, $rozmiar); zwróć $thumbnail[0]; } } else { return get_bloginfo ( 'stylesheet_directory' ).'/images/default_thumb.gif'; } } i wywołał to samo w moim index.php przez <?php echo 'ID).'" rel="bookmark">ID, 'full').'&h='.$height.'&w='.$width.'&zc=1" alt ="'.get_the_title().'" />' ?> Z jakiegoś dziwnego powodu miniatury się nie wyświetlają


title: Mój plik pagination.class.php nie działa w PHP 5.3.10

text:
Mam trochę kodu php + plik o nazwie pagination.class.php, który zawiera mój plik kath.php. Ten kod stronicowania działa świetnie na moim obecnym serwerze z PHP 5.2.x, ale kiedy przeniosłem go na inny serwer z PHP 5.3.x, nie działa. Gdyby ktoś mógł mi pomóc, byłoby świetnie. Ponadto, jeśli istnieje inny kod, którego mógłbym użyć zamiast tego, którego używam, byłoby świetnie. Mój kod kath.php <?php zdefiniuj ("WP_USE_THEMES", false); zdefiniuj ("MAX_PER_PAGE", 3); wymagać ("wp-load.php"); include ("pagination.class.php"); $query = new WP_Query( array( 'showposts' => 25, 'post_type' => 'post', 'numberposts' => -1, ) ); $posty = $zapytanie->get_posts(); $sWszystkieTytuły = tablica(); $sWszystkieDaty = tablica(); $sCała zawartość = tablica(); $iCount = 0; if ($posts) { foreach($posts as $post) { $sAllTitles[$iCount] = $post->post_title; $sAllDates[$iCount] = $post->post_date; $sAllContent[$iCount]= $post->post_content; $PostData[] = array( 'PTitle' => $sAllTitles[$iCount], 'PDate' => $sAllDates[$iCount], 'PCont' => $sAllContent[$iCount] ); $iCount++; } } ?>     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/ xhtml1/DTD/xhtml1-transitional.dtd">   <meta http- equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>WPISY NA BLOGU</title>   <?php if (count($PostData)) { $pagination = new pagination($PostData, (isset($_GET['strona']) ? $_GET['strona'] : 1), MAX_PER_PAGE); $pagination->setShowFirstAndLast(true); $PostPages = $pagination->getResults(); echo $pageNumbers = '
'.$pagination->getLinks().'
'; if (count($PostPages) != 0) { print("
"); drukuj („Moje posty na blogu”); print("

"); foreach ($PostPages as $PostArray) { print ('
'); print ('
' . $PostArray['PTitle'] . '
'); print ('
' . $PostArray['PDate'] . '
'); print ('
'); print ($PostArray['PCont']); drukuj ('
'); drukuj ('
'); drukuj ('
'); } print ($pageNumbers); drukuj („

”); } } wp_reset_postdata(); ?>   Mój plik pagination.class.php /** * Tablica właściwości * @var array * @access private */ private $_properties = array(); /** * Domyślne konfiguracje * @var array * @access public */ public $_defaults = array( 'page' => 1, 'perPage' => 10 ); /** * Konstruktor * * @param array $array Tablica wyników do podziału na strony * @param int $curPage Bieżąca liczba całkowita strony, która powinna zostać użyta * @param int $perPage Ilość elementów, które powinny być wyświetlane na stronie * @return void * @access public */ public function __construct($tablica, $curPage = null, $perPage = null) { $this->array = $array; $this->curPage = ($curPage == null ? $this->defaults['page'] : $curPage); $this->perPage = ($perPage == null ? $this->defaults['perPage'] : $perPage); } /** * Globalny ustawiacz * * Wykorzystuje tablicę właściwości * * @param string $nazwa Nazwa właściwości do ustawienia * @param string $wartość Wartość przypisana właściwości * @return void * @access public */ funkcja publiczna __set($nazwa, $wartość) { $this->_properties[$nazwa] = $wartość; } /** * Getter globalny * * Pobiera parametr z tablicy właściwości, jeśli istnieje * * @param string $name Nazwa właściwości do pobrania * @return mixed Albo właściwość z wewnętrznej tablicy właściwości *, albo fałsz, jeśli jest 't set * @access public */ public function __get($name) { if (array_key_exists($name, $this->_properties)) { return $this->_properties[$name]; } zwróć fałsz; } /** * Ustawia konfigurację pokazu jako pierwszą i ostatnią * * To włączy style "<< first" i "last >>" * linki * * @param boolean $showFirstAndLast True do pokazania, false do ukrycia. * @return void * @access public */ public function setShowFirstAndLast($showFirstAndLast) { $this->_showFirstAndLast = $showFirstAndLast; } /** * Ustawia główny znak rozdzielający * * Domyślnie imploduje pusty łańcuch * * @param string $mainSeperator Separator pomiędzy numerami stron * @return void * @access public */ funkcja public setMainSeperator($mainSeperator) { $this->mainSeperator = $mainSeperator; } /** * Pobierz część wynikową z podanej tablicy * * @return array Zredukowana tablica z poprawnym obliczonym przesunięciem * @access public */ public function getResults() { // Przypisz zmienną strony if (empty($this-> curPage) !== false) { $ta->strona = $ta->curPage; // za pomocą metody get } else { $this->page = 1; // jeśli nie mamy numeru strony, załóżmy, że jesteśmy na pierwszej stronie } // Weź długość tablicy $this->length = count($this->array); // Pobierz liczbę stron $this->pages = ceil($this->length / $this->perPage); // Oblicz punkt początkowy $this->start = ceil(($this->page - 1) * $this->perPage); // zwróć część wyników return array_slice($this->array, $this->start, $this->perPage); } /** * Pobierz linki html dla wygenerowanego przesunięcia strony * * @param array $params Lista parametrów (prawdopodobnie pobierz/wyślij) * do przekazania z każdym żądaniem * @return mieszany Zwróć opis (jeśli istnieje) .. * @access public */ public function getLinks($params = array()) { // Inicjacja tablicy linków $plinks = array(); $linki = tablica(); $slinki = tablica(); // Połącz zmienne get, aby dodać je do ciągu numeracji strony $queryUrl = ''; if (!empty($params) === true) { unset($params['page']); $queryUrl = '&'.http_build_query($params); } // Jeśli mamy więcej niż jedną stronę if (($this->pages) > 1) { // Przypisz link 'poprzednia strona' do tablicy jeśli nie jesteśmy na pierwszej stronie if ($this->page != 1) { if ($this->_showFirstAndLast) { $plinks[] = ' «« Pierwszy  '; } $plinks[] = ' page - 1).$queryUrl.'">« Poprzednia '; } // Przypisz wszystkie numery stron i linki do tablicy for ($j = 1; $j < ($this->pages + 1); $j++) { if ($this->page == $j) { $links[] = ' '.$j.' '; // Jeśli jesteśmy na tej samej stronie co bieżący element } else { $links[] = ' '.$j.' '; // dodaj link do tablicy } } // Przypisz 'następną stronę' jeśli nie jesteśmy na ostatniej stronie if ($this->page < $this->pages) { $slinks[] = ' strona + 1).$queryUrl.'"> Dalej »  '; if ($this->_showFirstAndLast) { $slinks[] = ' pages).$queryUrl.'"> Ostatnie »»  '; } } // Wstaw tablicę do łańcucha używając dowolnego kleju return implode(' ', $plinks).implode($this->mainSeperator, $links).implode(' ', $slinks); }       zwrócić; } }


title: Integracja niestandardowego typu posta z hierarchią stron

text: Tworzę motyw z niestandardowym typem postu dla członków zespołu, mam również następującą strukturę strony: about <-- to jest strona o/członkowie zespołu <-- to jest strona, zawiera listę wszystkich zespołów members about/team-members/joe-bloggs <-- to jest wpis o niestandardowym typie posta (członek zespołu) Trzecia struktura tutaj używa stron about i członków zespołu, ale dalej używa niestandardowego slug typu post, aby wyglądał jakby to rodzice byli członkami zespołu i około. Udało mi się to osiągnąć, ustawiając następujące opcje w niestandardowym typie wpisu: ... 'rewrite' => array( 'slug' => 'about/team-members', 'with_front' => false) ... This działa świetnie, jednak gdy przechodzę do poziomu posta członka zespołu, nie otrzymuję już klas z bieżącej strony, klas z aktualnymi przodkami na stronach nadrzędnych. Wiem, dlaczego tak jest, ponieważ technicznie nie jesteśmy na stronie nadrzędnej tych stron, jednak czy istnieje sposób, aby oszukać/naprawić/włamać się, aby strony pojawiały się jako rodzice? Udało mi się to ładnie osiągnąć, korzystając ze stron dla członków zespołu, jednak zamiast tego wybrano niestandardowy typ postu, aby był łatwy w użyciu dla administratora. Dzięki chłopaki + dziewczyny!


title: Fragmenty stron

text:
Wstawiłem fragment do strony za pomocą przycisku „Więcej” w GUI WP. Mam niestandardowy loop-page.php, z którego chcę wyświetlić fragment. Ale wydaje się, że jest pusty? Czy można wyświetlać fragmenty stron podrzędnych? $pageChildren = get_pages('sort_column=menu_order&hierarchical=0&child_of='.$post->ID); if ( $pageChildren ) { foreach ( $pageChildren as $pageChild ) { echo '
A tytuł to: '. $pageChild->post_title.'
'; print_r($pageChild); if (!empty($pageChild->post_excerpt)){ echo '
ID) . '">' . $pageChild->post_excerpt.'
 '; } echo '
'; } } ![tutaj podaj opis obrazu](http://i.stack.imgur.com/ZtWrv.png)


title: Plik motywu dla wszystkich stron, które są potomkami określonej strony

text: Czy w ramach bieżącej hierarchii nazewnictwa plików motywu można zdefiniować szablon dla wszystkich stron, które są podrzędne względem określonej strony? Na przykład w tej nawigacji: O nas * Kontakt * Kim jesteśmy * Komunikat o treści Czy jest jakiś sposób na utworzenie pliku motywu o nazwie coś w rodzaju: page-about-us-all.php, który zostanie automatycznie zastosowany do wszystkich stron, które są dziećmi O nas? **AKTUALIZACJA** Poszedłem ze zmodyfikowaną wersją tego, co zasugerował Bainternet. Oto funkcja potomna, z którą skończyłem: function is_descendant($ancestor, $tofind = 0) { global $post; if ($tofind == 0) $tofind = $post->ID; $arrpostids = get_post_ancestors($tofind); $arrpostslugs = tablica(); foreach($arrpostids jako $postid) { $temppost = get_post($postid); array_push($arrpostslugs, $temppost->post_name); } return (in_array($ancestor, $arrpostids) || in_array($ancestor, $arrpostslugs)); } // Przykładowe użycie: is_descendant('o-nas'); jest_potomkiem(123); is_descendant('o-nas', 134); To pozwala mi zweryfikować, czy jest to potomek, używając identyfikatora rodzica lub ślimaka. Obawiałem się, że użycie samego identyfikatora może prowadzić do problemu, jeśli strona nadrzędna zostanie przypadkowo wyrzucona do kosza, nie byłoby dobrego sposobu, aby ponownie działała bez konieczności edytowania plików motywu. W przypadku ślimaka istnieje przynajmniej możliwość wskoczenia i utworzenia nowej strony z tym samym ślimakiem i hierarchią.


title: Zainstalowane statystyki Wordpress.com z kluczem API i zapomnianym kluczem. Jak mogę się zarejestrować z nowym kluczem?

text: Próbowałem usunąć wtyczkę, ponownie zainstalować i wprowadzić nowy klucz API. Jednak otrzymuję tę wiadomość: > Właściciel tego klucza API (nazwa użytkownika) nie znajduje się na liście dostępu do tego bloga > (identyfikator bloga). Statystyki zostały zainstalowane przy użyciu innego klucza API. Czy mimo to mogę zainstalować wtyczkę Wordpress.com Stats z nowym kluczem api?


title: Zapętl posty między dwiema datami wybranymi za pomocą jquery datepicker

text: Przeszedłem przez ten link, w którym możemy ograniczyć pętlę do wyświetlania postów tylko między dwiema datami i działa dobrze. Ale jeśli mam Jquery Datepicker z datami `from` i `to`, to jak mogę przekazać wybraną datę wewnątrz klauzuli where? Na przykład, <?php function filter_where($where = '') { $where .= " AND post_date >= 'FromDate' AND post_date <= 'ToDate'"; zwróć $gdzie; } add_filter('posts_where', 'filter_where'); query_posts($query_string); ?> Gdzie `FromDate` i `ToDate` są wybranymi wartościami jquery datepicker.


title: Usuń timthumb.php z mojego niestandardowego motywu

text: Użyłem timthumb.php do obsługi różnego rodzaju formatów obrazów w moim niestandardowym motywie, ale to spowalnia moją witrynę i zwiększa liczbę obrazów na stronie, których wymaga zmiana rozmiaru, przycinanie ich Planuję usunąć timthumb. plik php z mojego motywu. Ponieważ cała moja praca jest w fazie początkowej, więc nie jest to dla mnie cała przeróbka. Jakie może być najlepsze podejście, aby to osiągnąć. Czy jest coś, o co należy zadbać podczas robienia tego?


title: Czy jest jakieś inne miejsce - poza motywem, wtyczką lub mu-pluginem - w którym można użyć strony opcji?

text: Tworzę klasę pomocniczą, aby uprościć tworzenie strony opcji w admin, która mogłaby być użyta w motywie, wtyczce lub wtyczce mu. Staram się, aby instancja klasy była jak najłatwiejsza, więc planuję programowo określić, z którego z tych trzech miejsc jest tworzona instancja klasy. Nie natknąłem się na żaden inny sposób, w jaki strona opcji może być pożądana, ale nie chcę pominąć scenariusza, którego po prostu nie spotkałem lub o którym nie pomyślałem.


title: Pole Opis kategorii jako edytor usuń tag <p>

text: Próbowałem obu wtyczek, aby pole Opis kategorii stało się edytorem z poniższą wtyczką. ale kiedy aktualizuję tekst, usuwam tag http://wordpress.org/plugins/rich-tax-description-editor/ http://wordpress.org/plugins/categorytinymce/ próbowałem również google, ale nie pomogło


title: Uzyskaj Permalink dla najwyższego poziomu nadrzędnego stron podrzędnych

text: Mam następującą strukturę stron: * GÓRNA STRONA * PODSTRONA 1 * POD STRONA 1 * POD STRONA 2 [itd.] Czy na każdej podstronie można wyświetlić link do strony najwyższego poziomu? I jak?


title: Pojedynczy post w zakładce / suwak

text: Udało mi się zakodować system zakładek, który pobiera różne kategorie i niestandardowe taksonomie na stronie głównej i pokazuje względne posty. Czy to możliwe, że gdy ktoś kliknie na jeden z postów w jakiejś konkretnej zakładce, to treść posta może zostać wyświetlona w samej karcie, zamiast przenosić użytkownika do pojedynczego posta (strony z pojedynczym postem)? Oto zrzut ekranu: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/unK74.png)


title: Czy można użyć WP Query do zamówienia według niestandardowej wartości meta i niestandardowej taksonomii?

text: Mam niestandardowy typ posta z niestandardową taksonomią i próbuję wyciągnąć posty z określoną wartością meta wraz z niestandardową taksonomią (w moim przypadku tag). Czy jest to możliwe, a jeśli tak, to jak wyglądałoby zapytanie? Oto fragment tego, jak wyciągam posty z samą wartością meta i działa dobrze. $args = array( 'post_type' => 'box', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'meta_value_num', 'meta_key' => 'position', ' taksonomia' => 'box-cat' ); $pudełka = nowe WP_Query( $args ); To z powodzeniem wyciąga wszystkie posty, które są w kategorii „box-cat” i są uporządkowane według wartości „position”. Ale mam też taksonomię tagów, którą chciałbym dodać do zapytania jako orderby.... Jak to zrobić? Dziękuję!


title: Wyświetlaj polecany obraz na stronie bloga

text: Wykomentowana część jest tym, co dodałem, aby wyciągnąć polecany zestaw obrazów na stronie bloga. Bez tego fragmentu jestem w stanie ustawić obraz lub pobrać z wyróżnionego obrazu strony głównej, jeśli ta strona/post nie ma takiego. Ale kiedy włączę sekcję „page_for_posts”, wszystko inne psuje się i zaczyna generować obraz, który nie jest ustawiony jako funkcja dla niczego. if ( has_post_thumbnail( $post->ID ) ) { $imageInfo = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full' ); $imageUrl = $imageInfo[0]; } //if ( get_option('page_for_posts')) { // $imageInfo = wp_get_attachment_image_src( get_post_thumbnail_id( get_option( 'page_for_posts' ), 'full' ) ); // $imageUrl = $imageInfo[0]; //} if (!has_post_thumbnail($post->ID) ) { $imageInfo = wp_get_attachment_image_src( get_post_thumbnail_id( '46' ), 'full' ); $imageUrl = $imageInfo[0]; } $cssoutput = ".site-header { background-image: url('" . $imageUrl . "'); } \n"; echo "<style type=\"text/css\">" . $cssoutput . "</style>";


title: <ul> wewnątrz <ol> w edytorze

text:
Chcę dodać

Pierwszą listę

Drugą listę

Dodatkową drugą listę

Trzecia listę

 Nie jest to możliwe w edytorze bez ręcznej pracy. Jak możemy to osiągnąć?


title: Strony kategorii a strony z pojedynczymi postami

text: Dla każdej z kilku kategorii istnieje "główny" post, który powinien być wyświetlany na górze strony z listą kategorii. Czy te strony (gdzie wyświetlane są zarówno „główne” posty, jak i lista pozostałych postów dla kategorii) powinny być stronami kategorii czy stronami pojedynczych postów (z szablonem)? Także: Czy powinienem przypisać post odpowiadający kategorii lub kategorii odpowiadającej postowi?


title: Używanie jquery-1.7.2.min.js zamiast wordpress jquery

text: Próbowałem wyrejestrować natywne jquery wordpress i użyć mojej wersji, którą pobrałem. Na początku wszystko działało dobrze z rezydentnym jquery wordpress, chociaż zamieniłem `$` na `jQuery` w moim skrypcie `custom.js`. Używam media-uploadera w moim motywie i dodałem skrypty za pomocą tego kodu; function wptuts_options_enqueue_scripts() { wp_register_script( 'wptuts-upload', get_template_directory_uri() .'/admin/js/mlimage.js', array('jquery','media-upload','thickbox') ); wp_enqueue_script('jquery'); wp_enqueue_script('thickbox'); wp_enqueue_style('thickbox'); wp_enqueue_script('przesyłanie mediów'); wp_enqueue_script('wptuts-upload'); } add_action('admin_enqueue_scripts', 'wptuts_options_enqueue_scripts'); Mam ten kod, aby dodać moją niestandardową funkcję jquery en_jquery() { wp_deregister_script( 'jquery' ); wp_register_script( 'daskustomjquery', get_template_directory_uri() . '/admin/js/jquery-1.7.2.min.js' ); wp_enqueue_script( 'daskustomjquery' ); } add_action( 'admin_enqueue_scripts', 'en_jquery' ); Za każdym razem, gdy próbuję wykluczyć jquery z tablicy tej linii, `wp_register_script( 'wptuts-upload', get_template_directory_uri() .'/admin/js/mlimage.js', array('jquery','media-upload','thickbox') );` żaden ze skryptów nie zostanie załadowany. Czy można wykluczyć wordpress jquery i użyć pobranego przeze mnie `jquery-1.7.2.min`?.


title: Wstawianie PHP do do_shortcode

text: Próbuję użyć istniejącego shortcode dla elementu akordeonu w niestandardowym szablonie dla mojej witryny wordpress. Zasadniczo muszę wstawić tablice PHP do tego krótkiego kodu, tak jak: <php do_shortcode('[vc_accordion]';> Tablice PHP tutaj <php do_shortcode('[/vc_accordion]';> Czy ktoś wie, czy jest rozwiązanie?)


title: Musisz dodać regułę przepisywania, która dodaje dodatkowe informacje o poście do adresu URL

text: A mają typ wpisu dla „miejsc”, które mają atrybuty „tytuł”, „stan” i „przedmieście”. Obecnie używam domyślnych permalinków WordPress otrzymuję następujący format: `mojastrona.com/miejsce/{tytuł}` Jednak chciałbym mieć pełny adres URL: `mojastrona.com/miejsce/{stan}/{przedmieście}/ {tytuł}` Ta informacja jest czymś, co można pobrać z bazy danych, z linkami bezpośrednimi poza formatem adresu URL: `moja_strona.com/?venue=tytuł` Myślę, że w jakiś sposób można ją pobrać za pomocą identyfikatora. .. Moje pytanie brzmi, jak utworzyć regułę przepisywania, która pobiera te informacje na podstawie `post_id` lub `title`, aby utworzyć adres URL w tym formacie? Czy to w ogóle możliwe?


title: Odłączanie niepowiązanych obrazów

text: Jak rozumiem domyślne zachowanie WP: Kiedy przesyłasz obraz do posta i zapisujesz go (jako wersja robocza lub opublikowany post), obraz zostaje „dołączony” do posta. Można to dwukrotnie sprawdzić, przechodząc do Media> Biblioteka> kolumna „Przesłane do”. Aby oznaczyć obraz jako nie dołączony do dowolnego postu, należy to zrobić ręcznie, usuwając post. (Czy jest inny sposób?) Moje główne pytanie brzmi: Czy istnieje sposób, abym powiedział WordPressowi, aby oznaczył obrazy jako „niedołączone”, jeśli nie są one wstawione lub połączone w _jakichkolwiek_ istniejących postach? _edytuj_ Dla wyjaśnienia: 1. Przesyłamy 20 (lub więcej) zdjęć do posta i wstawiamy je. Wszystkie są automatycznie dołączane przez WordPress do posta. Chcemy, aby tak się stało, ponieważ nasz szablon motywu pobiera wszystkie załączone obrazy na post. 2. Zanim post zostanie opublikowany, jest edytowany, a niektóre obrazy są usuwane i nie będą ponownie używane. 3. Szukamy sposobu na wykrycie, które obrazy nie są używane* w poście, i automatyczne odłączenie ich od tego posta. Dzieje się tak, abyśmy mogli po prostu przejść do `Biblioteki> Niedołączone`, zaznaczyć je wszystkie i usunąć. * Pierwotnie użyłem terminu „niepołączone”, ponieważ wszystkie wstawione obrazy są „”, więc może to pomóc w wykryciu tego, co jest używane, ponieważ link do obrazu jest obecny w poście.


title: Jak stworzyć szablon strony, który pobiera treść z db?

text: Muszę stworzyć setki stron z treścią, które mają tę samą strukturę. Na przykład: [Tytuł] - [Napisy] [Opis] [Specyfikacje] - [Specyfikacja-A] - [SpecyfikacjaB] - [SpecyfikacjaC] [Funkcje] - [Obraz-A][Cecha-A] - [ Obraz-A][Funkcja-B] - [Obraz-A][Funkcja-C] Chciałbym przechowywać te informacje w niektórych tabelach DB, aby móc zmienić pozycje treści szablonu lub styl, mogę to zrobić raz dla wszystkich stron. Ale niestety nie jestem zbyt dobry w PHP, więc nie wiem od czego zacząć. Jakich funkcji Wordpressa lub wtyczek mogę użyć, aby osiągnąć wynik? Z góry dziękuję


title: Dodaj ciąg zapytania do adresu URL wtyczki

text: Tworzę wtyczkę, która znajduje się pod adresem http://localhost/test/wp-admin/options-general.php?page=my-plugin Próbuję dodać ciąg zapytania do tej strony, aby można go było użyć w moim wtyczka taka jak http://localhost/test/wp-admin/options-general.php?page=my-plugin?myVar=cool Problem polega na tym, że powoduje to, że Wordpress wyświetla komunikat „Nie masz wystarczających uprawnień, aby uzyskać do niego dostęp strona." strona. Jak mogę dodać ciąg zapytania do adresu URL mojej wtyczki? Czy jest to gdzieś udokumentowane? dzięki za pomoc.


title: Pobierz galerię i galerię produktów w pełnym rozmiarze

text: Próbuję uzyskać wszystkie obrazy galerii w pętli while postów (na przykład strona bloga). Z kodem, którego teraz używam, otrzymuję tylko małe miniatury (150px : 150px). Chcę również uzyskać zdjęcia z galerii produktów w pełnym rozmiarze (woocommerce). Jak to zrobić? Oto, co zrobiłem do tej pory i daje mi miniatury: $gallery = get_post_gallery( $theid, false ); foreach( $gallery['src'] AS $src ) { ?> <a href="<?php echo $src; ?>" rel="ładneZdjęcie[pp_gal]" class="pp galeria" alt="Galeria " > <?php } } Dzięki!


title: Paginacja nie działa z niestandardowym wp_query

text:
Próbuję stworzyć niestandardową wtyczkę wyszukiwania, ale paginacja nie działa (pokazuje się z poprawnymi numerami stron, ale nie działa poprawnie). Odpowiednia część wtyczki wyszukiwania (z funkcji main) $blog_url = get_bloginfo('url'); $form = <<<EOH
 <metoda formularza="get" action="{$blog_url}" id="ss-search"> <input type="text" value="{$ search_text}" name="supers" onblur="if (this.value == '') { this.value = '{$search_text}';}" onfocus=if (this.value == '{$search_text}' ) { this.value = '';}" /> {$list} <input type="submit" id="sbc-submit" value="Search" /> </form>
 EOH; // ///////////////////////////////// if (isset($_GET['supers'])) { global $q ; // global $q; $args = array( // 'category__not_in' => 1, 's' => $_GET['supers'] ); $q = new WP_Query($args); if ( $q- >have_posts() ) { echo '
'; while ( $q->have_posts() ) { $q->the_post(); echo '
' .get_the_title() . '
'; }                     Echo '
'; // echo '
Znalezione posty:'.$q->znalezione_posty.'

'; echo get_pagination_links2(); } else { echo 'nie znaleziono postów'; } /* Przywróć oryginalne dane posta */ wp_reset_postdata(); } return $formularz; } // zakończenie funkcji $q; // dodanie możliwości uczynienia z niej globalnej funkcji stronicowania w pliku functions.php function get_pagination_links2() { global $q; // echo gettype($q); echo $q->znalezione_posty; $duży = 999999999; return paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $q->max_num_pages, 'prev_next' => true ) ); } Otrzymuję linki do stronicowania, ale nie działają (na przykład, jeśli kliknę dalej, zmieni się adres URL, ale wyniki nie).


title: Uzyskaj wszystkie tagi SEO według strony lub identyfikatora posta

text: Pracuję nad wtyczką, która wyśle treść posta w e-mailu. Opracowałem, aby uzyskać identyfikator posta i użyć go do znalezienia tytułu i treści strony. Lubię też wysyłać metatagi. Używam wtyczki all in one seo. Czy istnieje sposób na znalezienie metatagów all in one seo po identyfikatorze strony lub postu? Wystarczy tytuł i opis. Na przykład obecnie robię to, aby znaleźć zawartość strony: $id = $post->ID; $post_object = get_post($id); apply_filters('the_content', $post->post_content); Coś takiego, ale dla metatagów byłoby fajnie!


title: Jaka jest zaleta korzystania z wp_mail?

text: Jaka jest przewaga używania `wp_mail()` nad `mail()`. Codex mówi, że są podobne, ale wydają się być bardzo podobne.


title: Sprawdź aktualizację a nowy post w akcji save_post

text: Czy w ramach akcji save_post można określić, czy jest tworzony nowy wpis, czy aktualizowany jest istniejący wpis?


title: Jak sprawić, by pole podpisu było obowiązkowe i skopiować dane pola podpisu do tagu alt?

text: ### TŁO Opracowujemy galerię obrazów dla witryny gazety (temat również został przez nas opracowany). Tworzymy w tym celu niestandardową sytuację: * Zapytania (`WP_Query()`) dla wszystkich postów (post_type = `post`) w określonych kategoriach (filtrowanie według kategorii) * Pobieranie ich polecanych obrazów (`post_thumbnail`) * Pobieranie podpisu dla polecanych obrazków * Pobieranie ich wbudowanych obrazów (obrazów, które zostały wstawione z tekstem) * Pobieranie podpisów dla wbudowanych obrazów Aby pobrać wbudowane obrazy, zmodyfikowaliśmy trik Chwyć pierwszy obraz posta, czyli `preg_match_all()`. I teraz odnosimy sukcesy z pomocą niektórych stałych członków WPSE (nie pamiętam wszystkich ich nazwisk, ale musimy pozdrowić ich za pomoc, czy to przez czat, czy przez Q/A). Teraz jesteśmy w stanie: Z pętlą `while` i niestandardową pętlą `for` dla obrazów w tekście: * Wyświetlany jest obrazek * Wyświetlane są obrazy w tekście * Jeśli `echo` wywołamy `post_title()` to powtarza ten sam tytuł we wszystkich obrazach tego posta (to jest w porządku i logiczne) * Jeśli użyjemy podpisu `echo` dla polecanego obrazu za pomocą `echo get_post( get_post_thumbnail_id() )->post_excerpt`, to pokaże ten sam podpis dla wszystkich obrazy (zarówno dla post_thumbnail, jak i dla obrazów wbudowanych - to jest **Problem#1** ) * Następnie z pomocą @bungeshea wymyśliłem sposób na przechwycenie podpisu dla obrazów wbudowanych, używając tej samej sztuczki first_image zmieniając ciąg „src” na „alt”. Teraz pobiera tekst „alt=”” obrazów. ### ZACZNIJMY Najpierw udostępnijmy kod, a potem porozmawiajmy. **TU JEST MÓJ KOD**. Oto prawdziwy problem: **Po pierwsze:** Nie pytamy o **post_type=`attachment`**, ponieważ pobierze on obrazy nagłówka, obrazy tła i nie umieści ich w galerii mediów witryny gazety. Pobieramy tylko posty ( **post_type=`post`**). **Wtedy:** A dla obrazów wbudowanych szukamy (`preg_match_all()`) dla `<img src=""/>`, a dla napisów wbudowanych szukamy `<img alt="">`. > Dowiedziałem się, że podpis obrazu podany podczas przesyłania obrazu do posta > (obrazy w tekście) NIE JEST RÓWNYNYM podpisowi obrazu lub tekstom alternatywnym > podanym w Galerii mediów » Edytuj media > Podpis lub tekst alternatywny. Podpis > podany z Galerii multimediów jest przechowywany w tabeli załączników, ale podpis podany w > obrazach w tekście posta jest przechowywany w tabeli Posty (chyba). Ponieważ omawiamy obrazy w tekście i ich podpisy, naszym celem jest pobranie podpisu/tekstu alternatywnego w tekście. Ale nie możemy pobrać napisu w tekście (nie znaleźliśmy zapytania, aby to zrobić), więc pobieramy tekst `alt`. Są więc dwa przypadki: * Miniatura wpisu przyjmuje swój podpis * Ale obrazy w tekście przyjmują swoje tagi alt Potrzebujemy teraz sposobu, czy wyświetlać podpis obrazu w wierszu bez oddzielnego zapytania o załącznik, czy wprowadzić obowiązek podania podpisu obrazu i skopiuj podpis do obrazu alt. Może być bałagan.


title: co zrobić, gdy Twoja baza danych WordPress jest zbyt duża?

text: Cóż, zadałem to pytanie również na forach WP, StackOverflow i społeczności GoDaddy, ale nic nie wyszło. Mam nadzieję, że coś tu jest. Użyłem 2 oddzielnych subdomen dla mojego bloga i witryny (2 osobna baza danych SQL). Ale nie, nie utrzymuję osobno, więc próbuję połączyć je w jedną witrynę opartą na WP. Jeśli to zrobię, skończę z ograniczeniem maksymalnie 1GB SQL DB ustawionego przez GoDaddy (a nie mogę kupić dedykowanych rozwiązań do tego). Istnieje wyjście, aby podzielić pojedynczy DB na 2 lub użyć więcej niż 1 DB dla WP. Więc proszę was, geniusze, żeby mi pomogli.


title: Pomieszanie arkuszy stylów RTL z WordPress

text: Wszystko, co rozumiem w RTL, to to, że niektóre języki są pisane od prawej do lewej. Jaką rolę w motywie WordPress pełni arkusz stylów `rtl.css`? Miałem wrażenie, że jedyną różnicą jest wyrównanie akapitów, ale motywy WordPress, które widziałem, mają ogromne pliki `rtl.css`. Jakie inne wymagania ma CSS, aby zapewnić prawdziwą obsługę RTL?


title: Przełączanie ustawień regionalnych Wordpress w nagłówku akceptacji języka

text: Czy mimo to istnieje możliwość, aby wordpress automatycznie przełączał języki na podstawie nagłówka HTTP Accept-Language? Podobnie jak ASP.NET może to zrobić za pomocą ustawienia konfiguracji globalization="auto". Powodem tego jest to, że chcę, aby moje daty były sformatowane w niestandardowy sposób na podstawie tego, skąd przeglądasz witrynę – a nie tego, czego używają ustawienia witryny Wordpress dla wszystkich na całym świecie. W ten sposób ktoś z USA (en-US) zobaczy 25.12.2011, a ktoś z Australii (en-AU) zobaczy 25.12.2011.


title: Właściwy sposób na dodanie nazwy HTML bloginfo za pomocą filtra

text: Chciałbym nadać styl części nazwy bloginfo z filtra. Jedyne, co chcę zrobić, to zmienić tytuł witryny bloga, aby zawierał kod HTML, abym mógł wprowadzić indywidualne ustawienia czcionek w części nazwy. Używam dwadzieścia jedenaście i zastanawiam się, jak mogę to zrobić w filtrze. Kiedy dodam filtr dla bloginfo i zmodyfikuję nazwę, zostanie ona zmodyfikowana również w tytule strony oraz w atrybucie title elementu A. Chciałbym tylko zmodyfikować bloginfo['name'], który jest wyświetlany _wewnątrz_ elementu A. Czy istnieje możliwość sprawdzenia kontekstu, w którym się znajdujesz, podczas gdy wywołanie zwrotne filtra jest wywoływane w celu bardziej precyzyjnej kontroli danych wyjściowych?


title: Jaka jest różnica między strip_tags a wp_filter_nohtml_kses?

text: Jaka jest różnica między `strip_tags` a `wp_filter_nohtml_kses`. Próbowałem wyliczyć wp_filter_nohtml_kses ze źródła, ale wygląda na to, że robi coś bardziej złożonego niż usuwanie całego html, mimo że tak mówi kodeks. Myślę, że funkcje kses są drogie, więc zastanawiam się, dlaczego nie użyć strip_tags, jeśli wszystko, co robi, to rozebrać html.


title: Pasek powiadomień na stronie głównej dla wielu witryn

text: Uruchamianie instalacji wielostanowiskowej Chciałbym rozsyłać wiadomości do wszystkich stron jako górny pasek powiadomień na stronie głównej. Wszystkie witryny są odczytywane i publikowane ze strony głównej, więc wtyczki wiadomości w obszarze administracyjnym nie będą działać. Przeszukano i nie mogę znaleźć wtyczki/rozwiązania, które działa zarówno w przypadku komunikacji ze wszystkimi witrynami w wielu witrynach, jak i nie w obszarze administracyjnym. Ponadto nie używam paska administracyjnego WP z przodu dla tej sieci, więc nie jest to opcja. Jakieś pomysły?


title: Porównaj ułamki dziesiętne meta_query, które nie działają prawidłowo

text: Mam niestandardowe pole o nazwie „ocena”, które przechowuje liczby dziesiętne od 1.0 do 10. Próbuję użyć wp_query, aby uzyskać wszystkie posty z oceną od 8.0 do 10. To, co mam do tej pory, prawie działa idealnie, ale nie zwraca postów z oceną 10. <?php add_filter('get_meta_sql','cast_decimal_precision'); function cast_decimal_precision( $array ) { $array['where'] = str_replace('DECIMAL','DECIMAL(1,1)',$array['where']); return $array;} ?> <?php $args = array( 'posts_per_page' => 10, 'paged' => get_query_var( 'paged' ), 'category_name' => ( 'movies' ), 'meta_query' => array( array( 'key' => 'rating', 'value' => 8, 'compare' => '>' ) ), 'meta_key' => 'rating', 'orderby' => 'meta_value', ' zamówienie' => 'DESC' ); $wp_query = null; $wp_query = nowe WP_Query($args); ?>


title: Wypełnianie pola meta listą wyboru istniejących postów i przypisywanie go do niestandardowych typów postów

text: Moje pytanie częściowo opiera się na tej odpowiedzi: http://wordpress.stackexchange.com/a/5778/27135 Odpowiedź Mike'a jest naprawdę świetna, a rozwiązanie działało dobrze, dopóki nie musiałem uwzględnić mojego pola meta w niestandardowym typie posta. Próbowałem zmienić kod, aż to zadziałało, ale mi się nie udało. Nie potrzebuję również więcej niż jednego pola wyboru na stronę (kod Mike'a dodaje 3). Zacząłem więc od zera, pozbywając się wszystkiego. Działa to do momentu, w którym muszę zapisać dane w moim formularzu. Moim głównym problemem w tej chwili jest to, że nie wiem, jak zapisać aktualnie wybrany tag opcji podczas publikowania/zapisywania. Nie jestem pewien, które dane powinienem pobrać w znacznikach opcji i co wprowadzić do update_post_meta() Próbowałem również stworzyć własną pętlę za pomocą query_posts(), mając nadzieję na uzyskanie większej kontroli nad tym, jakie dane muszę zapisać .. ale tam też nie ma szczęścia. Poniższy kod jest bardzo uproszczoną wersją kodu Mike'a. Moim celem było rozebranie go tak, aby zawierał tylko niezbędne rzeczy, jak na ironię, musiałem go rozebrać za bardzo i nie mogę zrozumieć, co. Chciałbym wiedzieć, co muszę dodać, aby zapisać aktualny wybór. :) add_action( 'add_meta_boxes', 'select_box_add_meta_box' ); add_action( 'save_post', 'select_box_save_postdata' ); // Utwórz funkcję metabox select_box_add_meta_box() { add_meta_box( 'select_item', 'Select Item', 'select_box_content', 'custom_post_type' ); } // Utwórz funkcję treści meta pola select_box_content() { $static_args = array( 'post_type' => 'another_custom_post_type', 'show_option_none' => 'Wybierz element' ); $selected_item = get_post_meta($post->ID,'_selected_item', true); for($i=0; $i<=2; $i++) { $incrementing_args = array( 'id' => "selected_item_{$i}", 'name' => 'selected_item[]', 'selected' = > (pusty($selected_item[$i]) ? 0 : $selected_item[$i]), ); } wp_dropdown_pages(array_merge($static_args,$incrementing_args)); } // Zapisz funkcję wyboru select_box_save_postdata($data, $postarr) { update_post_meta($postarr['ID'], '_selected_item', $postarr['selected_item']); zwróć $dane; }


title: Jak wyświetlić błędy w formularzu frontendowym

text:
To jest mój formularz frontendowy do edycji profili użytkowników w interfejsie: /* Pobierz informacje o użytkowniku. */ globalny $bieżący_użytkownik, $wp_roles; get_currentuserinfo(); /* Załaduj plik rejestracyjny. */ require_once( ABSPATH . WPINC . '/registration.php' ); $błąd = tablica(); /* Jeśli profil został zapisany, zaktualizuj profil. */ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'update-user' ) { /* Zaktualizuj hasło użytkownika . */ if ( !empty($_POST['pass1'] ) && !empty( $_POST['pass2'] ) ) { if ( $_POST['pass1'] == $_POST['pass2'] ) wp_update_user( array( 'ID' => $current_user->ID, 'user_pass' => esc_attr( $_POST['pass1']) ) ); else echo 'Wprowadzone hasła nie pasują do siebie. Twoje hasło nie zostało zaktualizowane.'; } /* Aktualizacja informacji o użytkowniku. */ if ( !empty( $_POST['url'] ) ) update_user_meta( $current_user->ID, 'user_url', esc_url( $_POST['url']) ); if ( !empty( $_POST['email'] ) ){ if (!is_email(esc_attr( $_POST['email'] ))) $error[] = __('Wprowadzony adres e-mail jest nieprawidłowy. Spróbuj ponownie.", "profil"); elseif(email_exists(esc_attr( $_POST['email'] )) != $current_user->id ) $error[] = __('Ten e-mail jest już używany przez innego użytkownika. spróbuj innego.', 'profile' ); else{ wp_update_user( array ('ID' => $current_user->ID, 'user_email' => esc_attr($_POST['email']))); } } if ( !empty( $_POST['imię'] ) ) update_user_meta( $current_user->ID, 'first_name', esc_attr( $_POST['first-name']) ); if ( !empty( $_POST['last-name'] ) ) update_user_meta($current_user->ID, 'last_name', esc_attr( $_POST['last-name']) ); if ( !empty( $_POST['opis']) ) update_user_meta( $current_user->ID, 'opis', esc_attr( $_POST['opis']) ); //action hook dla wtyczek i dodatkowych pól zapisujących do_action('personal_options_update', $current_user->ID); wp_redirect (get_permalink() ); Wyjście; } ?> <?php get_header(); ?>

 <?php if ( have_posts() ) : while ( have_posts() ) : the_post() ; ?> <div id="post-<?php the_ID(); ?>">
 <?php the_content(); ?> <?php if ( !is_user_logged_in() ) : ?>
 <?php _e('Debes estar logueado para editar tu perfil.', 'profile'); ?>
 <?php else : ?> <?php if ( count($error) > 0 ) echo '
' . implode("
", $error) . '
'; ?>

Mi Cuenta

Cambiar Clave

 < ?php add_thickbox(); ?>

Awatar

<?php echo get_avatar( $current_user->ID, 150);?>
 <a id="user-avatar-link" class="button Thickbox" href="<?php echo admin_url('admin-ajax.php' ?>? action=user_avatar_add_photo&step=1&uid=<?php echo $current_user->ID; ?>&TB_iframe=true&width=680&height=450" title="Avatar" >Cambiar Avatar
 <typ skryptu ="text/javascript"> funkcja user_avatar_refresh_image(img){ jQuery('#user-avatar-display-image').html(img); } </script> <form method="post" id="adduser" action="<?php the_permalink(); ?>">
 <?php _e('Nombre', 'profil'); ?> <input class="text-input" name="imię" type="tekst" id="imię" value="<?php the_author_meta( 'first_name', $current_user-> ID ); ?>" />

 <?php _e('Apellido ', 'profil'); ?> <input class="text-input" name="nazwisko" type="tekst" id="nazwisko" value="<?php the_author_meta( 'last_name', $current_user-> ID ); ?>" />

 <?php _e('Correo Electrónico * ', 'profil'); ?> <input class="text-input" name="email" type="text" id="email" value="<?php the_author_meta( 'user_email', $current_user->ID ); >" />

 <?php _e('Breve Descripción', 'profil' ) ?> <textarea name="opis" id="opis" rows="3" cols="50"><?php the_author_meta( 'opis', $bieżący_użytkownik->ID ); ?></textarea>
 <?php //action hook dla wtyczki i dodatkowych pól ?>
 <?php echo $ referent; ?> <nazwa wejściowa="użytkownik aktualizacji" type="prześlij" id="użytkownik aktualizacji" class="przycisk prześlij" value="<?php _e('Guardar Cambios', 'profil'); ?>" /> <? php wp_nonce_field( 'update-user' ) ?> <input name="action" type="ukryte" id="action" value="update-user" />
 <?php endif; ?>

 <?php endwhile; ?> <?php else: ?>
 <?php _e('Przepraszamy, żadna strona nie spełniała twoich kryteriów.', 'profil'); ?>
 <?php endif; ?>

 <?php get_sidebar(); ?> <?php get_footer(); ?> Ale nie wyświetla żadnych komunikatów o błędach. IE, gdy hasło nie pasuje echo 'Wprowadzone hasła nie pasują do siebie. Twoje hasło nie zostało zaktualizowane.'; lub kiedy klikam PRZYCISK AKTUALIZACJI, chcę, aby wyświetlał się Profil użytkownika został zaktualizowany! Jak mogę to osiągnąć?


title: Instrukcje dotyczące niestandardowego typu postu

text: Czy istnieje sposób na umieszczenie instrukcji dotyczących niestandardowego typu postu w panelu administratora posta u góry strony dodawania/edycji? Wiem, że możesz umieścić instrukcje w metaboxie, ale na górze byłoby łatwiej przeczytać użytkownikowi....


title: Usuń posty z zapytania o wydarzeniach, których data rozpoczęcia już minęła

text: Poniższe zapytanie działa zgodnie z oczekiwaniami, pokazując zdarzenie cpt uporządkowane według meta_value, czego jeszcze nie odkryłem, to jak usunąć posty z przeszłych wydarzeń lub wydarzeń, które się rozpoczęły. Data rozpoczęcia wydarzeń jest obecnie przechowywana jako „rr m d”, a data jest wybierana za pomocą jQuery datepicker. <?php globalna $post; $args = array( 'post_type' => 'events', 'numberposts' => 5, 'meta_key' => 'sp_startDate', 'orderby' => 'meta_value', 'order' => 'ASC' ); $supplierTrainingEvents = get_posts( $args ); foreach( $supplierTrainingEvents as $post ): setup_postdata($post); ?> Próbowałem tej i innych odmian bez powodzenia. $args = array( 'post_type' => 'events', 'numberposts' => 5, 'meta_key' => 'sp_startDate', 'meta_value' => date("MM d yy"), 'meta_compare' => ' >', 'orderby' => 'meta_value', 'order' => 'ASC' ); Dziękuję za obejrzenie.


title: Filtr upload_mimes nie działa

text: Chciałem dodać obsługę plików .wif (tekst/zwykły) do mojej witryny (WP3.3.1). Więc dodałem poniższą funkcję do `functions.php` mojego motywu. Mój temat to dziecięcy temat Sufffusion. add_filter('upload_mimes', 'custom_upload_mimes'); function custom_upload_mimes ( $existing_mimes=array() ) { $existing_mimes['wif'] = 'tekst/zwykły'; zwróć $istniejące_mimy; } Nie przyniosło to żadnego efektu, a pliki .wif nadal generowały komunikat bezpieczeństwa, gdy próbowałem je przesłać. Więc spojrzałem na kod źródłowy dla `get_allowed_mime_types()`. Jedyny wpis dla 'text/plain' to `'txt|asc|c|cc|h' => 'text/plain'`. Dla zabawy zredagowałem go tak, aby powiedzieć: `'txt|asc|c|cc|h|wif' => 'text/plain'`. Ta zmiana pozwoliła na przesłanie plików .wif. Ale ponieważ edytowanie podstawowych plików WP to zły pomysł, wypróbowałem inne rozwiązanie. Wychodząc z założenia, że być może wartości w tablicy $mimes muszą być unikalne, spróbowałem zmienić klucz wskazujący na 'text/plain' za pomocą tej funkcji: add_filter('upload_mimes', 'custom_upload_mimes'); funkcja custom_upload_mimes($mimes=array()){ $k='wif'; $v='tekst/zwykły'; if($ek=array_search($v,$mimes)){ unset($mimes[$ek]); $ek.='|'.$k; $mimy[$ek]=$v; } return $mimów; } To jednak również nie pozwala na przesyłanie plików .wif. Myślę więc, że albo filtr `upload_mimes` nie jest z jakiegoś powodu stosowany. Lub mój filtr jest zastępowany przez inny. Wypróbowałem obie moje funkcje z wysokim (1) i niskim (PHP_MAX_INT) priorytetem. Nie ma żadnego efektu. Sprawdziłem też dyrektywy .htaccess i ich nie było. Jakieś pomysły? ETA Okazuje się, że jakaś kombinacja wtyczek zawierająca BackUpWordPress powoduje, że filtry dołączone do 'upload_mimes' nie działają. Nie ustaliłem, dlaczego tak jest, a ludzie z BackUpWordPress mówią mi, że ich wtyczka nie dotyka tego filtra.


title: Jak utworzyć szablon strony, aby wyświetlić niestandardowy typ posta?

text:
Chcę utworzyć plik szablonu strony, aby wyświetlić posty z niestandardowego typu zawartości. Pracowałem z kodem, który znalazłem na tej stronie, ale nic nie renderuje. Czy ktoś wie w czym tkwi problem? <?php /* Nazwa szablonu: Archiwum niestandardowego typu postu */ get_header(); ?> <?php globalne $query_string; query_posts($query_string . "post_type=TWÓJ-NIESTANDARDOWY-TYP-POST&post_status=publish&posts_per_page=10"); if ( have_posts() ): while ( have_posts() ): the_post(); ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?>
 <?php the_excerpt(); ?> <?php koniec; endif; ?>

<?php next_posts_link('Poprzednie wpisy') ?>

<?php previous_posts_link('Następne wpisy') ') ?>

 <?php wp_reset_query(); ?> <?php get_sidebar(); ?> <?php get_footer();?>


title: Warunkowa instrukcja single.php nie rozpoznająca instrukcji warunkowych

text:
Wypróbowałem każdy możliwy sposób wykonania tego warunkowego działania i jest to pominięcie warunków warunkowych in_category i przejście do ostatniej opcji. To jest mój kod w single.php: $post = $wp_query->post; if (in_category('Autos')) { get_template_part("single-autos.php"); } else if (in_category('Reklama')) { get_template_part("single-ads.php"); } else { get_template_part("single-post.php"); } W całym motywie mam warunki warunkowe, które działają przez wywołanie `in_category` dla tych dwóch kategorii, ale bez względu na to, co robię, ten warunek zawsze powraca do układu single-post.php. single-autos.php i single-ads.php istnieją w motywie. Czy jest coś, co robię źle? Dziękuję! Edytowane w celu dodania kodu z single-autos.php: get_header();
 if (have_posts()) : while (have_posts()) : the_post(); get_template_part( 'pętla' ); szablon_komentarze();

< next_post_link(); >

< previous_post_link(); >

 koniec; else:
Dziękuję za naciśnięcie przycisku samozniszczenia. Ten statek ulegnie samozniszczeniu za dziesięć sekund.
 endif;
 get_sidebar(); pobierz_stopkę();


title: Odpytywanie zarówno stron, jak i postów

text: Tworzę „kalendarz adwentowy” dla klienta, który chce mieć kombinację określonych stron i niestandardowych postów pojawiających się na pierwszej stronie, w określonej kolejności. Rzeczy, które należy pobrać, to tytuł, fragment (lub treść do ), link bezpośredni, wyróżniony obraz i pola niestandardowe... Jaki jest najlepszy sposób na pobranie ich z bazy danych? Niestandardowe zapytanie SQL? Jakiś Walker? Skomplikowane menu?


title: CSS uzależniony od wartości pola niestandardowego

text: Chcę dodać kilka reguł CSS do identyfikatora warunkowo od wartości wartości pola niestandardowego. W szczególności: dodaj do identyfikatora `#firstimg` reguły: opacity:0.4; filtr:alfa(nieprzezroczystość=40); pod warunkiem, że niestandardowe pole `fl_status` ma wartość `sold`. Przypuszczam, że Jquery powinno być najlepszym sposobem, aby przejść tutaj?


title: skrypt wbudowany: ustawienie prettyPhoto głębokie linkowanie na false nie działa

text: To ma być proste, ale nie mogę tego rozgryźć. Do mojego projektu używam wtyczki prettyPhoto WordPress i próbuję ustawić deeplinking na false (deeplinking:false). W konsoli Chrome wstawiłem poniższy javascript, aby go przetestować i działa, ale kiedy próbowałem wstawić ten sam kod do skryptu wbudowanego w functions.php, to nie działa. Console.log() działa tylko. Uwaga: Biblioteka prettyphoto jest ładowana na dole stopki, a skrypt wbudowany jest ładowany zaraz po. function inline_script_footer(){ ?> <script type="text/javascript"> (function($) { console.log('check'); var j = jQuery("a[rel^='ładneZdjęcie'], a[ rel^='lightbox']").prettyPhoto({ deeplinking: false }); console.log(j); if (j) { console.log('tak'); } else { console.log('no' } })(jQuery); </script> add_action('wp_footer', 'inline_script_footer', 100); Jeśli ktoś mógłby mi pomóc, byłoby wspaniale. **MOJE ROZWIĄZANIE** $("img").on("kliknij", function() { console.log("kliknięty"); $("a[rel^='prettyPhoto']").prettyPhoto({ głębokie linkowanie: fałszywe }); });


title: Jak posortować post_meta w edit.php?

text: Mam niestandardowy typ `cpt1` i niestandardowe pola `cf1`, kiedy używasz hooka `manage_cpt1-bien_sortable_columns`, wordpress nie sortuje post_meta ?


title: Używanie meta_query na pre_get_posts, aby wykluczyć konkretną wartość meta_key

text: Mam prosty filtr działający na głównym zapytaniu na stronie głównej, powinien wykluczać wszystkie posty z określoną wartością meta (poprzez uwzględnienie tylko postów, które nie mają ustawionego meta_key lub tych, których wartość meta_key nie pasuje do tego, co my" ponownie wykluczając). Ale z jakiegoś powodu nie zachowuje się zgodnie z oczekiwaniami. /** * Ukryj posty z głównego zapytania na stronie głównej. * * @od 1.0.0 * * @param object $query WP Obiekt zapytania. * @return object Zmodyfikowany obiekt WP Query. */ function wpse_exclude_posts_from_main_query( $query ) { // Upewnij się, że to działa tylko w głównym zapytaniu na stronie głównej if ( is_front_page() && $query->is_main_query() ) { // Wyklucz posty, które zostały jawnie ustawione jako ukryte $query->set('meta_query', array( 'relation' => 'OR', // Uwzględnij posty, w których klucz meta nie jest ustawiony array( 'key' => '_wpse_custom_key', 'value' => ' asdf', // Wartość musi istnieć ze względu na https://core.trac.wordpress.org/ticket/23268 'compare' => 'NIE ISTNIEJE', // Uwzględnij posty, w których metaklucz nie jest jawnie true array( 'key' => '_wpse_custom_key', 'value' => true, 'compare' => '!=', ), ) ); } } add_action( 'pre_get_posts', 'wpse_exclude_posts_from_main_query' ); Każda połowa tego meta zapytania działa samodzielnie. Widzę albo wszystkie posty, w których klucz nie istnieje, albo wszystkie posty, w których klucz istnieje i nie jest prawdziwy. W połączeniu, jak pokazano powyżej, widzę tylko posty, w których klucz istnieje i nie jest prawdziwy (część NIE ISTNIEJE jest całkowicie ignorowana). Oto generowany kod SQL (zgodnie z filtrem posts_request): SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts LEWE JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id AND wp_postmeta.meta_key = 'tom_wpmeta_cust WŁ.) (wp_wpse_) .ID = mt1.post_id) GDZIE 1=1 AND wp_posts.post_type = 'post' AND wp_posts.post_status = 'publish' AND ( wp_postmeta.post_id JEST NULL OR ( mt1.meta_key = '_wpse_custom_key' AND CAST(mt1.meta) CHAR) != '1' ) ) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10 Widać, że kiedy dochodzi do elementów meta, rzeczywiście używa OR w klauzuli WHERE, a nie AND jako odesłać Najważniejsze informacje o błędach: https://core.trac.wordpress.org/ticket/23268 Mam nadzieję, że ktoś może dostarczyć bardzo potrzebnego wglądu, ponieważ jestem całkowicie zdezorientowany.


title: zamów według meta_key

text: mam mały problem: nie mogę uporządkować wydarzeń tak, jak sobie życzę. Chciałbym uporządkować nadchodzące wydarzenia w kolejności rosnącej... Używam: new WP_Query( array( 'author' => $current_user->ID, 'post_type' =>'tribe_events', 'orderby' => 'meta_value', 'meta_key' => '_EventStartDate', array( 'key' => '_EventStartDate', 'value' => date('R-m-d'), 'porównaj' => '>='))) Ale nic się nie dzieje... to znaczy, w żaden sposób nie są sortowane.. Myślę, że dzieje się tak z powodu _EventStartDate, który zawiera godzinę i wygląda to mniej więcej tak, jeśli powtórzę to "2013-07-29 20:00 :00". Jakieś sugestie? aktualizacje kodu : global $current_user; get_currentuserinfo(); $author_posts = new WP_Query( array( 'author' => $current_user->ID, 'post_type' =>'tribe_events', 'orderby' => 'meta_value', 'order' => 'DESC', 'meta_key' = > '_EventStartDate', array( 'key' => '_EventStartDate', 'value' => date('Y-m-d'), 'compare' => '>=' ))); while($author_posts->have_posts()) : $author_posts->the_post(); a tutaj po prostu otrzymuję treść...


title: Jak naprawić błąd HTTP podczas przesyłania obrazów?

text: Używam WordPress 3.4.1 na Ubuntu 12.04 używając Apache i PHP 5.3.X Kiedy loguję się do dashboardu i dodaję nowy post. Następnie spróbuj przesłać obraz, aby ustawić go jako polecany, pojawia się czerwone pole z komunikatem „Błąd HTTP”. Czytałem o ludziach, którzy mówili, aby nie używać programu do przesyłania flasha i po prostu korzystać z programu do przesyłania przeglądarki, ale kiedy próbuję tego, otrzymuję po prostu błąd wewnętrznego serwera 500. Próbowałem dodać `AddType x-mapp-php5 .php` na górze mojego pliku .htaccess, bez żadnych zmian. Wyłączenie WSZYSTKICH wtyczek nie przyniosło efektu. Próbowałem nowej instalacji. Brak szczęścia. ![WordPress 3.4.1 Błąd HTTP przesyłania multimediów](http://i.stack.imgur.com/5wEky.png)


title: Zmiana limitu znaków nazwy użytkownika z czterech na mniej znaków

text: Chcę utworzyć konto użytkownika na mojej wielostanowiskowej instalacji Wordpress z nazwą użytkownika krótszą niż 4 znaki. Ale ponieważ Wordpress ma limit nazw użytkownika wynoszący co najmniej 4 znaki, wyświetlany jest następujący komunikat o błędzie: > Nazwa użytkownika musi mieć co najmniej 4 znaki. Znalazłem rozwiązanie obejmujące folder mu-plugins w folderze wp-content, ale to nie działa. Czy jest jakiś sposób, który pozwoliłby mi utworzyć konto użytkownika z nazwą użytkownika krótszą niż 4 znaki?


title: do_shortcode() nie zwróci tablicy PHP

text: Zrobiłem krótki kod `[get_clients]`, który powinien zwracać tablicę wszystkich klientów, gdy zostanie wywołany przez `do_shortcode('[get_clients]')`. Ale wszystko, co zwraca, to tylko ciąg 'Array'. Czemu?


title: Przypisywać posty do terminów taksonomii zamiast terminów taksonomii do postów?

text: Mam więc niestandardowy typ postu (osoby) z powiązaną niestandardową taksonomią (katalog). Zamiast edytować osobę, a następnie wybierać powiązane organizacje katalogowe, chciałbym „edytować” organizację katalogową i wybierać osoby, które do niej należą. Czy ktoś zna wtyczkę, która na to pozwala? Mógłbym zbudować własną wtyczkę z interfejsem do tego - szukam tutaj opinii. Zastanawiam się nad zrobieniem czegoś takiego: <?php //Pobierz wszystkie katalogi organizacji $orgs = get_terms("katalog"); $liczba = ilość($organizacje); $orgtermids = tablica(); $ludzieByOrg = tablica(); if ( $count > 0 ){ foreach ( $orgs as $org ) { $orgtermids[] = $org->term_id; //Zbuduj tablicę term_ids $peopleByOrg[$org->term_id] = array(); //Zbuduj pustą tablicę() dla każdego term_id } } //Pobierz wszystkie osoby aktualnie powiązane z organizacją katalogową $myquery['tax_query'] = array( array( 'taxonomy' => 'directory', 'terms' => $orgtermids, 'field' => 'term_id', ) ); zapytanie_posty($mojezapytanie); if (have_posts()) : while (have_posts()) : the_post(); $postOrgs = get_the_terms($post->ID, 'katalog'); //Pobierz katalog organizacji dla tej osoby if ( $postOrgs && ! is_wp_error( $postOrgs ) ) { foreach ( $postOrgs as $postOrg ) { $peopleByOrg[$postOrg->term_id][$post->ID] = $post; //Przechowuj informacje o osobie w każdej organizacji, do której należy } } endwhile; endif; //Przejdź i stwórz interfejs, aby wybrać dodatkowe osoby dla każdej organizacji katalogu //code TBD ?> Jakieś pomysły lub opinie? * * * Właśnie pomyślałem o lepszym sposobie na zrobienie tego poprzez rozszerzenie klasy Walker o nową klasę opartą na Walker_Category. Musiałbym to zmodyfikować, aby utworzyć formularz, w którym ludzie mogliby być przypisani do organizacji katalogowych zamiast wyświetlania jako listy (organizacje katalogowe są hierarchiczne).


title: Jak używać obrazów przesłanych z niestandardową implementacją grubego pudełka, taką jak funkcja the_post_thumbnail()?

text: Stworzyłem niestandardowy typ posta z metaboxami. W metaboksach stworzyłem kilka fealdów, które można wykorzystać w WordPress ThickBox Media Dialog, aby przesłać swoje obrazy dla każdego posta osobno. Z drugiej strony WordPress, kiedy przesyłam obraz jako polecany obraz, udostępnia mi pewne funkcje, takie jak the_post_thumbnail(), które pozwalają mi wybrać rozmiar obrazu, którego potrzebuję w moim szablonie. Tak więc pytanie brzmi, czy mogę użyć dowolnej funkcji wyglądającej jak powyższa, aby wydrukować rozmiary obrazu, które lubię, które użytkownik końcowy przesłał przez niestandardowe pola pola mediów?


title: Problemy z tworzeniem shortcode z niestandardowymi typami postów i taksonomią

text:
Mam niestandardowy typ postu _work-gallery_ i niestandardową taksonomię _use_, która służy do kategoryzacji postów. Staram się opracować krótki kod, który umożliwi mi wyświetlanie postów z galerii pracy, które należą do konkretnego zastosowania. Przypuszczam, że byłby to odpowiednik zapytania o archiwum kategorii, z wyjątkiem tego, że chcę móc go używać na różnych stronach. Kod wygląda tak: function wg_album($wguse){ extract(shortcode_atts( array('use' => 'work'), $wguse)); $args = array( 'post_type' => 'work-gallery', 'tax_query' => array( array( 'taxonomy' => 'use', 'field' => 'slug', 'terms' => $use )) ); $work_galleries = nowe WP_Query($args); ob_start(); ?>
 <?php foreach ($work_gallery jako $work_gallery) { ?>
 <a href="<?php echo get_page_link( $work_gallery -> ID ); permalink?>"> <?php echo get_the_post_thumbnail($work_gallery -> ID)//polecany obraz?>
<?php echo $work_gallery -> post_title ; ?>

 <?php echo $work_gallery -> post_excerpt ; ?>

 <?php } ?>
 <?php return ob_get_clean(); } ?> To, co otrzymuję, zamiast wyjścia permalinka, tytułu, polecanego obrazu i fragmentu - tak jak w kodzie - to permalink strony hosta, powtórzony 40 razy! Co ja robię źle ? Myślę, że problem tkwi w zapytaniu.


title: Wydrukuj wiadomość, jeśli fragment jest pusty po opublikowaniu/aktualizacji postów!

text: Nie sądzę, bym mógł zrobić wymagany fragment, ale jeśli ktoś zna obejście, udostępnij. Przynajmniej chcę wydrukować wiadomość, jeśli fragment jest pusty po opublikowaniu/aktualizacji postów, może czerwone powiadomienie, aby było bardziej widoczne! Używam tego skryptu do domyślnego wyświetlania pola z fragmentami!


title: Usuń metabox ShareDaddy tylko ze stron

text: Próbuję usunąć opcję udostępniania opcji na „stronach” (ale zostawiaj w postach). Mam więc funkcję, która zapewnia, że opcja udostępniania jest zawsze no na stronach function page_disable_share($post_id) { if ( 'page' != get_post_type() ) return; update_post_meta($post_id, "sharing_disabled", 1); } add_action('save_post', 'page_disable_share'); Ale wolałbym w ogóle nie mieć tam meta pola, może to zmylić użytkownika, jeśli go zaznaczy i zawsze się odhaczy. function page_remove_share() { remove_meta_box( 'sharing_meta' , 'page' , 'normal' ); } add_action('admin_menu' , 'page_remove_share'); Ale to nie działa. Może JetPack jest podłączony po 'admin_menu'? Próbowałem innych hooków (http://codex.wordpress.org/Plugin_API/Action_Reference), ale żadne nie działają. Jakieś pomysły?


title: Dlaczego muszę dwukrotnie nacisnąć przycisk „Aktualizuj”, aby zapisać wartości moich pól meta?

text: Mam problem z aktualizacją post_date w napisanej przeze mnie funkcji niestandardowej. Próbuję zmienić „post_date” na moją niestandardową wartość „meta_date”. Oto funkcja: function cfc_reset_postdate( $data, $postarr ) { // Jeśli to jest nasz formularz nie został przesłany, więc nie chcemy nic robić if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; if($data['post_type'] == 'scripture-memory') { $data = get_post_meta( get_the_ID(), 'cfc_date', true ); $data = DateTime::createFromFormat('D - M j, Y', $data); $data = $data->format('Y-m-d'); $data['post_date'] = $data; zwróć $dane; } add_filter( 'wp_insert_post_data', 'cfc_reset_postdate', '10', 2); To działa, z wyjątkiem tego, że muszę dwukrotnie nacisnąć przycisk „Aktualizuj”, aby zmienić post_date, aby pasował do mojej nowej daty meta. Czytałem coś w wp-includes http://core.trac.wordpress.org/browser/tags/3.3.1/wp-includes/post.php#L2380 w wierszu 2380 "Jeśli parametr $postarr ma ustawiony 'ID' do wartości, a następnie post zostanie zaktualizowany." Nie wiem, co to oznacza, ale myślę, że może mi to pomóc w rozwiązaniu tego problemu. Co ja robię źle? EDYCJA: Oto kod, który wysyłam do wtyczki meta-box: $prefix = 'cfc_'; globalne $meta_boxes; $meta_boxes = tablica(); // 1-sze pole meta $meta_boxes[] = array( // Identyfikator pola meta, UNIKATOWY na meta pole 'id' => 'scripture_memory_verse', // Tytuł pola meta - Pojawi się na pasku uchwytu przeciągania i upuszczania 'title' = > 'Scripture Memory Verse', // Typy postów, akceptuj również niestandardowe typy postów - DEFAULT to array('post'); (opcjonalnie) 'pages' => array( 'scripture-memory' ), // Gdzie meta pojawia się pole: normalne (domyślne), zaawansowane, boczne; opcjonalnie 'context' => 'normalne', // Kolejność metapola: wysoka (domyślnie), niska; opcjonalnie 'priority' => 'wysoki', // Lista meta pola 'fields' => array( array( // Nazwa pola - Zostanie użyta jako etykieta 'name' => 'Reference', // Identyfikator pola, tj. klucz meta 'id' => $prefix . 'reference' , // Opis pola (opcjonalny) 'desc' => 'Jeśli nie napiszesz poprawnie w książce, werset się nie pojawi!', // KLONY: Dodaj, aby zrobić t pole klonowalne (tj. mieć wiele wartości) 'clone' => true, 'type' => 'text' ), array( 'name' => 'Dzień', 'id' => "{$prefix}date", 'type' => 'date', 'desc' => '(w jaką niedzielę mówimy ten werset)', // format daty, domyślny rr-mm-dd. Opcjonalnie. Zobacz: http://goo.gl/po8vf 'format' = > 'DD - Śr, rr' )) ) );


title: Pokaż inny kod na pierwszej stronie innym stronom

text: Chcę wyświetlić listę postów w sekcji nagłówka w moim szablonie na wszystkich stronach z wyjątkiem strony głównej, na której chciałbym wyświetlić obrazek w miejscu listy postów. Czy w wordpressie jest funkcja wykrywająca stronę tytułową, której mogę użyć w kodzie szablonu? czy powinienem po prostu patrzeć na kod PHP, który mówi, że jeśli adres URL pasuje do X, to pokazać to, w przeciwnym razie pokazać inny kod?


title: Błąd składni alternatywnej pętli

text: Próbuję zminimalizować mój kod i ułożyłem ten mały fragment, jednak wydaje się, że nie działa. czego mi brakuje? zapytanie_posty( 'rok=2011' ); if ( have_posts() ); while ( have_posts() ); echo 'test'; koniec; wp_reset_query(); endif;


title: Sortowanie niestandardowych typów postów według usermeta

text: Mam skonfigurowany katalog profilu (CPT) i próbuję znaleźć sposób na sortowanie wyników na podstawie czasu ostatniego logowania autora posta. Celem jest nagradzanie ostatnio zalogowanych autorów poprzez umieszczanie ich profili na górze wyników zapytań, co zwiększa widoczność ich profili. Wiem, jak wysyłać zapytania za pomocą pól niestandardowych, ale nie jestem pewien, jak wykonać zapytania za pomocą usermeta. Funkcje, które ustawiłem to: // Złap czas logowania i zapisz go function set_last_login($login) { $user = get_userdatabylogin($login); update_usermeta( $user->ID, 'last_login', current_time('mysql') ); } add_action('wp_login', 'set_last_login'); // Wyświetl funkcję czasu get_last_login($user_id) { $last_login = get_user_meta($user_id, 'last_login', true); $date_format = get_option('date_format') . ' ' . get_option('time_format'); $the_last_login = mysql2date($date_format, $last_login, false); zwróć $the_last_login; } // Pokaż przyjazną funkcję ostatniego logowania lastseen() { $lastseen = get_last_login(get_the_author_meta('ID')); $last_login_unix = strtotime( $lastseen ); echo human_time_diff( $last_login_unix ); } Zapytanie na mojej stronie to: $temp = $wp_query; $wp_query= null; $wp_query = nowe WP_Query(); $wp_query->query('post_type=nauczyciel'.'&paged='.$paged); Jak dodać sortowanie po usermeta (np. ostatnie logowanie) do tego zapytania?


title: Wordpress automatycznie dodaje „ ”?

text: Nie jestem pewien, czy robi to samo wordpress, czy Tiny MCE. Ale podczas przełączania między edytorem HTML a edytorem wizualnym dodaje ` ` i dodaje dodatkowy za każdym razem, gdy przełączam się tam iz powrotem. Nie mam nawet podziału wiersza w kodzie, wydaje się, że jakoś decyduje, gdzie chce je umieścić, na podstawie tagów w moim kodzie html. Co to powoduje i jak to naprawić? Próbowałem już tego w pliku funkcji szablonu: //wyłącz auto p remove_filter ('the_content', 'wpautop'); usuń_filtr ('tekst_komentarza', 'wpautop'); // Usuń automatyczne formatowanie remove_filter('the_content', 'wptexturize'); remove_filter('comment_text', 'wptexturize'); remove_filter('the_title', 'wptexturize');


title: Gdzie jest przechowywany/generowany klucz resetowania hasła?

text: Gdzie jest przechowywany klucz resetowania hasła w wordpress DB? Czy to to samo co user_activation_key? WP wersja 3.2.1


title: Zwracanie informacji z tabeli MYSQL za pomocą niestandardowej taksonomii

text: **Aktualizacja:** próbuję teraz znaleźć sposób na powtórzenie metadanych wartości taksonomii niestandardowej. Próbuję utworzyć niektóre PHP do użycia w widżecie zwykłego tekstu, który będzie wyświetlać informacje na moim pasku bocznym. Ponieważ niektóre informacje będą identyczne w niektórych częściach witryny, zamiast przechowywać informacje w polach niestandardowych, staram się przechowywać je w tabeli MYSQL. To, co chciałbym, aby kod zrobił, to zidentyfikowanie taksonomii posta, wyszukanie pola identyfikatora w mojej tabeli, znalezienie wiersza z tym identyfikatorem w taksonomii, a następnie wyświetlenie echa wartości innych pól w tym wierszu. Mam konfigurację taksonomii, jak również tabelę, ale nie mogę znaleźć zbyt wiele precedensu i dlatego nie wiem, od czego zacząć. Do tej pory próbuję wywołać wartość bieżącej taksonomii posta, ale nie mogę zmusić jej do działania poza pętlą <?php $current_tax = get_query_var('game'); echo $bieżący_podatek; ?>


title: (Jak) Czy mogę zmienić moją sieć wielostanowiskową, aby używać innego bloga jako głównego?

text: Oto moja podstawowa konfiguracja: http://moja.domena.com/ — „blog główny” lub „sieć” http://moja.domena.com/blogone/ — podwitryna lub „blog” http:// moja.domena.com/blogtwo/ — to samo, oczywiście Chciałbym utworzyć nowego bloga o nazwie „/sieć” — i używać go jako witryny sieciowej zamiast głównego adresu URL, aby móc korzystać z "/" to po prostu kolejny podblog. Jestem pewien, że nie jest to tak proste, jak zmiana `BLOG_ID_CURRENT_SITE` z `1` na `4` lub zmiana ścieżki rekordu blog_id=1 na „/network”. I domyślam się, że niesie to za sobą poważne implikacje. Co by się faktycznie wiązało? Czy to w ogóle możliwe? Czy zostało to zrobione wcześniej (z powodzeniem)?


title: Jak wordpress uzyskuje dostęp do własnej bazy danych

text: Cześć Jestem tylko ciekaw, w jaki sposób Wordpress uzyskuje dostęp do własnej bazy danych, co oznacza, że kiedy zaglądam na stronę administratora, taką jak `link-manager.php` lub `class-wp-list-table.php`, nie widzę żadnej wystąpienia `$wpdb`. Więc znowu, czy istnieje wewnętrzny sposób, w jaki Wordpress odpytuje własną bazę danych? Jeśli tak, czy mogę użyć tego typu funkcji do wywołania własnych zapytań?


title: zduplikowane posty podczas próby aktualizacji posta za pomocą wp_insert_post.

text: W pustej bazie danych wordpress wstawiam jeden przykładowy post za pomocą wp_insert_post. Ponieważ jest to pusta baza danych, pierwszy dodany przeze mnie post kończy się id 1. I sprawdzam, czy w wp_posts wszystko wygląda dobrze (no cóż z jakiegoś powodu post_name jest puste, ale nie chcę się teraz na tym skupiać). Pytanie brzmi, ale kiedy chcę zaktualizować ten post (ponownie używając wp_insert_post), zamiast aktualizować wczesny rekord, otrzymuję identyfikator posta 2! Jeśli zapytasz, jak zaktualizować rekord za pomocą wp_insert_post, po prostu ustawiam identyfikator na 1 podczas budowania tablicy danych $ dla wp_insert_post. Kodeks mówi, że po dostarczeniu elementu tablicy „ID” do tablicy $ danych wp_insert_post, po prostu aktualizuje ten wpis o tym identyfikatorze. Cóż, w moich przypadkach tak nie jest. W końcu otrzymuję identyfikator postu 2. Autor posta o identyfikatorze 2 ma wartość 0 (autor o identyfikatorze posta to 1 ), a nazwa postu o identyfikatorze posta 2 to 1 wersja (identyfikator postu 1 post_name był pusty, jak powiedziałem powyżej) Dowolny pomysł, dlaczego to może się dziać? A może powinienem po prostu zapomnieć o pomyśle używania wp_insert_post do aktualizacji postów?


title: Jak zmienić nagłówek i stopkę na pełną szerokość?

text: Używam motywu Skeleton na tej stronie. To, co chciałbym zrobić, to mieć nagłówek i stopkę, aby „wypełnić” całą poziomą przestrzeń ekranu, zachowując główną zawartość bez zmian. Przyjrzałem się kilku innym wątkom, ale nie udało mi się dotrzeć do rozwiązania z motywem Skeleton.


title: Jak wyrenderować szablon pojedynczego posta z nazwą posta?

text: Wywołuję strony za pomocą Ajax i mam ten kod w `functions.php`, aby określić, która strona jest wywoływana, a następnie renderować odpowiedni szablon: function ajax_callback() { if( isset( $_POST['href']) ) { $pageId = preg_match( '/^http:\/\/.+\/\?page_id=\d+$/', $_POST['href'] ) ? substr( strrchr( $_POST['href'], '=' ), 1 ) : '8' ; if( $pageId === '8' ) get_template_part('home-ajax'); elseif( $pageId === '22' ) get_template_part('recenzje-rvw-ajax'); elseif( $pageId === '6' ) get_template_part('noticias-news-ajax'); elseif( $pageId === '109' ) get_template_part('entrevistas-ajax'); } } Działa to dobrze, ale teraz chcę też wywoływać pojedyncze posty. Otrzymuję następujący typ posta: $pageId = preg_match( '/^http:\/\/.+\/\?page_id=\d+$/', $_POST['href'] ) ? substr( strrchr( $_POST['href'], '=' ), 1 ) : 'brak strony' ; if( $pageId === 'brak strony' && preg_match( '/^http:\/\/.+\/\?news=.+$/', $_POST['href'] ) ) { $newSlug = substr( strrchr( $_POST['href'], '=' ), 1 ); } elseif ( $pageId === 'brak strony' && preg_match( '/^http:\/\/.+\/\?reviews=.+$/', $_POST['href'] ) ) { $ reviewSlug = substr( strrchr( $_POST['href'], '=' ), 1 ); } if( $pageId !== 0 ) { if( $pageId === '8' ) get_template_part('home-ajax'); elseif( $pageId === '22' ) get_template_part('recenzje-rvw-ajax'); elseif( $pageId === '6' ) get_template_part('noticias-news-ajax'); elseif( $pageId === '109' ) get_template_part('entrevistas-ajax'); } elseif( $newSlug !== '' ) { //tutaj muszę pobrać szablon pojedynczego posta // np. $newSlug = slug-post-name i post_type = 'news' } Ale nie wiem, jak nazwać ten szablon pojedynczego posta według nazwy slugu. Muszę wywołać szablon `single.php` bez nagłówka i stopki, więc mogę zrobić: `get_template_part('single-ajax');` //single-ajax.php <?php // Uruchom pętlę. while ( have_posts() ): the_post(); /* * Dołącz do treści szablon specyficzny dla formatu posta. Jeśli chcesz użyć tego * w motywie potomnym, dołącz plik o nazwie content-___.php * (gdzie ___ jest formatem postu), który zostanie użyty zamiast tego. */ get_template_part( 'treść', get_post_format() ); // Nawigacja do poprzedniego/następnego wpisu. dwadzieścia czternaście_post_nav(); // Jeśli komentarze są otwarte lub mamy co najmniej jeden komentarz, załaduj szablon komentarza. if ( comments_open() || get_comments_number() ) { comments_template(); } koniec; Ale to nie działa, ponieważ powinienem zdefiniować obiekt zapytania: <?php $temp = $wp_query; // przypisz zapytanie porządkowe do zmiennej tymczasowej do późniejszego użycia $wp_query = null; $newSlug = substr( strrchr( $_POST['href'], '=' ), 1 ); $wp_query = nowe WP_Query( array( 'name' => $newSlug ) ); if($wp_query->have_posts()) { while ($wp_query->have_posts()) : $wp_query->the_post(); // Uruchom pętlę. /* * Dołącz do treści szablon specyficzny dla formatu posta. Jeśli chcesz użyć tego * w motywie potomnym, dołącz plik o nazwie content-___.php * (gdzie ___ jest formatem postu), który zostanie użyty zamiast tego. */ get_template_part( 'treść', get_post_format() ); // Nawigacja do poprzedniego/następnego wpisu. dwadzieścia czternaście_post_nav(); // Jeśli komentarze są otwarte lub mamy co najmniej jeden komentarz, załaduj szablon komentarza. if ( comments_open() || get_comments_number() ) { comments_template(); } koniec; } umiera(); Ale to nie wyświetla szablonu posta. Rzeczywiście, nie zaczyna wykonywać pętli. Masz pomysł na to, co się dzieje lub łatwiejszy sposób na osiągnięcie tego?


title: Wyskakujące okienko pokazujące tę samą treść na wszystkich wyświetlanych postach.

text:
Stworzyłem szablon bloga, aby pokazać niestandardowe posty w siatce 3 kolumn. jak to
 <?php //WordPress pętla dla niestandardowego typu postu $my_query = new WP_Query('post_type=online_courses'); while ($my_query->have_posts()) : $my_query->the_post(); ?>
 <img src="<?php echo $cfs->get('top_image_oc'); ?>" style="background-color: <?php echo $cfs- >get('add_bg_color'); ?>; "/>
<?php the_title(); ?>
 <button class="md-trigger" data-modal="modal-8">Dowiedz się więcej..</button>

<?php echo $cfs->get('nazwa_trenera'); ?>

<?php the_title(); ?>

<?php echo $cfs-> get('duration_of_training'); ?>
 <?php the_content(); ?> <button style="margin-bottom:20px;float:right;">ZAREZERWUJ TERAZ</button> <button class="md-close" style="">Zamknij mnie!</button>

 <?php endwhile; wp_reset_query();?>
 wewnątrz

 znajduje się przycisk po kliknięciu pokaże zawartość md Ale kiedy kliknę przycisk na dowolnym wyświetlonym poście, pokazuje tę samą treść we wszystkich postach pierwszy wyświetlony post. Używam tego popowego tutoriala http://tympanus.net/codrops/2013/06/25/nifty-modal-window-effects/


title: Dostosowywanie motywu Niestandardowe tło / obraz nagłówka

text: Pracuję nad motywem z kilkoma opcjami zmiany projektu. W przypadku opcji używam dostosowywania motywów. Dzięki konfiguratorowi motywu istnieje wiele typów opcji, takich jak kolor, przesyłanie, przesyłanie obrazu, obraz tła i obraz nagłówka. Dodaję kontrolkę obrazu tła za pomocą tego kodu: function tcx_register_theme_customizer( $wp_customize ) { $wp_customize->add_section( 'tcx_advanced_options', array( 'title' => 'Opcje zaawansowane', 'priority' => 201) ); $wp_customize->add_setting( 'tcx_background_image', array( 'default' => '', 'transport' => 'postMessage') ); $wp_customize->add_control( nowy WP_Customize_Background_Image_Control( $wp_customize, 'tcx_background_image', array( 'label' => 'Obraz w tle', 'settings' => 'tcx_background_image', 'section' => 'tcx_ad)'); } add_action( 'customize_register', 'tcx_register_theme_customizer' ); ale formant nie będzie wyświetlany w Konfiguratorze motywów. To samo z obrazem nagłówka. „Przesyłanie obrazu”, „Przesyłanie” i wszystkie inne typy, takie jak „tekst”, radio itp. działają dobrze. Nie chcę go używać z `add_theme_support`, ponieważ nie chcę wpisów menu w sekcji "Projekt", ponieważ może to być mylące dla klienta. (Sry za mój zły angielski :) ) Aktualizacja: to jest kod, którego używam. Nowa sekcja, nowe ustawienie i kontrola wbudowanego obrazu tła Wordpress.


title: Jak skonfigurować taksonomię, do której można przypisać tylko jeden post?

text: Mam niestandardową taksonomię „Pokaż na pierwszej stronie”. Chciałbym, aby został do tego przypisany tylko jeden post. Więc jeśli poszedłem i utworzyłem nowy post i zaznaczyłem "Pokaż na pierwszej stronie", poprzedni post, który to zaznaczono, nie będzie już powiązany z tą niestandardową taksonomią. czy to możliwe?


title: Pokazywanie postów na dziś i na przyszłość

text:
Używam następującego kodu do wyświetlania postów z dzisiejszą datą lub w przyszłości... z wyjątkiem tego, że przyszła część nie działa. Jeśli wyjmę oświadczenie if, pokaże wszystkie posty - w przeszłości, teraźniejszości i przyszłości. $dzisiaj = data( 'd M' ); $pages = get_children( array( 'post_status' => 'future,publish', 'post_type' => 'event', 'sort_order' => 'DESC' ) ); foreach ( $pages as $post ) { setup_postdata($post); $pozycja = get_the_date(); if ($element >= $dzisiaj) { ?>
<?php echo the_title(); ?> - <?php data_(); ?>
<?php } } wp_reset_query(); Jak wyświetlić posty z dzisiejszą datą i posty w przyszłości?


title: Powtórz liczbę wyświetlanych postów

text:
Miałem ten kod działający tak, jak tego potrzebowałem ... ale teraz muszę dodać liczbę postów, w której znajduje się " **____** " obok "posterów", więc mogę manipulować CSS w zależności od liczby plakatów pokazujący na przykład: `<div id="posters1">` lub `<div id="posters2">` lub `<div id="posters3">` itp. Myślę, że można to zrobić za pomocą `$post_count ` lub `$found_posts` ale nie wiem, gdzie je umieścić i gdzie przenieść plakaty `div` (np. wewnątrz pętli?):
 <?php $ numer_filmu = 1; $dzisiaj = data('Ymd'); $posts = array ( 'post_type' => 'film', 'posts_per_page' => -1, ); $pętla = nowe WP_Query( $posty ); while ( $loop->have_posts() ): $loop->the_post(); $attachment_id=get_field('movie_poster',$post->post_id); $rozmiar = "plakat"; // (miniatura, średni, duży, pełny lub niestandardowy rozmiar) $image = wp_get_attachment_image_src( $attachment_id, $size ); // url = $obraz[0], szerokość = $obraz[1], wysokość = $obraz[2]; echo '

'; koniec; ?>


title: Wtyczka Meta slider działa tylko po pierwszym odświeżeniu - obiekt nie ma metody 'flex slider'

text: Mam motyw Wordpress, którego używam o nazwie „Nordic”, jednak nie podobał mi się ich plugin do slidera, więc użyłem własnego... '[Metaslider][1]' Problem polega na tym, że po pierwszym załadowaniu strony suwak nie pojawia się i otrzymuję następujący błąd javascript... Uncaught TypeError: Object [object Object] nie ma metody 'flexslider' ...jednak kiedy odświeżam stronę, suwak wygląda normalnie. Aby wyświetlić suwak, przejdź na stronę http://www.think-ag.com/, a następnie kliknij żółty obrazek Colemana (8.). Jak tylko to się załaduje, zauważysz, że nie ma suwaka, a następnie odśwież, zobaczysz teraz suwak. Również, gdy łączę się bezpośrednio ze stroną http://www.think-ag.com/?portfolio=ciknabs, suwak ładuje się po raz pierwszy. Nie jestem pewien, jak odświeżanie naprawia błąd, wszelkie pomysły byłyby bardzo mile widziane.


title: WP3.6: Błąd krytyczny PHP: Wywołanie niezdefiniowanej funkcji wpmu_delete_user()

text: Używam WordPressa 3.6, multisite. Mam aktywowaną wtyczkę z tą zawartością (jest uproszczona): function prefix_delete_user() { $some_option = get_site_option( 'some_option' ); // w tym momencie działa wpmu_delete_user( 2 ); // w tym momencie nie zwraca; } add_action( 'delete_user_day', 'prefix_delete_user' ); function setup_schedule() { if ( ! wp_next_scheduled( 'delete_user_daily' )) { wp_schedule_event( time(), 'codziennie', 'delete_user_daily'); } } add_action( 'wp', 'setup_schedule' ); Codziennie rejestrowany jest nowy blog o identyfikatorze 2 i każdego dnia chciałbym go usunąć, ale otrzymuję następujący błąd: PHP Fatal error: Wywołaj niezdefiniowaną funkcję wpmu_delete_user() w /home/example/ftp/ example.com/wp-content/plugins/expiration/expiration.php w wierszu 96. Zastanawiam się, dlaczego tak się dzieje? Kiedy wywołuję `do_action( 'delete_user_daily' );` ręcznie, to działa...


title: Utwórz dowolną stronę administracyjną z menu zakładek

text: Jestem bardzo nowy w WordPressie i tutaj chcę utworzyć jedną stronę administracyjną z zakładkami, jak pokazano na obrazku ![sekcje administracyjne z zakładkami](http://i.stack.imgur.com/EIcLq.png) Jak mogę stworzyć taką strona z tymi kartami?


title: Sprawdzanie wtyczki NextGen nie powiodło się, dlaczego?

text: Bez względu na to, co robię, nie mogę uruchomić sprawdzania wtyczki NextGen. Wtyczka kiedyś działała, ale teraz w ogóle się nie ładuje. Przy sprawdzaniu wtyczki pojawia się ten błąd: Sprawdź kompatybilność motywu Brakuje połączenia z Twoim motywem Przeszukałem internet i wymyśliłem ten wątek: http://wordpress.org/support/topic/plugin-nextgen-gallery- brak-wywołania-do-w-motywie-po-przełączeniu-do-nowego-motywu I dodał: 1. Dodaj `<?php wp_head(); ?>` do pliku „header.php” tuż przed `</head>` 2. Dodaj `<?php wp_footer(); ?>` do twojego "footer.php" tuż przed `</body>` jak podano w wątku. Jednak sprawdzanie wtyczki nadal wyświetla powyższy błąd (i w konsekwencji nie zadziała - nie zadziała nigdzie w witrynie). Czy ktoś ma jakieś sugestie, co dalej spróbować? Witryna, którą wspieram, to http://cdnsba.org/ i możesz zobaczyć dużą białą przestrzeń z przodu po lewej, gdzie pokaz slajdów działał idealnie. Mam przeczucie, że coś koliduje z jQuery, ponieważ wygląda na to, że sekcja „Polecane” po prawej stronie też się nie przewija... Dzięki! -Adam