如何通过自定义分类法提取自定义帖子类型?

时间:2015-10-15 16:13:04

标签: php wordpress wordpress-plugin

我制作了一个自定义的帖子类型,名为"视频"并在该帖子中键入一个名为" Crystal"使用此插件时https://wordpress.org/plugins/video-thumbnails/将YouTube视频缩略图生成到帖子中。

我试图浏览所有Crystal帖子,只在页面上显示视频缩略图,并附上该帖子的永久链接。

这是我的代码;

<div class="block" id="home-three">
    <p>YouTube</p>

        <?php
            $args = array(
                'post_type'         => 'videos',
                'post_status'       => 'publish',
                'posts_per_page'    => -1,
                'orderby'           => 'date',
                'order'             => 'DESC',
                'post_parent'       => 0,
                'tax_query'         => 'crystal',
            );

            $count = 1;
        ?>  
        <?php $video_query = new WP_Query( $args ); ?>

            <?php while ( $video_query->have_posts() ) : $video_query->the_post(); ?>

                <div>
                    <a href="<?php the_permalink(); ?>">
                        <?php if( ( $video_thumbnail = get_video_thumbnail() ) != null ) { echo "<img src='https://wordpress.org/plugins/video-thumbnails/" . $video_thumbnail . "' />"; } ?>
                    </a>
                </div>
            <?php wp_reset_query(); ?>
</div>

1 个答案:

答案 0 :(得分:0)

根据documentationtax_query参数接受数组。

所以你的WP_Query参数应该是:

    <?php
        $args = array(
            'post_type'         => 'videos',
            'post_status'       => 'publish',
            'posts_per_page'    => -1,
            'orderby'           => 'date',
            'order'             => 'DESC',
            'post_parent'       => 0,
            'tax_query'         => array(
                array(
                    'taxonomy' => 'category',
                    'field'    => 'slug',
                    'terms'    => 'crystal'
                )
            )
        );
    ?>  

您也可以使用Category Parameters

<?php
    $args = array(
        'post_type'         => 'videos',
        'post_status'       => 'publish',
        'posts_per_page'    => -1,
        'orderby'           => 'date',
        'order'             => 'DESC',
        'post_parent'       => 0,
        'category_name'     => 'crystal'
    );
?>