web-dev-qa-db-ja.com

テーマカスタマイザの組み込みセクションの使用

WordPressテーマカスタマイズAPI は、テーマ開発者が利用可能な既存のカスタマイザセクションがいくつかあることを示しています。

既存の組み込みのものを使いたいのであれば、add_section()でそれらを宣言する必要はありません。 代わりに、名前でそれらを参照してください。以下のセクションが組み込まれています。

  • title_tagline
  • header_image
  • background_image
  • ナビ
  • static_front_page

名前でそれらを参照しますか?ええと、それはどういう意味ですか?これをさらに理解するために、私は地球上で最も単純なテーマを作成しました。これが私のstyle.cssです。

/*  
Theme Name: Minimal ZZ Test Theme
Author: zipzit
Description: An absolute minimal theme, intended to test Theme Customization API
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:
Text Domain: zz-test-theme
*/
body{
    background-color: blue;
}

そしてindex.php:

<?php   ?>
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Simple Web Page</title>
  <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
</head>
<body>
    <h1> this is a test </h1>
</body>
</html>

それが全体のテーマです。 functions.phpファイルはありません。

Wp-adminパネルのAppearance - > Customizeを開くと、次の2つ(可能な6つのうち)のセクションが表示されます。enter image description here

セクションを「名前」でどのように「参照」するのですか。 wp-adminのカスタマイズパネルに選択肢を絞り込むものは何ですか?そして私の本当の問題は、テーマを上書きするときに既存の選択を隠すことができるということです(子テーマを使用します)。 (はい、要素を隠すために管理者権限システムを利用できることはわかっていますが、それは私の質問ではありません...)

誰もが以前にここにいたことがありますか?多くのTHX。

編集/更新

これが私の正確な状況です。私は多くのWebサイトを運営していますが、既存のテーマを変更するために子テーマを使用することがよくあります。私は非常に単純な、肥大化していないブートストラップテーマを探しています。私はdevdmbootstrap3を見つけました。唯一の問題は、テーマが私たちが表示したくないたくさんのカスタマイズ選択を生成するということです(色、ヘッダ画像、背景画像)。何がそれらの要素を占めているのか理解できません。 functions.phpファイルにadd_section()呼び出しはありません。私はそのファイル(およびtheme-options.phpを含むテーマ全体)をかなり慎重に見てきました。繰り返しますが、私の問題は「それらを名前で参照する」という言葉を理解することではないと思います。これらの項目がどこで呼び出されているのかわかりません。

うーん..私はこれについて考えるように、私は確かにlocalhostサーバーの中にwordpressのコアとそのテンプレートをインストールすることができますそれから実際にそれらの要素を作成しているものを見つけるためにコードデバッガスタイルを通してステップ。うーん。

他のアイデア?また、thx。

2
zipzit

デフォルトのコントロールは WP_Customize_Manager::register_controls() に登録されています。これはcustomize_registerにフックされています。このアクションは別のメソッド wp_loaded() で起動されます。これは同じ名前のアクションにフックされています。

これらのデフォルトコントロールを削除するには、customize_register上で優先度の高い方の独自のハンドラを使用して、register_controls()がそれらを追加した後に実行されるようにします。

function wpse_185386_remove_customize_controls( $wp_customize ) {
    $wp_customize->remove_section( 'title_tagline' );
}

add_action( 'customize_register', 'wpse_185386_remove_customize_controls', 50 /* Priority */ );
1
TheDeadMedic