我正在使用短代码终极灯箱创建查询.但是这在常规PHP页面中工作的唯一方法是将数据保存为字符串.所以我需要做的是创建我的查询,但不知何故在字符串中得到我的结果.
<?PHP
$my_tabs = "<ul class='easybuttons'>
<li>[su_lightBox type='inline' src='#lightBox1']AT&T[/su_lightBox]</li>
<li>[su_lightBox type='inline' src='#lightBox2']Sprint[/su_lightBox]</li>
<li>[su_lightBox type='inline' src='#lightBox3']T-Mobile[/su_lightBox]</li>
</ul>";
echo do_shortcode( $my_tabs );
?>
但我需要ATT,Sprint,T-Mobile才能充满活力.请记住,短代码只有在字符串中才有效.
那我怎么能在这个字符串中做一个while循环呢?我尝试使用运算符但没有工作.
$args = array('post_type' => 'services', 'category_name' => $childid, 'order_by' => 'the_title', 'order' => 'ASC');
query_posts($args);
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
$my_tabs .= '<ul class="easybuttons">';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$my_tabs .= '<li>[su_lightBox type="inline" src="#lightBox1"]' . get_the_title() . '</li>';
}
$my_tabs .= '</ul>';
}
/* Restore original Post Data */
wp_reset_postdata();
echo do_shortcode( $my_tabs );
?>
更新:
我尝试使用此代码但它确实有效.没有任何事情发生.我没有收到任何错误,但没有显示短代码.
<?PHP
$args = array('post_type' => 'services', 'category_name' => $childid, 'order_by' => 'the_title', 'order' => 'ASC');
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
$lid = 1;
$my_tabs .= '<ul class="easybuttons">';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$my_tabs .= '<li>[su_lightBox type="inline" src="#lightBox' . $lid . '"]' . get_the_title() . '</li>';
$lid++;
}
$my_tabs .= '</ul>';
}
echo do_shortcode( $my_tabs );
wp_reset_postdata();
解决方法:
您需要在某处初始化变量$my_tabs,例如在if块之外,并增加灯箱ID.您不需要调用query_posts(). order_by应该是title,而不是the_title.确保$childid绝对是string of the category slug,而不是名称,如果有疑问,请完全取出该参数,看看你是否得到任何东西,因为我认为这很可能是主要问题.
$args = array('post_type' => 'services', 'category_name' => $childid, 'order_by' => 'title', 'order' => 'ASC');
// The Query
$the_query = new WP_Query( $args );
$my_tabs = '';
// The Loop
if ( $the_query->have_posts() ) {
$lid = 1;
$my_tabs .= '<ul class="easybuttons">';
while ( $the_query->have_posts() ) {
$the_query->the_post();
$my_tabs .= '<li>[su_lightBox type="inline" src="#lightBox' . $lid . '"]' . get_the_title() . '</li>';
$lid++;
}
$my_tabs .= '</ul>';
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。