tinymce在巨大的弹出窗口内不起作用

时间:2014-09-18 15:11:13

标签: javascript jquery wordpress tinymce magnific-popup

我正在尝试使用INLINE类型Magnific Popup中的Advanced Custom Fields acf_form() function来编辑和创建WordPress网站上的帖子。这是一项正在进行中的工作; here's the link。您可以使用用户名test和密码ukQfQ7zx7akPXH登录。

WordPress内容编辑器有效,只是因为我无法点击" Visual"标签,哪种方式违背了WYSIWYG的目的。

我确保每个ACF表单都具有唯一的id属性。所以,我猜这个问题与TinyMCE和Magnific Popup有某种冲突。但是,Chrome中没有出现控制台错误。

有没有人遇到过这样的事情?

更新

这是新代码:

function cb_new_post_popup() { ?>
  <div id="new-post-popup"
       class="update-popup mfp-hide">
    <h3>New Post</h3>
    <?php
      $current_user = wp_get_current_user();
      $args = array('fields' => array('field_54134c496ff9d', 'field_541877c6025b3'),
                    'form_attributes' => array('id' => 'acf-form-new_post'),
                    'post_title' => true,
                    'post_content' => true,
                    'post_id' => 'new_post',
                    'new_post' => array('post_status' => 'publish'),
                    'return' => '%post_url%');
      acf_form($args);
    ?>
    <script>
    jQuery(function($) {
      acf.do_action('append', $('#new-post-popup'));
    });
    </script>
  </div>
<?php }

第二次更新

我还尝试将其添加到JS中的magnificPopup函数:

callbacks: {
  open: function() {
    console.log('Popup is opened');
    acf.do_action('append', $(this));
  },
  close: function() {
    tinymce.activeEditor.save();
  }
  // e.t.c.
}

1 个答案:

答案 0 :(得分:0)

我认为这个问题是由ACF的JS在加载弹出窗口时没有触发动作引起的。此操作用于设置所有字段的JS。

您可以手动触发操作,如下所示: acf.do_action('append', $('#popup_id'))

请将#popup_id替换为弹出窗口的选择器,并将此代码添加到弹出式内容HTML中的内联脚本标记中。

干杯 ë