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.phptoàn bộ vào thư mục chủ đề con của bạn.
Mở header.phptệ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.phptệp của mình .
Ví dụ trong twenty-twelve-child/header.phptệp của bạn :
<body <?php body_class(); ?>>
<?php do_action('after_body_open_tag'); ?>
Sau đó, trong twenty-twelve-child/functions.phptậ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_headvà 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_includehoặ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_replacetù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>.