在管理员中更新 "Elementor" _elementor_data 的元字段

Update meta feild for "Elementor" _elementor_data in admin

我正在尝试更新元素或数据中的 url。

$metacontent = get_post_meta($idforupdate, '_elementor_data',true);
$with_slash = stripslashes_deep($metacontent);
$with_slash = str_replace($value, $url_1, $with_slash);

$metacontent1 = str_replace("/", "\/", $with_slash);
update_post_meta( $idforupdate, '_elementor_data', $metacontent1 );

但是....

我尝试删除斜线并重新添加斜线。但在保存后它改变了所有内容和文本并丢失了所有布局...

谢谢

Wordpress 清理并序列化数据,默认情况下以字符串形式插入。

无法以这种方式更改 url。我们必须需要使用查询更新数据库中的 url..

function update_elementor_url($search,$replace,$idforupdate){
    global $wpdb;    
    $rows_affected = $wpdb->query(
    "UPDATE {$wpdb->postmeta} " .
    "SET `meta_value` = REPLACE(`meta_value`, '" . str_replace( '/', '\\/', $search ) . "', '" . str_replace( '/', '\\/', $replace ) . "') " .
    "WHERE `meta_key` = '_elementor_data' AND post_id = '$idforupdate' ;" );/**/


}