SAVE_POST影响创建和删除

时间:2017-10-11 作者:Steven Roh

我写了一点代码,在保存时更新帖子名和(我的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

1 个回复
最合适的回答,由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 );
现在试试这个让我知道

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register

SAVE_POST影响创建和删除 - 小码农CODE - 行之有效找到问题解决它

SAVE_POST影响创建和删除

时间:2017-10-11 作者:Steven Roh

我写了一点代码,在保存时更新帖子名和(我的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

1 个回复
最合适的回答,由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 );
现在试试这个让我知道

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register