0

对于我的新 wordpress 网站,我需要一些帮助。我有 4 页和 2 个不同的侧边栏。在 2 页上不应该有 a border-left,而在其他 2 页上应该有border-left. 所以我得到了以下代码:

<div id="sidebar" class="sidebar">
        <?php if(is_page('Willkommen') || is_page('Angebot'))
            {
                dynamic_sidebar('Angebot');
            }

            else
            {
                dynamic_sidebar('Anfahrt');
                if(is_page('Anfahrt'))
                {
                    echo "<script type='text/javascript'>
function removeBorder()
{
    $(document).ready(function() {
        if($('#sidebar').hasClass('sidebar'))
        {
            $(this).removeClass('sidebar')
            $(this).addClass('secondsidebar')
        }

    });
}
</script>";
                }
            }
        ?>
    </div><!-- sidebar -->

如果页面上有a,我想删除类“sidebar”并添加类“secondsidebar” div#sidebar。但是代码不起作用。我为自己编写了这段代码,我是 jQuery 的初学者 :) 所以请耐心等待。

我希望有人能给我一个提示。

干杯

4

1 回答 1

2

纯 PHP 解决方案也应该是可能的。

<div id="sidebar" class="<?php if (is_page('Anfahrt')) : ?>secondsidebar<?php else : ?>sidebar<?php endif; ?>">
    <?php
    if (is_page('Willkommen') || is_page('Angebot')) {
        dynamic_sidebar('Angebot');
    }

    else {
        dynamic_sidebar('Anfahrt');
    }
    ?>
</div>

注意:尽量不要使用同名的 ID 和类。#sidebar并且.sidebar可能会变得混乱。

类的解释:

<div id="sidebar" class="<?php if (is_page('Anfahrt')) : ?>secondsidebar<?php else : ?>sidebar<?php endif; ?>">

当服务器读取这个(PHP 是在将结果呈现给用户之前由服务器执行的代码)时,它会进入“类”并注意到一个 if 语句。“我应该在class=""这个元素中输入什么文字?” 然后服务器会看到指令:

  • 如果页面是“Anfahrt”:返回的文本应该是secondsidebar
  • 其他(在所有其他情况下):文本应该是sidebar

“文本”在这里并不是一个好名字。但你明白我的意思。然后将此“文本”放置在 if 语句所在的位置。结果是(当它返回给用户时):

如果页面是“Anfahrt”:

<div id="sidebar" class="secondsidebar">

如果页面是其他内容:

<div id="sidebar" class="sidebar">
于 2013-09-07T21:15:34.520 回答