插件子 Wordpress
Plugin child Wordpress
我想将下一行添加到具体的 woocommerce 文件之一:wp-content\plugins\woocommerce\templates\archive-product.php
<div class="breadcrumps-header"><?php if ( function_exists( 'yoast_breadcrumb' ) ) {yoast_breadcrumb();} ?></div>
但在 Woocommerce 的下一次更新中,我将放弃修改。我怎样才能添加类似插件 chlid?
如果您在主题中创建文件夹并将其命名为 woocommerce
并将所有文件从 wp-content\plugins\woocommerce\templates\
复制到您的 wp-content\themes\yourthemename\woocommerce\
您可以对此文件进行更改,并在下一次 WooCommerce 更新后不会丢失,只是它会显示您使用的是旧版本的模板,如果他们对同一个原始文件进行了更改,您将不得不手动合并它们。如果不是自己的主题,请先创建子主题,不要将 woocommerce 文件夹放置到原始主题中。
而且,最好把div
放在if
里面,因为如果这个函数不存在,你不想显示空的div,对吧?
<?php if ( function_exists( 'yoast_breadcrumb' ) ) { ?>
<div class="breadcrumps-header"><?php yoast_breadcrumb(); ?></div>
<?php } ?>
如果您查看该文件 (https://github.com/woocommerce/woocommerce/blob/v2.2.3/templates/archive-product.php),您会看到许多可以使用的不同操作,具体取决于您要插入内容的位置。
例如,在顶部附近是这样的:
/**
* woocommerce_before_main_content hook
*
* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
* @hooked woocommerce_breadcrumb - 20
*/
do_action( 'woocommerce_before_main_content' );
评论显示 woocommerce 自己的面包屑以 20 的优先级挂接到此操作。
如果您希望您的代码在此之后出现,您应该能够将类似以下的内容添加到您的主题 functions.php
(或其他地方):
add_action('woocommerce_before_main_content', function() { ?>
<div class="breadcrumps-header">
<?php if ( function_exists( 'yoast_breadcrumb' ) ) {yoast_breadcrumb();} ?>
</div>
<?php });
25
是优先级,确保您的代码将在 woocommerce 的 woocommerce_breadcrumb
函数之后执行。
该脚本中还有许多其他 do_action
,因此请选择最接近您的代码位置的一个,您应该通过一些试验获得所需的内容。
我想将下一行添加到具体的 woocommerce 文件之一:wp-content\plugins\woocommerce\templates\archive-product.php
<div class="breadcrumps-header"><?php if ( function_exists( 'yoast_breadcrumb' ) ) {yoast_breadcrumb();} ?></div>
但在 Woocommerce 的下一次更新中,我将放弃修改。我怎样才能添加类似插件 chlid?
如果您在主题中创建文件夹并将其命名为 woocommerce
并将所有文件从 wp-content\plugins\woocommerce\templates\
复制到您的 wp-content\themes\yourthemename\woocommerce\
您可以对此文件进行更改,并在下一次 WooCommerce 更新后不会丢失,只是它会显示您使用的是旧版本的模板,如果他们对同一个原始文件进行了更改,您将不得不手动合并它们。如果不是自己的主题,请先创建子主题,不要将 woocommerce 文件夹放置到原始主题中。
而且,最好把div
放在if
里面,因为如果这个函数不存在,你不想显示空的div,对吧?
<?php if ( function_exists( 'yoast_breadcrumb' ) ) { ?>
<div class="breadcrumps-header"><?php yoast_breadcrumb(); ?></div>
<?php } ?>
如果您查看该文件 (https://github.com/woocommerce/woocommerce/blob/v2.2.3/templates/archive-product.php),您会看到许多可以使用的不同操作,具体取决于您要插入内容的位置。
例如,在顶部附近是这样的:
/**
* woocommerce_before_main_content hook
*
* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
* @hooked woocommerce_breadcrumb - 20
*/
do_action( 'woocommerce_before_main_content' );
评论显示 woocommerce 自己的面包屑以 20 的优先级挂接到此操作。
如果您希望您的代码在此之后出现,您应该能够将类似以下的内容添加到您的主题 functions.php
(或其他地方):
add_action('woocommerce_before_main_content', function() { ?>
<div class="breadcrumps-header">
<?php if ( function_exists( 'yoast_breadcrumb' ) ) {yoast_breadcrumb();} ?>
</div>
<?php });
25
是优先级,确保您的代码将在 woocommerce 的 woocommerce_breadcrumb
函数之后执行。
该脚本中还有许多其他 do_action
,因此请选择最接近您的代码位置的一个,您应该通过一些试验获得所需的内容。