iniznet/cmb-field-select2

CMB2的Select2字段类型

v3.0.3 2016-08-25 15:52 UTC

This package is auto-updated.

Last update: 2024-09-23 16:20:54 UTC


README

描述

Select2字段类型,用于CMB2

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

  1. pw_select字段类似于默认的select字段。然而,它增加了类似自动补全的搜索功能,允许您快速从大量列表中选择
  2. pw_multiselect字段允许您通过类似自动补全的搜索选择多个值。值可以被拖放以重新排序

安装

您可以通过像安装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