我正在为我的网站使用Contact Form 7 Wordpress插件。
有谁知道如何获取表格所在的帖子的元数据?
在某些钩子中尝试使用全局$ posts等,但结果始终为NULL。
答案 0 :(得分:0)
我花了将近一整天的时间来思考这个小问题,但最后我设法解决了这个问题。
我使用了这个过滤器'wp_insert_post_data',它是在保存帖子数据时执行的。步骤如下:
代码:
add_filter( 'wp_insert_post_data' , 'filter_post_data' , 99, 2 );
function filter_post_data( $data , $post ) {
if ( $data['post_type'] == 'post' ) {
$content = stripslashes($data['post_content']);
$attributes = shortcode_parse_atts($content);
$post = isset($attributes['id']) ? get_post($attributes['id']) : "";
if ( !empty($post) ) {
$data['post_title'] = esc_html($post->post_title);
$data['post_name'] = esc_html($post->post_name);
}
}
return $data;
}
也许这不是最美丽的解决方案,但它确实有效。我希望有人会发现它很有用。
再次感谢那些试图以任何方式提供帮助的人。