在<BODY>标记后面插入HTML

时间:2016-03-07 作者:Ramanan

我使用的是Wordpress主题“二十一二”(确切地说是它的一个孩子)。

我想知道如何在正文打开后,在just函数中插入一些HTML。php,不使用标头。php。

这可能吗?

3 个回复
最合适的回答,由SO网友:Adam 整理而成

“2112”没有打开后立即着火的挂钩<body> 标签

因此,您在您的子主题中扩展了父十二主题,复制header.php 到您的子主题目录。

打开header.php 文件中的子主题,并在开头的body标记后添加一个动作挂钩,然后可以通过functions.php 文件

例如twenty-twelve-child/header.php 文件:

<body <?php body_class(); ?>>

<?php do_action(\'after_body_open_tag\'); ?>
然后在你的twenty-twelve-child/functions.php 文件:

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\');
这将在HTML中呈现为:

<body>
<div>My Custom Content</div>
建议阅读:

https://developer.wordpress.org/reference/functions/do_action/

更新日期:2019年7月Junaid Bhura 来自WordPress 5.2的一个新主题助手函数wp_body_open 已引入,旨在根据其他助手函数的类似情况使用wp_headwp_footer.

例如:

<html>
  <head>

    <?php wp_head(); ?>
 
  </head>
  <body <?php body_class(); ?>>
 
    <?php wp_body_open(); ?>

     <!-- BODY CONTENT HERE -->
 
    <?php wp_footer(); ?>
 
  </body>
</html>
在主题函数中。php文件(或其他适当的文件)

function custom_content_after_body_open_tag() {

    ?>

    <div>My Custom Content</div>

    <?php

}

add_action(\'wp_body_open\', \'custom_content_after_body_open_tag\');
重要的是,你应该确保钩子存在于你想要注入的主题中,因为这可能还没有被社区广泛采用。

如果NOT, 你还是会的need to follow the principle of extending the theme with a child theme 除了YOU 将使用:

<?php wp_body_open(); ?>

...代替或补充:

<?php do_action(\'after_body_open_tag\'); ?>

建议阅读:

https://developer.wordpress.org/reference/functions/wp_body_open/

SO网友:Martin from WP-Stars.com

一个非常非常脏的解决方案是:

/* 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;
}

SO网友:Jatinder Kaur

在函数中添加此代码。php

function my_function() {
 echo\'<div id="from_my_function"></div>\';

}
add_action(\'wp_head\', \'my_function\');

相关推荐

Apply_Filters()对所需的参数进行切片

我正在尝试向WooCommerce订单中的每个退款行添加一个按钮(其功能超出了这个问题的范围,足以说明它需要退款id作为参数)。我发现这些行是在woocommerce\\includes\\admin\\meta Box\\views\\html订单退款中创建的。无法重写的php。然而,有一项行动:do_action( \'woocommerce_admin_order_item_values\', null, $refund, $refund->get_id() ); 这似乎非常适合我的