需要在function.php中提取自定义帖子类型的标题和ID 如果在页面模板中使用以下代码,则可以正常工作。但不会在functions.php中返回任何内容
<select name="feat_pop" value="<?php echo $feat_pop; ?>">
<option value="none">None</option>
<?php
global $post;
$popargs = array(
'posts_per_page' => -1,
'post_type' => 'popups'
);
$newpop = new WP_Query( $popargs );
if ( have_posts() ) while ($newpop->have_posts()) : $newpop->the_post();
?>
<option value=""><?php the_title();?></option>
<?php
endwhile;
wp_reset_postdata();
?>
</select>
错误日志中的唯一错误-“ Got错误'PHP消息:PHP解析错误:语法错误,文件意外结束”但指定的行没有任何内容。
答案 0 :(得分:1)
似乎您正在混淆代码have_posts
的方法。您应该在WP_Query()
上运行该方法。您也不需要在此处实例化全局$post
变量。最后,您似乎没有在任何地方将ID实际拉入输出中吗?我假设您想要它作为值-试试这个:
<select name="feat_pop" value="<?php echo $feat_pop; ?>">
<option value="none">None</option>
<?php
$popargs = array(
'posts_per_page' => -1,
'post_type' => 'popups'
);
$newpop = new WP_Query( $popargs );
if( $newpop->have_posts() ){
while( $newpop->have_posts() ){
$newpop->the_post();
echo '<option value="'. get_the_ID() .'">'. get_the_title() .'</option>';
}
}
wp_reset_postdata();
?>
</select>