如何使用 WordPress Avada 子主题将主徽标的 link 更改为自定义 URL 而不是主页?

How to change link of main logo to custom URLs instead of homepage, with WordPress Avada child theme?

我正在尝试更改特定页面的徽标 link,以便它 link 成为特定页面的自定义 URL。

我试图添加我在 Whosebug 中也找到的这段代码。这在页面“169”上工作正常,徽标 link 指向 https://sampleurl.com/page-1/

//This is for page-1
add_filter('avada_logo_anchor_tag_attributes', 'broadway_logo_link_modify');
function broadway_logo_link_modify() {

  $link = esc_url( home_url( '/' ) );

  if (is_page( array (169))) {
    $link = 'https://sampleurl.com/page-1/';
  }

  // another option with which you don't have to add every page id
  $current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  if (strpos($current_url, 'https://sampleurl.com/page-1/') !== false) {
    $link = 'https://sampleurl.com/page-1/';
  }

  $link_arr = array(
    'class' => 'fusion-logo-link',
    'href' => $link,
  );

  return $link_arr;

}

//This is for page-2
add_filter('avada_logo_anchor_tag_attributes', 'broadway_logo_link_modify');
function broadway_logo_link_modify() {

  $link = esc_url( home_url( '/' ) );

  if (is_page( array (169))) {
    $link = 'https://sampleurl.com/page-2/';
  }

  // another option with which you don't have to add every page id
  $current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  if (strpos($current_url, 'https://sampleurl.com/page-2/') !== false) {
    $link = 'https://sampleurl.com/page-2/';
  }

  $link_arr = array(
    'class' => 'fusion-logo-link',
    'href' => $link,
  );

  return $link_arr;

}

我正在尝试为 /page-2 和 /page-3 添加 url。我再次添加了代码并将 URL 更改为 https://sampleurl.com/page-2/ 但它破坏了网站 "HTTP Error".

有人知道要添加的正确代码是什么吗?提前致谢。

现在您为两个函数使用相同的函数名,此时相同的函数名声明将导致 php 错误。为避免该问题,您可以重命名第二个函数名称,如下面的代码所示。

//This is for page-1
add_filter('avada_logo_anchor_tag_attributes', 'broadway_logo_link_modify1');
function broadway_logo_link_modify1() {

  $link = esc_url( home_url( '/' ) );

  if (is_page( array (169))) {
    $link = 'https://sampleurl.com/page-1/';
  }

  // another option with which you don't have to add every page id
  $current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  if (strpos($current_url, 'https://sampleurl.com/page-1/') !== false) {
    $link = 'https://sampleurl.com/page-1/';
  }

  $link_arr = array(
    'class' => 'fusion-logo-link',
    'href' => $link,
  );

  return $link_arr;

}

//This is for page-2
add_filter('avada_logo_anchor_tag_attributes', 'broadway_logo_link_modify2');
function broadway_logo_link_modify2() {

  $link = esc_url( home_url( '/' ) );

  if (is_page( array (210))) {
    $link = 'https://sampleurl.com/page-2/';
  }

  // another option with which you don't have to add every page id
  $current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  if (strpos($current_url, 'https://sampleurl.com/page-2/') !== false) {
    $link = 'https://sampleurl.com/page-2/';
  }

  $link_arr = array(
    'class' => 'fusion-logo-link',
    'href' => $link,
  );

  return $link_arr;

}