自定义元字段已停止工作

时间:2018-05-29 16:48:17

标签: wordpress

我在自定义帖子类型中有一个自定义元复选框,直到今天下午工作正常,我进入添加一些新的帖子类型和复选框赢了但是我确实在show_meta中添加了isset值但是它我做完这个后仍然工作,如果我删除它就不会再次开始工作,我的调试中没有任何内容可以帮助任何人吗?:

    function add_tiles_meta_box() {
add_meta_box(
    'tiles_meta_box', // $id
    'Show in Large Tiles?', // $title
    'show_tiles_meta_box', // $callback
    'tiles', // $screen
    'normal', // $context
    'high' // $priority
);
}
add_action( 'add_meta_boxes', 'add_tiles_meta_box' );
function show_tiles_meta_box( $post, $metabox ) {
$tiles = get_post_meta( $post->ID, 'tiles', true ); 

wp_nonce_field( basename(__FILE__), 'tiles_meta_box_nonce' );
?>

<!-- All fields will go here -->
<p>
    <input type="checkbox" name="tiles"  <?php echo (isset($_POST['tiles'])?"value='on'":"value='off'")?> <?php checked( $tiles, 'on' ); ?>/>  Yes this is a large tile.
</p>

<?php
}
$post_ID = $post->ID;

function save_tiles_meta($post_ID) {
$post_ID = (int) $post_ID;
$post_type = get_post_type($post_ID);
$post_status = get_post_status( $post_ID );

if ($post_type) {
update_post_meta($post_ID, "tiles", $_POST["tiles"]);
}
     return $post_ID;
}
add_action( 'save_post', 'save_tiles_meta' );

2 个答案:

答案 0 :(得分:0)

您的files.getlist(name)功能无疑是错综复杂的。有些东西可能会失败。这是一种更标准的方法:

save_tiles_meta

答案 1 :(得分:0)

尝试使用以下代码

add_action( 'save_post', 'save_tiles_meta',99,1 );
function save_tiles_meta($postId){
    global $post;
    update_post_meta( $post->ID, 'tiles', $_POST['tiles'] ); // On or Off
}