查找类似的自定义帖子类型帖子并将其链接到标准wordpress帖子

时间:2016-09-01 19:11:18

标签: php wordpress

希望你能解决我的问题。

我正在尝试将与其他自定义帖子类型匹配相同字词的帖子提取到标准WP帖子。

例如:一则关于" BMW M5正在宣布推出新安全功能的新闻帖子"然后是关于BMW M5的产品页面。

在新闻帖子上,我希望点击产品页面并从CPT中获取一些基本信息,并希望通过他们的名字将这两者联系起来,即CPT的帖子标题。作为"新闻"这些帖子将不仅仅是" BMW M5"我需要做一种反转wordpress查询,它会在新闻页面上查找与汽车产品自定义帖子类型相匹配的所有新闻帖子。

我尝试使用我在这里找到的一段代码,在循环args中使用修改后的查询搜索类似的帖子,但是因为我认为这意味着比产品页面提供更多的单词而不返回任何内容。

对于停止间隙,我正在寻找两者上的确切标签,但它并不理想,因为它在人体方面容易出错,并希望尽可能自动化。

以下是使用标签的当前代码。

$tags = wp_get_post_tags($post->ID);
            $tag_ids = array();
            foreach ($tags as $individual_tag) $tag_ids[] = $individual_tag->slug;

            $args = array(
                'posts_per_page' => 1,
                'post__not_in'  => array($post->ID),
                'post_type' => 'games',
                'post_status' => array('publish', 'draft'),
                'tax_query' => array(
                    array(
                        'taxonomy' => 'post_tag',
                        'field' => 'slug',
                        'terms' => $tag_ids
                    )
                )
            );

                $wp_query = new WP_Query($args);

            if ($wp_query->have_posts()){
                while ( $wp_query->have_posts() ) { $wp_query->the_post(); ?>
                    <?php $src = wp_get_attachment_image_src( get_field('image'), $size, false ); ?>

                    <?php
                    $originalDate = get_field('release_date');
                    $newDate = date("d/m/Y", strtotime($originalDate));
                    ?>

                    <?php if(get_post_status() == 'publish'){ ?>

                    <div class="hub" style="background-image: url('<?php echo $src[0]; ?>')">
                        <dl id="gdbinfobar">
                            <dt class="info_bar_title">
                            <h3 style="color: #FFF"><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></h3>
                            </dt>
                            <dt class="info_bar_release">
                                Released on: <?php echo $newDate; ?>
                            </dt>
                            <dt class="info_bar_model">
                                <?php echo get_field('t_platform'); ?>
                            </dt>
                        </dl>

                        <a class="btn" href="<?php the_permalink()?>">View Game</a>

                    </div>

0 个答案:

没有答案