php 显示下拉列表而不是自定义分类的多重复选框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 显示下拉列表而不是自定义分类的多重复选框相关的知识,希望对你有一定的参考价值。


<?php
// To show dropdown for custom taxonomy instead of multiple-check box.

function custom_meta_box() {

    remove_meta_box( 'branddiv', 'motor', 'side' );

    add_meta_box( 'tagsdiv-brand', 'Brands', 'brand_meta_box', 'motor', 'side' );

}
add_action('add_meta_boxes', 'custom_meta_box');

/* Prints the taxonomy box content */
function brand_meta_box($post) {

    $brand = 'brand';
    $taxonomy = get_taxonomy($brand);
?>
<div class="tagsdiv" id="<?php echo $brand; ?>">
    <div class="jaxtag">
    <p class="howto">Select motor brand.</p>
    <?php 
    // Use nonce for verification
    wp_nonce_field( plugin_basename( __FILE__ ), 'brand_noncename' );
    $type_IDs = wp_get_object_terms( $post->ID, 'brand', array('fields' => 'ids') );
    wp_dropdown_categories('taxonomy=brand&hide_empty=0&orderby=name&name=brand&show_option_none=Select type&selected='.$type_IDs[0]); ?>
    </div>
</div>
<?php
}

/* When the post is saved, saves our custom taxonomy */
function brand_save_postdata( $post_id ) {
  // verify if this is an auto save routine. 
  // If it is our form has not been submitted, so we dont want to do anything
  if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || wp_is_post_revision( $post_id ) ) 
      return;

  // verify this came from the our screen and with proper authorization,
  // because save_post can be triggered at other times

  if ( !wp_verify_nonce( $_POST['brand_noncename'], plugin_basename( __FILE__ ) ) )
      return;


  // Check permissions
  if ( 'motor' == $_POST['post_type'] ) 
  {
    if ( !current_user_can( 'edit_page', $post_id ) )
        return;
  }
  else
  {
    if ( !current_user_can( 'edit_post', $post_id ) )
        return;
  }

  // OK, we're authenticated: we need to find and save the data

  $type_ID = $_POST['brand'];

  $type = ( $type_ID > 0 ) ? get_term( $type_ID, 'brand' )->slug : NULL;

  wp_set_object_terms(  $post_id , $type, 'brand' );

}
/* Do something with the data entered */
add_action( 'save_post', 'brand_save_postdata' );

?>

以上是关于php 显示下拉列表而不是自定义分类的多重复选框的主要内容,如果未能解决你的问题,请参考以下文章

来自自定义帖子分类法循环的 slug 列表(Wordpress + ACF Pro)

php 在产品列表上显示自定义分类 - Woocommerce - Wordpress

C# 模糊查询带出下拉列表的问题

使用 ajax、sql 和 php 的动态下拉列表

自定义实现 PyQt5 下拉复选框 ComboCheckBox

在 ASP MVC 中是不是可以创建一个包含复选框列表的下拉列表?