tokutaさん
パラメーターの付加は、get_query_argを使うと簡単にできます。
function add_mobile_arg( $url ) {
return add_query_arg( array( 'mobile' => 1 ), $url );
}
add_filter( 'get_month_link', 'add_mobile_arg' );
add_filter( 'get_year_link', 'add_mobile_arg' );
add_filter( 'get_day_link', 'add_mobile_arg' );
add_filter( 'category_link', 'add_mobile_arg' );
add_filter( 'post_link', 'add_mobile_arg' );
既存のコードとの競合(パラメーターが重複する)やパラメーターを付加したくないときにも付加されてしまいますが、そのあたりは既存コードの調整や条件分岐をしてください。
jim912世話役様
さっそくアドバイスいただき、ありがとうございます。
function add_mobile_arg( $url ) {
return add_query_arg( array( ‘mobile’ => 1 ), $url );
}
など、add_query_arg で試させていただいた結果、静的なURLではうまく行くのですが、<?php wp_get_archives(); ?>
のような動的なURLではパラメーターを含めることができず、
<?php previous_post_link(); ?>
のような静的なものでも、あらかじめ関数のなかにリンクが含められているものでは、パラメーターの付加はできても、パラメーターをリンクのなかに含められないことがわかりました。
これから時間をかけて調べようと思いますが、素人に近いレベルなので、正直なところ、途方にくれています。
せっかく有意義なアドバイスをいただいても、うまく活用することができず、すみませんでした。
結局この問題は、今日ネット上で、どなたかが general-template を開いて function wp_get_archives を書き換えたという記事を読む機会があり、同様に、function wp_get_archivesを探し、その中の、
$url = get_month_link( $arcresult->year, $arcresult->month );
というコードの下に
$url = $url.’?mobile=1′;
という記述を加えたところ、
wp_get_archives が動的に表出する月毎のアドレスの下に、
2012/05/?mobile=1
というように、意図したパラメーターがつくようになりました。
最初の意図はこのようなものでしたので、期待通りの結果を得ることができました。
wp_get_archives()、 previous_post_link()は、general-template の中にはないようですが、今後、探し出して、同様の処理を加えたいと思います。
これもjim912世話役様をはじめとして、フォーラムの皆様に沢山のヒントを与えていただいたおかげかと思います。
ありがとうございました。