1

我已经尝试了下面的代码,但它不起作用......我在另一个项目中使用下面的代码并且它工作,但是当我在 wordpress 中使用代码时它不起作用......

jQuery(function ($) {
    var pathname = location.href;

    if (pathname === "http://wwww.findx.se/?page_id=10") {
        $('.xoxo').css({
            display: 'none'
        });
        $('div#footer').css({
            display: 'none'
        });
    }
    if (pathname === "http://www.findx.se/?page_id=9") {
        $('.xoxo').css({
            display: 'none'
        });
        $('div#footer').css({
            display: 'none'
        });
    }
    if (pathname === "http://www.findx.se/?page_id=8") {
        $('.xoxo').css({
            display: 'none'
        });
        $('div#footer').css({
            display: 'none'
        });
        $('#header').hide();
    }
});
4

4 回答 4

1

通常,WordPress 会在 body 标签中添加一个类,允许您按页面选择。例如,对于您的第一条规则,您可以在 CSS 中执行

.page-id-10 .xoxo {
    display:none;
}

检查您要更改的页面上的正文标签,以了解您可以使用哪些类。你也可以在你的 jQuery 选择器中使用它

于 2013-07-25T15:54:52.757 回答
0

我在我的使用以下内容在functions.php正文标签中添加页面 slug/name

function add_body_class( $classes )
{
    global $post;
    if ( isset( $post ) ) {
        $classes[] = $post->post_type . '-' . $post->post_name;
    }
    return $classes;
}
add_filter( 'body_class', 'add_body_class' );

结果我得到了关注(我正在使用漂亮的 URL)

class="single single-post postid-1281 single-format-standard post-taste-javascript-php-part-2-php-5-4"

在这种情况下,post-taste-javascript-php-part-2-php-5-4是我的页面 slug 并且postid-1281是 id,所以我可以使用

.post-taste-javascript-php-part-2-php-5-4 .xoxo {
    display:none;
}

或者我可以使用

.postid-1281 .xoxo{
    display:none;
}

所以,我怀疑(但不确定),它可能是

.pageid-10 .xoxo {
    display:none;
}

或者,您可以使用代码片段(如上所示)functions.php并更改

$classes[] = $post->post_type . '-' . $post->post_name;

到(添加您的页面 ID)

$classes[] = $post->post_type . '-id' . $post->ID;

结果,它会 page-id10在您的body标签中添加类似的内容,您可以使用

.page-id10 .xoxo {
    display:none;
}

此外,或者,您可以使用

var pathname = location.href;
var id = pathname.split('=');
if(id[1] == 10 ){
    $('.xoxo').css('display', 'none');
}

您可以在此处检查给定示例的正文标记。

更新 :

jQuery(function ($) {
    // ...
});

应该是(传递jQueryas 参数)

(function($) {
    // your code goes here and can use $
    $('.xoxo').css('display', 'none'); // '$' will work now
})( jQuery );

另外,请确保jQuery已加载,使用alert(typeof jQuery);. 如果,它显示undefinedthenjQuery没有加载,所以加载它。检查wp_enqueue_script了解更多信息。

于 2013-07-25T16:23:16.487 回答
0

如果您使用的是 Wordpress,那么这可能是解决方案:

jQuery(function (jQuery) {
    var pathname = location.href;

    if (pathname === "http://wwww.findx.se/?page_id=10") {
        jQuery('.xoxo').css({
            display: 'none'
        });
        jQuery('div#footer').css({
            display: 'none'
        });
    }
    if (pathname === "http://www.findx.se/?page_id=9") {
        jQuery('.xoxo').css({
            display: 'none'
        });
        jQuery('div#footer').css({
            display: 'none'
        });
    }
    if (pathname === "http://www.findx.se/?page_id=8") {
        jQuery('.xoxo').css({
            display: 'none'
        });
        jQuery('div#footer').css({
            display: 'none'
        });
        jQuery('#header').hide();
    }
});

jQuery not defined用这个解决了很多问题。

除此之外,Wordpress在 body 标签上添加一个类。只是Firebug它,看看它在哪个类。你可以按照你想要的方式来设计它。这实际上要容易得多。

于 2013-07-25T16:46:03.667 回答
0

在位于 header.php 文件 (Wordpress) 中的 wp_head 函数 () 之后调用您自己的 jQuery JavaScript 文件。

于 2013-07-25T22:11:45.450 回答