WordPress 3.2 新テーマ twentyeleven の functions.php のコメントを日本語訳しています。
対象となるバージョンは、twentyeleven 1.2 です。fucntions.php 自体がかなり長いので、今回は、41行から310行です。機会があれば WordBench 等で紹介するかもしれません。
/** * テーマデザインとスタイルシートに基づいてコンテンツ幅を設定する */ if ( ! isset( $content_width ) ) $content_width = 584; /** * 'after_setup_theme' フックで twentyeleven_setup() を実行するように WordPress に指示する */ add_action( 'after_setup_theme', 'twentyeleven_setup' ); if ( ! function_exists( 'twentyeleven_setup' ) ): /** * テーマのデフォルト設定、様々な WordPress 機能のサポートの登録 * * この関数は after_setup_theme フックにフックしている。 * init フックより前に実行される。いくつかの機能、例えばアイキャッチ画像のサポート、は * init フックでは遅すぎる。 * * 小テーマで twentyeleven_setup() を上書きするには、小テーマの functions.php ファイルで * 独自 twentyeleven_setup を定義する * * @uses load_theme_textdomain() 翻訳/ローカライズサポート * @uses add_editor_style() ビジュアルエディタのスタイル * @uses add_theme_support() アイキャッチ画像、自動フィードリンク、投稿フォーマットのサポート。 * @uses register_nav_menus() ナビゲーションメニューのサポート。 * @uses add_custom_background() カスタム背景のサポート。 * @uses add_custom_image_header() カスタムヘッダーのサポート。 * @uses register_default_headers() テーマ付属のデフォルトカスタムヘッダー画像の登録。 * @uses set_post_thumbnail_size() アイキャッチ画像のサイズ設定。 * * @since Twenty Eleven 1.0 */ function twentyeleven_setup() { /* Twenty Eleven を翻訳可能にする。 * 翻訳は /languages/ ディレクトリに追加する。 * Twenty Eleven から小テーマを作成する場合、 * 全テンプレートファイルの 'twentyeleven' を、自分の作成したテーマ名に変更する。 */ load_theme_textdomain( 'twentyeleven', TEMPLATEPATH . '/languages' ); $locale = get_locale(); $locale_file = TEMPLATEPATH . "/languages/$locale.php"; if ( is_readable( $locale_file ) ) require_once( $locale_file ); // テーマのスタイルにマッチするように、ビジュアルエディタで editor-style.css を適用する。 add_editor_style(); // テーマのオプションページと関連コードを読み込む require( dirname( __FILE__ ) . '/inc/theme-options.php' ); // Twenty Eleven の短冊ウィジェット require( dirname( __FILE__ ) . '/inc/widgets.php' ); // 投稿とコメントの RSS フィードリンクを <head> に追加する add_theme_support( 'automatic-feed-links' ); // wp_nav_menu() を一カ所で使用 register_nav_menu( 'primary', __( 'Primary Menu', 'twentyeleven' ) ); // 様々な投稿フォーマットをサポート add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote', 'image' ) ); // カスタム背景をサポート add_custom_background(); // 投稿/固定ページのカスタム背景画像に、アイキャッチ画像(投稿サムネイル)を使用 add_theme_support( 'post-thumbnails' ); // ここから4つは Twenty Eleven のカスタムヘッダーを設定する // ヘッダーのテキスト色のデフォルト define( 'HEADER_TEXTCOLOR', '000' ); // 空白の場合、画像をランダム表示 define( 'HEADER_IMAGE', '' ); // カスタムヘッダーの高さと幅。 // twentyeleven_header_image_width と twentyeleven_header_image_height フィルターを使用して変更。 define( 'HEADER_IMAGE_WIDTH', apply_filters( 'twentyeleven_header_image_width', 1000 ) ); define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'twentyeleven_header_image_height', 288 ) ); // 投稿/固定ページのカスタムヘッダー画像にアイキャッチを使用。 // アイキャッチ画像を定義したヘッダー画像のサイズにしたい。 // 大きい画像は自動的に切り取り、小さい画像は無視する。header.php を参照。 set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); // Twenty Eleven カスタム画像のサイズを追加 add_image_size( 'large-feature', HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); // 大きいアイキャッチ画像(ヘッダー画像) add_image_size( 'small-feature', 500, 300 ); // 大きい画像が存在しない場合はこちら // ヘッダー画像のランダム表示をデフォルトで有効にする add_theme_support( 'custom-header', array( 'random-default' => true ) ); // カスタムヘッダーを管理画面からスタイル可能にする // twentyeleven_admin_header_style() を参照。 add_custom_image_header( 'twentyeleven_header_style', 'twentyeleven_admin_header_style', 'twentyeleven_admin_header_image' ); // ... ヘッダーの変更はここまで // テーマ同梱のデフォルトのカスタムヘッダー画像。 %s は、テンプレートディレクトリ URI のプレースホルダ register_default_headers( array( 'wheel' => array( 'url' => '%s/images/headers/wheel.jpg', 'thumbnail_url' => '%s/images/headers/wheel-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Wheel', 'twentyeleven' ) ), 'shore' => array( 'url' => '%s/images/headers/shore.jpg', 'thumbnail_url' => '%s/images/headers/shore-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Shore', 'twentyeleven' ) ), 'trolley' => array( 'url' => '%s/images/headers/trolley.jpg', 'thumbnail_url' => '%s/images/headers/trolley-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Trolley', 'twentyeleven' ) ), 'pine-cone' => array( 'url' => '%s/images/headers/pine-cone.jpg', 'thumbnail_url' => '%s/images/headers/pine-cone-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Pine Cone', 'twentyeleven' ) ), 'chessboard' => array( 'url' => '%s/images/headers/chessboard.jpg', 'thumbnail_url' => '%s/images/headers/chessboard-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Chessboard', 'twentyeleven' ) ), 'lanterns' => array( 'url' => '%s/images/headers/lanterns.jpg', 'thumbnail_url' => '%s/images/headers/lanterns-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Lanterns', 'twentyeleven' ) ), 'willow' => array( 'url' => '%s/images/headers/willow.jpg', 'thumbnail_url' => '%s/images/headers/willow-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Willow', 'twentyeleven' ) ), 'hanoi' => array( 'url' => '%s/images/headers/hanoi.jpg', 'thumbnail_url' => '%s/images/headers/hanoi-thumbnail.jpg', /* translators: header image description */ 'description' => __( 'Hanoi Plant', 'twentyeleven' ) ) ) ); } endif; // twentyeleven_setup if ( ! function_exists( 'twentyeleven_header_style' ) ) : /** * ブログに表示するヘッダー画像とテキストのスタイル * * @since Twenty Eleven 1.0 */ function twentyeleven_header_style() { // 文字列にカスタムオプションが設定されていない場合、 // get_header_textcolor() オプションを取り出す。デフォルトは HEADER_TEXTCOLOR。文字列を隠す ('blank') または任意の16進数 if ( HEADER_TEXTCOLOR == get_header_textcolor() ) return; // ここに到達したら、カスタムスタイルがあるので、実行する。 ?> <style type="text/css"> <?php // 文字列を隠す? if ( 'blank' == get_header_textcolor() ) : ?> #site-title, #site-description { position: absolute !important; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px, 1px, 1px, 1px); } <?php // ユーザーが文字色を設定している場合、それを使用する else : ?> #site-title a, #site-description { color: #<?php echo get_header_textcolor(); ?> !important; } <?php endif; ?> </style> <?php } endif; // twentyeleven_header_style if ( ! function_exists( 'twentyeleven_admin_header_style' ) ) : /** * 「外観」「ヘッダー」管理パネルで表示されるヘッダー画像のスタイル。 * * twentyeleven_setup() にある add_custom_image_header() から参照 * * @since Twenty Eleven 1.0 */ function twentyeleven_admin_header_style() { ?> <style type="text/css"> .appearance_page_custom-header #headimg { border: none; } #headimg h1, #desc { font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif; } #headimg h1 { margin: 0; } #headimg h1 a { font-size: 32px; line-height: 36px; text-decoration: none; } #desc { font-size: 14px; line-height: 23px; padding: 0 0 3em; } <?php // ユーザーが文字色を設定している場合、それを使用する if ( get_header_textcolor() != HEADER_TEXTCOLOR ) : ?> #site-title a, #site-description { color: #<?php echo get_header_textcolor(); ?>; } <?php endif; ?> #headimg img { max-width: 1000px; height: auto; width: 100%; } </style> <?php } endif; // twentyeleven_admin_header_style if ( ! function_exists( 'twentyeleven_admin_header_image' ) ) : /** * 「外観」「ヘッダー」管理パネルで表示されるヘッダー画像のマークアップ。 * * twentyeleven_setup() にある add_custom_image_header() から参照 * * @since Twenty Eleven 1.0 */ function twentyeleven_admin_header_image() { ?> <div id="headimg"> <?php if ( 'blank' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) || '' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) ) $style = ' style="display:none;"'; else $style = ' style="color:#' . get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) . ';"'; ?> <h1><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1> <div id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div> <?php $header_image = get_header_image(); if ( ! empty( $header_image ) ) : ?> <img src="<?php echo esc_url( $header_image ); ?>" alt="" /> <?php endif; ?> </div> <?php } endif; // twentyeleven_admin_header_image
[…] 標準テーマ twentyeleven の functions.php では、twentyeleven_setup で add_theme_support […]
[…] twentyeleven の functions.phpに続き、今回は twentytwelve の functions.php のコメントを日本語化しました。 […]