1

我创建了一个网站,为自定义帖子类型、字段、元框等初始化 CMB2。我创建了一个自定义复选框字段,它的作用就像一个标志。选中或未选中。此复选框位于自定义帖子类型元框中,并且在后端可见。

我们需要实现的是在前端有一个按钮供用户点击。单击按钮时,复选框的值应更改(此复选框的 update_post_meta )。

我想这应该用 AJAX 来完成,但以前没有这方面的经验。

这是代码应该去的地方。它检查 Checkbox 是否被选中,如果被选中则它只输出 . 如果未选中,则应输出可切换复选框状态的 Button。

<?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 } ?>

有人能帮忙吗?

4

1 回答 1

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.
}

完毕。

于 2018-01-18T08:49:20.700 回答