WordPressのフックとは何ですか?
WordPressの「フック」は、コアコードを変更することなく、ウェブサイトに機能を追加または変更する柔軟性を提供します。フックは、プログラムの重要なポイントにインストールされる特別なインターフェースのようなもので、独自のコードを挿入したり、既存のコードを変更したりすることができます。
![图片[1]-掌握WordPress Hooks :自定义和增强网站的综合指南-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/uploads/2024/04/image-271.png)
フックの目的
フックとは、WordPressのコアコードを変更することなく、特定の関数を自動的に実行することで、ウェブサイトに機能を追加したり調整したりできるツールです。フックには2つの種類があります:
- アクションフックこのタイプのフックを使うと、WordPressの特定の場所でコードを実行することができます。アクションフックはタスクを実行するだけで、結果をユーザーに返すことはありません。
- フィルターフックこれらのタイプのフックを使うと、WordPress で処理されるデータを変更し、変更したデータをユーザーに返すことができます。
アクションフックは、新しい機能を追加するなど「何かをする」ために使用され、フィルターフックは、既存のコンテンツの表示方法を調整するなど「何かを変更する」ために使用されます。フックを使用することで、JavaScriptなどのカスタムコードを簡単にウェブサイトに統合し、カスタマイズ性を高めることができます。
![图片[2]-掌握WordPress Hooks :自定义和增强网站的综合指南-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/uploads/2024/04/image-498.png)
以下がmytheme_scriptになります。との機能比較wp_enqueue_scripts操作が接続される操作フックの例。
関数 mytheme_script()
{wp_enqueue_script('my-custom-script', get_template_directory_uri() . '/js/custom-script.js', array(), '1.0.0', true);
}}
add_action( 'wp_enqueue_scripts', 'mytheme_script' );
WordPressのフックを使用することで、ウェブサイトの機能をカスタマイズしたり強化したりすることができます。しかし、WordPress初心者でも比較的簡単にフックの作り方や使い方を学ぶことができますのでご安心ください。
操作フックを作成します: アクションフックを使用すると、ウェブサイト上の特定のタイミングで自動的にコードを実行することができます。アクションフックを作成するには add_action()
関数を使用します。この関数は通常、テーマの functions.php
ファイルに追加します。以下にアクションフックの追加方法の例を示します:
add_action( $arget_hook, $the_name_of_function_you_want_to_use, $priority, $accepted_args );
![图片[3]-掌握WordPress Hooks :自定义和增强网站的综合指南-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/uploads/2024/04/image-499.png)
関数 my_custom_function($arg1) { // ここに関数コードを記述します。
// ここに関数コードを書きます
echo "引数付き関数: " . $arg1.
}
// この関数を優先度5の 'wp_loaded' フックにフックし、引数を受け取ります。
add_action('wp_loaded', 'my_custom_function', 5, 1);
my_custom_function
はWordPressが完全にロードされたときに自動的に実行されるように定義した関数です。優先順位を5に設定することで、より早く実行されるようにし、関数は1つのパラメータを取るように設定されています。このアプローチにより、コアコードを変更することなく、サイトに柔軟に機能を追加したり変更したりすることができます。
フィルターフックの作成
WordPress では add_filter()
関数を使用してフィルターフックを作成することができます。これらのフックは主に、テキスト出力の調整や設定値の変更など、データの修正やフィルタリングに使用されます。
フィルターフックを使うときは、すでに存在する値を指定して変更します。これは通常 apply_filters()
関数を呼び出すと、データを処理する際にカスタム関数が呼び出され、元のデータを変更したり置き換えたりすることができます。
![图片[4]-掌握WordPress Hooks :自定义和增强网站的综合指南-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/uploads/2024/04/image-500.png)
WordPressテーマ(Twenty Twenty-Threeテーマなど)に追加するものは次のとおりです。 functions.php
ファイル内のフィルターフックの例:
関数 modify_excerpt_length($length) {
return 20; }.
}
// add_filter 関数を使用して、'excerpt_length' フックに 'modify_excerpt_length' 関数をフックします。
add_filter('excerpt_length', 'modify_excerpt_length');
この例ではmodify_excerpt_length。
関数は WordPress の記事要約のデフォルトの長さを変更するために使用されます。WordPressの記事要約のデフォルトの長さを変更するには add_filter()
関数は、このカスタム関数を 抜粋の長さ
を、要約の長さを制御するフックに追加しました。WordPressが要約の長さを要求すると、指定した新しい値(この場合は20語)が使われ、元のデフォルト設定に置き換わります。
もし、以前に通過したパスをキャンセルしたり、無効にしたりする必要がある場面に遭遇した場合は、以下の手順に従ってください。 add_action()
もしかしたら add_filter()
アクションとフィルタを追加するには remove_action()
歌で応える remove_filter()
関数を使います。ここでは remove_action()
その一例です:
remove_action('example_action', 'example_function', 10);
この例では例
は先ほど追加したアクションフックです。example_function
はこのフックにフックされた関数で 10
は、この操作を追加するときに使用される優先度です。この操作を追加するときに remove_action()
その際、適切にキャンセルされるように、同じフック名、関数名、優先順位を指定する必要があります。
以下をお読みください。remove_filter()その一例です:
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
を無効にする方法を示しています。wp_staticize_emoji_for_email顔文字を静止画像に変換します。次に disable_emojis_tinymce を使用します。WordPressの絵文字機能を無効にします。
を使用することができます。remove_filter()コマンドは複数のフィルタを順番に無効にします。これはその例です:
関数 disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' )
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
add_action( 'init', 'disable_emojis' );
}
上記のコードはWordPressの絵文字機能をなくすためのものです。これは、ユーザーが絵文字をfunctions.phpファイルに埋め込まれた数remove_filterコマンドに制限はありません。
便利なWordPressフックの例
このフックの使用には、通常3つのパラメータが必要です:$size
属$thumbnail_id
歌で応える $post
.ここです。 $size
は特集画像の表示サイズです。$thumbnail_id
は特集画像のIDで $post
それなら、問題の投稿の対象です。
$size = apply_filters( 'admin_post_thumbnail_size', $size, $thumbnail_id, $post );
必要に応じて変更してください。$sizeパラメータ例えば、サムネイルのサイズを220 x 220ピクセルに設定するには、以下のコードを使用します:
$size = apply_filters( 'admin_post_thumbnail_size', 220, $thumbnail_id, $post);
を追加することも可能です。array()関数を使用して、サムネイルのカスタムサイズを設定します。コードを以下に示します:
$size = apply_filters( 'admin_post_thumbnail_size', array(220, 400), $thumbnail_id, $post);
上記の配列は ()220×400ピクセルで表示されるサムネイルを設定します。
パスワードリセット後
このアクションフックは、ユーザーがパスワードをリセットしたときに起動されます。このフックは2つのパラメータから構成されます:$user歌で応える$new_pass以下のように:
do_action( 'after_password_reset', $user, $new_pass );
例えば、WordPressはこのフックをreset_password()関数を組み合わせて使用します。
カスタムローディングコンポーネント
WordPressのコアデザインは、以下のようなコアファイルの直接的な変更や完全な除外を推奨していません。 wp-activate.php
そしてwp-config-sample.php
もしかしたら wp-settings.php
![图片[5]-掌握WordPress Hooks :自定义和增强网站的综合指南-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/uploads/2024/04/image-501.png)
ほらカスタマイズ_ロード_コンポーネントでしか利用できないため、テーマに追加することはできません。プラグインロードステージの活性化。
フックは2つのパラメーターで構成されています:$コンポーネント歌で応える$this。下記の通りです:
$components = apply_filters( 'customise_loaded_components', array( 'widgets', 'nav_menus' ), $this );
$コンポーネントパラメータは、ロードされるコア関数のバッチです。$thisは既存のクラスのオブジェクトを参照します。
カスタマイズ可能array()関数を使用して除外するコンポーネントを決定します。上の例では、ウィジェットとナビメニューコアプロセスから除外。
はんけつをくだす
フックの柔軟性とパワーにより、WordPressユーザーはコアファイルを変更することなく、カスタム機能を追加したり、特定の処理を無効にしたりすることで、ウェブサイトを洗練させることができます。このため、WordPressフックはウェブサイトの拡張やパーソナライズに理想的です。
![图片[6]-掌握WordPress Hooks :自定义和增强网站的综合指南-光子波动网 | 专业WordPress修复服务,全球范围,快速响应](https://www.361sale.com/wp-content/uploads/2024/04/image-262.png)
お問い合わせ |
---|
記事が読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ! |
① 電話:020-2206-9892 |
② QQ咨询:1025174874 |
三 Eメール:info@361sale.com |
④ 勤務時間: 月~金、9:30~18:30、祝日休み |
この記事へのリンクhttps://www.361sale.com/ja/7813この記事は著作権で保護されており、必ず帰属表示を付けて複製してください。
コメントなし