Thanh quản trị Wordpress đã đẩy Chú ý chân trang ra khỏi cuối trang


7

Tôi đã triển khai chân trang dính rất phổ biến của Ryan Fait trong một chủ đề Wordpress tùy chỉnh. Bây giờ tôi đã nhận thấy nếu tôi triển khai Thanh quản trị Wordpress vào các trang của mình, cao 28px (trong phiên bản Wordpress hiện tại ít nhất là ...), nó cũng đẩy chân trang dính xuống 28px.

Đây là thanh quản trị:

nhập mô tả hình ảnh ở đây

Dù sao, cách Wordpress hoạt động là Thanh quản trị thực hiện hoặc không hiển thị ở đầu trang tùy thuộc vào cách người dùng Quản trị viên đặt tùy chọn của họ. Vì vậy, tôi không muốn đơn giản loại bỏ nó ra khỏi chủ đề.

Tôi rõ ràng có thể sử dụng jQuery sau khi sự kiện sẵn sàng kích hoạt để xem liệu Admin Bar có ở đó hay không và thay đổi chân trang cho phù hợp, nhưng tôi muốn thử tránh điều này nếu có thể và chỉ cần tạo trang đúng cách để bắt đầu với ... Có ý kiến ​​gì không?

Ngoài ra tôi muốn chủ đề hoạt động với các phiên bản Wordpress trong tương lai gần. Vì vậy, nếu trong phiên bản tương lai, họ quyết định thay đổi thanh quản trị thành thứ gì đó cao hơn 28px, thì tôi không muốn mã của mình phải được điều chỉnh để bù cho thay đổi.


Hãy thử sử dụng loại bỏ bodytừ html, body { height: 100%;}vì thế nó chỉ là html.
Wyck

Đây là một câu hỏi CSS , không phải là một câu hỏi WordPress .
Chip Bennett


2
Rất liên quan vì nó đặc biệt thảo luận về phát triển chủ đề Wordpress.
Jake Wilson

Câu trả lời:


5

Chân trang được đẩy ra vì WP sẽ thêm lề vào trang của bạn bất cứ khi nào thanh quản trị được đặt thành hiển thị. Hàm chịu trách nhiệm cho việc này được gọi _admin_bar_bump_cb()và được đặt tại wp-gồm / admin-bar.php. Tin xấu là nó sử dụng cài đặt 28px bị mã hóa (có nghĩa là bạn sẽ không thể tìm nạp và sử dụng nó trong các chức năng của mình), cùng với một tuyên bố "! Quan trọng", mà bạn sẽ không thể ghi đè một cách nhất quán để tránh thay đổi chiều cao trong tương lai.

Tôi nghĩ rằng đặt cược tốt nhất của bạn sẽ là kiểm tra xem thanh quản trị có hiển thị và điều chỉnh chân trang cho phù hợp hay không. Điều này sẽ đơn giản như việc thêm nó vào functions.php:

add_action('wp_head', 'adjust_sticky_footer');
function adjust_sticky_footer() {
    if(is_admin_bar_showing()) { ?>
        <style type="text/css">
            .footer { /* Adjust selector according to your theme */
                bottom: 28px;
            }
        </style>
    <?php
    }
}

Tôi giả sử chân trang của bạn đã position: relativeđược gán cho nó, theo ví dụ trên liên kết bạn đã cung cấp.


Ah tôi đang tìm kiếm is_admin_bar_showing()chức năng. Không biết rằng đã tồn tại. Cảm ơn!
Jake Wilson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.