有一些创造力,是的,这是可能的:)
我们创建另一个简码来创建“虚拟”JetPack 简码。
我使用默认的 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]
您想要的任何地方
- 瞧