我试图弄明白为什么WP似乎无法识别短代码循环中的get\\u the\\u post\\u thumbnail()之类的函数。
例如,尝试将其添加到新的主题/插件较少的安装中。这是我的功能。php:
<?php
add_theme_support( \'post-thumbnails\' );
function scRecentPhoto() {
global $post;
$photoargs = array(
\'post_type\' => \'photos\',
\'posts_per_page\' => 1,
);
$photoloop = new WP_Query($photoargs);
while ( $photoloop->have_posts() ) : $photoloop->the_post();
$output = get_the_post_thumbnail(array(280,130));
$output .= \'<h4><a href="\' . get_permalink() . \'">\' . get_the_title() . \'</a></h4>\';
$output .= \'<p>\' . get_the_excerpt() . \'</p>\';
endwhile;
return $output;
}
add_shortcode(\'recentphoto\', \'scRecentPhoto\');
?>
我总是会遇到一个PHP错误,例如:致命错误:调用未定义函数get\\u the\\u post\\u thumbnail()。。。
有什么想法吗?谢谢
编辑=照片CPT示例代码:
register_post_type( \'photos\',
array(
\'labels\' => array(
\'name\' => __( \'Photos\' ),
\'singular_name\' => __( \'Photo\' )
),
\'public\' => true,
\'supports\' => array(
\'title\',
\'editor\',
\'author\',
\'thumbnail\',
\'excerpt\',
\'comments\'
),
\'capability_type\' => \'post\',
\'rewrite\' => array(\'slug\'=> $slug)
)
);
编辑2=做了更多的测试,结果表明,如果我直接将短代码放在帖子/小部件等中,它就可以工作。在我需要它的地方,它就不能工作,而我需要它,它在主题选项页面中。我这样称呼他:
$homeoptions = get_option(\'home_options\');
$row1box1 = do_shortcode($homeoptions[\'row1box1\']);
if ($row1box1) :
echo \'<div id="row4box1" class="box">\' . $row1box1 . \'</div>\';
endif;
我不完全确定为什么它在选项页面中不起作用,因为我创建的其他基本短代码工作得很好。但希望这能缩小问题的范围?