SANGOのフィルターフック、アクションフック一覧

SANGOにはPHPで表示されるHTMLの一部を書き換えられる便利なフィルターフックやアクションフックが用意されています。

この記事ではこれらのフックをご紹介します。

アクションフック

アクションフックを使うことでHTMLを組み立てが行われる途中に処理を挟み込むことができます。

例えば以下のように記事の表示内容を調整できます。

PHP
// 関連記事一覧に抜粋文を表示
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);

sng_before_main_content

記事一覧ページのメインコンテンツの先頭で処理を挟むことができます。

例えば記事一覧ページの先頭にタイトルを表示したい場合などに役に立ちます。

PHP
function customize_sng_before_main_content() {
  echo "メインの前に表示される";
}

add_action('sng_before_main_content', 'customize_sng_before_main_content', 10, 3);

sng_version_updated

SANGOのバージョンがアップデートされた際に処理を挟むことができます。

sng_field_side_extra

記事編集画面のカスタムフィールドに項目を追加したい場合に処理を挟むことができます。

以下の記事が参考になります。

この記事の監修者を表示するカスタマイズ この記事の監修者を表示するカスタマイズ

sng_update_custom_fields

カスタムフィールドを更新する際に処理を挟むことができます。先ほど紹介したsng_field_side_extra と一緒に使うと便利です。

PHP
// カスタムフィールドを保存する際にフィールドを追加
add_action('sng_update_custom_fields', function ($post_id) {
  sng_update_custom_text_fields($post_id, 'post_supervisor');
}, 10, 3);

sng_normal_card_before

記事一覧ページでカードのタイトル前に処理を挟むことができます。

sng_normal_card_after

記事一覧ページでカードのタイトル後に処理を挟むことができます。

sng_entry_link_after_title

以下のような関連ブロックのタイトル後に処理を挟むことができます。

SANGOでお気に入り機能を実装する方法
PHP
// 関連記事一覧に抜粋文を表示
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);

sng_card_link_after_title

以下のような記事一覧ブロックのカード型のタイトル後に処理を挟むことができます。

sng_longcard_link_after_title

以下のような記事一覧ブロックのロングカード型のタイトル後に処理を挟むことができます。

sng_longcard_link_after_title

以下のような記事一覧ブロックのロングカード(半分)型のタイトル後に処理を挟むことができます。

フィルターフック

フィルターフックは表示される既存の内容を書き換えることができるフックです。

sng_archive_title

アーカイブページのタイトルを書き換えられます。

sng_notfound_title

「お探しのページが見つかりませんでした。」を別のメッセージに書き換えられます。

PHP
function customize_sng_notfound_title() {
  return '404 Not Found';
}

add_filter('sng_notfound_title', 'customize_sng_notfound_title');

sng_notfound_posts_title

「記事が見つかりませんでした。」を別のメッセージに書き換えられます。

sng_content_block

コンテンツブロックの内容を書き換えられます。

sng_notfound_search

「指定されたキーワードでは記事が見つかりませんでした。別のキーワード、もしくはカテゴリーから記事をお探しください。」を別の内容に書き換えられます。

sng_notfound_archive

「まだ記事が投稿されていません。以下でキーワードやカテゴリーから記事を探すことができます。」を別の内容に書き換えられます。

sng_notfound_contents

お探しのページは「すでに削除されている」、「アクセスしたアドレスが異なっている」などの理由で見つかりませんでした。以下でキーワードやカテゴリーから記事を探すことができます。 を別の内容に書き換えられます。

sng_header

サイト共通のヘッダーを書き換えられます。引数としてヘッダーの現在のhtmlが渡されるのでこれを書き換えてreturnするのがおすすめです。

PHP
function customize_header($html) {
  return 'ここで$htmlを書き換えた内容';
}

add_filter('sng_header', 'customize_header');

sng_footer

サイト共通のフッターを書き換えられます。引数としてヘッダーの現在のhtmlが渡されるのでこれを書き換えてreturnするのがおすすめです。

PHP
function customize_footer($html) {
  return 'ここで$htmlを書き換えた内容';
}

add_filter('sng_footer', 'customize_footer');

sng_breadcrumb

パンくずリストのHTMLを書き換えます。パンくずリスト用の他のプラグインを利用している際などに役に立ちます。

sng_author_label

「この記事を書いた人」を別の内容に書き換えられます。

sng_author_info

「この記事を書いた人」の著者ブロックを好きな内容のHTMLに書き換えられます。

PHP
function customize_author_info($html) {
  return 'ここで$htmlを書き換えた内容';
}

add_filter('sng_author_info', 'customize_author_info');

sng_new_mark

記事一覧の「NEW」のHTMLの内容を書き換えられます。

sng_post_splide

記事一覧ブロックのSplideスライダーのHTMLの内容を書き換えられます。

sng_normal_card

記事一覧ページのカードのHTMLを書き換えられます。

sng_card_link

下のような記事一覧ブロックのカードのHTMLを書き換えられます。

sng_longcard_link

以下のような記事一覧ブロックのロングカード型のHTMLを書き換えられます。

sng_longcard_link_half

以下のような記事一覧ブロックのロングカード(半分)型のHTMLを書き換えられます。

コメントを残す

* は入力必須項目です。
コメント投稿ガイドラインを読んでから投稿してください。
メールアドレスは公開されませんが、名前は公開されます。

HTMLやPHPのコードを掲載するときはHTMLエスケープツールで特殊文字を変換してから貼り付けてください。