現在運用しておりますワードプレスで検索をおこなうと下記の検索結果となります。
https://www.houndcom.com/blog/?s=%E8%85%8E%E8%87%93
ここまではよいのですが、ページ下部のページナビゲーターの
2ページ目や3ページ目のボタンをクリックすると
https://www.houndcom.com/?s=%E8%85%8E%E8%87%93&paged=2
というURLへ遷移してしまいます。
これらを解決するために
の/と?s=の間にblog/の文字列を足したいのですが、
なにかよい方法はないでしょうか?
色々と試してみましたが検索結果の最初のページが
https://www.houndcom.com/blog/blog/?s=%E8%85%8E%E8%87%93
等になってしまい、うまく運用ができません。
是非よいアドバイスを頂けますようお願い申し上げます。
WordPress.の構成がわからないのですが、シングルサイトですか? マルチサイトですか?
また、サイトURL や WordPress アドレスは、blog がつかないURL でしょうか?
ご返信ありがとうございます。
私自信も途中で引き継ぎましたので詳しくいま調べているのですが、本来このワードプレスのURLは
別のサーバーで別ドメインで運用していたのですが、
下記の通販サイト
https://www.houndcom.com/
のドメイン内傘下で運用しているように見せるショップのシステムを利用して無理やりに
https://www.houndcom.com/blog/
として運用しております。
テーマによっては質問の問題が起きていなかったのですが、今回のテーマにしてから質問の問題がおきるようになってしまいました。
>色々と試してみました
色々とは?
phpに対して無知なため、テーマの中のソースを見まして、
検索結果の下のナビゲーションを呼び出しているphpファイルを見つけ
その中の下記の部分(この本文下のほうに記載しております)paginate_formatの先の部分の
== '/' ? '
がURL上の
/?s=%E8%85%8E%E8%87%93&paged=2
と関連性があるのかという勝手な解釈のもと
== '/blog/' ? '
にしてみたりしました。
blog/blog/になった際の作業が、検索した中で見つけたことを試したのですが、
その検索結果ページが再度見つからず申し訳ございませんがその結果になった過程がお答えできません。
-----------対象のソース部分になります----------
$paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') .
user_trailingslashit('page/%#%/', 'paged');;
$paginate_base .= '%_%';
}
全体のソースが分からないのですが、ページ送りのボタンを出力しているURLを生成する箇所で現在のURLを$_SERVER['REQUEST_URI']なんかで取得して加工・生成してあげればよいかと思います。(個人でページネーションを自作した時に行った方法です)
ご返信ありがとうございます。
ページネーションを作成しているソースは
<?php
global $wp_rewrite;
$paginate_base = get_pagenum_link(1);
if (strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()) {
$paginate_format = '';
$paginate_base = add_query_arg('paged', '%#%');
} else {
$paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') .
user_trailingslashit('page/%#%/', 'paged');;
$paginate_base .= '%_%';
}
echo '<div class="page_navi clearfix">'. "\n";
if (show_posts_nav()) {
echo '<h4>';
_e("PAGE NAVI","tcd-w");
echo '</h4>' . "\n";
} else {
echo '<p class="back"><a href="';
echo bloginfo('url');
echo '/">';
_e("RETURN HOME","tcd-w");
echo '</a></p>';
};
echo paginate_links( array(
'base' => $paginate_base,
'format' => $paginate_format,
'total' => $wp_query->max_num_pages,
'mid_size' => 5,
'current' => ($paged ? $paged : 1),
'type' => 'list',
'prev_text' => '«',
'next_text' => '»',
));
echo "\n</div>\n";
?>
となっております。
>>$_SERVER['REQUEST_URI']なんかで取得して加工・生成
とありますが、私自身がphpには無知でなかなかそういった複雑な作業が難しいのが現状です。
$paginate_baseという変数が怪しいですが、それの中身はどうなっていますか?(var_dump()などで見られますか?)