wordpress/woocommerce 使用于拉菜单的“theme_location”等于页面标题 ID。
Posted
技术标签:
【中文标题】wordpress/woocommerce 使用于拉菜单的“theme_location”等于页面标题 ID。【英文标题】:wordpress/woocommerce make the 'theme_location' for pulling a menu equal the page title ID. 【发布时间】:2015-05-01 20:35:43 【问题描述】:我想在我的 archive-product.php 中插入一个菜单,但是,我希望这个菜单对于每个产品页面都是唯一的。我计划通过在 woocommerce 中为我的自定义主题定义与页面标题或页面 ID 同名的菜单名称来完成此操作。然后将我的'theme_location' => 'insert page title here'
设置为动态等于页面标题。
目前我在 archive-product.php 中放置了这段代码:
<?php
$args = array(
'theme_location' => '<?php woocommerce_page_title(); ?>'
);
?>
<?php wp_nav_menu( $args ); ?>
显然'<?php woocommerce_page_title(); ?>'
不起作用,因为它被包裹在单引号中。有什么参数可以用来返回页面标题的值吗?我也试过<?php echo get_the_title(); ?>
,但是,同样的故事;它是包裹在单引号内的 PHP,被视为文本字符串而不是代码。
PS 如果这种方法根本不是最优的,我可以接受不同的方法来实现这一目标。
【问题讨论】:
【参考方案1】:如果您的问题是引号,只需使用“false”作为参数调用它,它将返回页面标题而不是回显它。所以你将拥有:
'theme_location' => woocommerce_page_title(false)
http://docs.woothemes.com/wc-apidocs/function-woocommerce_page_title.html
但如果我是你,我会在 functions.php 中动态注册我所有的侧边栏。首先,使用 get_posts() 获取所有页面,然后 foreach 页面获取其标题并使用该标题注册一个侧边栏。
【讨论】:
以上是关于wordpress/woocommerce 使用于拉菜单的“theme_location”等于页面标题 ID。的主要内容,如果未能解决你的问题,请参考以下文章
Wordpress Woocommerce - 标题下方的可变产品价格
如何将 wordpress/php 功能应用于特定的产品类别
为自定义 URL 参数设置 Cookie - wordpress/woocommerce
如何在 wordpress/woocommerce 中获取所有订单详细信息? [复制]