dh_man/dhead-wp 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

dh_man/dhead-wp

最新稳定版本:0.1.1

Composer 安装命令:

composer require dh_man/dhead-wp

包简介

A collection of classes to manage CPTs, Taxonomies, ACF Blocks, and Options Pages in WordPress.

README 文档

README

composer require dh_man/dhead-wp

カスタム投稿タイプとフィールドの例

例えば「お知らせ」投稿タイプ(news)とカスタムフィールドを追加する場合:

use DHead_WP\DH_CPT_Builder;

DH_CPT_Builder::make('news')
	->args([
		'label' => 'お知らせ',
		'public' => true,
		'supports' => ['title', 'editor', 'thumbnail'],
	])
	->fields([
		[
			'name' => 'subtitle',
			'label' => 'サブタイトル',
			'type' => 'text',
		],
		[
			'name' => 'publish_date',
			'label' => '公開日',
			'type' => 'date_picker',
		],
	], 'お知らせ情報');
    

このコードをテーマやプラグインの初期化時に実行すると、 「news」投稿タイプと「サブタイトル」「公開日」フィールドが追加されます。

オプションページの例

管理画面に「サイト設定」オプションページを追加する場合:

use DHead_WP\DH_Options_Page_Builder;

DH_Options_Page_Builder::make('サイト設定')
	->menu_title('サイト設定')
	->fields([
		[
			'name' => 'site_logo',
			'label' => 'ロゴ画像',
			'type' => 'image',
		],
		[
			'name' => 'contact_email',
			'label' => 'お問い合わせメール',
			'type' => 'email',
		],
	]);
  

このコードを初期化時に実行すると、管理画面に「サイト設定」オプションページが追加され、 ロゴ画像やメールアドレスなどのフィールドを設定できます。

ブロック自動登録の使い方

例えば、resources/views/blocks ディレクトリ内の各ブロックを自動で読み込む場合:

\DHead_WP\Block_Auto_Registrar::path('resources/views/blocks');

ブロックファイルの例

resources/views/blocks/hero/block.php の内容例:

<?php
use DHead_WP\DH_Block_Builder;

DH_Block_Builder::make('hero')
	->title('Hero Block')
	->description('ヒーローセクションのブロック')
	->icon('cover')
	->category('layout')
	->fields([
		[
			'name' => 'title',
			'label' => 'タイトル',
			'type' => 'text',
		],
		[
			'name' => 'image',
			'label' => '画像',
			'type' => 'image',
		],
	])
	->render_blade('blocks.hero');

Bladeテンプレートファイルの例

上記の ->render_blade('blocks.hero') を使う場合、Sageテーマ等で resources/views/blocks/hero.blade.php を作成します。

例:

{{-- resources/views/blocks/hero.blade.php --}}
<section class="hero">
  <h1>{{ get_field('title') }}</h1>
  @php $image = get_field('image'); @endphp
  @if(!empty($image))
    <img src="{{ $image['url'] }}" alt="{{ $image['alt'] }}">
  @endif

  {{-- ACFリピーター例 --}}
  @if(have_rows('items'))
    <ul>
      @while(have_rows('items'))
        @php the_row(); @endphp
        <li>{{ get_sub_field('title') }}</li>
      @endwhile
    </ul>
  @endif
</section>

统计信息

  • 总下载量: 40
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2025-11-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固