WP_Customize_Media_Control
WordPressテーマのカスタマイザーメディアコントロールの詳細(xì)な説明:新しい
WP_Customize_Upload_Control
最近のWordPressの更新により、APIが変更されました。いくつかの機(jī)能とクラスが追加され、他の機(jī)能は非推奨です。この記事では、トピックカスタマイザーメディアコントロールについて説明します。以前のバージョンでは、これらのコントロールが利用可能でしたが、WP_Customize_Media_Control
クラスでのみ利用可能でした。今、私たちは
WP_Customize_Media_Control
最初に、この新しいクラスを使用してテーマのカスタマイザーのメディアコントロールを管理する方法を説明します。次に、トリミング畫(huà)像の制御を可能にするために
キーポイント:
-
WP_Customize_Media_Control
WordPressテーマのカスタマイザーメディアコントロールは、メディア管理を改善できる新しい クラスを含む新しい機(jī)能とクラスを含むように更新されています。 -
WP_Customize_Media_Control
functions.php
を使用して、ユーザーがすべてのページでアクセスできるオーディオファイルを選択できるようにすることができます。このコントロールは、テーマの ファイルまたは新しいプラグインに追加できます。 -
WP_Customize_Media_Control
WP_Customize_Cropped_Image_Control
を拡張して、 クラスなどの機(jī)能を追加することができます。これにより、ユーザーは畫(huà)像を使用する前に選択してトリミングできます。 - 新しいコントロールにより、テーマのカスタマイザーがより多用途になり、開(kāi)発者が獨(dú)自のメディアコントロールを追加し、最も有用な価値を取得できるようになりました。メディアID。この基本クラスは、より具體的なコントロールに拡張できます。
メディアコントロールを管理するための新しいベースクラス
なぜ新しいクラスを紹介するのですか?
WP_Customize_Upload_Control
バージョン4.3の前に、WordPressは、メディアファイルのアップロードをテーマのカスタマイザーに管理するクラスを提供してくれました。ただし、このクラスはアップロードされたメディアIDを保存するのではなく、そのURLのみを保存します。 IDはメディアファイルに関する情報(bào)を取得するためのより一般的な方法であるため、新しいクラスWP_Customize_Media_Control
を提供することが決定されました。
WP_Customize_Upload_Control
の使用に慣れている場(chǎng)合は、問(wèn)題なく使用することができます。これは、WP_Customize_Media_Control
クラスを拡張して互換性を確保するためです。ただし、コードを更新してWP_Customize_Media_Control
を使用することは、間違いなくより良いアイデアです。
この新しいメディア制御は、保存された値を除いて、前身と同じ方法で使用されます。それはもはやURLではないため、同じ方法でクリーンアップすることはできません。
このコントロールの使用方法を理解するために、特定の例を確認(rèn)します。訪問(wèn)者がすべてのページで聴くことができるオーディオファイルをユーザーに選択させる方法を確認(rèn)します。コードをトピックのファイルまたは新しいプラグインに書(shū)き込むことができます。どちらも受け入れられ、両方のオプションには獨(dú)自の利點(diǎn)があります。
functions.php
トピックカスタマイザーAPIはこの記事の主な焦點(diǎn)ではないため、ここで呼び出す機(jī)能に利用可能なすべてのオプションを説明するものではありません。
基本的な使用法
最初に、ユーザーがテーマのカスタマイザーを表示したいときにWordPressによって呼び出されるWordPress関數(shù)から始めます。この関數(shù)は、このカスタマイザーにカスタム要素を追加します。 WordPressに、適切なタイミングで関數(shù)を呼び出すことを望んでいることを通知するには、アクションを使用します。
customize_register
パラメーター(ここで命名
function add_my_media_controls($wp_customize) { } add_action('customize_register', 'add_my_media_controls');
カスタムサウンドを追加するのに本當(dāng)に適したデフォルトセクションはないため、単に「サウンド」という名前のセクションを追加します。 $wp_customize
予想どおり、このメソッドは「sound」という新しいセクションを作成します。ユーザーが開(kāi)くと、上部に指示が表示されます。 3番目のオプションにより、このセクションは、トピックオプションを既に編集できるユーザーによってのみ表示されます。最後に、配列オプションの前の最初のパラメーターに注意してください。セクションのIDを定義します。このセクションでコントロールを追加するときに再利用する必要があります。
$wp_customize->add_section('sound', array( 'title' => 'Sound', 'description' => 'Add a sound to your website', 'capability' => 'edit_theme_options' ));今すぐテーマカスタマイザーを開(kāi)くと、このセクションは表示されません。これは正常です。WordPressは空の部分を表示しないため、少なくとも1つのコントロールで埋める必要があります。
テーマカスタマイザーAPIは、コントロールを2つの部分に分割します。ユーザーが正しいデータを選択または入力できるU(xiǎn)Iコントロールと、現(xiàn)在の値を取得して新しい値を保存する設(shè)定です。設(shè)定をUIコントロールとデータベースの間のインターフェイスとして扱います。
コントロールを作成する前に設(shè)定を作成する必要があります。
設(shè)定されたIDとして「音楽」を指定します。最初のオプションに示されているように、これはテーマの変更です。機(jī)能オプションは、
メソッドと同じです。最後に、クリーンアップコールバック関數(shù)として$wp_customize->add_setting('music', array( 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint' ));を指??定します。このWordPress関數(shù)は、値が正の整數(shù)であることを確認(rèn)するためのショートカットです。上記で見(jiàn)たように、
はIDを保存するため、値をクリーンアップするために使用したい関數(shù)です。 add_section()
absint()
ユーザーが見(jiàn)ることができるU(xiǎn)Iコントロールを追加する準(zhǔn)備ができました。 abs(intval())
WP_Customize_Media_Control
セクションオプションは、コントロールを配置する部品を示すために使用されます。ここでは、この目的のために特別に作成したセクションを使用しています。次に、フィールドのラベルを示します。ここに必要な価値を配置できます。
最後に、ここでは、メディアファイルを選択する方法をユーザーに提供します。選択したオーディオファイルのみを使用してほしいので、オーディオを目的のMIMEタイプとして指定します。このようにして、WordPressは他のタイプのファイルを選択しません。
これはすべてコントロールの作成に関するものです。これで、テーマのカスタマイザーを開(kāi)くことができます。セクションとコントロールを見(jiàn)る必要があります。
その他のオプション
WP_Customize_Media_Control
コンストラクターの3番目のパラメーターとして提供するオプションの配列は、より多くのオプションを受け入れることができることに注意してください。
そのタグに加えて、description
オプションに空でない文字列を提供することにより、たとえば表示される場(chǎng)所を説明するように、ラベルの下に指示を表示できます。 description
オプションを介して優(yōu)先度を設(shè)定できます。この番號(hào)は、オブジェクトを表示する必要がある順序を定義します。デフォルトでは、優(yōu)先度は10に設(shè)定され、オブジェクトは作成された順序で表示されます。しかし、あなたはそれを変更することができます。たとえば、2つのオブジェクトを作成すると、最初のオブジェクトの優(yōu)先度を10に設(shè)定し、2番目のオブジェクトの優(yōu)先度を0に設(shè)定できます。この方法では、2番目のオブジェクトが最初に表示されます。このオプションは、プラグインまたはテーマが特定の順序で表示する必要がある複數(shù)のコントロールを提供する場(chǎng)合に役立ちます。 priority
ユーザーが保存した設(shè)定を取得するには、
と呼ばれる新しい関數(shù)を作成します。この関數(shù)は、選択したメディアに対応するオーディオタグを表示するために、トピックに表示する場(chǎng)所で呼び出されます。 echo_theme_sound()
関數(shù)を使用する必要があります。 get_theme_mod()
function add_my_media_controls($wp_customize) { } add_action('customize_register', 'add_my_media_controls');ユーザーが選択を行った場(chǎng)合、この変數(shù)には選択したメディアのIDが含まれます。言い換えれば、選択が行われたかどうかを確認(rèn)するには、このIDがゼロと異なるかどうかを確認(rèn)する必要があります。
$wp_customize->add_section('sound', array( 'title' => 'Sound', 'description' => 'Add a sound to your website', 'capability' => 'edit_theme_options' ));オーディオタグを作成するには、パラメーターを必要とする
を使用します。実際にタグの屬性となるオプションの配列です。 wp_audio_shortcode()
この配列には、オーディオファイルのURLである
を使用して、以前に取得したIDを使用できます。他のプロパティを使用したい場(chǎng)合は、必須ではありません。利用可能なプロパティの詳細(xì)については、WordPress Codexを參照してください。 src
オーディオタグを表示する準(zhǔn)備が整いました。私はそれをdivに包むためにここにいますが、あなたは別のタグと別のスタイルを選択することができます。たとえば、ユーザーがオーディオタグの前後に表示されたテキストを提供できるように、echo_theme_sound()
関數(shù)の2つのパラメーター$before
と$after
を定義することもできます。
function add_my_media_controls($wp_customize) { } add_action('customize_register', 'add_my_media_controls');
さあ、好きなところならどこでもecho_theme_sound()
関數(shù)を呼び出して、結(jié)果を楽しんでください!この関數(shù)をテーマファイルで使用すると、ページを更新せずに変更を加えた直後にテーマCustomizerで行った変更を確認(rèn)できることに注意してください。
トリミングされた畫(huà)像を管理
を拡張してWP_Customize_Media_Control
を拡張して、機(jī)能を追加することができます。このように追加できる機(jī)能の具體的な例が必要な場(chǎng)合は、WP_Customize_Cropped_Image_Control
クラスを使用して、WordPress Core自體にある機(jī)能を見(jiàn)つけることができます。
その名前から推測(cè)したように、これは、ユーザーが使用する前に畫(huà)像を選択してトリミングする方法を提供する場(chǎng)合に役立ちます。
ここでは、現(xiàn)在のデフォルトのWordPressテーマ(215)に字幕畫(huà)像を追加するために使用します。この畫(huà)像をタイトルの上部に表示することを選択しましたが、ウェブサイトのタイトルのすぐ上にありますが、繰り返しますが、この記事の目標(biāo)は、新しいAPIの具體的な例を示すことです。
最初に、設(shè)定を作成します。メディアIDを保存するため、この設(shè)定は基本的に以前に追加されたオーディオタグと同じです。
$wp_customize->add_section('sound', array( 'title' => 'Sound', 'description' => 'Add a sound to your website', 'capability' => 'edit_theme_options' ));
次に、興味深い部分:コントロール自體。 WP_Customize_Media_Control
と同様に、WP_Customize_Cropped_Image_Control
のコンストラクターには、テーマカスタマイザーインスタンス、セットID、およびオプションの配列という3つのパラメーターが必要です。
$wp_customize->add_setting('music', array( 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint' ));
ここで、新しいセクションを作成しませんでした。WordPressがすでにコントロールを提供するために使用している部分を再利用し、ユーザーが背景畫(huà)像タイトルを選択できるようにします。ラベルオプションはすでに既知のオプションであり、幅と高さという他の2つのオプションにもっと興味があります。
これらのオプションは、最終畫(huà)像のサイズを制御するために使用されます。ユーザーは必要な畫(huà)像を選択し、グラフィックツールを使用すると、必要な畫(huà)像をトリミングできます。 WordPressは、この選択に基づいて畫(huà)像をトリミングし、これらのオプションで選択したサイズにトリミングされた畫(huà)像をサイズ変更します。
ユーザーが畫(huà)像をトリミングすると、畫(huà)像の割合の制約がここにあり、他の割合で畫(huà)像の一部を選択することはできません。しかし、これは変わる可能性があります。
実際、このクラスには他に2つのオプションがあります。デフォルトでは、両方のオプションがfalseに設(shè)定されており、示す寸法によって與えられるアスペクト比は制約です。ユーザーは同じ割合の領(lǐng)域を選択する必要があります。 flex_width
ただし、オプションのいずれかをtrueに設(shè)定すると、この制約が削除され、ユーザーは任意のスケールで畫(huà)像の一部を選択できます。 WordPressは、結(jié)果を要求するサイズに変更するため、変形する可能性があることに注意してください。
およびflex_width
を使用する場(chǎng)合、比率は重要です。実際、最初は、WordPressはユーザーにデフォルトの作物領(lǐng)域を提供します。この領(lǐng)域は、目的のスケール(長(zhǎng)方形の最大四角など)の畫(huà)像內(nèi)の最大の利用可能な領(lǐng)域に対応しています。これにより、ここで話していることがデフォルトの幅と高さを與えてくれます。 flex_height
flex_width
についても言えます。 flex_height
最後に、およびflex_width
がfalse(デフォルト値)に設(shè)定されている場(chǎng)合(デフォルト値)、ユーザーが幅と高さのオプションで示したのとまったく同じサイズの畫(huà)像を選択した場(chǎng)合、トリミングステップはスキップされます。 flex_height
トリミングされた畫(huà)像を取得する方法は、以前に音を取得するために使用した方法に似ています。
を使用して畫(huà)像IDを取得し、get_theme_mod()
を使用してURLを取得します。次に、私たちはそれを望む方法で表示します。ここでは、畫(huà)像をエコーする最も簡(jiǎn)単な方法を選択しました。 wp_get_attachment_url()
function add_my_media_controls($wp_customize) { } add_action('customize_register', 'add_my_media_controls');
結(jié)論 これらの新しいコントロールにより、テーマカスタマイザーは、開(kāi)発者がより簡(jiǎn)単に行うことができるため、ますます興味深いものになりつつあります。これで、このカスタマイザーでメディアコントロールが必要な場(chǎng)合は、獨(dú)自のコントロールを追加して、最も便利な価値を取得できます:Media ID。
この記事に見(jiàn)られる基本クラスは、より具體的なコントロールが必要な場(chǎng)合に拡張できます。これは、WordPressコアの複數(shù)の場(chǎng)所で行われます。クロップ畫(huà)像制御はに拡張され、このクラス自體は新しいサイトアイコンAPIで使用されるコントロールによって拡張されます。これらは、このAPIでできるアクションの例にすぎません。
テーマまたはプラグインを使用して、テーマカスタマイザーを使用できます。ただし、小さなプラグインを提供する方が実用的であるため、このリンクを介してそれを見(jiàn)つけることができます。この記事に見(jiàn)られる例を組み合わせています。 WP_Customize_Media_Control
(FAQセクションをここに挿入する必要があり、コンテンツは入力テキストのFAQパーツと一致しています)
以上がWordPressテーマカスタマイザーメディアコントロールを使用しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress
リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover
寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類(lèi)リムーバー

Video Face Swap
完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版
中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

JavaScriptファイルをマイニングすると、ブランク、コメント、役に立たないコードを削除することにより、WordPress Webサイトの読み込み速度を向上させることができます。 1。W3TOTALCACHEなどの圧縮をサポートするキャッシュプラグインを使用し、「MINIFY」オプションで圧縮モードを有効にし、選択します。 2。FastVelocityMinifyなどの専用圧縮プラグインを使用して、より細(xì)かい制御を提供します。 3. JSファイルを手動(dòng)で圧縮し、FTPを介してアップロードします。これは、開(kāi)発ツールに精通しているユーザーに適しています。一部のテーマまたはプラグインスクリプトは圧縮関數(shù)と競(jìng)合する可能性があり、アクティベーション後にWebサイト機(jī)能を徹底的にテストする必要があることに注意してください。

コメントスパムを防ぐ最も効果的な方法は、プログラマティックな手段を介して自動(dòng)的に識(shí)別して傍受することです。 1.検証コードメカニズム(Googler CaptchaやHcaptchaなど)を使用して、特に公共のWebサイトに適した人間とロボットを効果的に區(qū)別します。 2.隠しフィールド(ハニーポットテクノロジー)を設(shè)定し、ロボットを使用して機(jī)能を自動(dòng)的に埋めて、ユーザーエクスペリエンスに影響を與えることなくスパムコメントを識(shí)別します。 3.コメントコンテンツのブラックリストを確認(rèn)し、敏感な単語(yǔ)の一致を通じてスパム情報(bào)をフィルタリングし、誤判斷を避けるために注意を払ってください。 4.コメントの頻度とソースIPを判斷し、単位時(shí)間あたりの提出數(shù)を制限し、ブラックリストを確立します。 5.サードパーティのスパムサービス(Akismet、CloudFlareなど)を使用して、識(shí)別の精度を向上させます。ウェブサイトに基づいていることができます

Gutenbergブロックを開(kāi)発する場(chǎng)合、エンキュー資産の正しい方法には次のものが含まれます。1。register_block_typeを使用して、editor_script、editor_style、およびstyleのパスを指定します。 2。functions.phpまたはプラグインでwp_register_scriptとwp_register_styleを介してリソースを登録し、正しい依存関係とバージョンを設(shè)定します。 3.適切なモジュール形式を出力し、パスが一貫していることを確認(rèn)するためのビルドツールを構(gòu)成します。 4. Add_Theme_SupportまたはEnqueue_Block_Assetsを介してフロントエンドスタイルの読み込みロジックを制御して、フロントエンドスタイルのロードロジックが確保されるようにします。

WordPressにカスタム書(shū)き換えルールを追加する鍵は、ADD_REWRITE_RULE関數(shù)を使用し、ルールが正しく有効になることを確認(rèn)することです。 1. add_rewrite_ruleを使用してルールを登録します。形式はadd_rewrite_rule($ regex、$ redirect、$ after)です。 2。add_filterを介してカスタムクエリ変數(shù)を追加する必要があります。 3。変更後、固定リンク設(shè)定を更新する必要があります。 4.紛爭(zhēng)を避けるために、ルールを「トップ」に配置することをお?jiǎng)幛幛筏蓼埂?5.プラグインを使用して、利便性のために現(xiàn)在のルールを表示できます

robots.txtは、WordPressのWebサイトのSEOにとって重要であり、検索エンジンを?qū)Г?、?dòng)作をクロールし、コンテンツの重複を避け、効率を向上させることができます。 1. /wp-admin /および /wp-includes /などのシステムパスをブロックしますが、誤って /uploads /directoryをブロックしないようにします。 2.サイトマップなどのサイトマップパスを追加:https://yourdomain.com/sitemap.xml検索エンジンがサイトマップをすばやく発見(jiàn)するのに役立ちます。 3.クローラー廃棄物を減らすためのパラメーターを備えた制限 /ページ /およびURL。しかし、重要なアーカイブページをブロックしないように注意してください。 4.サイト全體を誤ってブロックすること、更新に影響を與えるキャッシュプラグイン、モバイル端子とサブドメインの一致を無(wú)視するなど、一般的な間違いを避けてください。

1.パフォーマンス分析プラグインを使用して、問(wèn)題をすばやく見(jiàn)つけます。たとえば、QueryMonitorはデータベースクエリの數(shù)とPHPエラーの數(shù)を表示でき、BlackBoxProfilerは関數(shù)実行レポートを生成し、NewRelicはサーバーレベルの分析を提供します。 2。PHP実行パフォーマンスの分析には、時(shí)間のかかる関數(shù)、デバッグツールの使用、およびメモリの割り當(dāng)てをチェックする必要があります。 3.モニターデータベースクエリの効率は、スロークエリログとインデックスチェックを介して確認(rèn)できます。QueryMonitorはすべてのSQLをリストし、時(shí)間ごとに並べ替えることができます。 4。GooglePagesPeedInsights、GTMetrix、WebPagetestなどの外部ツールを組み合わせて、フロントエンドPlusを評(píng)価します

wordpressrequireSatphp7.4、nusing8.0.0.0OrHigherisは、Perperformanceandsecurity.olderversionslike.5.6を使用して、サポートされていない、およびsupdatedPopdatedPhpimprovessecurity、強(qiáng)化された、および維持の可能性を強(qiáng)化します

InspectorControlsは、Gutenberg開(kāi)発で使用されるコンポーネントであり、右側(cè)のサイドバーにカスタムコントロールを追加します。 1. @wordpress/block-editorパッケージに屬します。 2。パネルボディ、TextControl、その他のコンポーネントでよく使用されます。 3.それを使用する場(chǎng)合、編集jsでテキストボックス、プルダウンの選択、スイッチ、スライダー、カラーセレクターなどのコントロールタイプを?qū)毪筏匹欹ぅⅴΕ趣工氡匾ⅳ辘蓼埂?4.グループ化設(shè)定に注意し、シンプルに保ち、國(guó)際化をサポートし、パフォーマンスを最適化します。
