我有一个循环,可以获取所有“custom_post”帖子。它完美地工作 - 除了当我回显一个变量时,它会在有多个帖子时复制变量。
很难解释 - 但基本上如果我有一个帖子它完美无缺。我得到一个Div,其中包含分配给该自定义帖子的班级名称。
当我添加另一个帖子 - 再次起作用,但显示两个div与第二个帖子。我想象它与循环中的echo $变量有关。
有什么想法吗?感谢
修改
CODE:
function display_css() {
$ids = array();
$args = array( 'post_type' => 'custom_post');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
array_push( $ids, get_the_ID() );
endwhile;
foreach (array_unique($ids) as $key => $value) {
$check_select_modules = $titan->getOption( 'selec_modules', $value );
if ( "accordianmodule" == $check_select_modules) {
include(DE_DB_PATH . '/lib/modules/accordian.php');
}
elseif ( "textmodule" == $check_select_modules) {
include(DE_DB_PATH . '/lib/modules/text.php');
}
else {
}
}
}
add_action( 'wp_head', 'display_css', 15 );
然后在其中一个PHP脚本中
$css_accordian .= '<style id="css-'.$accordian_module_heading_css_class_display.'">';
echo $css_accordian;
我得到了变量$ accordian_module ......进一步提高了脚本。
答案 0 :(得分:0)
首先,你错过了一个引用:
from .add import add
应该是:
$variable .= '<div class"'.$classname.;">;
建议:
$variable .= '<div class"'.$classname.'">';
然而..而不是使用foreach第二次循环遍历所有ID,为什么你不在上面的循环中回显div,如下所示:
$ids = array();
$args = array( 'post_type' => 'custom_post');
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) {
$loop->the_post();
array_push($ids, get_the_ID());
}
}
或者你想要一个显示所有帖子的div?
答案 1 :(得分:0)
问题是在这里复制的那段代码中没有设置$ classname。我猜它在这段代码之前被分配了一些值? 我建议在while循环期间将classname设置为$ ids数组(尽管你应该调用其他东西)。像这样的东西,虽然“$ post-&gt; classname”可能不起作用,你必须弄清楚从哪里获取classname。
while ( $loop->have_posts() ) : $loop->the_post();
$ids[get_the_ID()] = $post->classname;
endwhile;
然后在for循环中,$ value将包含你的类名,所以你可以这样做:
foreach (array_unique($ids) as $key => $value) {
$variable ='<div class"'.$value.;">;
echo $variable;
}