cehojac/cmb-field-select2

CMB2 的 Select2 字段类型

安装次数: 1,011

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 46

类型:wordpress-plugin

v3.0.4.1 2020-08-29 14:44 UTC

This package is not auto-updated.

Last update: 2024-09-23 08:55:46 UTC


README

描述

Select2 字段类型用于 CMB2

此插件提供了基于 Select2 的两种额外字段类型

  1. pw_select 字段与默认的 select 字段非常相似。然而,它增加了类似于搜索提示的搜索功能,允许您快速从大量列表中选择
  2. pw_multiselect 字段允许您使用搜索提示风格选择多个值。这些值可以拖放以重新排序新项目
  3. pw_select_taxonomy
  4. pw_multiselect_taxonomy

安装

您可以将此字段类型安装得就像安装一个 WordPress 插件一样

  1. 下载插件
  2. 将插件文件夹放置在您的 /wp-content/plugins/ 目录中
  3. 在插件仪表板中激活插件

或者,您可以在您的插件/主题中包含此字段类型。前端资源(JS/CSS)的路径可以使用 pw_cmb2_field_select2_asset_path 过滤。请参阅我们如何从当前活动主题加载资源的示例。

用法

pw_select - 带有搜索提示风格的搜索选择框。示例

$cmb->add_field( array(
	'name'    => 'Cooking time',
	'id'      => $prefix . 'cooking_time',
	'desc'    => 'Cooking time',
	'type'    => 'pw_select',
	'options' => array(
		'5'  => '5 minutes',
		'10' => '10 minutes',
		'30' => 'Half an hour',
		'60' => '1 hour',
	),
) );

pw_multiselect - 带有拖放重新排序的多值选择框。示例

$cmb->add_field( array(
	'name'    => 'Ingredients',
	'id'      => $prefix . 'ingredients',
	'desc'    => 'Select ingredients. Drag to reorder.',
	'type'    => 'pw_multiselect',
	'options' => array(
		'flour'  => 'Flour',
		'salt'   => 'Salt',
		'eggs'   => 'Eggs',
		'milk'   => 'Milk',
		'butter' => 'Butter',
	),
) );

占位符

您可以通过属性数组指定占位符文本。示例

$cmb->add_field( array(
	'name'    => 'Ingredients',
	'id'      => $prefix . 'ingredients',
	'desc'    => 'Select this recipes ingredients.',
	'type'    => 'pw_multiselect',
	'options' => array(
		'flour'  => 'Flour',
		'salt'   => 'Salt',
		'eggs'   => 'Eggs',
		'milk'   => 'Milk',
		'butter' => 'Butter',
	),
	'attributes' => array(
		'placeholder' => 'Select ingredients. Drag to reorder'
	),
) );

自定义 Select2 配置和覆盖默认配置选项

您可以使用 HTML5 data-* 属性来定义 Select2 配置选项。建议您阅读 Select2 网站上有关可用选项的说明。示例

$cmb->add_field( array(
	'name'    => 'Ingredients',
	'id'      => $prefix . 'ingredients',
	'desc'    => 'Select ingredients. Drag to reorder.',
	'type'    => 'pw_multiselect',
	'options' => array(
		'flour'  => 'Flour',
		'salt'   => 'Salt',
		'eggs'   => 'Eggs',
		'milk'   => 'Milk',
		'butter' => 'Butter',
	),
	'attributes' => array(
		'data-maximum-selection-length' => '2',
	),
) );

辅助函数

您可能希望动态地填充选项数组。常见用例包括列出文章和分类术语。我编写了一些通用的辅助函数,可以用于返回针对文章和术语的 CMB2 风格数组。

限制/已知问题

如果您想帮忙,欢迎提交拉取请求!

  • 此字段作为可重复组中的可重复字段效果不佳。
  • Yoast SEO 也加载了 Select2。目前版本落后,Select2 的先前版本与将下拉菜单相对于字段定位的能力存在问题。

屏幕截图

选择框

Image

多值选择框

Image

Image

Image