添加新的自定义帖子时预插入数据会引发json错误

时间:2022-02-22 作者:ari elbaz

这是我试过的

function mec_locations_cpt_add_content ( $data, $postarr) {        //, $postarr
    if ( \'mec_locations_cpt\' !== $postarr[\'post_type\'] ) {
         return $data;
    }
    if ( \'publish\' !== $postarr[\'post_status\'] ) {
         return $data;
    }
    $post = get_post( $postarr[\'ID\'] );
    //$mec_location_shortcode=\'[mec-location id=”{LOCATION_ID}” limit_events=”{NUMBER}”]\';        //to get from an admin field
    //$mec_location_shortcode =\'<!-- wp:shortcode -->[mec-location id=128]<!-- /wp:shortcode -->\';
    $data[\'post_content\'] .= \'<!-- wp:shortcode -->[mec-location id=128]<!-- /wp:shortcode -->\';
    $data[\'post_content\'] .= \'<!-- wp:paragraph -->#####################################################\'.\'post=\'.print_r($post,true).\'<!-- /wp:paragraph -->\';
    $data[\'post_content\'] .= \'<!-- wp:paragraph -->@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\'.\'data=\'.print_r($data,true).\'<!-- /wp:paragraph -->\';
    $data[\'post_content\'] .= \'<!-- wp:paragraph -->&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\'.\'postarr=\'.print_r($postarr,true).\'<!-- /wp:paragraph -->\';
    //$data[\'post_title\']   .= \'some text\';
    //$data[\'post_excerpt\']  = \'This is my excerpt inserted for new post\';
    // If value is not in content, append it onto the end
    //if ( stristr( $data[\'post_content\'], $content_shortcode ) === FALSE ) $data[\'post_content\'] .= \'add this\'.$meta_value .($meta_value);
    //$postarr[\'post_title\'] .=\'add some text\';
    //$postarr[\'post_content\'] .=\'ok ! added \' . $mec_location_shortcode;
    //$postarr[\'post_excerpt\']  =\'My new updated excerpt\';
    return $data;
}
add_filter(\'wp_insert_post_data\', \'mec_locations_cpt_add_content\' ,100 ,2);
但尽快我尝试添加一个新帖子,我有一个错误消息,即la sauvegarde de cet article dans votre navigateur est différente de la version ci dessous。含义~:帖子与浏览器中的帖子不同

当我编辑标题和内容并试图发布帖子时,会出现json错误发布aéchoué。La réponse n\'est pas une réponse JSON valide。我试图更改permalink设置,但没有成功我在没有添加任何内容的情况下收到了相同的错误

但奇怪的是,如果我取消发布,帖子会保存在db中,数组会包含两次。。。如果我再次编辑帖子,它会再次触发json错误,但帖子内容会再次更新

这是否意味着wp\\u insert\\u post\\u data在insert之前激发,然后在save\\u post再次激发????

我知道这样做每次都会增加内容。我计划在添加之前添加一些检查内容,但现在我只尝试删除错误消息

1 个回复
SO网友:Michi91

您应该使用content\\u save\\u pre filter。也许可以试试;“简单”;内容优先。

wp\\u insert\\u post\\u data在很多情况下都会触发:-),甚至在删除时也是如此。