我写了一点代码,在保存时更新帖子名和(我的cpt的)slug。当我更新帖子时,这很有效。
我只是注意到这几行影响了帖子的创建和删除。
当我单击删除帖子时,会出现一条消息,说帖子已被删除,但没有。它总是在我的仪表板上。
当我创建一个新帖子时,我也会收到一条成功的消息,但帖子没有创建。
当我删除此代码时,添加和删除正在工作。。所以我认为这个钩子导致了一些错误。
function rohs_update_title($post_ID){
$post_type = get_post_type($post_ID);
// If this isn\'t a \'rohs_menu\' post, don\'t update it.
if ( "rohs_menu" != $post_type ) return;
$postAuthorId = get_post_field( \'post_author\', $post_ID ); // get the post author ID
$userToGetData = \'user_\'.$postAuthorId;
$restaurantName = get_field( \'nom_restaurant\', $userToGetData );
$date = get_field(\'date\');
remove_action( \'save_post\', \'rohs_update_title\' );
$menuName = \'Menu du \'.$date.\' chez \'.$restaurantName;
wp_update_post( array( \'post_id\' => $post_ID, \'post_title\' => $menuName, \'post_name\' => sanitize_title($menuName)) );
add_action( \'save_post\', \'rohs_update_title\' );
}
add_action( \'save_post\', \'rohs_update_title\', 10, 3 );
get\\u字段为表单acf
最合适的回答,由SO网友:Jaed Mosharraf 整理而成
你的代码有问题,这里我编辑了你尝试的内容,
function rohs_update_title($post_ID){
$post_type = get_post_type($post_ID);
// If this isn\'t a \'rohs_menu\' post, don\'t update it.
if ( "rohs_menu" != $post_type ) return;
$postAuthorId = get_post_field( \'post_author\', $post_ID ); // get the post author ID
$userToGetData = \'user_\'.$postAuthorId;
$restaurantName = get_field( \'nom_restaurant\', $userToGetData );
$date = get_field(\'date\');
remove_action( \'save_post\', \'rohs_update_title\' );
$menuName = \'Menu du \'.$date.\' chez \'.$restaurantName;
wp_update_post( array( \'ID\' => $post_ID, \'post_title\' => $menuName ) );
add_action( \'save_post\', \'rohs_update_title\' );
}
add_action( \'save_post\', \'rohs_update_title\', 10, 1 );
现在试试这个让我知道