这可能在Wordpress
吗?我正在尝试为我的内容使用预定义的模板。要做到这一点,我使用这样的东西:
add_filter( 'default_content', 'custom_editor_content' );
function custom_editor_content( $content ) {
$args = array(
'posts_per_page'=> 15,
'orderby' => array(
'ID' => 'DESC' ,
),
);
$query = new WP_Query( $args );
$query_contents=Array();
while ( $query->have_posts() ) {
$query->the_post();
array_push($query_contents,Array(
"id"=>get_the_ID(),
"title"=>get_the_title(),
"url"=>get_permalink(),
));
}
$content = '
'.get_the_title( $id ).'
';
return $content;
}
但我无法以某种方式获得帖子标题(那时我正在创作的那个)。有人知道怎么做吗?如果我将while语句放入$ content,它会在编辑器中显示整个查询,这当然不是我想要的。
我想要做的就是获取帖子标题并在内容编辑器中显示(在发布之后或之前,这无关紧要)
有人可以帮助我吗?
答案 0 :(得分:0)
我认为在执行此脚本时(在页面加载之前),您正在“创建”的帖子尚不存在,因此您无法获取其标题。
您可以尝试以下操作,因为default_content支持第二个参数,即编辑后的帖子:
add_filter( 'default_content', 'custom_editor_content' );
function custom_editor_content( $content, $post ) {
...
$content = '
'.$post->post_title.'
';
return $content;
}
但是我认为你将面临我在回答开头提到的同样的问题。如果你想为新帖子的内容添加标题,你可能需要一个javascript,它会在你写的时候将标题复制到内容中(仅当内容仍然是空的时候)。