根据选择菜单选项生成Wordpress短代码

时间:2014-08-08 16:35:10

标签: php jquery wordpress shortcode advanced-custom-fields

我使用“高级自定义字段转发器”字段生成一个选择菜单,其中的值与Wordpress短代码对应,以在页面上显示表单。选择其他选项时,应显示不同的表单。这是我尝试的代码:

<select id="forms">
    <option value="">Pick a form</option>
    <?php while(the_repeater_field('the_forms')): ?><option value="<?php the_sub_field('form_shorttag'); ?>"><?php the_sub_field('form_name'); ?></option><?php endwhile; ?>
</select>

<div id="form_display"></div> 

<script>
      jQuery("#forms").on("change", function(){
        var theform = jQuery(this).val();
        jQuery("#form_display").html(<?php echo do_shortcode(+ theform); ?>);
      })
</script>

我认为这将是一项简单的任务,但我肯定错过了一些东西,因为它不起作用。非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

您可以做的是使用以下所有形式在JavaScript中创建变量:

var someform = <?php echo json_encode(do_shortcode("someform")); ?>;

json_encode 将PHP输出用双引号括起来。然后在onchange事件中进行切换:

var form_content;
switch (theform) {
    case "someform" :
        form_content = someform;
        break;
    (other cases)
}
jQuery("#form_display").html(form_content);

有更好的方法,但这可能适合你。