Câu trả lời:
Hai mươi mười hai không có bất kỳ móc nào bắn ra ngay sau <body>
thẻ mở .
Do đó, bạn trong chủ đề con mở rộng chủ đề Twenty Tw 12 của cha mẹ, sao chép header.php
toàn bộ vào thư mục chủ đề con của bạn.
Mở header.php
tệp trong chủ đề con của bạn và ngay sau khi thẻ body mở thêm một móc hành động mà sau đó bạn có thể móc vào thông qua functions.php
tệp của mình .
Ví dụ trong twenty-twelve-child/header.php
tệp của bạn :
<body <?php body_class(); ?>>
<?php do_action('after_body_open_tag'); ?>
Sau đó, trong twenty-twelve-child/functions.php
tập tin của bạn :
function custom_content_after_body_open_tag() {
?>
<div>My Custom Content</div>
<?php
}
add_action('after_body_open_tag', 'custom_content_after_body_open_tag');
Điều này sau đó sẽ hiển thị trong HTML của bạn dưới dạng:
<body>
<div>My Custom Content</div>
Đề nghị đọc:
https://developer.wordpress.org/reference/fifts/do_action/
Theo nhận xét của Junaid Bhura từ WordPress 5.2, một chức năng trợ giúp chủ đề mới wp_body_open
đã được giới thiệu nhằm mục đích sử dụng theo sở thích của các chức năng trợ giúp khác wp_head
và wp_footer
.
Ví dụ:
<html>
<head>
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<!-- BODY CONTENT HERE -->
<?php wp_footer(); ?>
</body>
</html>
Trong tệp tin.php của chủ đề (hoặc phù hợp ở nơi khác)
function custom_content_after_body_open_tag() {
?>
<div>My Custom Content</div>
<?php
}
add_action('wp_body_open', 'custom_content_after_body_open_tag');
Bạn nên đảm bảo rằng hook tồn tại trong chủ đề mà bạn muốn đưa vào vì điều này có thể chưa được cộng đồng chấp nhận rộng rãi.
Nếu KHÔNG , bạn vẫn sẽ cần tuân theo nguyên tắc mở rộng chủ đề với chủ đề con với ngoại lệ mà BẠN sẽ sử dụng:
<?php wp_body_open(); ?>
... thay vì OR ngoài:
<?php do_action('after_body_open_tag'); ?>
Đề nghị đọc:
https://developer.wordpress.org/reference/fifts/wp_body_open/
template_include
hoặc tương tự, tuy nhiên, chúng tôi khuyên bạn không nên làm điều đó bởi vì nó không chỉ không hiệu quả, nó có thể rất không đáng tin nếu có gì đó thay đổi trong cha mẹ do cập nhật. Mở rộng chủ đề gốc bằng cách sử dụng chủ đề con là cách thực hành tốt nhất, có thể dự đoán và dự kiến, cộng với nó mang lại cho bạn nhiều quyền kiểm soát, chẳng hạn như sử dụng ví dụ được hiển thị ở trên. Tuy nhiên, nếu bạn muốn sử dụng preg_replace
tùy thuộc vào bạn ...
Một giải pháp rất, rất, rất bẩn sẽ là:
/* Insert tracking code or other stuff directly after BODY opens */
add_filter('body_class', 'wps_add_tracking_body', PHP_INT_MAX); // make sure, that's the last filter in the queue
function wps_add_tracking_body($classes) {
// close <body> tag, insert stuff, open some other tag with senseless variable
$classes[] = '"><script> /* do whatever */ </script><noscript></noscript novar="';
return $classes;
}
Thêm mã này vào hàm.php
function my_function() {
echo'<div id="from_my_function"></div>';
}
add_action('wp_head', 'my_function');
<head>
không <body>
.