function wfu_slash($value) { if (is_array($value)) { foreach ($value as $k => $v) { if (is_array($v)) { $value[$k] = wfu_slash($v); } else { $value[$k] = addslashes($v); } } } else { $value = addslashes($value); } return $value; }
function wfu_replace_shortcode($data, $new_shortcode) { $post = get_post($data['post_id']); $new_content = substr($post->post_content, 0, $data['position']) . $new_shortcode . substr($post->post_content, (int) $data['position'] + strlen($data['shortcode'])); $new_post = array('ID' => $data['post_id'], 'post_content' => $new_content); return wp_update_post(wfu_slash($new_post)) === 0 ? false : true; }