首页 > 解决方案 > 在发布 wordpress 帖子之前附加帖子标题

问题描述

我想在发布之前附加我的 wordpress 标题以在其中包含一些静态文本。由于我的帖子在发布时直接发布到社交媒体,我希望在发布之前发生这种情况。我尝试了几种方法,但都没有奏效。这根本不起作用

function save_title( $title ){
        $text = '#ad #Myblog';
    $title = $title.$text;
}
add_action('save_post', 'save_title');

下面的代码有效,但只是用静态文本替换整个标题,并且在撰写帖子时不捕获我在帖子标题中手动输入的文本

function update_new_post_title( $data ) {
   $title = '#ad '.$_POST[ 'title' ];
    $data['post_title'] =  $title;
    return $data;
}
add_filter( 'wp_insert_post_data' , 'update_new_post_title' , '99', 1 );

我也尝试过to_title,但这只是更新 wordpress 中的标题。不在发布前的帖子中。不确定是否真的有办法捕获在帖子中输入的动态文本并附加。请帮忙。

标签: phpwordpress

解决方案


检查https://wordpress.stackexchange.com/a/35993

add_filter( 'wp_insert_post_data' , 'filter_post_data' , '99', 2 );

function filter_post_data( $data , $postarr ) {
    // Change post title
    if (!strpos($data['post_title'], '_suffix')
        $data['post_title'] .= '_suffix';
    return $data;
}

推荐阅读