skip to Main Content

I am trying to update url in elementor data.

$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 );

But….

i tried to remove slashes and add slashes back. but after saving its changed all the content with text and lost all layout…

Thanks

2

Answers


  1. Chosen as BEST ANSWER

    Its is not possible to change url in this way. we must need to update url in database using query..

    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' ;" );/**/
    
    
    }
    

  2. WordPress sanitizes and serializes data, to be inserted as string, by default.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search