WordPress の固定ページ編集画面でのページテンプレートの判別方法

WordPress: 4.3.1

サンプルコード

まずは先に結論のサンプルコードから記します。

function is_admin_using_page_template( $template = '' ) {
    if ( is_admin() ) {

        $post_id = 0;
        if ( isset( $_GET['post'] ) ) {
            $post_id = $_GET['post'];
        } elseif ( isset( $_POST['post_ID'] ) ) {
            $post_id = $_POST['post_ID'];
        }

        $page_template = get_post_meta( $post_id, '_wp_page_template', true );

        if ( $template === $page_template ) {
            return true;
        }

        if ( is_array( $template ) ) {
            if ( in_array( $page_template, $template, true ) {
                return true;
            }
        }
    }

    return false;
}

使い方

is_admin_using_page_template( 'template-example.php' );

上記のように、template-example.php テンプレートを使用しているかどうかをチェックできます。引数の部分は配列を取ることもできます。

ポイント

投稿ID の取得には $_GET['post'] を使います。
ページテンプレートの取得には get_post_meta() を使います。

Advertisements
WordPress の固定ページ編集画面でのページテンプレートの判別方法

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s