Pochipp(ポチップ)のデフォルトタブを変更してAmazon検索を初期表示にする方法

カフェテラスでパソコン作業中に達成感を感じる日本人女性 Pochipp(ポチップ)

Pochipp(ポチップ)で商品を検索するたびに、「登録済み商品を検索」タブが開いてAmazonタブに切り替える——この1クリック、地味にストレスではないでしょうか。

記事を書きながら商品リンクを挿入する作業では、ほとんどの場合「Amazonで検索」か「楽天市場で検索」を使います。それなのに毎回デフォルトで開くのは使わない「登録済み商品を検索」タブ。WordPress.orgのレビューでも同じ不満の声が上がっていますが、Pochippの設定画面にはこのデフォルトタブを変更する項目がありません。

この記事では、Pochippの本体ファイルを一切変更せずに、商品検索ポップアップのデフォルトタブを「Amazonで検索」に変更する方法を解説します。PHPファイルを1つ設置するだけで完了し、Pochippのアップデートにも影響されません。

目次

Pochippの「登録済み商品を検索」タブが毎回開く問題

なぜデフォルトが「登録済み商品を検索」なのか

Pochippの商品検索ポップアップは、WordPress標準のThickboxというiframe式のモーダルウィンドウで表示されています。このモーダルを開くとき、iframe URLのtab=パラメータで初期表示するタブが指定されており、その値がpochipp_search_registerd(登録済み商品を検索)にハードコードされています。

つまり、Pochippのプログラム側で「最初に開くタブは登録済み商品」と決め打ちされている状態です。

設定画面からは変更できない

Pochipp公式サイトのカスタマイズ項目や管理画面の設定を確認しても、デフォルトタブを変更するオプションは存在しません。ボタンの色やテキスト、セール情報の表示などは設定できますが、検索ポップアップのタブ順序は対象外です。

テーマ側のfunctions.phpやカスタムCSSでも対応できない領域のため、別のアプローチが必要になります。


Pochippのデフォルトタブをmu-pluginで変更する方法

mu-plugin(Must-Use Plugin)とは

mu-plugin(Must-Use Plugin) は、WordPressのwp-content/mu-plugins/フォルダに設置するだけで自動的に有効化されるプラグインです。通常のプラグインと異なり、管理画面から無効化できず、WordPress本体やテーマの読み込みより前に実行されます。

今回のカスタマイズにmu-pluginを使う理由:

  • ⚡ Pochipp本体のファイルを一切変更しないため、アップデートの影響を受けない
  • ⚡ ファイルを1つ置くだけで有効化され、管理画面での操作が不要
  • ⚡ 不要になったらファイルを削除するだけで元に戻る

mu-pluginの仕様について詳しくは、WordPress公式のMust Use Pluginsドキュメントを参照してください。

完成コードと設置手順

以下のコードをpochipp-default-amazon-tab.phpというファイル名で保存し、wp-content/mu-plugins/に設置します。

php

<?php
/**
 * Plugin Name: Pochipp - Amazonタブをデフォルトにする
 * Description: Pochippの商品検索ポップアップで「Amazonで検索」タブを初期表示にする
 * Version: 2.0
 * Author: KW
 *
 * 設置場所: wp-content/mu-plugins/pochipp-default-amazon-tab.php
 * ※ mu-pluginsフォルダがなければ作成する
 * ※ プラグインの更新に影響されない
 */

defined('ABSPATH') || exit;

add_action('admin_footer', function () {
    ?>
    <script>
    (function() {
        'use strict';

        /**
         * PochippはThickbox(tb_show)でモーダルを開く。
         * iframe URLの tab=pochipp_search_registerd を
         * tab=pochipp_search_amazon に書き換えるだけ。
         */
        function wrapTbShow() {
            if (typeof window.tb_show !== 'function') return false;
            if (window.tb_show.__pochippPatched) return true; // 二重ラップ防止

            var original = window.tb_show;
            window.tb_show = function(caption, url, imageGroup) {
                if (typeof url === 'string' && url.indexOf('type=pochipp') !== -1) {
                    url = url.replace(
                        'tab=pochipp_search_registerd',
                        'tab=pochipp_search_amazon'
                    );
                }
                return original.call(this, caption, url, imageGroup);
            };
            window.tb_show.__pochippPatched = true;
            return true;
        }

        // tb_showがまだ読み込まれていない場合に備えてポーリング
        if (!wrapTbShow()) {
            var attempts = 0;
            var interval = setInterval(function() {
                if (wrapTbShow() || ++attempts > 100) {
                    clearInterval(interval);
                }
            }, 300);
        }
    })();
    </script>
    <?php
});

📝 設置手順:

  1. 上記コードをコピーして、テキストエディタでpochipp-default-amazon-tab.phpとして保存します
  2. FTPまたはファイルマネージャーで、wp-content/mu-plugins/フォルダを開きます(フォルダがなければmu-pluginsという名前で新規作成します)
  3. 保存したPHPファイルをこのフォルダにアップロードします
  4. 有効化の操作は不要です(mu-pluginは設置した時点で自動的に有効になります)

動作確認の方法

ファイルを設置したら、ブロックエディタで記事の編集画面を開き、Pochippブロックの「商品を検索」ボタンをクリックしてください。

ポップアップが開いたときに、「Amazonで検索」タブが最初から選択された状態になっていれば成功です。もし変わらない場合は、ブラウザのキャッシュをクリアしてからページを再読み込みしてみてください。


デフォルトタブを楽天市場に変更したい場合

Amazonではなく楽天市場をデフォルトにしたい場合は、コード内の置換先パラメータを変更するだけで対応できます。

上記コードの以下の部分を修正してください。

php

// 変更前(Amazonをデフォルトにする場合)
'tab=pochipp_search_amazon'

// 変更後(楽天市場をデフォルトにする場合)
'tab=pochipp_search_rakuten'

各タブに対応するパラメータ値は次のとおりです。

タブ名パラメータ値
登録済み商品を検索pochipp_search_registerd
Amazonで検索pochipp_search_amazon
楽天市場で検索pochipp_search_rakuten

なお、pochipp_search_registerdregisteredのスペルミスですが、Pochipp側の実装がこの綴りになっているため、コード内でもそのまま使用する必要があります。


コードの仕組みと技術的な補足

Pochippのモーダル構造とタブパラメータ

Pochippの商品検索ポップアップは、Reactコンポーネントではなく、WordPress管理画面に標準搭載されているThickboxで実装されています。Thickboxはtb_show()というJavaScript関数でiframeを開く仕組みで、そのiframeのURLに含まれるtab=パラメータがデフォルトタブを決定しています。

実際のiframe URLの例:

media-upload.php?type=pochipp&at=editor&blockid=...&postid=...&tab=pochipp_search_registerd

この末尾のtab=pochipp_search_registerdを書き換えることで、初期表示タブを変更できます。

tb_show()のラップによるURL書き換え

今回のmu-pluginは、tb_show()関数をラップ(外側から包み込む)して、Pochippがモーダルを開くタイミングでURLを自動書き換えしています。

⚙️ 処理の流れ:

  1. 管理画面のフッターにJavaScriptを注入(admin_footerフック)
  2. tb_show()のオリジナルの関数を保持したまま、新しい関数で上書き
  3. 呼び出されたURLにtype=pochippが含まれる場合のみ、tab=パラメータを書き換え
  4. それ以外のThickbox呼び出し(メディアライブラリ等)には一切影響しない

tb_showがページ読み込み時にまだ定義されていない場合に備えて、300ミリ秒間隔のポーリングで関数の存在をチェックする安全策も組み込まれています。


Pochippのアップデート時の注意点と対処法

mu-pluginとしてPochipp本体の外側に設置しているため、Pochippのアップデートでコードが消えることはありません。ただし、将来のアップデートでPochipp側のタブパラメータ名が変更された場合、書き換えが空振りする可能性はあります。

タブのパラメータ名が変わった場合の確認方法

アップデート後にデフォルトタブが戻ってしまった場合は、以下の手順で現在のパラメータ値を確認できます。

🔍 確認手順:

  1. ブロックエディタで記事編集画面を開き、Pochippの検索ボタンをクリックしてポップアップを表示します
  2. 目的のタブ(例:Amazonで検索)を手動でクリックします
  3. ブラウザのDevTools(F12キー)を開き、「Elements」タブに切り替えます
  4. iframe要素(#TB_iframeContent)のsrc属性を確認します
  5. URLの末尾にあるtab=の値が、そのタブの正しいパラメータ名です

確認した値でmu-pluginのコードを更新すれば、再び動作します。


まとめ

Pochippの商品検索ポップアップは、デフォルトで「登録済み商品を検索」タブが開きます。多くのユーザーが実際に使うのはAmazonや楽天市場の検索タブですが、この初期タブを変更する設定項目はPochippに用意されていません。

解決策は、wp-content/mu-plugins/にPHPファイルを1つ設置するだけです。Pochippがモーダルを開く際のURL内のタブパラメータを自動的に書き換えることで、Amazonや楽天市場のタブを初期表示にできます。mu-pluginとして実装するため、Pochippのアップデートに影響されず、不要になればファイルを削除するだけで元に戻ります。

コードを書けなくても、この記事のPHPファイルをそのまま設置すれば動作します。毎回のタブ切り替えを解消して、記事制作の効率を上げてください。

よくある質問

Pochipp Proでもこの方法は使えますか?

はい、使えます。Pochipp ProもPochipp無料版と同じThickboxベースのモーダルを使用しており、タブパラメータの構造は共通です。

mu-pluginsフォルダがない場合はどうすればいいですか?

wp-content/の直下にmu-pluginsという名前のフォルダを新規作成してください。WordPressの初期状態ではこのフォルダは存在しないため、手動で作成する必要があります。

コードを設置したのにデフォルトタブが変わりません

まずブラウザのキャッシュをクリアしてページを再読み込みしてください。それでも変わらない場合は、DevTools(F12)でiframeのsrc属性を確認し、tab=パラメータの値がコード内の置換元と一致しているか確かめてください。

Pochippを無効化したら影響はありますか?

影響はありません。このmu-pluginは、tb_show()のURL内にtype=pochippが含まれる場合にのみ動作します。Pochippが無効化されていればその条件に合致するURLが発生しないため、他の機能に一切干渉しません。

よかったらシェアしてね!
  • URLをコピーしました!
目次