我正在尝试创建一个快捷代码,使用ID属性显示包含帖子内容(缩略图、标题和摘录)的横幅。我的目标是能够使用像[postbanner id=123]
按其ID显示任何帖子。
下面是我的代码(在function.php子主题中):
function post_banner_shortcode($atts) {
$atts = shortcode_atts( array(
\'id\' => \'\'
), $atts );
$post_id = $atts[\'id\'];
$HTML = \'<div class="postbanner">\';
$HTML .= \'<div class="pb-thumb">\' . get_the_post_thumbnail($post_id, \'medium\') . \'</div>\';
$HTML .= \'<div class="pb-ttl-txt">\';
$HTML .= \'<h4>\' . get_the_title($post_id) . \'</h4>\';
$HTML .= \'<p>\' . get_the_excerpt($post_id) . \'</p>\';
$HTML .= \'</div>\';
$HTML .= \'</div>\';
return $html;
}
add_shortcode( \'postbanner\', \'post_banner_shortcode\' );
实际上,这段代码没有返回任何内容,我也不明白为什么。我错过了一些东西。我还是PHP的新手,所以这就是为什么我需要一些帮助:)
最合适的回答,由SO网友:Q Studio 整理而成
尝试$HTML
而不是$html
基于Linux的系统区分大小写。。。
function post_banner_shortcode($atts) {
$atts = shortcode_atts( array(
\'id\' => \'\'
), $atts );
$post_id = $atts[\'id\'];
$HTML = \'<div class="postbanner">\';
$HTML .= \'<div class="pb-thumb">\' . get_the_post_thumbnail($post_id, \'medium\') . \'</div>\';
$HTML .= \'<div class="pb-ttl-txt">\';
$HTML .= \'<h4>\' . get_the_title($post_id) . \'</h4>\';
$HTML .= \'<p>\' . get_the_excerpt($post_id) . \'</p>\';
$HTML .= \'</div>\';
$HTML .= \'</div>\';
return $HTML;
}
add_shortcode( \'postbanner\', \'post_banner_shortcode\' );