Cách liệt kê phong cách bằng wp_enqueue_style ()


9

Tôi đang phát triển một chủ đề. Tôi đã thêm các mã (bên dưới) vào header.php. Nhưng tôi đã đăng nó vào kho lưu trữ chủ đề WP, và nó đang được xem xét, và người đánh giá đã thông báo cho tôi để ghi lại phong cách với wp_enqueue_style()/ wp_enqueue_script(). Nhưng không thể hiểu làm thế nào để thực hiện nó với chức năng. Tôi đã xem hướng dẫn wp_enqueue_style();trong Codex, nhưng không thể hiểu làm thế nào để đặt toàn bộ mã với các điều kiện của chúng.

<style type="text/css">
<?php
// If the menu presents, then CSS loads

if ( has_nav_menu( 'secondary' ) ) {
?>
.sec-menu{
width: 100%;
background: #333;
height: 26px;
font-size:16px;
text-transform:uppercase;
}
<?php } ?>
<?php
if ( has_nav_menu( 'primary' ) ) {
?>
#access{
background-color: #333;
height: 26px;
}
<?php } ?>
<?php
if ( !has_nav_menu( 'primary' ) && !has_nav_menu( 'secondary' ) ) {
?>
.sec-menu,
#access{
border-bottom: 2px solid #333;
}
<?php } ?>
</style>
  • LÀM THẾ NÀO ĐỂ?

Câu trả lời:


16

Đây là những gì bạn có thể làm:

1 - Đặt CSS vào một tệp riêng và lưu nó vào thư mục chủ đề của bạn.
2 - Thêm mã sau vào functions php:

function wpse_89494_enqueue_scripts() {
  if ( has_nav_menu( 'secondary' ) ) {
    wp_enqueue_style( 
      'wpse_89494_style_1', 
      get_template_directory_uri() . '/your-style_1.css' 
    );
  }
  if ( has_nav_menu( 'primary' ) ) {
    wp_enqueue_style( 
      'wpse_89494_style_2', 
      get_template_directory_uri() . '/your-style_2.css' 
    );
  }
  if ( ! has_nav_menu( 'primary' ) && ! has_nav_menu( 'secondary' ) ) {
    wp_enqueue_style( 
      'wpse_89494_style_3', 
      get_template_directory_uri() . '/your-style_3.css' 
    );
  }
}

add_action( 'wp_enqueue_scripts', 'wpse_89494_enqueue_scripts' );

1
Tại sao không đặt các điều kiện bên trong cuộc wp_enqueue_scriptsgọi lại? Không ai trong số đó cần phải đi trong đầu tài liệu.
Chip Bennett

1
Tôi đã không nghĩ về điều đó, một bản chỉnh sửa đang được thực hiện
Mike Madern

+1. Tôi chỉnh sửa để thay thế get_bloginfo( 'stylesheet_directory' )bằng get_template_directory_uri(). Các tham chiếu đến thư mục biểu định kiểu nên được dành riêng cho Chủ đề con.
Chip Bennett

Đẹp & Tốt. Nó giải quyết tôi ở đây. Cảm ơn Mike. Tôi sẽ thêm chủ đề này vào Codex , inshALLAH. Cảm ơn.
Mayeenul Hồi giáo

1

Thêm một style.csstập tin thứ hai để lưu trữ trang thể loại.

add_action( 'wp_enqueue_scripts', 'wpsites_second_style_sheet' );
function wpsites_second_style_sheet() {
    if ( is_category() ) {
       wp_register_style( 'second-style', get_template_directory_uri() .'css/second-style.css', array(), '20130608');
       wp_enqueue_style( 'second-style' );    
    }    
}
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.