如何限制Wordpress主题中的wordpress标题长度?

时间:2019-04-11 16:04:13

标签: wordpress themes trim

因此,我有一个已经购买的wordpress主题,并且我想对其进行调整,使其看起来像blog.asana.com。首先出于学习目的,并且因为我喜欢外观,所以我尝试使用这些功能。

我在这里遇到各种问题,但首先我使用的是儿童主题。而且我正在尝试更改主页上博客文章的标题,以使它们最多显示2行。它看起来更好,并且由于我的主题使用某种砌体显示,所以我更喜欢这种方式。 因为如果我的问题听起来很愚蠢,我不太习惯这种抱歉。 另外,由于这不是我的主题,所以我不确定如何解决问题。我似乎无法在不永久加载并显示错误的情况下将内容添加到functions.php中。

我尝试在子主题function.php中使用它,但是没有用。 我也尝试了父主题function.php

function max_title_length( $title ) {
$max = 20;
if( strlen( $title ) > $max ) {
return substr( $title, 0, $max ). " …";
} else {
return $title;
}
}

我正在谈论的博客是blog.asana.com,主题是博客(点)夜曲(点)ch

2 个答案:

答案 0 :(得分:0)

您需要过滤the_title();如果这不起作用,请对wp_title()执行相同的操作;这取决于主题用于引入页面标题的方式。

经过测试并可以正常工作:

add_filter( 'the_title', 'max_title_length' );
function max_title_length( $title ) {
    $max = 20;
    if( strlen( $title ) > $max ) {
        $title = substr( $title, 0, $max ) . " …";
        return $title;
    } else {
        return $title;
    }
}

这将使用the_title()编辑所有标题;

然后,您可以使用各种WordPress函数过滤要定位的页面和用例的目标,只需将它们与JavaScript if语句结合在一起即可,并带有“ &&”:

  • is_home()
  • is_frontpage()
  • is_single()

更多可以是found here

示例:

If( strlen($title) > $max && is_home() ) {

答案 1 :(得分:0)

您好,您只想在首页上只显示两行。

使用这种方式:

add_filter( 'the_title', 'max_title_length' );
function max_title_length( $title ) {
    $max = 20;
    if( is_home() && strlen( $title ) > $max ) {
        $title = substr( $title, 0, $max ) . " …";
    }
    return $title;
}

这仅在帖子页面上有效。