Intereting Posts
Как мне создать миниатюру с первого встроенного изображения? jQuery (document) .ready () и Angular Controller не вызывается из редактора внешнего редактора Visual Composer Как получить все URL-адреса с моего сайта WordPress? Сайт WordPress не перенаправляется должным образом Загрузка видео в vimeo с использованием его API в обход ограничений на php-сервер Как добавить краткое описание Рекомендуемые товары или сопутствующие товары ReWriteRules и многопользовательские сайты WordPress с суб-каталогами Ошибка при создании проблемы подключения к базе данных в xampp saver Плагин lazyload делает эти серверные диски занятыми? Можно ли обернуть поиск геоданных вокруг WP_Query? Меню не стилизовано. Новые функциональные возможности меню дают мне головную боль Невозможно добавить сразу несколько отдельных изображений Пользовательские поля ACF Закажите meta_key с помощью двух meta_queries Является ли это правильным get_template_part () в WordPress?

PHP-код для отображения URL-адреса и имени сообщения в пользовательском типе сообщения

Я показываю сообщение в своем нижнем колонтитуле (вне цикла) из пользовательского типа сообщения и использую плагин Advanced Custom Fields для этого. Это код, который я использую:

<h5>Featured Movie</h5> <?php query_posts(array( 'posts_per_page' => 1, 'post_type' => 'movies', 'orderby' => 'post_date', 'meta_key' => 'featured_movie', 'meta_compare' => '=', 'meta_value' => 1, 'paged' => $paged ) ); ?> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <div class="popcontainer"> <div class="popthumb"><?php the_post_thumbnail('full-thumbnail');?></div> <div class="clear"></div> "<?php the_content(); ?>" </div> <?php endwhile; ?> <?php wp_reset_query(); ?> 

Хотя это делает именно то, в чем я нуждаюсь, мне также нужен какой-то код, который отображает и ссылается на термины (термины), которые связаны с тем, что в данный момент отображается. Однако код, который я задал, требует указать таксономию, и я не думаю, что это путь, потому что он слишком ограничивает, и я хочу, чтобы иметь возможность извлекать из каждой должности в персонализированном типе movies независимо от того, какие таксономии и термины у них есть. Код, который у меня есть сейчас

 <?php // Get terms for post $terms = get_the_terms( $post->ID , 'genre' ); // Loop over each item since it's an array if ( $terms != null ){ foreach( $terms as $term ) { $term_link = get_term_link( $term, 'genre' ); // Print the name method from $term which is an OBJECT echo '<li><a href="' . $term_link . '">' . $term->name . '</a></li>'; // Get rid of the other data stored in the object, since it's not needed unset($term); } } ?> с <?php // Get terms for post $terms = get_the_terms( $post->ID , 'genre' ); // Loop over each item since it's an array if ( $terms != null ){ foreach( $terms as $term ) { $term_link = get_term_link( $term, 'genre' ); // Print the name method from $term which is an OBJECT echo '<li><a href="' . $term_link . '">' . $term->name . '</a></li>'; // Get rid of the other data stored in the object, since it's not needed unset($term); } } ?> 

Как вы можете видеть, мне нужно было указать genre как таксономию ради того, чтобы он появился на моем сайте и ради этого примера, но я не хочу указывать таксономию. Bc делает так, что упускает из виду все остальные таксономии, которые мне нравятся или release date . Конечно, я мог бы поставить каждую из моих таксономий в код, чтобы убедиться, что все они включены, но должен быть более простой способ. Кроме того, как я могу убедиться, что каждый термин, связанный с сообщением, отображается.

Используйте get_object_taxonomies чтобы получить все таксономии, зарегистрированные для определенного типа сообщений.

Кроме того, не используйте query_posts для вторичных запросов. или когда-либо, на самом деле. Используйте WP_Query .

 $args = array( 'posts_per_page' => 1, 'post_type' => 'movies', 'orderby' => 'post_date', 'meta_key' => 'featured_movie', 'meta_compare' => '=', 'meta_value' => 1, ); $movie = new WP_Query( $args ); if( $movie->have_posts() ){ while( $movie->have_posts() ){ $movie->the_post(); // your post template tags the_title(); the_post_thumbnail('full-thumbnail'); // taxonomies/terms if( $taxonomies = get_object_taxonomies( 'movies' ) ){ foreach( $taxonomies as $taxonomy ){ if( $terms = get_the_terms( $post->ID , $taxonomy ) ){ foreach( $terms as $term ){ echo '<li><a href="' . get_term_link( $term ) . '">' . $term->name . '</a></li>'; } } } } } wp_reset_postdata(); }