log1x/modern-acf-options

对 ACF 主题选项的现代处理

支持包维护!
Log1x

安装次数: 21,731

依赖项: 1

建议者: 1

安全性: 0

星标: 32

关注者: 6

分支: 2

开放问题: 0

语言:CSS

类型:wordpress-muplugin

v1.0.3 2020-08-26 21:59 UTC

This package is auto-updated.

Last update: 2024-08-27 07:21:27 UTC


README

Latest Stable Version Total Downloads

这里存放一个简单的 mu-plugin,用于现代化和品牌化使用 ACF 创建的主题选项。没有管理面板,没有冗余——只需一个简单的过滤器,您可以选择性地使用您的调色板自定义 CSS 属性。

Screenshot

要求

安装

Bedrock

通过 Composer 安装

$ composer require log1x/modern-acf-options

手动安装

下载发行版 .zip 文件并将其安装到 wp-content/plugins 目录中。

使用方法

Modern ACF Options 的样式需要使用 seamless 模式,并且标签页的位置设置为 left

使用 ACF Builder 的示例

use StoutLogic\AcfBuilder\FieldsBuilder;

acf_add_options_page([
    'page_title' => get_bloginfo('name'),
    'menu_title' => 'Theme Options',
    'menu_slug' => 'theme-options',
    'update_button' => 'Update Options',
    'capability' => 'edit_theme_options',
    'position' => '999',
    'autoload' => true,
]);

$options = new FieldsBuilder('theme_options', [
    'style' => 'seamless',
]);

$options
    ->setLocation('options_page', '==', 'theme-options');

$options
    ->addTab('general')
        ->setConfig('placement', 'left')

        ->addAccordion('customization')
          ->addImage('logo')

        ->addAccordion('tracking')
            ->addText('gtm')
                ->setConfig('label', 'Google Tag Manager')
        ->addAccordion('tracking_end')->endpoint()

    ->addTab('advanced')
        ->setConfig('placement', 'left')

        ->addTrueFalse('debug')
          ->setConfig('ui', '1');

acf_add_local_field_group($options->build());

自定义

要自定义调色板,只需将包含一个或多个您想要更改的颜色数组的 acf_color_palette 过滤器传递给即可。

add_filter('acf_color_palette', function () {
    return [
        'brand' => '#0073aa',
        'trim' => '#181818',
    ];
});

禁用屏幕选项标签

use Illuminate\Support\Str;

/**
 * Disable Screen Options on the theme options page.
 *
 * @param  bool       $show
 * @param  \WP_Screen $screen
 * @return bool
 */
add_filter('screen_options_show_screen', function ($show, $screen) {
    if (is_a($screen, 'WP_Screen') && Str::contains($screen->base, 'theme-options')) {
        return false;
    }
}, 1, 2);

移除管理页脚文本

/**
 * Remove admin footer text.
 *
 * @return bool
 */
add_filter('admin_footer_text', '__return_false', 100);

开发

Modern ACF Options 使用 TailwindCSS 构建,并使用 Laravel Mix 编译。

$ yarn install
$ yarn run start

待办事项

  • 继续优化/清理现有样式。
  • 为 ACF 开关、输入字段(焦点、悬停)、按钮等添加样式。

错误报告

如果您在 Modern ACF Options 中发现错误,请 提交一个问题

贡献

鼓励并感谢通过 PR、报告问题或提出建议来贡献。

许可

Modern ACF Options 在 MIT 许可证 下提供。