Dường như với tôi cả hai điều này đều có cơ hội cho người dùng cuối sửa đổi một chủ đề mà không thực sự chỉnh sửa các tệp chủ đề (thông qua các chủ đề con).
Câu hỏi của tôi là, một phương pháp được ưa thích hơn phương pháp khác.
Ví dụ, lấy một chủ đề tôi đang làm việc bây giờ. Tôi đang cố gắng quyết định có nên đi với các phần của mẫu móc không.
<?php get_template_part('before_sitecontainer' ); ?>
<div id="sitecontainer" class="sitecontainer" <?php //closed in footer ?>>
<?php get_template_part( 'before_topcontainer' ); ?>
<div id="topcontainer ">
<?php get_template_part( 'before_topedge_navigation' ); ?>
<?php get_template_part( 'topedge_navigation' ); ?>
<?php get_template_part( 'before_site_header' ); ?>
<?php get_template_part( 'site_header' ); ?>
<?php get_template_part( 'before_second_navigation' ); ?>
<?php get_template_part( 'second_navigation' ); ?>
<?php get_template_part( 'after_second_navigation' ); ?>
</div><!-- end topcontainer div -->
<?php get_template_part( 'after_topcontainer' ); ?>
Ở trên cho phép người dùng chủ đề thay thế bất kỳ phần nào của mã hiện tại bằng cách chỉ cần tạo một tệp có tên thích hợp trong thư mục chủ đề con của họ cũng như thêm mã mới trước / sau mỗi phần trước đó bằng cùng một phương thức - mẫu trước / sau một phần tệp không tồn tại trong chủ đề gốc và chỉ đơn giản là cho phép chúng chèn mã - và phương pháp này không yêu cầu họ hiểu móc / bộ lọc để thực hiện việc này.
Tất nhiên tôi có thể đạt được điều tương tự bằng cách sử dụng móc và bộ lọc.
Có một lợi thế để sử dụng hook / bộ lọc thay thế? Ghi nhớ đối tượng mục tiêu sẽ sử dụng điều này chắc chắn là không hiểu biết về mã. Tôi có thể cung cấp cho họ các hướng dẫn tương đối cơ bản mà họ có thể làm theo để sử dụng phương thức mẫu nhưng gần như chắc chắn sẽ khiến ma quỷ nhầm lẫn với chúng bằng móc.
Hoặc có những tình huống mà một người sẽ tốt hơn so với người khác trong cùng một chủ đề?