A3 Code Note

12/27/2022

#16 Theme Development | WordPress theme development course | OOP Class

前回のsingletonに引き続き、
インスタンス化をすすめていきます。

以下作成
inc/class-テーマ名-theme.php

<?php
/**
 * Bootstraps the Theme.
 *
 * @package Note
 */

namespace NOTE_THEME\Inc;

class NOTE_THEME {
    use Singleton;

    protected function __construct() {
		// Load class.
		$this->setup_hooks();
	}

	protected function setup_hooks() {
		// actions and filters

	}
}

functions.phpに追加

function aquila_get_theme_instance() {
    \NOTE_THEME\Inc\NOTE_THEME::get_instance();
}

note_get_theme_instance();

実際にロードされているか確認してみる場合、
以下のように書いてみて、helloと画面に書かれているか見てみましょう。

protected function __construct() {

    wp_die( 'hello' );

    // Load class.
    $this->setup_hooks();
}

helloが表示されたら消しておきましょう。
autoloader.php 42行目に以下書いてパスがどうなってるか見てみることができます。

	echo '<pre>';
	print_r( $path );
	wp-die();

Arrayで、incフォルダがあって、その中に自分のテーマが入っていると表示されると思います。
これも確認後は消しておきましょう。