我建议不要添加布局,而是添加标记并提供覆盖它的选项。最好的方法是添加一个钩子,用户可以将其添加到主题模板中。
// Theme template file
do_action( \'hotel_rooms\' );
// Your plugin hooks in there:
add_action( \'hotel_rooms\', \'callback\' );
function callback() {
echo "I am displaying details about a hotel room";
}
您还可以将此过程分为两步,以提供更精确的控制:
// Themes template or another (child?) plugin
// [] is an array and the default.
$data = add_filter( \'hotel_room_data\', [] );
// Plugin
apply_filters( \'hotel_room_data\', …etc. );
Two stepped: 吃自己的狗粮,并将过滤器应用于自己的循环和标记。
add_action( \'hotel_rooms\', \'callback\' );
function callback() {
$data = apply_filters( \'hotel_room_data\', …etc. );
foreach ( $data as $room ) {
print $room[\'size\'];
}
}