web-dev-qa-db-ja.com

お問い合わせフォーム7で現在のURLを取得する方法

私は私のワードプレスのインストールでContact Form 7を使っています。私はどうにかしてコンタクトフォームの隠しフィールドに現在のページのURLで隠しフィールドを渡す必要があります。私は彼らのカスタム関数を試してみて、短いコードを試してみましたが、運が良かったです。

wpcf7_add_shortcode('sourceurl', 'wpcf7_sourceurl_shortcode_handler', true);

function wpcf7_sourceurl_shortcode_handler($tag) {
    if (!is_array($tag)) return '';

    $name = $tag['name'];
    if (empty($name)) return '';

    $html = '<input type="hidden" name="' . $name . '" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"] . '" />';
    return $html;
}

フォーム版で私は[sourceurl thesource]を試しました

2
unixmiah

フォーム送信はすでにコンテナの投稿を送信しているので、それを取得して電子メールに入れるだけです。
そのためには、次のコードを試してください。

add_filter("wpcf7_posted_data", function ($wpcf7_posted_data) {

    $post = get_post($wpcf7_posted_data["_wpcf7_container_post"]);

    $wpcf7_posted_data["containerURL"] = get_permalink($post);


    return $wpcf7_posted_data;

});

そして送信されたEメールのエディションでは、あなたは[containerURL]でURLを検索します

1
mmm

連絡フォーム7のショートコードを作成して解析して使用する方法については、次の例を参照してください。add [current_url]

add_action( 'wpcf7_init', 'wpcf7_add_form_tag_current_url' );
function wpcf7_add_form_tag_current_url() {
    // Add shortcode for the form [current_url]
    wpcf7_add_form_tag( 'current_url',
        'wpcf7_current_url_form_tag_handler',
        array(
            'name-attr' => true
        )
    );
}

// Parse the shortcode in the frontend
function wpcf7_current_url_form_tag_handler( $tag ) {
    global $wp;
    $url = home_url( $wp->request );
    return '<input type="hidden" name="'.$tag['name'].'" value="'.$url.'" />';
}

また、電子メールでURLを取得しようとしているのであれば、これらすべては必要ありません。電子メール用の特別なタグがあります[_url]CF7特別なメールタグ

1
Shibi

Cf7隠しフィールドショートコードを使用して、パラメーターを取得できます。 https://contactform7.com/hidden-field/https://contactform7.com/getting-default-values-from-コンテキスト/

メールフォームでは、このようなショートコードを使用してこれらのスラッグを取得します

[hidden utm_source default:get]
[hidden utm_medium default:get]
[hidden utm_campaign default:get]
[hidden utm_content default:get]
[hidden gclid default:get]

フラミンゴプラグインでも動作します。また、メールテンプレート[_url]は非常にうまく機能します。

0
Iggy