0

我不是 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 代码/语法,因此我无法得到任何工作。但基本上,我需要做的是使用主导航链接名称作为其部分中每个页面的 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值.

如果有人对将其转变为更灵活/高效的功能有任何提示,请发表帖子,否则我将在几个小时内解决此问题。

4

2 回答 2

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函数没有关于,工作,联系这样的参数。有关 bloginfo 的更多信息,请查看此 url -> http://codex.wordpress.org/Function_Reference/bloginfo

于 2013-04-16T18:11:03.883 回答
0

您可以尝试过滤/更改name使用bloginfo过滤器(只需在文件中添加此代码段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
于 2013-04-16T18:30:59.777 回答