After I publish a post I want to get a custom field from the plugin advanced custom fields and store it inside a database. tried this:
function call_after_post_publish($post_id, $post) {
$tcParentTitle = get_the_title( $post_id );
$tcChildTitle = get_field( 'funcion_1_titulo_tc', $post_id );
global $wpdb;
$wpdb->insert(
'link',
array(
'parent_title' => $tcParentTitle,
'title' => $tcChildTitle,
'parent_id' => $post_id,
),
array(
'%s',
'%s',
'%d'
)
);
}
add_action( 'publish_post', 'call_after_post_publish', 10, 2 );
This doesn't seem to work because I think the function get_field() works only after the post is created. Is there other way I can get the custom field value?
$_POST
for data or use theacf/save_post
action instead.publish_post
is fired beforesave_post
that's used by ACF. So it's better to hook intosave_post
with higher priority value.