如何将帖子ID(或任何其他帖子数据)添加到联系人Form7邮件中?

时间:2015-04-28 作者:Alfro

我已经下载了Contact Form 7 要添加联系人表单,请在每篇帖子之后添加一个简单的片段,我已经在函数中添加了它。php如下所示:

//if post type I add a form

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="Formulario de contacto 1"]\';
    }
    return $content;
}
add_filter(\'the_content\', \'add_post_content\');
我现在想做的是在插件中添加一个新字段,以便在用户发送表单时发送条目的链接,或者甚至在电子邮件内容后连接此链接或Id,或者诸如此类的内容,但我被WordPress困住了,我不知道需要编辑什么文件以及如何导入$post变量。

2 个回复
最合适的回答,由SO网友:kraftner 整理而成

这是非常简单的开箱即用:

只需使用[_url] 特殊邮件标签。

只要你在一篇文章或一个页面上,你甚至可以用[_post_title].

看看吧the documentation 查看更多选项。

SO网友:Sladix

您可以尝试在联系人表单的链接中向url添加get参数。

如果是灯箱样式,还可以定义一个隐藏字段,并在wpcf7加载时使用global$post填充它。

将此代码用于url参数解决方案,并将id\\u post替换为lightbow解决方案的global$post->id:

//Add the post id
function add_post_id_origin ( $tag, $unused ) {
    //First we test if it\'s our hidden field
    if ( $tag[\'name\'] != \'myhiddentag\' )  
    return $tag; 

//This is for the url param version
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\');
}
//this way for a regulare global $post usage
global $post;
$tag[\'values\'] = array($post->ID); 
$tag[\'options\'] = array(\'readonly\');

return $tag;  
}  

//Don\'t forget to hook the function
add_filter( \'wpcf7_form_tag\', \'add_post_id_origin\', 10, 2);

结束

相关推荐

JQuery Plugins in Wordpress

我已经能够在某种程度上拼凑出应该如何做到这一点,但我真的很难做到这一点。我想使用Table Sorter插件(http://tablesorter.com) 在自定义页面模板中显示数据,但我不确定它是否正确。我已经钩住了“wp\\u enqueue\\u scripts”,并使用此函数将表分类器JS文件排入队列。我相信这是正确的,但是我还需要在JQuery Ready()函数中放置一行,但是我不确定如何从自定义页面模板中执行此操作。有人能解释一下吗?<?php /* Templat