Php 保存帖子时按acf

Php 保存帖子时按acf,php,wordpress,function,post,advanced-custom-fields,Php,Wordpress,Function,Post,Advanced Custom Fields,当我保存帖子时,它会创建一个具有正确值的帖子,另一个没有标题和值 add_filter('acf/pre_save_post' , 'tsm_do_pre_save_post' ); function tsm_do_pre_save_post( $post_id ) { // Create a new post $post = array( 'post_type' => 'itemfounds', // Your pos

当我保存帖子时,它会创建一个具有正确值的帖子,另一个没有标题和值

add_filter('acf/pre_save_post' , 'tsm_do_pre_save_post' );

function tsm_do_pre_save_post( $post_id ) {


        // Create a new post
        $post = array(
            'post_type'     => 'itemfounds', // Your post type ( post, page, custom post type )
            'post_status'   => 'draft', // (publish, draft, private, etc.)
            'post_title'    => 'Δωρεά σε είδος για το "'.get_the_title(wp_strip_all_tags( $_POST['acf']['field_5696694332974'] )).'"' , // Post Title ACF field key 
        );

    // insert the post
    $post_id = wp_insert_post( $post );

    session_start();

    $_SESSION['item_pid'] = $post_id;

    // Save the fields to the post
   // do_action( 'acf/save_post' , $post_id );


    return $post_id;

}

您可以通过以下方式使用acf:-

$post\u id
(数组)正在保存的帖子的id

之前

<?php

function my_acf_save_post( $post_id ) {

    // bail early if no ACF data
    if( empty($_POST['acf']) ) {

        return;

    }


    // array of field values
    $fields = $_POST['acf'];


    // specific field value
    $field = $_POST['acf']['field_abc123'];

}

// run before ACF saves the $_POST['acf'] data
add_action('acf/save_post', 'my_acf_save_post', 1);

?>

之后

<?php

function my_acf_save_post( $post_id ) {

    // get new value
    $value = get_field('my_field');


    // do something

}

// run after ACF saves the $_POST['acf'] data
add_action('acf/save_post', 'my_acf_save_post', 20);

?>

希望这能对您有所帮助:)

“当我保存帖子时,它会创建一篇具有正确值的帖子,另一篇没有标题和价值的帖子!”——这可能是因为您已经在pre_save_post过滤器中创建了帖子。