chose category in plugin

时间:2020-09-29 作者:Oox

我正在制作一个上传记录的插件,我想把选项放在选择类别上,我也希望这些类别是通常用wordpress创建的,但我不知道是否可以

如何在表单中设置选择类别的选项?

2 个回复
最合适的回答,由SO网友:Eduardo Escobar 整理而成

ID是您的朋友。使用获取类别列表get_category (我假设我们讨论的是内置的Wordpress“category”分类法,slug是category)。

$categories = get_categories( array(
    \'hide_empty\' => false // This is optional
) );
在输出中使用获得的类别列表(<;选择(>);字段:

 <?php // get $selected_term_id from somewhere ?> 
 <select name="category_id">
       <?php foreach( $categories as $category ) : ?>
           <?php $is_selected = $category->term_id == $selected_term_id ? \'selected\' : \'\'; ?> 
           <option value="<?php esc_attr_e( $category->term_id ); ?>" <?php echo $is_selected; ?>><?php esc_html_e( $category->cat_name ); ?></option>
       <?php endforeach; ?>
 </select>

SO网友:ktscript

您可以尝试以下代码:

$parent_cat = get_query_var(\'cat\');
wp_list_categories("child_of=$parent_cat&show_count=1");
您将在输出中获得顶级类别的列表

如果需要选择类别的示例,可以执行以下操作:

$args = array(
    \'taxonomy\'      => \'tags\',
    \'parent\'        => 0, // get top level categories
    \'orderby\'       => \'name\',
    \'order\'         => \'ASC\',
    \'hierarchical\'  => 1,
    \'pad_counts\'    => 0
);

$categories = get_categories( $args );

echo \'<select name="category_id">\';

foreach ( $categories as $category ){
    echo \'<option value="\'.$category->ID.\'">\'.$category->name.\'</option>\';               
}

echo \'</select>\';
提交表单后,您需要处理POST请求:

wp_set_post_categories( $your_record_id,  array( $_POST[\'category_id\'] ), true);

相关推荐

扩展WooCommerce小部件类-WC_Widget_Product_Categories

我正在尝试扩展woocommerce类,该类用于在我自己的插件中创建产品类别小部件,该插件为woo commerce产品添加了一个称为“部门”的新分类法。当我扩展WP\\u小部件时,一切正常,我看到一个新的小部件,可以添加到外观->小部件中。然而,当我试图扩展WC\\u Widget或WC\\u Widget\\u Product\\u类别时,我根本看不到新的Widget,即使我没有收到任何php错误。以下是我所拥有的不起作用的东西://get the base classes if(!cl