我正在尝试更新元素数据中的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 );但是...
我试着去掉斜杠,然后再加上斜杠。但在保存它的所有内容和文字,并丢失了所有的布局.
谢谢
发布于 2021-01-15 06:18:56
以这种方式更改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' ;" );/**/
}发布于 2020-10-08 16:39:00
默认情况下,Wordpress会清除数据并序列化数据,这些数据将作为字符串插入。
https://stackoverflow.com/questions/64266022
复制相似问题