• こんにちは、

    テーマファイルのファイルヘッダを取得したいのですが、うまくいきません。
    やり方の間違いや、正しい方法を教えていただきたくお願いします。

    functions.php

    $theme_name = get_current_theme();
    $theme_data = get_theme_data($theme_name);
    
    echo "v-".$theme_data['Version'];
    echo '<pre>';
    var_dump($theme_data);
    echo '</pre>';
    
    結果が以下の様になり、style.css の ヘッダ情報が取得できません。
    
    array(11) {
      ["Name"]=>
      string(0) ""
      ["URI"]=>
      string(0) ""
      ["Description"]=>
      string(0) ""
      ["Author"]=>
      string(6) "匿名"
      ["AuthorURI"]=>
      string(0) ""
      ["Version"]=>
      string(0) ""
      ["Template"]=>
      string(0) ""
      ["Status"]=>
      string(7) "publish"
      ["Tags"]=>
      array(0) {
      }
      ["Title"]=>
      string(0) ""
      ["AuthorName"]=>
      string(6) "匿名"
    }

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • require_once ( ABSPATH . 'wp-admin/includes/theme.php' );
    $theme = current_theme_info();
    echo 'v-' . $theme->version;
    echo '<pre>';
    var_dump( $theme );
    echo '</pre>';

    とかでどうでしょう。

    トピック投稿者 nobita

    (@nobita)

    kzさん ありがとうございます。

    とても参考になりました。

    function my_current_theme_info() {
    	$themes = get_themes();
    	$current_theme = get_current_theme();
    	if ( ! isset( $themes[$current_theme] ) ) {
    		delete_option( 'current_theme' );
    		$current_theme = get_current_theme();
    	}
    	$ct->name = $current_theme;
    	$ct->title = $themes[$current_theme]['Title'];
    	$ct->version = $themes[$current_theme]['Version'];
    	$ct->parent_theme = $themes[$current_theme]['Parent Theme'];
    	$ct->template_dir = $themes[$current_theme]['Template Dir'];
    	$ct->stylesheet_dir = $themes[$current_theme]['Stylesheet Dir'];
    	$ct->template = $themes[$current_theme]['Template'];
    	$ct->stylesheet = $themes[$current_theme]['Stylesheet'];
    	$ct->screenshot = $themes[$current_theme]['Screenshot'];
    	$ct->description = $themes[$current_theme]['Description'];
    	$ct->author = $themes[$current_theme]['Author'];
    	$ct->tags = $themes[$current_theme]['Tags'];
    	$ct->theme_root = $themes[$current_theme]['Theme Root'];
    	$ct->theme_root_uri = $themes[$current_theme]['Theme Root URI'];
    	return $ct;
    }
    
    $theme = my_current_theme_info();
    echo 'v-' . $theme->version;
    echo '<pre>';
    var_dump( $theme );
    echo '</pre>';

    で取得できました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「テーマファイルのバージョンの取得について」には新たに返信することはできません。