固定ページでコメントをデフォルトで有効化する方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

はじめに

Gutenbergエディター

投稿と固定ページでコメント機能のデフォルト設定に違いがあります。
投稿の場合、管理画面の設定→ディスカッション→「新しい投稿へのコメントを許可」をオンにしておくと、新規に投稿を作成する際、編集画面のディスカッション設定は自動的に「受付中」となります。

しかし、固定ページはデフォルトでコメントが「受け付けません」となっているため、新規作成時に個別でディスカッションを許可しない限り、コメント欄は表示されません。
そのため、Cocoon設定→コメント設定→コメント表示するをオンにしても、コメント欄は表示されません。

そこで、固定ページのディスカッション設定に関わらず、Cocoon設定に従うように変更します。

この記事では、この方法について説明します。

実装手順

以下のコードをfunctions.phpに追加します。

add_filter('comments_open', function ($open, $post_id) {
  $post = get_post($post_id);

  if ($post && $post->post_type === 'page') {
    $open = (bool) is_page_comment_visible();
  }

  return $open;
}, 10, 2);

さいごに

今回紹介した方法を使えば、固定ページのコメント設定に関わらず、Cocoon設定の条件に従ってコメント欄を「受付中」に変更することができます。
これにより、既存ページや新規作成ページでもコメント機能を統一的に有効化でき、管理の手間を減らすことが可能です。

タイトルとURLをコピーしました