函数无法识别页面ID?

时间:2014-09-22 作者:acrane

我试图设置一个if/then语句,以便如果page\\u id不是这三个页面中的一个或它们的祖先,那么使用默认徽标。我正在函数文件中使用is\\u tree()函数,并在调用之前重置post数据。

但只有当我注释掉最后一个“else”(/home)语句时,它才起作用。如果我留下最后一条else语句,它不会识别page_id 并且没有显示正确的徽标(主页显示在“conway”上)。

当我对查询的对象执行var转储时,会显示正确的ID。

这是我的is_tree 功能:

function ac_my_tree() {
   function is_tree($pid)
{
  global $post;

  $ancestors = get_post_ancestors($post->$pid);
  $root = count($ancestors) - 1;
  $parent = $ancestors[$root];

  if(is_page() && (is_page($pid) || $post->post_parent == $pid || in_array($pid, $ancestors)))
  {
    return true;
  }
  else
  {
    return false;
  }
};
}
add_action(\'wp_head\', \'ac_my_tree\');
下面是我的模板文件中的if/then:

<?php wp_reset_postdata(); ?>
<?php 
/*
    Which logo do we use?
*/
if (is_tree(\'33\') ) { // if is conway
    $logoClass = \'logo-conway \'; 
    $link = get_bloginfo(\'url\') . \'/conway\';

} elseif (is_tree(35) ) { // if is cullowhee
    $logoClass = \'logo-cullowhee \';
    $link = get_bloginfo(\'url\') . \'/cullowhee\';

} if (is_tree(31) ) { // if is Johnson City
    $logoClass = \'logo-johnson-city \';
    $link = get_bloginfo(\'url\') . \'/johnson-city\';

} else { // if is something else
    $logoClass = \'logo-home\';
    $link = get_bloginfo(\'url\') . \'/home\';
}

?>
编辑:对不起,我的if/then中间有一个“if”。这是漫长的一天。

1 个回复
SO网友:acrane

第三个elseif中缺少“else”。

 <?php 
/*
Which logo do we use?
*/
if (is_tree(\'33\') ) { // if is conway
  $logoClass = \'logo-conway \'; 
  $link = get_bloginfo(\'url\') . \'/conway\';

} elseif (is_tree(35) ) { // if is cullowhee
  $logoClass = \'logo-cullowhee \';
  $link = get_bloginfo(\'url\') . \'/cullowhee\';

} elseif (is_tree(31) ) { // if is Johnson City
  $logoClass = \'logo-johnson-city \';
  $link = get_bloginfo(\'url\') . \'/johnson-city\';

} else { // if is something else
  $logoClass = \'logo-home\';
  $link = get_bloginfo(\'url\') . \'/home\';
}

?>

结束

相关推荐

theme functions (hooks)

WordPress已经提出了这个问题,但没有答案。我只是想在这个论坛上试试,如果有人知道的话,因为我也有同样的问题。要使用jquery滑块编辑我的主题,如何转到该脚本?,显示“$主题->挂钩(\'content\\u before\');”在content div标记中。有人能帮忙吗?我的主题索引。php包含以下内容<div id=\"main\"> <?php $theme->hook(\'main_before\'); ?> &#x