解析错误:语法错误,第34行代码中的意外'post_type'(T_STRING)

时间:2018-03-07 18:58:08

标签: wordpress post while-loop syntax-error

我得到了

  

解析错误:
  语法错误,第34行代码中的意外“post_type”(T_STRING)

我该如何解决? 这是我的代码:

SELECT

我在自定义帖子类型服务的VC小部件的while循环中发现了一个错误。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

你应该真正努力使你的代码更清洁,这将有助于更容易识别代码错误 - 使用像Sublime,Atom等IDE。

您的问题就是在while循环之前,您的字符串以</li>结尾但未关闭,因此您需要替换

</li>   
while ( $the_service->have_posts() ) : $the_service->the_post(); $count++;  

</li>';
while ( $the_service->have_posts() ) : $the_service->the_post(); $count++;

编辑:

您混合/匹配了许多不同的语法和缩进,这使得几乎无法轻松浏览代码。我用括号替换了一些if:endif;循环,一个用三元运算符替换,并整体清理它:

if( $the_service->have_posts() ){
    $output .= '<div class="single-sidebar-widget">
                    <div class="special-links">
                        <ul class="nav nav-tabs single-services-menu" role="tablist">
                            <li><a href="http://example.com/all-services/">All Services</a></li>';

    while( $the_service->have_posts() ){
        $the_service->the_post(); $count++;

        if( 0 == $post->post_parent ) {
            $args1 = array(
                'post_type'   => 'services',
                'post_status' => 'publish',
                'post_parent' => get_the_ID(),
                'order'       => esc_attr( $order )
            );

            $varClass = $varPageID == get_the_ID() ? 'class=active' : '';
            $output .= '<li role="presentation" '.esc_attr($varClass).'><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
        }
    }

    $output .= '</ul></div></div>';
} else {
    $output .= esc_html( 'Sorry, there is no services under your selected page.', 'plumbing' );
}

wp_reset_postdata();

echo $output;