我创建了一个网站,为自定义帖子类型,字段,元数据库等初始化CMB2。我创建了一个自定义复选框字段,其作用类似于标记。已选中或未选中。此复选框位于自定义帖子类型Metabox中,并在后端可见。
我们需要实现的是在前端有一个按钮供用户点击。单击该按钮时,复选框的值应更改(此复选框的update_post_meta)。
我想这应该用AJAX完成,但之前没有经验。
这是代码应该去的地方。它检查复选框是否被选中,如果选中它,则它只输出。如果未选中,则应输出将切换复选框状态的按钮。
<?php $adopted_check = get_post_meta( get_the_ID(), INVENTOR_LISTING_PREFIX . 'adopted-check', true ); ?>
<?php if ( $adopted_check ) { ?>
<div class="adopted"><i class="fa fa-thumbs-up" style="font-size: 20px;"></i><span><?php echo esc_attr__( 'Adopted', 'inventor' ); ?></span></div>
<?php } else { ?>
<button type="submit">Mark as Adopted</button>
<?php } ?>
任何人都可以帮忙吗?
答案 0 :(得分:1)
您可以在jQuery中创建这样的ajax调用
$.ajax({
type: "POST",
url: ajaxurl,
async:true,
data: {
action: 'callback_action',
security: $('#security').val(),
custom_info:custom_info
},
cache: false,
});
现在wordpress会自动捕获wp_ajax_动作的动作,例如:
add_action('wp_ajax_callback_action','function_name');
function function_name(){
$security = $_POST['security'];
$custom_info = $_POST['custom_info'];
// your code goes here to update the meta
die()// It's necessary to add die at the end of an ajax call or it will return 0.
}
完成。