我正在尝试创建一个非常具体的小部件,但我无法解决这个主要问题。窗口小部件创建一个循环以显示特定自定义帖子类型的信息。重要的是,它应该允许开发人员创建自定义布局,但如果我不输入任何内容,也会有默认布局。我已经能够完成大部分工作,包括允许PHP在插件中执行。但问题是,当我在窗口小部件中创建自定义布局时,它开始从基本帖子而不是我的自定义帖子类型中提取信息。但是,如果我将该代码直接放入PHP文件而不是小部件中,它将按预期执行。这是前端代码:
<?php
echo $before_widget;
echo $before_title . $title . $after_title;
//The Loop
$args = array( 'post_type' => 'ctas', 'posts_per_page' => $num_ctas );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="<?php echo $cta_class; ?>">
<?php
if(!empty($cta_layout)){
echo $cta_layout; //this is the code entered into the widget that doesn't execute as expected
} else { ?>
<h3><?php the_title(); ?></h3> <!--this part works fine-->
<?php the_content(); ?>
<?php } ?>
</div>
<?php endwhile;
//After The Widget
echo $after_widget;
?>
答案 0 :(得分:0)
将echo $cta_layout;
替换为eval($cta_layout);
;
&#39;回波&#39;函数打印一个字符串,它根本不运行php代码。 &#39; EVAL&#39;函数将执行php代码。
示例: