【问题标题】:Visual Composer not showing specific page stylesVisual Composer 未显示特定页面样式
【发布时间】:2022-03-16 00:35:53
【问题描述】:

当我从视觉作曲家查看常规页面时,它可以像这样正常工作:

http://vrshealth.com/qc2

边距、背景等都可以正常工作。

我需要创建一个自定义帖子类型“质量检查”,并且正在使用 archive-quality-check.php 来显示它,并且由于某种原因没有加载 vc-custom-xxxx 样式:

http://dev-vrshealth.pantheonsite.io/quality-check/

我做了一些研究,唯一能发现的是特定于页面的 VC 样式不适用于加载 Ajax 的页面。但它不是通过ajax加载的。

这里是 archive-quality-check.php 中的相关代码,如果您还没有选择要显示的产品批号,则会显示该代码:

  <?php if ($_SERVER['REQUEST_METHOD'] != 'POST'): ?>

    <div class="col-xs-12 col-md-12" id="page-content">
    <?php
        $post_id4098 = get_post(4098);
        $content = $post_id4098->post_content;
        $content = apply_filters('the_content', $content);
        $content = str_replace(']]>', ']]>', $content);
        WPBMap::addAllMappedShortcodes();
        echo do_shortcode($content);
    ?>
    </div>

我觉得我必须在这里遗漏一些东西,比如输出元数据的函数或某种类型的自定义 css,但我找不到任何解释如何解释的文档。

【问题讨论】:

    标签: php css ajax wordpress visual-composer


    【解决方案1】:

    遇到了同样的问题。 只需在回显内容之前插入即可。

    get_post_meta( $id, '_wpb_shortcodes_custom_css', true  )
    

    在最新的 WP 和 VC 版本上为我工作。

    【讨论】:

      【解决方案2】:

      Laurent 给出的答案对我很有帮助!但是,我建议在您的 functions.php 文件中为它创建一个函数。也许是这样的:

        function vc_custom_css($id) {
              $shortcodes_custom_css = get_post_meta( $id, '_wpb_shortcodes_custom_css', true );
              if ( ! empty( $shortcodes_custom_css ) ) {
                  echo '<style type="text/css">';
                  echo $shortcodes_custom_css;
                  echo '</style>';
              }
          }
      

      然后,您可以在需要时使用vc_custom_css($yourPostID);

      【讨论】:

        【解决方案3】:

        您好,我遇到了同样的问题,所以我在插件中进行了搜索,最后这对我有用:

        $vcM = Vc_Manager::getInstance();
        $vc = $vcM->vc();
        $vc->addShortcodesCustomCss($pop_up_id);
        

        【讨论】:

          【解决方案4】:

          本主题中描述的 vc-custom-xxxx 样式问题经常发生在我身上,涉及各种 WordPress 主题。

          我已经尝试了第二个答案中的功能方法。但是,通过“预览更改”按钮加载页面预览时仍然存在问题。除非您在查看预览之前手动重新保存页面,否则样式的元数据不会更新。

          Pierre Mar 给出了最正确的答案,但我想在上面写一点。您需要将 $pop_up_id 替换为您当前的帖子 ID。

          最终的函数如下所示:

          function vc_echo_custom_css($post_id) {
               $vcM = Vc_Manager::getInstance();
               $vc = $vcM->vc();
               $vc->addShortcodesCustomCss($post_id);
          }
          

          将它包含在您孩子的主题 functions.php 文件中,然后您可以从任何模板中调用它,例如:

          vc_echo_custom_css(4098);
          

          【讨论】:

            猜你喜欢
            • 2018-08-20
            • 2013-12-27
            • 1970-01-01
            • 1970-01-01
            • 2011-09-20
            • 2019-11-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多