wordpress/woocommerce 使用于拉出菜单的 'theme_location' 等于页面标题 ID。
wordpress/woocommerce make the 'theme_location' for pulling a menu equal the page title ID.
我想在我的 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(); ?>'
不起作用,因为它被单引号括起来了。我可以使用任何参数来 return 页面标题的值吗?我也试过 <?php echo get_the_title(); ?>
,但是,同样的故事;它被 PHP 包裹在单引号内,被视为文本字符串而不是代码。
PS 如果这种方法根本不是最优的,我愿意接受不同的方法来实现这个目标。
如果您的问题是引号,只需使用 "false" 作为参数调用它,它将 return 页面标题而不是回显它。所以你将拥有:
'theme_location' => woocommerce_page_title(false)
http://docs.woothemes.com/wc-apidocs/function-woocommerce_page_title.html
但如果我是你,我会在 functions.php 中动态注册我所有的侧边栏。首先,使用 get_posts() 获取所有页面,然后获取每个页面的标题并使用该标题注册侧边栏。
我想在我的 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(); ?>'
不起作用,因为它被单引号括起来了。我可以使用任何参数来 return 页面标题的值吗?我也试过 <?php echo get_the_title(); ?>
,但是,同样的故事;它被 PHP 包裹在单引号内,被视为文本字符串而不是代码。
PS 如果这种方法根本不是最优的,我愿意接受不同的方法来实现这个目标。
如果您的问题是引号,只需使用 "false" 作为参数调用它,它将 return 页面标题而不是回显它。所以你将拥有:
'theme_location' => woocommerce_page_title(false)
http://docs.woothemes.com/wc-apidocs/function-woocommerce_page_title.html
但如果我是你,我会在 functions.php 中动态注册我所有的侧边栏。首先,使用 get_posts() 获取所有页面,然后获取每个页面的标题并使用该标题注册侧边栏。