it-swarm-vi.tech

cách tốt nhất để bao gồm hình ảnh từ thư mục hình ảnh của mẫu là gì?

cách tốt nhất để bao gồm hình ảnh từ thư mục hình ảnh của mẫu là gì? có phải bằng cách sử dụng get_bloginfo('template_url') không? Tôi hiểu rằng tốt hơn hết là mã cứng đường dẫn đến thư mục hình ảnh vì cách này bạn lưu các lệnh gọi hàm trong PHP ..

có suy nghĩ gì không

5
Amit

Cách dễ nhất và đơn giản nhất để làm điều đó là xác định một biến duy nhất trong tệp functions.php của chủ đề của bạn.

Nhu la:

<?php
$theme_name_images = get_bloginfo('stylesheet_directory') . '/images/';
?>

Không cần cho các lớp học như một câu trả lời trước đó đề nghị.

EDIT: Nó phải là get_bloginfo, thay vì bloginfo (), như Viper007Bond vui lòng chỉ ra.

6
john010117

Tôi hiểu rằng tốt hơn hết là mã cứng đường dẫn đến thư mục hình ảnh vì cách này bạn lưu các lệnh gọi hàm trong PHP ..

Tôi chắc chắn sẽ không lo lắng về các cuộc gọi chức năng, bộ đệm đối tượng của WordPress sẽ xử lý bộ đệm tất cả những thứ đó cho bạn. Bạn có thể định nghĩa đường dẫn là hằng số nếu bạn muốn, nhưng tôi thường không bận tâm.

Tôi sẽ chỉ làm:

<img src="<?php bloginfo('stylesheet_directory')"?>/images/image.png" />

tôi đã chỉnh sửa nó thành

<img src="<?php bloginfo('stylesheet_directory');?>/images/image.png" /> (các lỗi trên)

7
Joe Hoyle

@Amit: Nó phụ thuộc. Hầu hết các lệnh gọi hàm khá nhanh trong PHP vì vậy nếu bạn đang tìm kiếm hiệu năng, tôi sẽ không lo lắng về nó quá nhiều. Tuy nhiên tôi biết làm thế nào bạn cảm thấy nhìn thấy tất cả các cuộc gọi. Tuy nhiên, tôi không bao giờ muốn đường dẫn hardcode.

Nếu bạn sẽ sử dụng get_bloginfo('template_url') nhiều lần trong chủ đề của mình, tại sao không gán nó cho một biến toàn cục trong tệp functions.php của bạn và sau đó tham chiếu nó ở mọi nơi bạn thường tham chiếu lệnh gọi hàm? Đảm bảo đặt tên cho thứ gì đó không có khả năng xung đột, chẳng hạn như amits_template_url. Vì vậy, làm điều này trong functions.php:

global $amits_template_url;
$amits_template_url = get_bloginfo('template_url');

Và sau đó trong tài liệu tham khảo chủ đề của bạn, nó ở khắp mọi nơi bạn sẽ tham chiếu get_bloginfo('template_url').

2
MikeSchinkel

Chỉ cần liên kết các tệp hình ảnh của bạn từ tệp CSS của bạn, điều đó có nghĩa là bạn có thể sử dụng đường dẫn tương đối từ tệp CSS đến hình ảnh. Đây là một giải pháp duy nhất CSS. Không cần mã PHP. Công việc được thực hiện bởi trình duyệt.

0
hakre

Vâng, nó phụ thuộc vào loại phát triển bạn đang làm. Nếu bạn đang thực hiện phát triển plugin, bạn cần sử dụng các chức năng vì bạn sẽ không bao giờ biết chắc cấu trúc url sẽ là gì. Nếu bạn đang làm việc cụ thể trên một trang web cụ thể, về mặt kỹ thuật, việc mã hóa nó vẫn ổn, nhưng điều đó vẫn không thể thực hiện được, vì nó loại trừ khả năng cấu trúc url có thể thay đổi.

Bất cứ khi nào tôi phát triển các plugin hoặc chủ đề, tôi cấu trúc chương trình trong một lớp; bằng cách đó, tôi có thể lưu các giá trị lặp lại dưới dạng các thuộc tính của đối tượng (ví dụ: WP URL và template_url). Bằng cách đó tôi có thể sử dụng chúng một cách nhanh chóng mà không cần gọi các chức năng nhiều lần.

0
John P Bloch