我正在开发一个主题,出于某些原因,我需要将breadcrubms的默认位置(也适用于许多其他事情)移到woocommerce主题上。然后我意识到在我的functions.php上做这样的事情:
function woocommerce_remove_breadcrumb(){
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
}
add_action('woocommerce_before_main_content', 'woocommerce_remove_breadcrumb');
function woocommerce_custom_breadcrumb(){
woocommerce_breadcrumb();
}
add_action( 'woo_custom_breadcrumb', 'woocommerce_custom_breadcrumb' );然后在任何模板文件上,仅使用以下命令输出breadcrumb:
<? do_action('woo_custom_breadcrumb'); ?>而且很管用。我的问题不止于此。对于这样的事情,这是正确的方法吗?我指的是woocommerce上的任何东西,而不仅仅是面包屑,任何pice、评级、标题、按钮、侧边栏等等。我在想的是为什么woocommerce模板没有提供更深入的代码。我的意思是,为什么没有这样一个单一的content -loop.php模板,你可以用一种简单的方式改变事物、标题、类别、内容、图片等的顺序,而不是连接到函数中?
发布于 2013-11-18 06:32:57
我认为这是一种可以接受的显式调用面包屑的方式。有时候,调用一个特定的函数比删除它周围的所有东西更容易!
至于改变顺序和进入高级定制;不是一个文件,而是多个文件一起工作。在您的主题根目录中创建一个名为'woocommerce‘的文件夹,并复制以下文件以进行安全覆盖:
woocommerce/woocommerce-hooks.php
这是你的钩子,包括你在主题functions.php中覆盖的钩子。在这里,您可以尝试删除和重新定位产品页面上的某些元素。搜索'Sidebar‘,你会看到'woocommerce_sidebar’操作被添加到它引用的函数中的什么地方……
woocommerce/woocommerce-template.php
以下是模板文件中用于根据条件语句输出内容的函数。例如,搜索“Single Product”系列,您可以看到哪些模板文件用于哪些功能。例如,'woocommerce_template_single_title‘使用'single-product/title.php’-如果你复制这个文件夹和文件,你可以对标题部分进行非常具体的编辑
在这两个文件和它们附带的引用(如title.php)之间,我相信您可以完成您所描述的事情。让我知道它是如何工作的!我也是新来woocommerce的!
https://stackoverflow.com/questions/15550527
复制相似问题