我不是PHP程序员,因此在这个问题上我已经花了两个小时的时间,因为似乎有很多方法可以做到这一点。 由于我的PHP / Wordpress语法和逻辑知识不佳,我都无法上班。

创建和调用仅在顶级页面上为<?php bloginfo('name') ?>加载不同值的函数的最佳方法是什么? 即顶层菜单标题。

我想知道是否有可能按照以下方针做点什么:

<?php

if ( is_page( 'about' ) || == $post->post_parent ) {    
bloginfo = 'about';

} elseif ( is_page( 'work' ) || == $post->post_parent ) {   
bloginfo = 'work';

} elseif ( is_page( 'contact' ) || == $post->post_parent ) {    
    bloginfo = 'contact';

} else { 
  bloginfo('name');
}   

?>

请把它当作伪代码,因为我仍然熟悉wordpress和PHP Codex /语法,因此为什么我什么都不能工作。 但基本上,我需要做的是将主要的nav链接名称用作其部分中每个页面的bloginfo名称。 其他所有情况都是例外,默认情况下会返回到原始bloginfo名称。

尝试将导航链接标题本身解析为函数会更容易吗?

如果可以的话请帮忙!

更新

我已经完全放弃了先前的选择,走了以下路线:

<?php if (is_page() || is_single( array( 62, 57, 51, 8 ) )) {

        echo wp_title('');
            }

            else{


            $category = get_the_category(); 
            echo $category[0]->cat_name;
            }?>

这有点拙劣,但是在wordpress网站上阅读了大量参考资料后,我认为我已经开始了解语法。 因此,我现在不再以bloginfo()为目标,而是以页面标题为目标。 但是,我不希望这些帖子具有很大的标题,因此我将使除顶层“ pages ”以外的所有页面都选择第一类,除了少数几个实际上是自定义页面的帖子之外,因此需要显示wp_title值。

如果有人对将其转换为更灵活/高效的功能有任何建议,请删除帖子,否则我将在几个小时内解决此问题。

===============>>#1 票数:0

语法将是

<?php

if ( is_page( 'about' ) || == $post->post_parent ) {    
  bloginfo('about');

} elseif ( is_page( 'work' ) || == $post->post_parent ) {   
  bloginfo('work');

} elseif ( is_page( 'contact' ) || == $post->post_parent ) {    
  bloginfo('contact');

} else { 
  bloginfo('name');
}   

?>

但没有诸如wordpress中的bloginfo函数的about,work,contact之类的参数。 有关bloginfo的更多信息,请检查以下网址-> http://codex.wordpress.org/Function_Reference/bloginfo

===============>>#2 票数:0

您可以尝试使用bloginfo过滤器来过滤/更改name (只需在您的functions.php文件中添加此代码段)

function my_custom_blogname( $output, $show )
{
    if( $show == 'name' )
    {
        if( is_page('about') ) $output = 'It\'s my about page';
        if( is_page('work') ) $output = 'It\'s my work page';
        if( is_page('contact') ) $output = 'It\'s my contact page';
    }
    return $output;
}
add_filter('bloginfo', 'my_custom_blogname', 10, 2);

更新:您还可以使用以下命令检查页面是否为父页面/顶级页面

if( !$post->post_parent ) // To check only if it's a parent/top lavel page
if( is_page('about') && !$post->post_parent ) $output = 'about'; // To check if it's a parent/top lavel page and about page

  ask by HGB translate from so

未解决问题?本站智能推荐:

1回复

setcookie()需要手动重新加载页面才能工作

我设置了一个cookie,它隐藏了特定的短代码内容。 我正在使用URL( http://www.yourwebsite.com/?EmailSubscriber=true )触发cookie并将其设置为“ true”。 特定的代码工作正常,只是需要重新加载该代码才能使条件生效。 这是我
2回复

避免在Woocommerce谢谢页面中加载脚本

在Woocommerce中,我使用Header&Footer插件在body标签上添加了整个网站的跟踪会员代码。 代码是: <script async src="//go.linkwi.se/delivery/js/tl.js"></script> <scri
2回复

如何为链接的网址设置if()语句?

如何为链接的URL(而非当前页面)设置if / else条件? 我在这段代码的第四行遇到麻烦:
1回复

如何为服装分类列表设置IF语句?

我有此数组代码来列出“链接类别”分类法中的书签链接。 现在,我想对具有“ hott”标签的每个书签链接设置if语句。 我用了这个但是没用: 我现在能做什么?
1回复

如果特定页面的子页面显示内容

我正在用WordPress构建网站,并在页面顶部(在后台)显示了一组照片,并根据访问者在网站上的位置将它们放到可以更改照片集的位置。 例如,如果他们正在查看“常见问题”页面,则会显示与提问有关的照片。 如果他们正在查看新闻页面,则会显示与新闻有关的照片。 我拥有的代码效果很好,但是,我现在
2回复

WP:通过名称(如果声明)识别页面和页面父级

我正在尝试基于当前的Wordpress页面或子页面显示内容,并使用页面标题而不是ID。 我所拥有的是: 不知道为什么,但是它可以用来识别页面名称,而不是页面的子页面。 谁能看到我做错了什么? 语法错误? 谢谢 PS。 我也尝试过 但这对于所有页面都返回
1回复

两个Wordpress搜索结果页面

我想根据用户所在的页面获得两个不同的搜索结果。 我已经复制了以前的搜索内容的显示方式,添加了我希望员工搜索显示的额外代码,然后在其周围放置一个if语句。 如果用户在页面“ staff”上,则显示此其他内容。 我似乎无法使if语句起作用,将不胜感激。 编辑 在我放入I
1回复

如何检测WordPress中的子页面?

我想检查我是否在子页面上。 在首页上是: <?php if(is_front_page()): ?> <?php endif; ?> 但是当它是另一页时该怎么办?
2回复

WordPress页面标题-如果不是PHP

我正在尝试更改header.php文档中的页面标题,并且需要对其进行更多控制。 当前,我有一个if语句,它引用另一段PHP,如果该页面是一个显示页面,则表示该显示,然后在标题之前显示显示名称,否则不显示任何内容-这意味着它默认返回主标题代码。 继承人的代码,它完美地工作: 因此,
2回复

排除多个页面模板

我需要从某些页面模板中排除子主题功能。 我可以排除这样的一个模板 如何添加更多页面模板以排除语句?