简体   繁体   English

WordPress:仅回显帖子标题的前60个字符

[英]WordPress: echoing just the first 60characters of the post title

I am styling a WordPress Theme and I would like to make sure that if the post title is longer than 60 characters it shows the first 6ß0 characters + three points (...) at the end 我正在设计WordPress主题的样式,并且我想确保,如果帖子标题的长度超过60个字符,则它会显示前6ß0个字符+最后三点(...)

In Native Php would like: 在原生PHP中希望:

<?php    
     if (strlen($title) <= 60) {
        echo %title
     }  else {
        echo (substr($title, 60) . "..."
     }                          
?>  

My problem is that inside WordPress the syntax of variables is not $title but %title as you could see in the code: 我的问题是,在WordPress中,变量的语法不是$ title而是%title,如您在代码中看到的那样:

<?php previous_post_link( '%link', '%title ' ); ?>

My questions are: 我的问题是:

  1. How would be the final IF inside WordPress WordPress内的最终IF将如何
  2. How would be in shorthand if/else (ternary) form? if / else(三元)形式的简写如何?

Thanks 谢谢

You achieve this by creating your custom post_nav function 您可以通过创建自定义post_nav函数来实现此目的

<div class="prev-posts pull-left">
    <?php
    $prev_post = get_previous_post();
    if ($prev_post)
    {
        $prev_title = strip_tags(str_replace('"', '', $prev_post->post_title));
        if (strlen($prev_title) >= 60)  //<-- here is your custom checking
        {
            $prev_title = (substr($prev_title, 0, 60)) . "...";
        }
        echo "\t" . '<a rel="prev" href="' . get_permalink($prev_post->ID) . '" title="' . $prev_title . '" class=" "><strong><<< &quot;' . $prev_title . '&quot;</strong></a>' . "\n";
    }

    ?>
</div>
<div class="next-posts pull-right">
    <?php
    $next_post = get_next_post();
    if ($next_post)
    {
        $next_title = strip_tags(str_replace('"', '', $next_post->post_title));
        if (strlen($next_title) >= 60) //<-- here is your custom checking
        {
            $next_title = (substr($next_title, 0, 60)) . "...";
        }
        echo "\t" . '<a rel="next" href="' . get_permalink($next_post->ID) . '" title="' . $next_title . '" class=" "><strong>&quot;' . $next_title . '&quot; >>></strong></a>' . "\n";
    }

    ?>
</div>

Hope this helps! 希望这可以帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM