WP自定义帖子类型UI

时间:2012-02-28 07:40:12

标签: php wordpress

我使用WP插件“自定义帖子类型UI”和我自己的模板将一些内容添加到我的wp页面。

<div id="AboutMain">
<?php 
    /* the original page contents */
    while (have_posts()) {
        the_post();
        get_template_part('content', 'page');

    /* New set of data fetched from my custom post types */
    $posts = get_posts(array(
        'numberposts' => -1,
        'post_type' => 'styrelse'
    ));

    if($posts)
    {
        foreach($posts as $post)
        {

            $namn=get_the_title($post->ID);
            $desc=get_the_content($post->ID);

            echo "
            <div class='styrelsen art-postcontent'>
                <h5 class='art-postcontent'>$namn</h5>
                <p>$desc</p>
            </div>
            ";  
        }
    }

现在我得到了一个非常奇怪的行为 - 因为我已经使用自定义查询设置了$ posts,在for-each循环中它不应该包含基本页面内容了,但我的自定义帖子类型内容是对的吗?

但是get_the_content($ post-&gt; ID);获取页面的原始内容,并在get_the_title($ post-&gt; ID)时反复重复;为我找回正确的标题。

** * ** * ** < / strong> 已解决 ** * ** * ** * ****

好的,我就是这样做的。

首先我意识到使用该全局变量名称可能不是最好的idéa所以我将其更改为$ board_posts。

然后我转储了该变量以找出如何“手动”访问标题和正文,结果发现它比我初想的要容易。

foreach($styrelse_posts as $post)
{   
$namn = $post->post_title;
$desc = $post->post_content;

试错大多数问题=)

1 个答案:

答案 0 :(得分:0)

使用$post作为变量可能会导致一些奇怪的行为,因为Wordpress将其用作全局变量。我建议您尝试在setup_postdata($post)之前调用get_the_title($post->ID),或者将foreach更改为foreach($posts as $p)并使用$p->ID作为参数。