php 如何将Woocommerce产品类别动态添加到菜单?

brqmpdu1  于 5个月前  发布在  PHP
关注(0)|答案(1)|浏览(41)

是否有可能动态地将Woocommerce产品类别添加到菜单中?我怎么能做到这一点?我正在尝试动态地将Woocommerce产品类别添加到菜单中。我期待着这个问题的好解决方案。我无法做到这一点。

ycggw6v2

ycggw6v21#

有几种方法可以使用可用的Wordpress钩子来完成此操作。您可以使用的一个钩子是wp_nav_menu过滤器(see documentation)。此钩子允许您直接修改导航菜单HTML的输出。请小心,因为这将影响所有菜单,除非您根据过滤器中第二个参数的args设置条件。
的示例实现

add_filter('wp_nav_menu', 'example_func',10,2);

function example_func(string $nav_menu, $args): string
{
    // Get categories
    $categories = get_categories(['taxonomy' => 'product_cat']);

    //create new unordered list and append to end of navigation.
    $nav_menu .= '<ul>';
    foreach($categories as $cat) {
       $nav_menu .= '<li>' . $cat->name . '</li>'
   }
   $nav_menu .= '</ul>';

return $nav_menu;

字符串
如果你想把产品放在一个特定的地方,你可能最好看看创建一个自定义导航步行者see docs或改变你的过滤器到一个更精确的点。

相关问题