I want to append my wordpress titles to have some static text in them before publishing. As my posts are directly posting to social media when they are published, I want this to happen before publishing.. I tried several approaches but none of them are working. This does not work at all
JavaScript
x
function save_title( $title ){
$text = '#ad #Myblog';
$title = $title.$text;
}
add_action('save_post', 'save_title');
Below code works but just replace the whole title with static text and do not capture text I entered in post title manually when writing the post
JavaScript
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 );
I also tried to_title
but that just update the title in wordpress. Not in the post before publishing.
Not sure if there is really a way to capture dynamic text entered in post and append. Please help.
Advertisement
Answer
Check that https://wordpress.stackexchange.com/a/35993
JavaScript
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;
}