1

我希望 WordPress 处理带有可变参数的传入 url,而不是抛出 404。基本上,传入的 url 可能如下所示:

http://mysite.com/custom-post-type/some-post/?promo=12er34 

然后,我将最后一部分传递到促销注册表单中。显然,直接点击这个 url 会抛出 404。

无论如何在我的自定义帖子类型中设置一个条件,如果传入的 url 有一个额外的指定段,则允许匹配?

4

1 回答 1

1

在您的自定义帖子类型模板中,您可以这样做:

$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' );
于 2013-02-26T21:43:49.967 回答