如何保存选中的框?

时间:2018-03-22 作者:Nimesh

我想要达到的是

我创建了一个custom post(offer), 我还有一个custom post created (listing).

我想在列表中添加一个元框,它将接收所有报价的检查列表

enter image description here

我实现了这一目标,如所示image 使用下面的代码。

function op_register_menu_meta_box() {
add_meta_box(
    \'op-menu-meta-box-id\',
    esc_html__( \'Custom offers Checklist (select any 2)\', \'text-domain\' ),
    \'op_render_menu_meta_box\',
    \'listing\'
    );
}
add_action( \'add_meta_boxes_listing\', \'op_register_menu_meta_box\' );
function op_render_menu_meta_box() {
// Metabox content
$getPostsToSelect = get_posts(\'post_type=offers&numberposts=-1\');
foreach ($getPostsToSelect as $aPostsToSelect) {
?>
<label>
    <input 
      type=\'checkbox\' 
      name=\'yourcustom_meta[]\' 
      class=\'postsToSelect\'
      value=\'<?php echo $aPostsToSelect->ID ?>\'
     /> 
    <?php echo $aPostsToSelect->post_title;
    ?>
</label><br />
<?php
}}
现在我想从几个报价清单中得到的是,我们可以通过检查来选择两个报价。

Q1. How to save the checked boxes?

Q2. How to use them *(the checked only) later to display on single.php?

然后,当我们发布列表时,选中的报价将打印在archive-offers.php

我需要做到这一点,请帮助我!

1 个回复
最合适的回答,由SO网友:Nathan Johnson 整理而成

您可以在函数中使用PHP。使用WordPress挂钩插入内联JavaScript(包括jQuery)的php文件。

在您的示例中,可以使用admin_print_scripts-post.php 操作钩子打印内嵌jQuery,如下所示:

function wpse_admin_print_scripts_edit() {
  echo "<script>var limit = 2;\' .
    \'jQuery(\'input.single-checkbox\').on(\'change\', function(evt) {\' .
      \'if(jQuery(\'input.single-checkbox:checked\').length > limit) {\' .
        \'this.checked = false;\' .
      \'}\' .
    \'});</script>";
}
add_action( \'admin_print_scripts-post.php\', \'wpse_admin_print_scripts_edit\' );

结束

相关推荐

使用AJAX发出POST请求会返回400错误(不使用jQuery)

该网站有一个带有搜索字段和类别复选框的博客页面。搜索某个内容或选中/取消选中某个类别会启动AJAX请求,以根据搜索/类别获取帖子,然后将这些结果填充到页面上的列表中。Currently this functionality works with jQuery, but my attempts to write it in plain JS are failing with 400 errors.以下是对此的jQuery:$.ajax({ url: Knuckle.ajaxurl,