问题描述

我是 WordPress 的新手,只是安装了 3.3.1 版本。

我做了一些关于这个问题的搜索,并找到一些答案,但它们与 2.7 版本相关,是 2-3 岁。

基本上,wp_title 功能在除了主页之外的每个页面都可以正常工作,它返回空白,我没有任何标题。我可以只是硬编码的标题,但我宁愿不这样做。

有罪行代码:

<title><?php wp_title ( '| So Fresh n' So Clean', true,'right' ); ?></title>

我在 3.3.1 中找不到有关此问题的任何事情,显然我做错了事情。

最佳解决方案

这是我从 Codex 读取的内容:

If you are using a custom homepage with custom loops and stuff, you will have an empty wp_title. Here goes a neat hack to add the description/tagline at the wp_title place on homepage:

<title><?php bloginfo('name'); ?> | <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>

所以使用 is_front_page()在主页上获得标题,就是上面代码中的建议。

次佳解决方案

但是如果你使用一个静态主页,这是代码:

<title><?php bloginfo('name'); ?> &raquo; <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>

第三种解决方案

更新

WordPress 4.4 弃用了 wp_title() 功能…

function some_name(){
    add_theme_support( 'title-tag' );
}

add_action( 'after_setup_theme', some_name' );

在 functions.php 中执行此操作,并从头删除’title’ 标签

第四种方案

从 Amna 的答案出发,我想出了以下代码,当有一个时候应该显示页面标题,然后是站点名称。

<?php wp_title(' - ',TRUE,'right'); bloginfo('name'); ?>

帖子/页面输出:「页面标题 – 站点名称」

主页输出:”Site Name”


显然,这也可以交换以显示站点名称。

<?php bloginfo('name'); wp_title(' - '); ?>

帖子/页面输出:「站点名称 – 页面标题」

主页输出:”Site Name”


X- 20045 X- 200 X- 200 200 -40 -40 200 200 -40 200 200 X- 200 200:200 的 X-

<?php bloginfo('name'); echo ' - '; is_front_page() ? bloginfo('description') : wp_title(''); ?>

帖子/页面输出:「站点名称 – 页面标题」

主页输出:「站点名称 – 站点描述」

第五种方案

对于谷歌搜索在 wordpress wp_title 空这是第一个结果。所以我以为我可以分享最优雅的解决方案。在 functions.php 中为 wp_title 添加一个过滤器。

function custom_wp_title( $title, $sep ) {
    if ( is_feed() ) {
        return $title;
    }

    global $page, $paged;

    // Add the blog name
    $title .= get_bloginfo( 'name', 'display' );

    // Add the blog description for the home/front page.
    $site_description = get_bloginfo( 'description', 'display' );
    if ( $site_description && ( is_home() || is_front_page() ) ) {
        $title .= " $sep $site_description";
    }

    // Add a page number if necessary:
    if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) {
        $title .= " $sep " . sprintf( __( 'Page %s', '_s' ), max( $paged, $page ) );
    }

    return $title;
}
add_filter( 'wp_title', 'custom_wp_title', 10, 2 );

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。