Php 在wp_nav_菜单中将https替换为http

Php 在wp_nav_菜单中将https替换为http,php,wordpress,Php,Wordpress,我想用http替换主菜单中的所有链接,只要它们是https 我尝试了下面的功能,但没有效果 function wp_list_pages_custom() { $array = array(); $pages = wp_nav_menu( array( 'menu' => 'Main Menu', 'menu_id' => 'menu', 'echo' => tr

我想用http替换主菜单中的所有链接,只要它们是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;
}
根据,echo参数必须为false,才能获得刚刚返回的菜单而不是打印的菜单。因此,目前您可能已经打印了两次菜单。您还应该检查该方法是否返回绝对URL或相对URL。

根据,echo参数需要为false,以便获得刚刚返回的菜单而不是打印的菜单。因此,目前您可能已经打印了两次菜单。您还应该检查该方法是否返回绝对URL或相对URL

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为true,因此该函数处理输出


您的echo为true,因此函数处理输出

您考虑过使用javascript吗?您考虑过使用javascript吗?