我希望 WordPress 处理带有可变参数的传入 url,而不是抛出 404。基本上,传入的 url 可能如下所示:
http://mysite.com/custom-post-type/some-post/?promo=12er34
然后,我将最后一部分传递到促销注册表单中。显然,直接点击这个 url 会抛出 404。
无论如何在我的自定义帖子类型中设置一个条件,如果传入的 url 有一个额外的指定段,则允许匹配?
我希望 WordPress 处理带有可变参数的传入 url,而不是抛出 404。基本上,传入的 url 可能如下所示:
http://mysite.com/custom-post-type/some-post/?promo=12er34
然后,我将最后一部分传递到促销注册表单中。显然,直接点击这个 url 会抛出 404。
无论如何在我的自定义帖子类型中设置一个条件,如果传入的 url 有一个额外的指定段,则允许匹配?
在您的自定义帖子类型模板中,您可以这样做:
$code = isset( $_GET[ 'promo' ] ) ? sanitize_text_field( $_GET[ 'promo' ] ) : '';
顺便说一句,你的 url 中的参数应该有一个?
before promo
。
像这样:http://mysite.com/custom-post-type/some-post/?promo=12er34
更新:
如果您想获得此值,无论您是使用自定义帖子类型还是默认帖子类型,请在您的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' );