ホームページ >バックエンド開発 >PHPチュートリアル >WP-PageNavi プラグインによって生成されたページング リンクがクエリ文字列を正しく渡せない問題を解決します。
この問題は最近発生したようで、WPML に基づいたバイリンガル Web サイトで、英語版のリスト ページをクリックするとページングが機能しないと報告されました。ウェブサイトのトップページ。確認した結果、この問題はカスタム記事タイプのページネーションでロックされており、英語版でのみ発生することが判明しました。この問題は Web サイトのデフォルト言語の中国語版では発生しませんでした。この Web サイトは、英語版の URL にクエリ文字列「lang=en」を追加し、WP-PageNavi はページング リンクをこの「http://xxx.com?lang=en/category/greece/page/2」に変更しました。
Web サイトが最初に開発されたとき、当時のバージョンの WPML と WP-PageNavi はうまく連携しており、どのプラグインが更新されたことが原因でこの問題が発生しなかったことを覚えています。この互換性の問題は、追跡しても自分で解決するしかないようです。私の解決策はかなり大雑把です。主に、私には能力がなく、プラグイン内で問題を見つけたくないため、このJSコードが配置されているクエリ文字列の位置を直接変更するだけです。 wp_pagenavi 関数が呼び出されるページの下部に、怠けて直接 footer.php に配置することもできます:
$(function(){ $(".wp-pagenavi a").each(function(){ tempvelue = $(this).attr("href"); if( tempvelue.indexOf("?lang=en")>0 ){ tempvelue = tempvelue.replace("?lang=en","") + "?lang=en"; $(this).attr("href",tempvelue); } });});
この問題は他のページでも発生する可能性があります。 URL とクエリ文字列を使用して上記のコードを変更すると解決できます。したがって、WP-PageNavi の問題である可能性が高く、将来のアップデートで解決されることを願っています。
PHP レベルでの解決策を知っている人がいたら、教えてください。
このサイトのすべての記事はオリジナルであり、転載を歓迎しますが、記事の出典を明記してください: http://blog.brain1981.com/1348.html