IT WEBサービス

vc searchで次のページへ遷移しない

WordPressを利用するアフィリエイターさんは恐らく利用しているであろう「vc search」。wordpress3.4の頃でしたでしょうか…「次へ」の遷移が上手くいかないことがありました。2ページ目以降に移動したくても1ページ目しか表示されないという現象です。

vc searchはページ移動に「page」というGET要素を利用しているのですが、ある時期からWordpress側が「page」を書き直してしまう*1ようになり、結果、vc searchのページ移動が正常に行われなくなりました。

修正するには「page」を別のGET要素として指定すればいいので、お好みの名称に書き換えてください。ここでは仮に「vpage」*2とします。

変更箇所をピックアップしていくと

(vc_search.php)

$v_page =$_GET["page"];
$v_page =$_GET["vpage"];

$vcurl = "http://webservice.valuecommerce.ne.jp/productdb/search?token=$vctoken&keyword=$v_keyword&category=$v_category&sort_by=$v_sort_by&sort_order=$v_sort_order&page=$v_page&results_per_page=10&rank=$v_sort_rank";
$vcurl = "http://webservice.valuecommerce.ne.jp/productdb/search?token=$vctoken&keyword=$v_keyword&category=$v_category&sort_by=$v_sort_by&sort_order=$v_sort_order&vpage=$v_page&results_per_page=10&rank=$v_sort_rank";

$yacurl = "http://auctions.yahooapis.jp/AuctionWebService/V2/search?appid=$vc_yahoo_appid&query=$v_keyword&page=$v_page&sort=$v_sort_by&order=$v_sort_order";
$yacurl = "http://auctions.yahooapis.jp/AuctionWebService/V2/search?appid=$vc_yahoo_appid&query=$v_keyword&vpage=$v_page&sort=$v_sort_by&order=$v_sort_order";

$v_page =$_GET["page"];
$v_page =$_GET["vpage"];

$v_page =$_GET["page"];
$v_page =$_GET["vpage"];

$v_page =$_GET["page"];
$v_page =$_GET["vpage"];

$v_page =$_GET["page"];
$v_page =$_GET["vpage"];

$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&page=$v_page&genreId=$rakuten_category&sort=".urlencode($rakuten_sort_order);
$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&vpage=$v_page&genreId=$rakuten_category&sort=".urlencode($rakuten_sort_order);

$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&page=$v_page&genreId=$rakuten_category&carrier=1&sort=".urlencode($rakuten_sort_order);
$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&vpage=$v_page&genreId=$rakuten_category&carrier=1&sort=".urlencode($rakuten_sort_order);

$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&page=$v_page&genreId=$rakuten_category&sort=".urlencode($rakuten_sort_order);
$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&vpage=$v_page&genreId=$rakuten_category&sort=".urlencode($rakuten_sort_order);

$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&page=$v_page&genreId=$rakuten_category&carrier=1&sort=".urlencode($rakuten_sort_order);
$rwsurl = "http://api.rakuten.co.jp/rws/3.0/rest?developerId=$rakutentoken&affiliateId=$rakutenaffid&operation=ItemSearch&version=2009-04-15&keyword=$keyword&hits=10&availability=1&vpage=$v_page&genreId=$rakuten_category&carrier=1&sort=".urlencode($rakuten_sort_order);

(apifunc.php)

echo "<a href=\"" . $params . "&page=$page\">前へ</a>&nbsp;";
echo "<a href=\"" . $params . "&vpage=$page\">前へ</a>&nbsp;";

echo "<a href=\"" . $params . "&page=$page\">次へ</a>";
echo "<a href=\"" . $params . "&vpage=$page\">次へ</a>";

上手く色分けできていないので分かりにくいとは思いますが、上記位置を変更すればページリンクが正しく機能します。こちらで挙げた修正箇所はvc search 1.89aを元にしています。


1パーマリンクによるものか、セキュリティ対策なのか調べていません。
2同名のGET要素は競合していないことを確認しています。

本修正を施したことによる動作保障は致しません。各人の責任で行ってください。

ABOUT ME
Nozomu.Kon
トータルソフトウェアコーディネーターがあなたのお困りを即時に解決!