r4c00n/magic-meta-box

该包已被废弃,不再维护。没有建议的替代包。

用于生成 WordPress MetaBoxes 的辅助类。

v1.3 2015-09-02 12:10 UTC

This package is not auto-updated.

Last update: 2020-01-28 12:28:39 UTC


README

用于生成 wordpress metaboxes 的辅助类

安装

如果您正在使用 composer,运行以下命令:

composer require r4c00n/magic-meta-box:*

需要 composer autoload.php 并将 use MagicMetaBox\MagicMetaBox; 添加到您的插件代码中。

使用方法

创建 metabox

创建 MagicMetaBox 的新实例

$myMetaBox = new MagicMetaBox(
    'my-metabox', // unique metabox id
    'My MetaBox title', // Metabox title
    array( 'post', 'page' ), // Metabox screens
    'prefix_' // Meta prefix,
    'side', // Metabox context (optional)
    'high', // Metabox priority (optional)
    true // Serialize values under the metabox id
);

添加输入字段

将文本输入字段添加到您的新的 metabox 中

$myMetaBox->addTextField(
    'my-text-field', // Input name
    array( // Additional attributes
        'class' => 'input-field'
    ),
    'My text field', // Associated label text
    'I am a default', // Default value
);

将文本区域添加到您的新的 metabox 中

$myMetaBox->addTextAreaField(
    'my-text-arae', // Textarea name
    array(), // Additional attributes
    'My text area', // Associated label text
    'I am a default', // Default value
);

将复选框添加到您的新的 metabox 中

$myMetaBox->addCheckboxField(
    'my-checkbox', // Checkbox name
    array(), // Additional attributes
    'My checkbox' // Associated label text
);

将选择输入添加到您的新的 metabox 中

$myMetaBox->addSelectField(
    'my-select', // Select name
    array( // Options
      0 => 'Yes',
      1 => 'No'
    ),
    true, // Multiple
    array( // Additional attributes
        'size' => 5
    ),
    'My select' // Associated label text
);

访问元数据

通过前缀 + metabox id 访问元数据。数据存储为数组,输入名称作为键。

$meta = get_post_meta( $postId, 'prefix_my-metabox', true );
echo $meta['my-text-field'];