从自定义帖子类型中更新其他帖子

时间:2019-04-19 12:42:34

标签: wordpress

我是wordpress和php的新手,我正在尝试向插件添加一些自定义功能。定义了一个自定义帖子类型,用于在其中添加广告和循环以在帖子内容中添加内容。目标是在符合条件的帖子后追加,但我的代码似乎插入到每个帖子中。

我试图添加第二个wp_query来过滤我需要根据_categs中的类别更新的帖子。为了简化代码,在下面的示例中,我尝试将内容仅添加到某个ID。

<?php
$ads = new WP_Query(array(
'post_type' => $this->plugin->posttype,
'post_status' => 'publish',
'posts_per_page' => - 1,
));

if ($ads->have_posts())
{
while ($ads->have_posts())
    {
    $ads->the_post();
    $adID = get_the_ID();
    $adIntro = get_post_meta($adID, '_ad_intro', true);
    $adCategs = get_post_meta($adID, '_categs', true);
    $adPosition = get_post_meta($adID, '_ad_position', true);
    $adTemplate = '<h4 class="ad-banner">' . $adIntro . '</h4>';
    foreach($adCategs as $adCateg)
        {
        echo 'Cat: ' . $adCateg . ' | Posts: ';
        }

    $posts = new WP_Query(array(
        'cat' => '8'
    ));
    $show_ad = false;
    if ($posts->have_posts())
        {
        while ($posts->have_posts())
            {
            $posts->the_post();
            echo ' ' . get_the_ID();
            if (get_the_ID() === 246)
                {
                switch ($adPosition)
                    {
                case 'top':
                    $content = $adTemplate . $content;
                    break;

                case 'bottom':
                    $content = $content . $adTemplate;
                    break;
                    }
                }
            }
        }
    }
}

wp_reset_postdata();
return $content;

对于此代码,我在所有帖子中都得到以下输出:

  

猫:8 |帖子:246216178159164326102 55 55插入!

因此该代码有效,但是我只希望插入!在第246条中,而是我在所有帖子中都看到了它

谢谢!

0 个答案:

没有答案