由于您在短代码中使用此代码,我想原因是缺少post ID。
您想从中获取当前帖子的ID$post
变量,但要使其成为可能,您需要添加global $post;
更早(在函数开始时,或至少在IF
).
global $post;
if ( isset( $_POST[\'zon_testimonial_nonce\'] ) &&
wp_verify_nonce($_POST[\'zon_testimonial_nonce\'],\'zon_testimonial\') )
您还可以使用
get_queried_object_id()
函数获取当前查询对象的ID。
$post_id = get_queried_object_id();
if ( isset( $_POST[\'zon_testimonial_nonce\'] ) &&
wp_verify_nonce($_POST[\'zon_testimonial_nonce\'],\'zon_testimonial\') )
{
$data = array(
\'package\' => sanitize_text_field( $_POST[\'zon_package\'] )
);
update_post_meta( $post_id, \'_zon_testimonial_key\', $data );
}
$data = get_post_meta($post_id, \'_zon_testimonial_key\', true);