4

私はこれに関する多くのトピックがあることを知っています、そして私はすでにそれらすべてを見ました、そしてそこでの解決策のどれも私に当てはまりません。

ページエディタの「テキスト」側にレスポンシブスライダーのjscriptを実行するためのショートコードを配置しました。しかし、ページをロードすると、JavaScriptのすべての行の後にソースコードに大量の段落タグがあります。コンテンツ自体を要求する前に、段落タグもあります。

テーマのfunctions.phpファイル(理由2.0)を編集しようとしましたが、正しくマークアップできるかどうかわかりません。非常にphpが多いです。ここで提案されているプラ​​グインのうち5つも試しました。それらのどれも効果がありません。

コードは恐ろしく、次のようになります。

 <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>
4

3 に答える 3

4

私はかつて同じ問題を抱えていましたが、add_filter( 'the_content', 'wpautop')私のテーマでは機能しません。だから私がしたことは次のとおりでした:

  1. revo スライダー管理エリアで、うまく表示されていないスライダーを選択します。

  2. トラブルシューティングタブ (右下) を探し、値を変更します。

  3. Jquery No Conflict Mode = ON

  4. JS を本文に含める = FALSE にする

  5. (重要な部分) 出力フィルター保護 =出力を圧縮することによって

そうすれば、スクリプトは 1 行だけになるため、自動段落フィルターは p タグを 1 行に追加するだけです。

于 2013-11-12T07:54:44.403 に答える
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-に投稿されています。段落と改行あり

最初のリンクから (テーマのデフォルトの the_content フィルターを削除しないでください):

テーマ開発者の間では、投稿やページのコンテンツに適用されているデフォルトのフィルターの一部を削除するという恐ろしい、恐ろしい慣習があります...

2 番目のリンク (段落と改行を使用した HTML の自動フォーマットのショートコード) から:

...私のショートコード出力のこの不思議な問題は、段落タグと改行で不思議なことに自動フォーマットされています...WPに組み込まれている2つの非常に重要なコアコンテンツフィルターをグローバルに削除しています...これにより、このテーマは完全に機能し、ショートコードを持つすべてのプラグインに悪影響を及ぼします...

最終的な解決策は、2 番目の記事でコメントされているものです。

コードが貧弱なテーマは使用しないでください。

于 2013-01-31T08:35:02.670 に答える
0

インライン 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' ); 
于 2012-12-13T02:58:55.283 に答える