Cum adaugi ID-ul articolului (sau orice alte date despre articol) într-un formular Contact Form 7?

28 apr. 2015, 12:58:17
Vizualizări: 21.3K
Voturi: 1

Am descărcat Contact Form 7 pentru a adăuga formulare de contact printr-un snippet simplu după fiecare articol, și l-am adăugat în functions.php astfel:

//dacă tipul de postare, adaug un formular

function is_post_type($type)
{
    global $wp_query;
    if($type == get_post_type($wp_query->post->ID)) return true;
    return false;
}

function add_post_content($content){
    if(!is_feed() && !is_home()&& is_single() && is_post_type('post'))
    {
        $content .= '[contact-form-7 id="2202" title="Formular de contact 1"]';
    }
    return $content;
}
add_filter('the_content', 'add_post_content');

Ce aș dori să fac acum este să adaug un câmp nou în plugin pentru a trimite link-ul articolului de unde utilizatorul trimite formularul, sau chiar să concatenez acest link sau ID după conținutul emailului, sau ceva similar, dar sunt blocat în WordPress și nu știu ce fișier trebuie să editez și cum să import variabilele $post.

0
Toate răspunsurile la întrebare 2
0

Acest lucru este destul de ușor de realizat fără configurare suplimentară:

Doar folosește tag-ul special pentru mail [_url].

Atâta timp cât te afli pe un articol sau pagină, poți adăuga și alte informații precum titlul cu [_post_title].

Consultă documentația pentru mai multe opțiuni.

28 apr. 2015 13:26:03
0

Puteți încerca să adăugați un parametru get în URL-ul către formularul de contact.

Dacă este un formular în stil lightbox, puteți defini și un câmp ascuns și să îl completați când wpcf7 se încarcă folosind global $post.

Utilizați acest cod pentru soluția cu parametru URL și înlocuiți id_post cu global $post->ID pentru soluția lightbox:

//Adaugă ID-ul postului
function add_post_id_origin ( $tag, $unused ) {
    //Mai întâi verificăm dacă este câmpul nostru ascuns
    if ( $tag['name'] != 'myhiddentag' )  
    return $tag; 

//Aceasta este pentru versiunea cu parametru URL
if(isset($_GET['id_post']) && is_numeric($_GET['id_post']))
{
    $post = get_post($_GET['id_post']);
    $tag['values'] = array($post->ID); 
    $tag['options'] = array('readonly');
}
//acest mod pentru utilizarea obișnuită cu global $post
global $post;
$tag['values'] = array($post->ID); 
$tag['options'] = array('readonly');

return $tag;  
}  

//Nu uitați să conectați funcția
add_filter( 'wpcf7_form_tag', 'add_post_id_origin', 10, 2);
28 apr. 2015 13:18:05