ในการตอบสนองต่อ:  WordPress admin bar ที่ทับซ้อนกันทวิตเตอร์การนำทาง bootstrap
ถามโดย: @TheWebs
หากคุณใช้Twitter BootstrapกับWordPressและมีปัญหากับ WordPress admin bar ที่ซ้อนทับกับแถบการนำทางของคุณคุณอาจจะค่อนข้างผิดหวังกับคำตอบเหล่านี้ ฉันมองหาวิธีแก้ปัญหาทุกที่ก่อนที่จะตัดสินใจลดเกียร์ลงในที่สุดและหาวิธีแก้ปัญหาที่ทำในสิ่งที่ฉันต้องการ
ดังนั้นนี่คือคำตอบที่ไม่ซ่อนแถบผู้ดูแลระบบของ WordPress หรือย้ายแถบผู้ดูแลระบบของ WordPress ไปที่ด้านล่างของหน้าเว็บของคุณ คำตอบนี้จะทำให้แถบผู้ดูแลระบบ WordPress อยู่ในตำแหน่งที่เหมาะสม ... ที่ด้านบนของหน้าเว็บของคุณ
โปรดทราบว่าการดำเนินการนี้จะใช้เวลาไม่กี่ก้าว แต่ก็คุ้มค่า ไม่ใช่กระบวนการที่ซับซ้อนหรือใช้เวลานาน ฉันแค่ต้องการทำให้แน่ใจว่าคำอธิบายเกี่ยวกับวิธีการทำนั้นชัดเจนและง่ายต่อการติดตาม / เข้าใจ
ขั้นตอนที่ 1
  ชุดรูปแบบมีแท็กเทมเพลตสำหรับแท็กเนื้อความซึ่งจะช่วยให้ผู้สร้างชุดรูปแบบสามารถออกแบบ CSS ได้อย่างมีประสิทธิภาพยิ่งขึ้น body_classแท็กแม่แบบที่เรียกว่า
  ฟังก์ชั่นนี้ให้คลาสร่างกายแตกต่างกันและสามารถเพิ่มได้ตามปกติในheader.phpแท็กเนื้อหา HTML
- เปิดธีม WordPress ที่ใช้งานอยู่ในปัจจุบันโดยใช้ไดเรกทอรี Twitter Bootstrap ค้นหาheader.phpและเปิด
-  <body>พบ
- แทนที่ด้วย <?php echo '<body class="'.join(' ', get_body_class()).'">'.PHP_EOL; ?>
หลังจากทำตามขั้นตอนสามขั้นตอนด้านบนเรียบร้อยแล้วคุณได้เปิดใช้งานชุดรูปแบบ WordPress ของคุณด้วยคลาสร่างกายของ WordPress แล้ว
ขั้นตอนที่ 2 (ตัวเลือก!)
- เพิ่มคลาส CSS แบบมีเงื่อนไขที่กำหนดเองไปยัง<body>แท็ก
ตามค่าเริ่มต้น WordPress จะแสดงรายการคลาสเริ่มต้นให้กับแท็ก HTML หากคุณใช้body_class()หรือget_body_class()ฟังก์ชั่น
หากคุณดูซอร์สโค้ดของหน้า front-end ใด ๆ ที่แสดงผลบนเว็บไซต์ WordPress ของคุณคุณจะสังเกตเห็นว่า CSS คลาสที่สองถูกเพิ่มไปยัง<body>แท็กHTML โดยอัตโนมัติคือ "เข้าสู่ระบบ" และ "admin-bar"
คุณจะสังเกตเห็นว่าชื่อคลาส CSS นั้นถูกเพิ่มไปยัง<body>แท็กHTML เฉพาะเมื่อผู้ใช้ลงชื่อเข้าใช้มิฉะนั้นจะไม่ถูกเพิ่มใน<body>แท็กHTML
ดังนั้นหากคุณไม่ต้องการใช้ชื่อคลาส CSS CSS เริ่มต้นคุณสามารถเพิ่มชื่อของคุณเองได้อย่างง่ายดาย
- เปิดธีม WordPress ที่ใช้งานอยู่ในปัจจุบันโดยใช้ไดเรกทอรี Twitter Bootstrap ค้นหาfunctions.phpและเปิด
- เพิ่ม add_filter('body_class', 'mbe_body_class');ไปที่ด้านบนของไฟล์
- เพิ่มรหัสต่อไปนี้ที่ด้านล่างของไฟล์
รหัส:
function mbe_body_class($classes){
    if(is_user_logged_in()){
        $classes[] = 'body-logged-in';
    } else{
        $classes[] = 'body-logged-out';
    }
    return $classes;
}
ตอนนี้ถ้าคุณดูซอร์สโค้ดของหน้า front-end ใด ๆ ที่แสดงผลบนเว็บไซต์ WordPress ของคุณหากผู้ใช้เข้าสู่ระบบคุณจะเห็น "body-in-in-in" ถูกเพิ่มไปยัง<body>แท็กHTML และหากผู้ใช้เป็น ออกจากระบบคุณจะเห็น "ร่างกายออกจากระบบ" ได้ถูกเพิ่มใน<body>แท็กHTML
ขั้นตอนที่ 3
- เพิ่มรหัส CSS ในธีมของคุณ
นี่คือส่วนของรหัสที่จะแก้ไขชุดรูปแบบของคุณเพื่อแสดงทั้งแถบผู้ดูแลระบบ WordPress และการนำทาง Bootstrap Twitter ของคุณอย่างถูกต้องไม่ว่าผู้ใช้จะเข้าสู่ระบบหรือออกจากระบบเว็บไซต์ของคุณ
- เปิดธีม WordPress ที่ใช้งานอยู่ในปัจจุบันโดยใช้ไดเรกทอรี Twitter Bootstrap ค้นหาfunctions.phpและเปิด
- เพิ่ม add_action('wp_head', 'mbe_wp_head');ไปที่ด้านบนของไฟล์
- เพิ่มรหัสต่อไปนี้ที่ด้านล่างของไฟล์
รหัส:
function mbe_wp_head(){
    echo '<style>'.PHP_EOL;
    echo 'body{ padding-top: 70px !important; }'.PHP_EOL;
    // Using custom CSS class name.
    echo 'body.body-logged-in .navbar-fixed-top{ top: 28px !important; }'.PHP_EOL;
    // Using WordPress default CSS class name.
    echo 'body.logged-in .navbar-fixed-top{ top: 28px !important; }'.PHP_EOL;
    echo '</style>'.PHP_EOL;
}
แก้ไขเป็นรหัส
add_action('wp_head', 'mbe_wp_head');
function mbe_wp_head(){
    echo '<style>'
    .PHP_EOL
    .'body{ padding-top: 70px !important; }'
    .PHP_EOL
    .'body.body-logged-in .navbar-fixed-top{ top: 46px !important; }'
    .PHP_EOL
    .'body.logged-in .navbar-fixed-top{ top: 46px !important; }'
    .PHP_EOL
    .'@media only screen and (min-width: 783px) {'
    .PHP_EOL
    .'body{ padding-top: 70px !important; }'
    .PHP_EOL
    .'body.body-logged-in .navbar-fixed-top{ top: 28px !important; }'
    .PHP_EOL
    .'body.logged-in .navbar-fixed-top{ top: 28px !important; }'
    .PHP_EOL
    .'}</style>'
    .PHP_EOL;
}
ฟังก์ชัน mbe_wp_head รุ่นนี้มีการสอบถามสื่อบนมือถือเป็นครั้งแรกเพื่อให้แน่ใจว่าส่วนหัวของคุณถูกผลักลงไปในระยะที่เหมาะสม สำหรับมือถือแถบผู้ดูแล WP สูง 48px หลังจากเบรกพอยต์ 783px แถบผู้ดูแลระบบจะลดความสูงเพียง 28px
ที่นั่นคุณมีมัน หากผู้ใช้ลงชื่อเข้าใช้ตอนนี้คุณควรจะมีแถบผู้ดูแลระบบ WordPress ที่ด้านบนสุดของหน้าของคุณตามด้วยการนำทาง Bootstrapped Twitter ของคุณทันที หากผู้ใช้ออกจากระบบเว็บไซต์ WordPress การนำทาง Bootstrap Twitter ของคุณควรจะแสดงอย่างเหมาะสมที่ด้านบนของเว็บไซต์