我希望WordPress能够处理带有可变参数的传入url,而不是抛出404。基本上,传入的url可能如下所示:
http://mysite.com/custom-post-type/some-post/?promo=12er34 然后,我将最后一段传递到一个用于促销的注册表单中。显然,直接点击这个url会抛出一个404。
有没有办法在我的自定义帖子类型中设置一个条件,如果传入的url有额外的指定段,就允许匹配?
发布于 2013-02-27 05:43:50
在您的自定义post类型模板中,您可以这样做:
$code = isset( $_GET[ 'promo' ] ) ? sanitize_text_field( $_GET[ 'promo' ] ) : '';
顺便说一下,url中的参数应该在promo之前有一个?。
像这样:http://mysite.com/custom-post-type/some-post/?promo=12er34
更新:
如果无论您是使用自定义post类型还是默认post类型,都希望获得此值,请在您的functions.php中尝试此方法
function get_promo_code( $wp ) {
if( ! is_single() )
return;
// Do whatever you want with the promo code here.
$code = isset( $_GET[ 'promo' ] ) ? sanitize_text_field( $_GET[ 'promo' ] ) : '';
}
add_action( 'wp', 'get_promo_code' );https://stackoverflow.com/questions/15099821
复制相似问题