为WordPress Jetpack插件联系表单提取数据

时间:2012-12-22 15:05:20

标签: php forms wordpress

我的网站上有一个小表单,我使用Jetpack插件创建(它有内置的联系表单创建者)。

我想从我的自定义帖子类型“artist”中提取选择输入的选项(使用帖子的标题)。有办法吗?

[contact-field label='Artist' type='select' required='1' options='i want my titles go here separated by commas plus "other" option'/]

该字段的代码如下所示。我相信我需要在这个页面模板中做一些php + jquery的东西,但我似乎无法得到它。

1 个答案:

答案 0 :(得分:3)

有了一些创造力,是的,有可能:)

我们创建另一个Shortcode来创建“虚拟”JetPack短代码。

我使用默认的post post_type测试了这个。

add_shortcode( 'my-jet-form', 'so_14003883_jet_form' );

function so_14003883_jet_form( $atts, $content ) 
{
    // Query our post type, change accordingly
    $posts = get_posts( array(
        'post_type'    => 'post',
        'numberposts'  => -1,
        'post_status'  => 'publish'
    ) );

    // Build an array of post titles
    $titles = array();
    foreach( $posts as $post )
    {
        $titles[] = $post->post_title;
    }

    // Convert array into comma sepparated string
    $posts_select = implode( ',', $titles );

    // Make JetPack shortcode
    $return = do_shortcode( '[contact-form][contact-field label="Name" type="name" required="1"/][contact-field label="Artist" type="select" options="' . $posts_select . '"/][/contact-form]' );
    return $return;
}

用法

  • 调整所需的帖子类型
  • 调整do_shortcode部分以适合您的原始短代码
  • 将短代码[my-jet-form]放在任何您想要的地方