【问题标题】:Disable AJAX content Loading in Visual Composer在 Visual Composer 中禁用 AJAX 内容加载
【发布时间】:2016-08-31 13:48:39
【问题描述】:

如何禁用 Post Grid VC Shortcode 的 ajax 内容加载?

我不想显示加载点。

谢谢

【问题讨论】:

  • 嗨,没有办法。但是您始终可以创建一个简码来加载您的帖子并使用 VC Shortcode Mapper 进行映射。
  • 你甚至可以通过代码将你的短代码作为一个组件添加到可视化作曲家,但想法是保留当前的网格组件功能,包括 VC 的网格模板编辑器
  • 如果您使用显示样式“分页”,然后在分页>分页样式设置为无,它将删除点和 ajax 数据
  • @MukeshPanchal 非常感谢,几个月来我一直在努力解决这个问题。您的解决方案的唯一问题是它不适用于自定义查询,购买我可以忍受。请添加您的评论作为答案,我们很乐意将赏金奖励给您。
  • @NiloVelez 我添加了我的答案

标签: ajax wordpress visual-composer


【解决方案1】:

In Post Grid Visual Composer Shortcode 如果您使用显示样式作为“分页”,那么您必须从这里设置分页样式:分页>分页样式(选择“无”)。它将删除点对于分页,帖子将没有 ajax 数据,也没有分页。有关详细信息,请参阅附图。

【讨论】:

  • 我接受这是一个有效的答案,因为它是原始答案的解决方案,加载点停止显示并且加载更轻更快,但请记住,VC 仍然使用 admin -ajax.php 加载内容。
  • 这是短代码呈现的实际代码:<div class="vc_grid-container vc_clearfix wpb_content_element vc_basic_grid" data-initial-loading-animation="fadeIn" data-vc-grid-settings="{"vc_basic_grid" [...] }" data-vc-request="http://nueva.pepematega.com/wp-admin/admin-ajax.php" data-vc-post-id="6" data-vc-public-nonce="3fe5dd7f70">
  • 是的,这对性能和 SEO 来说是个问题。它还减少了缓存插件的影响
【解决方案2】:

您的问题是“我不希望显示加载点”,您只需使用 添加自定义css

.vc_grid-loading {display: none;}

您可以通过点击可视化作曲家右上角的齿轮图标添加自定义 css(见下图)

【讨论】:

    【解决方案3】:

    查看插件并找到处理 AJAX 的脚本名称和dequeue。

    /**
     * Dequeue a JS script.
     *
     * Hooked to the wp_print_scripts action, with a late priority (100),
     * so that it is after the script was enqueued.
     */
    function wpdocs_dequeue_script() {
       wp_dequeue_script( 'script-name' );
    }
    add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );
    

    【讨论】:

    • 无法将脚本出列,因为js文件中有很多其他逻辑
    • 这将阻止内容加载。这个想法是通过 PHP 而不是 Ajax 加载内容
    【解决方案4】:

    您可以使用第二个短代码将短代码括起来,以去除触发 AJAX 的选择器。见:enclosing shortcodes

    [new-shortcode][original-shortcode][/new-shortcode]
    
    function new_shortcode($atts = [], $content = null) {
      // do something to $content
    
      // run shortcode parser recursively
      $content = do_shortcode($content);
    
      // always return
      return $content;
    }
    add_shortcode('new-shortcode', 'new_shortcode');
    

    【讨论】:

    • Ajax 用于加载内容,您的解决方案会阻止内容加载。这个想法是通过 PHP 而不是 Ajax 加载内容。您可以将短代码与另一个使用 PHP 通过 curl 进行 Ajax 调用并写出响应的短代码一起括起来
    猜你喜欢
    • 1970-01-01
    • 2016-06-30
    • 2022-01-22
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 2019-07-16
    • 2011-03-10
    • 2013-07-29
    相关资源
    最近更新 更多