您已使用$post
而不是$_POST
在保存功能中。这就是为什么不保存数据。
您应该使用:
$_POST[ \'custom_meta2_nonce\' ]
$_POST[\'sec_title\']
$_POST[\'principle_duties\']
而不是
$POST[ \'custom_meta2_nonce\' ]
$POST[\'sec_title\']
$POST[\'principle_duties\']
使用以下代码保存数据:
function custom_meta2_save($post_id){
//checks save status
$is_autosave = wp_is_post_autosave( $post_id);
$is_revision = wp_is_post_revision( $post_id);
$is_valid_nonce = ( isset( $_POST[ \'custom_meta2_nonce\' ] ) && wp_verify_nonce( $_POST[\'custom_meta2_nonce\' ],basename( __FILE__)) ) ? \'true\': \'false\';
if ( ! current_user_can( \'edit_post\', $post_id ) ) {
return;
}
//Exit scripts depending on save status
if( $is_autosave || $is_revision || !$is_valid_nonce ){
return;
}
if( isset( $_POST[\'sec_title\'] ) ){
update_post_meta( $post_id , \'sec_title\', sanitize_text_field( $_POST[ \'sec_title\'] ) );
}
if( isset( $_POST[\'principle_duties\'] ) ){
update_post_meta( $post_id , \'principle_duties\', sanitize_text_field( $_POST[ \'principle_duties\'] ) );
}
}
add_action(\'save_post\', \'custom_meta2_save\');
您可以使用自定义页面模板文件或页面模板文件在页面中显示数据:
$sec_title = get_post_meta( get_the_id(), \'sec_title\', true );
$principle_duties = get_post_meta(get_the_id(), \'principle_duties\', true);
echo "Secondary ID :".$sec_title;
echo "<br>Principle duties :".$principle_duties;