如何显示我在内容编辑器中创建的帖子标题?

时间:2017-11-21 22:13:59

标签: php wordpress

这可能在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,它会在编辑器中显示整个查询,这当然不是我想要的。

我想要做的就是获取帖子标题并在内容编辑器中显示(在发布之后或之前,这无关紧要)

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我认为在执行此脚本时(在页面加载之前),您正在“创建”的帖子尚不存在,因此您无法获取其标题。

您可以尝试以下操作,因为default_content支持第二个参数,即编辑后的帖子:

add_filter( 'default_content', 'custom_editor_content' );
function custom_editor_content( $content, $post ) {

    ...
    $content = '



    '.$post->post_title.'


    ';
   return $content;
}

但是我认为你将面临我在回答开头提到的同样的问题。如果你想为新帖子的内容添加标题,你可能需要一个javascript,它会在你写的时候将标题复制到内容中(仅当内容仍然是空的时候)。