0

私はWordpressの構造とjavascript/phpを学んでいるので、誰かがこの問題を解決するのを手伝ってくれることを願っています.

私がやろうとしているのは、header.php に配置した div を表示することですが、ロードされるのは「index.php」ファイルの場合のみです。

このように見えるべきではありませんか?

$(document).ready(){
    if.this(document == "http://sample.com/") {
        this.document.getElementById('only-show-when-index').style.display = "visible";
    } else {
        this.document.getElementById('only-show-when-index').style.display = "hidden";
    }
};
4

2 に答える 2

3

いくつかの構文エラーがあり、「これ」が機能するコンテキストにいません:

if (window.location.href == 'http://sample.com/'){
     document.getElementById('only-show-when-index').style.display = "block";
}else{
      document.getElementById('only-show-when-index').style.display = "none";
}
于 2013-01-23T22:58:33.807 に答える
2

fred2 はすでに構文エラーにうまく対処しています。ただし、jQuery は既に読み込まれているため、それを使用してもう少しコンパクトにすることができます。

$(document).ready(){
    if ( window.location.href == "http://sample.com/" ) {
        $('#only-show-when-index').show();
    } else {
        $('#only-show-when-index').hide();
    }
};

また、WordPress を使用しており、これは更新しないと変更されないため、追加したコードの周囲に PHP を少し追加することで同じことを実現できることも指摘したいと思います。

<?php if ( is_front_page() ): ?>
    <!-- shown only on front page -->
<?php else: ?>
    <!-- shown everywhere else -->
<?php endif; ?>

そうすれば、ユーザーのブラウザに依存してコードを表示/非表示にすることはありません。

于 2013-01-23T23:15:44.327 に答える