在wp_nav_menu中用http替换https

时间:2011-05-04 10:35:38

标签: php wordpress

我想用https

替换主菜单中的所有链接

我已尝试过以下功能,但没有效果

function wp_list_pages_custom() {
   $array = array();
   $pages = wp_nav_menu( array( 
      'menu'            => 'Main Menu', 
      'menu_id'         => 'menu',  
      'echo'            => true,
      'fallback_cb'     => 'wp_page_menu',
      'before'          => '',
      'after'           => '',
      'depth'           => 0
   ));
   $pages = str_replace('https', 'http', $pages);
   echo $pages;
}

2 个答案:

答案 0 :(得分:1)

function wp_list_pages_custom() {

$array = array();

$pages = wp_nav_menu( array( 
  'menu'            => 'Main Menu', 
  'menu_id'         => 'menu',  
  'echo'            => false,
  'fallback_cb'     => 'wp_page_menu',
  'before'          => '',
  'after'           => '',
  'depth'           => 0
));

$pages = str_replace('https', 'http', $pages);

echo $pages;

}

你有echo,所以函数处理输出

答案 1 :(得分:0)

根据documentation of wp_nav_menu,echo参数必须为false才能获得刚返回的菜单而不是打印。所以目前你可能已经打印了两次菜单。您还应该检查该方法是返回绝对URL还是相对URL。