ในการตอบสนองต่อ: 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 ของคุณควรจะแสดงอย่างเหมาะสมที่ด้านบนของเว็บไซต์