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 に答える