私はhttp://www.mysiteurl.com/pagename/
にワードプレスのページを持っています、そして私は私のオリジナルのページをリダイレクトするか表示するためにhttp://www.mysiteurl.com/pagename/{any string here}
の形式のURLが欲しいです。どうやってこれをやるの?私にとってこれを簡単にするワードプレスプラグインはありますか?
これはかなり可能です。まず、pagename/{customString}
を404ではなくページ自体として解決するようにした後は、URIをそのままにしてページのコンテンツを提供するか、ページのパーマリンク(get_the_permalink()
)などにリダイレクトするかを自由に選択できます。
add_action( "init", function(){
$pagename = "pagename"; // page slug
add_rewrite_rule(
sprintf('^%s/([^/]*)/?', $pagename),
sprintf('index.php?pagename=%s&pageParam=$matches[1]', $pagename),
'top'
);
});
add_filter( "query_vars", function( $vars ){
$vars[] = "pageParam";
return $vars;
});
add_action( "template_redirect", function(){
if ( $param = get_query_var( "pageParam" ) ) {
/* make sure param is not for comments pagination or smth similar */
wp_redirect( get_the_permalink(), 301 );
exit;
}
});
リダイレクトしたくない場合はtemplate_redirect
にフックされているコードを削除してください(15行目以降)。そのカスタム文字列({any string here}
)を取得するには、単にget_query_var( "pageParam" )
を呼び出します。
それが役立つことを願っています。