WordPressのカスタム投稿タイプでDisqusを無効にする方法

場合によっては、Disqusに切り替えた後にカスタム投稿タイプからコメントが消えることがあります。

私たちは過去にDisqusを使用していたため、ツールの癖には非常に精通しており、コメントが正しく移行されていない場合にこれが起こりうることを発見しました。

幸いなことに、迅速かつ簡単な解決策があります。

この記事では、WordPressのカスタム投稿タイプでDisqusコメントシステムを無効にする方法を説明します。いくつかの簡単な手順に従うことで、この問題を解決し、コメントを本来あるべき場所に戻すことができます。

WordPressのカスタム投稿タイプでDisqusを無効にする方法

Disqusから移行した理由

過去に、WPBeginnerでDisqusコメントシステムを使用することを実験しました。しかし、すぐにデフォルトのWordPressコメントに戻しました。

Disqusから移行した理由はいくつかありますが、初期の頃、Disqusに移行した後、カスタム投稿タイプにコメントが表示されないことに気づきました。

まだDisqusを使用してWordPressでコメントを管理およびモデレートしている場合、1つの解決策はこれらのコメントを手動でインポートすることです。ただし、特にカスタム投稿に多くのコメントがある場合、これには多くの時間と労力がかかる可能性があります。

幸いなことに、Disqusユーザーにはより高速な回避策があります。それを念頭に置いて、カスタム投稿タイプでDisqusをすばやく簡単に無効にする方法を見てみましょう。

WordPressのカスタム投稿タイプでDisqusを無効にする

開始する前に、DisqusとWordPressウェブサイトの間で同期が有効になっていることを確認する必要があります。

左側のメニューで Disqus を選択し、「同期」タブをクリックします。まだ有効になっていない場合は、「自動同期を有効にする」をクリックできます。

DisqusとWordPress間の同期を有効にしていることを確認してください

注意: この時点で、「この機能を使用するには、サイトのショートネーム、APIシークレットキー、およびAPIアクセストークンが設定されている必要があります。」というエラーが表示される場合があります。

これが発生した場合、投稿の最後にエラーを修正する方法を示します。

その後、WordPressサイトにコードを追加する必要があります。

多くの場合、チュートリアルではテーマの functions.php ファイルを直接編集するように求められますが、小さな間違いが多くの一般的なWordPressのエラーを引き起こしたり、サイトを完全に破損させたりする可能性があるため、このアプローチはお勧めしません。

それを踏まえて、代わりに無料のWPCodeプラグインを使用することをお勧めします。これは、WordPressにカスタムコードを追加する最も簡単で安全な方法です。

このツールは徹底的にテストされており、非常に信頼性が高いことがわかりました。詳細については、WPCodeのレビューをご覧ください。

注意: WPCodeのプロプランに切り替えることで、コードスニペットのクラウドライブラリ、カスタムブロック作成、スマート条件付きロジックなどを利用できるようになります。

有効化したら、WordPressダッシュボードの**Code Snippets »** **+ Add Snippet**ページにアクセスしてください。

コードを使用してカスタム投稿タイプでDisqusを無効にする方法

ここでは、サイトに追加できるさまざまな既製のスニペットが表示されます。これには、WordPressでウィジェットブロックを無効にするスニペットや、WordPressのバージョン番号を削除するスニペットが含まれます。

独自のスニペットを追加するには、「カスタムコードの追加」にカーソルを合わせ、「スニペットを使用」をクリックします。

WPCodeを使用したDisqusの無効化

この画面で、カスタムコードスニペットのタイトルを入力します。これは、PHPスニペットを特定するのに役立つものであれば何でも構いません。

次に、「コードタイプ」ドロップダウンを開き、「PHPスニペット」を選択します。

WordPressにPHPスニペットを追加する方法

その後、次のコードスニペットをエディタに貼り付けます。

function filter_dsq_can_load( $script_name ) {
if ( is_singular( 'custom_post_type_name' ) ) {
if ( 'count' === $script_name ) {
return false;
} elseif  ( 'embed' === $script_name ) {
return false;
} else {
return true;
}
}
}
add_filter( 'dsq_can_load', 'filter_dsq_can_load' );

このコードは、特定のカスタム投稿タイプをチェックし、Disqusコメントテンプレートを無効にするフィルターを作成します。

これを踏まえて、Disqusを無効にしたいカスタム投稿タイプの名前にcustom_post_type_nameを置き換えるようにしてください。カスタム投稿タイプ

コードボックスの下に、挿入オプションが表示されます。「自動挿入」メソッドがまだ選択されていない場合は、スニペットがWordPressブログ全体に自動的に挿入および実行されるようにクリックしてください。

その後、「場所」ドロップダウンを開き、「すべてで実行」をクリックします。

ウェブサイト全体でDisqusコードを実行する

次に、画面の上部までスクロールし、「非アクティブ」トグルをクリックして「アクティブ」に変更します。

最後に、「保存」をクリックしてDisqusスニペットをライブにします。

Disqusコードスニペットを公開する方法

トラブルシューティング: サイトのショートネーム、APIシークレットキー、APIアクセストークンが必要です

Disqusの自動同期を有効にしようとすると、「この機能を有効にするには、サイトのショートネーム、APIシークレットキー、およびAPIアクセストークンを設定する必要があります。」というエラーが表示されることがあります。

Disqusエラーメッセージ

これが発生した場合、DisqusのウェブサイトにアクセスしてDisqusアプリケーションを作成する必要があります。まだ作成していない場合は、メールアドレスを使用して無料アカウントを作成するか、FacebookやTwitterアカウントなどの別の Вアカウントでサインインしてください。

これが完了したら、「アプリケーションの登録」リンクをクリックします。

Disqus アプリの登録

この画面では、アプリケーションの名前、組織、Disqusを使用する予定のウェブサイトなど、アプリケーションに関する情報を入力できます。

入力した情報に満足したら、「アプリケーションを登録」をクリックしてください。

Disqusアプリケーションを登録する方法

これが完了したら、「デフォルトアクセス」セクションまでスクロールします。

ドロップダウンメニューから「フォーラムの読み取り、書き込み、管理」を選択できるようになりました。

Disqusアプリの認証ステータスを変更する

その後、画面を一番下までスクロールし、「変更を保存」をクリックします。

これで「詳細」タブをクリックできるようになりました。

Disqus API設定

その後、「OAuth設定」セクションまでスクロールします。

ここで、APIキー、APIシークレット、およびアクセストークンを見つけることができます。この情報をDisqusプラグイン設定に追加する必要があります。

DisqusウェブサイトのAPI設定

WordPressダッシュボードで、左側のメニューからDisqusを選択します。

次に、「サイト設定」タブをクリックします。

Disqusサイト設定タブ

この画面で、「変更を加えるにはクリックしてください」リンクを選択する必要があります。

これで、APIキー、APIシークレット、アクセストークンをそれぞれのフィールドに入力できます。サイトのショートネームもまだ入力していない場合は、追加する必要があります。

Disqus プラグイン設定の更新

これが完了したら、「保存」ボタンをクリックします。

これで、「同期」タブを選択すると、エラーの代わりに新しい「自動同期を有効にする」ボタンが表示されるはずです。

Disqusで自動同期機能を有効にする

このチュートリアルが、WordPressのカスタム投稿タイプでDisqusを無効にする方法を学ぶのに役立ったことを願っています。また、WordPressのコメントを一括削除する方法や、WordPressコメントのモデレーションに関する初心者ガイドも参照してください。

この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterFacebookでもフォローできます。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

13 CommentsLeave a Reply

  1. 新しいDisqusプラグイン(2018年)は、正しく機能するためにこのコードに変更が必要です。

    function filter_dsq_can_load( $script_name ) {
    // $script_name は ‘count’ または ’embed’ のいずれかです。
    if ( ‘count’ === $script_name ) {
    return false;
    }

    return true; } add_filter( ‘dsq_can_load’, ‘filter_dsq_can_load’ );

  2. WordPressは、企業がウェブサイトを簡単に管理できる優れたエンタープライズWebコンテンツ管理サービスです。無制限の組み込みツールとその柔軟性・拡張性により、開発者はあらゆるビジネス要件に対応するウェブサイトをデザインできます。サイトを面白く保つことが推奨されており、コメントボックスの追加は重要な役割を果たします。Disqusはどのページにもコメントボックスを追加する最も簡単な方法の1つですが、読者の入力を必要としないセクションでは無効にすることが不可欠な場合があります。この記事で説明されている方法は的確であり、すぐに実装できました。共有ありがとうございます。
    Jetpackは良い代替案だと感じています。読者があなたのウェブサイトに接続し、さまざまな方法でコメントを残すことができます。デフォルトのWordPressコメントオプションを使用したり、WordPress.comに接続したり、Facebook、G+、Twitter経由でログインできるようにしたりできます。Jetpackを優れたツールにしている他の多くの機能もあります。

  3. カスタム投稿タイプでDisqusを無効にする方法を教えていただきましたが、有効にする方法はどうですか?最近、私のインタビューカスタム投稿タイプにDisqusを追加しましたが、機能していません。なぜですか?インタビューとブログの2つのカスタム投稿タイプを作成しました。ブログ投稿タイプでは機能しますが、インタビュー投稿タイプでは機能しません。どのように修正すればよいか教えてください。

    これは私のカスタム投稿タイプの両方のコードです。ここではGenesisテンプレートを使用しています –

    //* インタビュー投稿タイプを登録 (NSSによる変更)
    add_action( ‘init’, ‘create_interview_post_type’ );

    function create_interview_post_type() {

    $labels = array( 'name' => __('インタビュー'), 'singular_name' => __('インタビュー'), 'all_items' => __('すべてのインタビュー'), 'add_new' => _x('新規追加', 'インタビュー'), 'add_new_item' => __('新規追加'), 'edit_item' => __('インタビューの編集'), 'new_item' => __('新規インタビュー'), 'view_item' => __('インタビューの表示'), 'search_items' => __('インタビューの検索'), 'not_found' => __('インタビューが見つかりませんでした'), 'not_found_in_trash' => __('ゴミ箱にインタビューが見つかりませんでした'), 'parent_item_colon' => "" );

    $args = array( ‘labels’ => $labels, ‘public’ => true, ‘has_archive’ => true, ‘rewrite’ => array(‘slug’ => ‘interviews’), ‘taxonomies’ => array( ‘category’, ‘post_tag’ ), ‘supports’ => array( ‘title’, ‘editor’, ‘author’, ‘thumbnail’ , ‘custom-fields’, ‘excerpt’, ‘comments’) );

    register_post_type( ‘interview’, $args);
    }

    //* ブログ投稿タイプを登録 (NSSによる変更)
    add_action( ‘init’, ‘create_nssblog_post_type’ );

    function create_nssblog_post_type() {

    $labels = array(
    ‘name’ => __( ‘ブログ’ ),
    ‘singular_name’ => __( ‘ブログ’ ),
    ‘all_items’ => __(‘すべての投稿’),
    ‘add_new’ => _x(‘新規追加’, ‘ブログ’),
    ‘add_new_item’ => __(‘新規追加’),
    ‘edit_item’ => __(‘投稿の編集’),
    ‘new_item’ => __(‘新規投稿’),
    ‘view_item’ => __(‘投稿の表示’),
    ‘search_items’ => __(‘投稿を検索’),
    ‘not_found’ => __(‘投稿が見つかりませんでした’),
    ‘not_found_in_trash’ => __(‘ゴミ箱に投稿が見つかりませんでした’),
    ‘parent_item_colon’ => ”
    );

    "$args = array( ‘labels’ => $labels, ‘public’ => true, ‘has_archive’ => true, ‘rewrite’ => array(‘slug’ => ‘blog’), ‘taxonomies’ => array( ‘category’, ‘post_tag’ ), ‘supports’ => array( ‘title’, ‘editor’, ‘author’, ‘thumbnail’ , ‘custom-fields’, ‘excerpt’, ‘comments’ ) );"

    register_post_type( ‘nssblog’, $args);

  4. この素晴らしい投稿をありがとうございます。
    ウェブサイトにDisqusプラグインをインストールして設定しました。デフォルトのコメントオプションを除いて、すべてがほぼうまくいっています。デフォルトとしてゲストコメントを選択するオプションはありますか?
    Disqusアカウントを持っている人はたくさんいますが、社会や国によって異なります。たとえば、アフガニスタンでは、インターネットユーザーのほとんどがDisqusについて知りません。

    • Disqusシステムでコメントするには、Disqusアカウントは必要ありません。Facebook、Twitter、Google+、名前/メール、またはゲストを使用するオプションがあります。

      常にログインしているため、これがケースであることを確認するためにログアウトする必要がありました。

      ログアウトして確認してください。

  5. あなたが何をしているのか分かり、気に入っています。ロード順の問題が発生しているようです。カスタム投稿タイプが使用されているときにフィルターを追加しないようにDisqusプラグインのコードを操作すると、問題が解決します。

    if ( ‘custom_post_type_name’ != get_post_type() ){ add_filter(‘comments_template’, ‘dsq_comments_template’); }

    フィルターが追加されている場合にフィルターを削除するというあなたの提案を試しましたが、うまくいきませんでした。functions.php が disqus.php より先に実行されているため、削除が実行される時点では削除するフィルターが存在しないと推測されます。まだ修正方法を見つけられていません。

  6. はい、そうです。ちょうど探していました。このような有用で情報満載の投稿を共有していただき、大変助かりました。ありがとうございます。

返信を残す

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。