我在我的网站上有一个小表单,我用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的工作,但是我似乎没有得到它。

最佳答案

有了一些创造力,是的,这是可能的:)
我们创建另一个快捷方式来创建“虚拟”Jetpack快捷方式。
我用默认的post_类型测试了这个。

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部分以适合您原来的缺点
把这个缺点放在任何你想放的地方
沃拉

07-24 17:05