两种方式之一:
添加短代码,以便有人可以访问[content-block id="12"]
他们想去哪里就去哪里。这里有一个非常简单的示例,没有很多错误检查。
<?php
add_action( \'init\', \'wpse29418_add_shortcode\' );
function wpse29418_add_shortcode()
{
add_shortcode( \'content-block\', \'wpse29418_shortcode_cb\' );
}
function wpse29418_shortcode_cb( $atts )
{
$atts = shortcode_atts(
array(
\'id\' => 0
),
$atts
);
// then use get_post to fetch the post content and spit out.
$p = get_post( $atts[\'id\'] );
return $p->post_content;
}
或者,您可以在后端创建一个非常大的选项页面,允许用户将内容块分配给页面。然后钩住
the_content
并放置信息框。
<?php
add_filter( \'the_content\', \'wpse29418_content_filter\' );
function wpse29418_content_filter( $content )
{
global $post;
// get the option that stores the data.
$opts = get_option( \'wspe29418_opts\' );
// check to see if the post has a content block assigned.
if( isset( $opts[$post->ID] ) )
{
//do stuff here
}
return $content;
}
第二种方法的缺点是,您只能将内容块放在原始帖子内容之前或之后,或者将该帖子的内容全部替换。
短代码对于您的最终用户来说是最灵活的。