每次在后端打开自定义帖子时更新POST_CONTENT

时间:2017-08-11 作者:Vince

我需要实现一个功能,在管理编辑器中打开当前自定义帖子后,立即替换其post\\u内容。其目的是更新内容中的信息,直到帖子“发布”。

什么是正确的操作/钩子,允许我获取当前打开的帖子的信息并对其进行修改?

我已经开发了此功能,但效果不佳:

function save_team() {
    $post = get_post();
    $ID_post = $post->ID;
    $team = get_post_meta ($ID_post, ‘hometeam’, true);
    if($post->post_type == "game" && $post->post_status == "draft"){
       $post_content = $post->post_content;
       //code that modifies post_content here by adding $team at some point
       $my_post = array(
          ‘ID’ => $ID_post,
          ‘post_content’ => $post_content,);
       wp_update_post( $my_post );
    }
}

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

这个content_edit_pre 过滤器可能就是您要找的。这将在编辑器中检索和输出帖子之前过滤帖子的内容。

因此,您可以这样做:

function save_team( $content, $post_id ) {
    $team = get_post_meta ($post_id , \'hometeam\', true);
    if( get_post_type( $post_id ) == "game" && get_post_status( $post_id ) == "draft" ){
       //code that modifies post_content here by adding $team at some point
       $my_post = array(
          \'ID\' => $post_id,
          \'post_content\' => $content,);
       wp_update_post( $my_post );
    }
}
add_filter( \'content_edit_pre\', \'save_team\', 10, 2 );
帖子ID和内容将传递到此过滤器,因此无需使用get_post(); 在这里

作为补充说明,您不应该使用 作为报价。使用\'" 相反

结束

相关推荐

Query_Posts->从自定义字段获取页面ID

我正在自定义页面模板,在从自定义字段获取页面id时遇到问题。自定义字段的值包含要调用其内容的页面ID。对于普通页面,我会这样做:<?php query_posts(\'page_id=155\'); global $more; $more = 1; ?> 但是如何获取自定义字段的值作为查询的页面ID?提前感谢托蒂