【问题标题】:P text added to html textP 文本添加到 html 文本
【发布时间】:2012-11-30 20:57:06
【问题描述】:

我知道这方面有很多主题,而且我已经查看了所有主题,但没有一个解决方案适用于我。

我已经在页面编辑器的“文本”侧放置了一个短代码来运行响应式滑块的 jscript。然而,当我加载页面时,源代码在每行 javascript 之后都有大量的段落标签。它甚至在它甚至要求内容本身之前都有一个段落标签。

我已经尝试编辑我的主题的functions.php 文件(原因2.0),但我不确定我是否可以正确标记它,它非常依赖php。我还尝试了这里建议的五个插件。它们都没有任何效果。

代码太可怕了,看起来像这样:

 <p>                <!-- START REVOLUTION SLIDER --></p>
 <div id="rev_slider_1_1_wrapper" class="rev_slider_wrapper" style="margin:0px auto;background-color:#E9E9E9;padding:0px;margin-top:0px;margin-bottom:0px;">
 <div id="rev_slider_1_1" class="rev_slider" style="display:none;">
<ul>
 <li data-transition="slidehorizontal" data-slotamount="5" data-masterspeed="300" data-link="http://www.secondhandculture.org/mad-men-and-attraction"  >
                    <img src="http://www.secondhandculture.org/wp-admin/admin-ajax.php?action=revslider_show_image&#038;img=uploads%2F2012%2F12%2Fmad-men-image.jpg&#038;h=300&#038;t=exact" ></p>
<div class="caption sft"<br />
                 data-x=&#8221;400&#8243;<br />
                 data-y=&#8221;20&#8243;<br />
                 data-speed=&#8221;300&#8243;<br />
                 data-start=&#8221;200&#8243;<br />
                 data-easing=&#8221;easeOutExpo&#8221;><img src="http://www.secondhandculture.org/wp-content/uploads/2012/12/Mad-men-text.png" alt="Mad Men"></div>
<div class="caption big_white sfr"<br />
                 data-x=&#8221;550&#8243;<br />
                 data-y=&#8221;140&#8243;<br />
                 data-speed=&#8221;300&#8243;<br />
                 data-start=&#8221;500&#8243;<br />
                 data-easing=&#8221;easeOutExpo&#8221;>How it makes us love      <br><br />
what we know we should hate, <br><br />
 and asks us why</div>
 </li>
 </ul>
 <div class="tp-bannertimer tp-bottom"></div>
</p>
</div>
</div>
 <p>            <script type="text/javascript"></p>
 <p>                var tpj=jQuery;</p>
 <p>                                    tpj.noConflict();</p>
 <p>                tpj(document).ready(function() {</p>
 <p>                if (tpj.fn.cssOriginal != undefined)
                tpj.fn.css = tpj.fn.cssOriginal;</p>
 <p>                var revapi1 = tpj('#rev_slider_1_1').show().revolution(
                {
                    delay:9000,
                    startwidth:,
                    startheight:300,
                    hideThumbs:200,</p>
 <p>                        thumbWidth:100,
                    thumbHeight:50,
                    thumbAmount:1,</p>
 <p>                        navigationType:"none",
                    navigationArrows:"nexttobullets",
                    navigationStyle:"round",</p>
 <p>                        touchenabled:"on",
                    onHoverStop:"on",</p>
 <p>                        navOffsetHorizontal:0,
                    navOffsetVertical:20,</p>
 <p>                        shadow:2,
                    fullWidth:"off",</p>
 <p>                        stopLoop:"off",
                    stopAfterLoops:-1,
                    stopAtSlide:-1,</p>
 <p>                        shuffle:"off"
                });</p>
 <p>                }); //ready</p>
 <p>            </script></p>
 <p>                            <!-- END REVOLUTION SLIDER --></p>

【问题讨论】:

  • 你的问题解决了吗?

标签: wordpress formatting paragraph


【解决方案1】:

我曾经遇到过同样的问题,add_filter( 'the_content', 'wpautop') 不适用于我的主题。所以我做了以下事情:

  1. revo 滑块 管理区域中,选择显示不佳的滑块。

  2. 寻找疑难解答标签(右下)然后更改值

  3. Jquery 无冲突模式 = 开启

  4. 将 JS 包含到正文 = FALSE

  5. 重要部分)输出滤波器保护 = 通过压缩输出

这样,脚本就只有一行,因此自动段落过滤器只会将 p 标签添加到一行

【讨论】:

    【解决方案2】:

    一个常见的原因是主题作者更改了主题中输出过滤器的优先级,甚至用他/她自己的替换了默认过滤器。因此,当您插入 Revolution Slider 短代码时,段落标签是围绕每一行输出的插入器,从而破坏了 Javascript 代码。 Firefox 错误控制台中的常见消息是:

    Error: SyntaxError: syntax error
    Source Code:
    </p> 
    

    这是主题作者应该解决的主题问题。如果您想尝试自己修复它,请查找以下行:

    add_filter( 'the_content', 'wpautop' , 99);
    

    并将过滤器的优先级(99)更改为类似 9。这可能会有所帮助,但也会破坏其他东西。在某些主题中,代码并不完全一样,但您可以从简码输出中寻找添加或删除过滤器的函数。您可以在下面链接的页面中查看示例。

    但是,在此之前尝试一下:Revolution Slider 的最新版本可以选择避免被过滤。创建滑块时,在疑难解答框中,有一个名为“输出过滤器保护”的选项。启用它(我使用了“By Echo Output”选项)。

    这是一些 Wordpress 主题的已知问题。另请注意,如果主题影响了这个插件,它肯定会影响其他插件。

    http://pippinsplugins.com/never-remove-the-default-the_content-filters-in-themes/http://theandystratton.com/2011/shortcode-autoformatting-html-with-paragraphs-and-line-breaks 发布了一些关于这个问题的cmets

    从第一个链接(从不删除主题中的默认 the_content 过滤器):

    主题开发人员有一种可怕的做法,即删除一些应用于帖子和页面内容的默认过滤器......

    来自第二个链接(带有段落和换行符的短代码自动格式化 HTML):

    ...我的短代码输出的这个神秘问题被神秘地自动格式化为段落标签和换行符...它正在全局删除 WP 内置的两个非常重要的核心内容过滤器...这使得这个主题完美运行并对所有具有短代码的插件产生负面影响......

    最后的解决方案是第二篇评论的那个:

    不要使用代码很糟糕的主题。

    【讨论】:

    • 但是,在这样做之前,请尝试以下操作:Revolution Slider 的最新版本可以选择避免被过滤。创建滑块时,在疑难解答框中,有一个名为“输出过滤器保护”的选项。启用它(我使用了“通过回声输出”选项)。这修复了领先的

      ,谢谢!
    【解决方案3】:

    不要使用内联 JS - 使用 register_script()wp_enqueue_script

    function o99_load_my_scripts()  
    {  
        // Register for a plugin:  
        wp_register_script( 'custom-script', plugins_url( '/js/my-custom-script.js', __FILE__ ) );  
        // or  
        // Register for a theme:  
        wp_register_script( 'custom-script', get_template_directory_uri() . '/js/my-custom-script.js' );  
        // then, you can then enqueue the script:  
        wp_enqueue_script( 'custom-script' );  
    }  
    add_action( 'wp_enqueue_scripts', 'o99_load_my_scripts' ); 
    

    【讨论】:

    • 脚本由插件创建
    猜你喜欢
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 2011-01-18
    • 2017-07-21
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    相关资源
    最近更新 更多