WordPress:如何将帖子类型循环到自定义仪表板菜单?

时间:2019-01-31 23:03:14

标签: php wordpress

我正在创建一个自定义WordPress仪表板菜单,我想在那里显示帖子列表。我尝试在函数内显示带循环,但出现错误:

Parse error: syntax error, unexpected '}'

这是我的代码:

function _submenu_cb() {
    $args = array ( 'post_type' => 'product', 'post_status' => 'pubish' );
    $query = new WP_Query( $args );

    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) : $query->the_post();
        echo '<h1>'.the_title().'</h1>';
    }
}

如何解决此问题?通过在函数内循环帖子,是否可以在自定义仪表板菜单中显示帖子列表?

1 个答案:

答案 0 :(得分:0)

您应该在IDE中安装适当的linters来编辑代码,因为它们将有助于诊断此类snytax错误。

如果您查看整个错误,它也会告诉您它在哪一行。我只是将其粘贴到编辑器中,您可以看到错误的正确位置。

Screenshot of IDE

向后看,您似乎没有关闭while循环。请注意,您使用的代码是while循环的Alternative Syntax,但是if语句的标准大括号语法。您需要在endwhile;之后并在大括号关闭echo语句之前添加一个if

function _submenu_cb() {
    $args = array ( 'post_type' => 'product', 'post_status' => 'pubish' );
    $query = new WP_Query( $args );

    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) : $query->the_post();
            // Do Stuff Here, like output the title
        endwhile;
    }
}

请注意,您的echo中也存在WordPress特定的错误。默认情况下,the_title()实际上输出标题。您正在有效地混合the_title()[ get_the_title()`](https://codex.wordpress.org/Function_Reference/get_the_title)。您将要使用其中之一。要么:

echo '<h1>'. get_the_title() .'</h1>';

或放弃回声并使用:

the_title( '<h1>', '</h1>' );