下面是一个示例shortcode 根据id
和type
属性
[post type="content" id="2"]
[post type="title" id="2"]
如果要从模板渲染,请使用:
echo do_shortcode ( \'[post type="content" id="294"]\' );
echo do_shortcode ( \'[post type="title" id="294"]\' );
这是实际的
shortcode 注册:
// [post type="content" id="2"]
// [post type="title" id="2"]
function post__shortcode( $atts ) {
$a = shortcode_atts(
array (
\'id\' => false,
\'type\' => "content",
), $atts );
$id = $a [ \'id\' ];
$type = $a [ \'type\' ];
// bad id
if ( ! is_numeric( $id ) ) {
return \'\';
}
// find the post
$post = get_post( $id );
// bad post
if ( ! $post ) {
return \'\';
}
// allow for other post attributes
switch ( $type ) {
case "content":
return $id === get_the_ID() || $id === get_queried_object_id()
? \'\' // no recursive loops!
: apply_filters( \'the_content\', $post->post_content );
case "title":
return $post->post_title;
}
// nothing to see here
return \'\';
}
add_shortcode( \'post\', \'post__shortcode\' );
显然,您可以修改
switch
包括该帖子所需的任何类型的内容。