SANGOにはPHPで表示されるHTMLの一部を書き換えられる便利なフィルターフックやアクションフックが用意されています。
この記事ではこれらのフックをご紹介します。
アクションフック
アクションフックを使うことでHTMLを組み立てが行われる途中に処理を挟み込むことができます。
例えば以下のように記事の表示内容を調整できます。
// 関連記事一覧に抜粋文を表示
function customize_sng_entry_link_after_title($id) {
echo "<p>". get_the_excerpt($id) . "</p>";
}
add_action('sng_entry_link_after_title', 'customize_sng_entry_link_after_title', 10, 3);
記事一覧ページのメインコンテンツの先頭で処理を挟むことができます。
例えば記事一覧ページの先頭にタイトルを表示したい場合などに役に立ちます。
function customize_sng_before_main_content() {
echo "メインの前に表示される";
}
add_action('sng_before_main_content', 'customize_sng_before_main_content', 10, 3);
SANGOのバージョンがアップデートされた際に処理を挟むことができます。
記事編集画面のカスタムフィールドに項目を追加したい場合に処理を挟むことができます。
以下の記事が参考になります。
この記事の監修者を表示するカスタマイズカスタムフィールドを更新する際に処理を挟むことができます。先ほど紹介したsng_field_side_extra と一緒に使うと便利です。
// カスタムフィールドを保存する際にフィールドを追加
add_action('sng_update_custom_fields', function ($post_id) {
sng_update_custom_text_fields($post_id, 'post_supervisor');
}, 10, 3);
記事一覧ページでカードのタイトル前に処理を挟むことができます。
記事一覧ページでカードのタイトル後に処理を挟むことができます。
以下のような関連ブロックのタイトル後に処理を挟むことができます。
SANGOでお気に入り機能を実装する方法// 関連記事一覧に抜粋文を表示
function customize_sng_entry_link_after_title($id) {
echo "<p>". get_the_excerpt($id) . "</p>";
}
add_action('sng_entry_link_after_title', 'customize_sng_entry_link_after_title', 10, 3);
以下のような記事一覧ブロックのカード型のタイトル後に処理を挟むことができます。
以下のような記事一覧ブロックのロングカード型のタイトル後に処理を挟むことができます。
以下のような記事一覧ブロックのロングカード(半分)型のタイトル後に処理を挟むことができます。
フィルターフック
フィルターフックは表示される既存の内容を書き換えることができるフックです。
アーカイブページのタイトルを書き換えられます。
「お探しのページが見つかりませんでした。」を別のメッセージに書き換えられます。
function customize_sng_notfound_title() {
return '404 Not Found';
}
add_filter('sng_notfound_title', 'customize_sng_notfound_title');
「記事が見つかりませんでした。」を別のメッセージに書き換えられます。
コンテンツブロックの内容を書き換えられます。
「指定されたキーワードでは記事が見つかりませんでした。別のキーワード、もしくはカテゴリーから記事をお探しください。」を別の内容に書き換えられます。
「まだ記事が投稿されていません。以下でキーワードやカテゴリーから記事を探すことができます。」を別の内容に書き換えられます。
お探しのページは「すでに削除されている」、「アクセスしたアドレスが異なっている」などの理由で見つかりませんでした。以下でキーワードやカテゴリーから記事を探すことができます。 を別の内容に書き換えられます。
サイト共通のヘッダーを書き換えられます。引数としてヘッダーの現在のhtmlが渡されるのでこれを書き換えてreturnするのがおすすめです。
function customize_header($html) {
return 'ここで$htmlを書き換えた内容';
}
add_filter('sng_header', 'customize_header');
サイト共通のフッターを書き換えられます。引数としてヘッダーの現在のhtmlが渡されるのでこれを書き換えてreturnするのがおすすめです。
function customize_footer($html) {
return 'ここで$htmlを書き換えた内容';
}
add_filter('sng_footer', 'customize_footer');
パンくずリストのHTMLを書き換えます。パンくずリスト用の他のプラグインを利用している際などに役に立ちます。
「この記事を書いた人」を別の内容に書き換えられます。
「この記事を書いた人」の著者ブロックを好きな内容のHTMLに書き換えられます。
function customize_author_info($html) {
return 'ここで$htmlを書き換えた内容';
}
add_filter('sng_author_info', 'customize_author_info');
記事一覧の「NEW」のHTMLの内容を書き換えられます。
記事一覧ブロックのSplideスライダーのHTMLの内容を書き換えられます。
記事一覧ページのカードのHTMLを書き換えられます。
下のような記事一覧ブロックのカードのHTMLを書き換えられます。
以下のような記事一覧ブロックのロングカード型のHTMLを書き換えられます。
以下のような記事一覧ブロックのロングカード(半分)型のHTMLを書き換えられます。
コメントを残す