我如何只展示the_content()的前X个单词,但仅针对移动设备?
答案 0 :(得分:1)
您可以在主题文件夹中添加functions.php
文件并执行以下操作
add_filter("the_content", "plugin_myContentFilter");
function plugin_myContentFilter($content)
{
if (wp_is_mobile())
return substr($content, 0, 100); // Show the first 100 characters of content if the user is visiting using a mobile device
else
return $content;
}
请注意,我没有对此进行过测试,但理论上我认为它应该可行。
来源:
答案 1 :(得分:0)
你可以使用它;
<?php
function getFirstXWord($string, $a) {
$temp = explode(" ", $string);
return implode(" ", array_slice($temp, 0, $a, true));
}
echo getFirstXWord("this is a content but do not trust this content", 5);
?>
以下是一个有效的演示: codepad
对于移动检测部分,您可以使用php-mobile-detect课程。项目中有一些例子,我没有在这里说明
答案 2 :(得分:0)
立刻想到两种方式。
一种方法是使用PHP检查客户端的用户代理,然后使用the_excerpt()
获取帖子的摘录。您可以使用以下代码修改您获取的摘录的长度。
add_filter('excerpt_length', function() {
return 20;
}, 999);
有关the_excerpt()
click here的更多信息;有关add_filter
,click here的更多信息。
或者,您可以使用CSS和媒体查询(更多信息here)来处理移动设备。基本上你需要两个容纳帖子内容的容器:
<div class="post desktop">
Your post content here!
</div>
<div class="post mobile">
Your mobile excerpt...
</div>
在你的CSS中:
.mobile {
display: none;
}
@media (max-width: < target device width goes here >) {
.desktop {
display: none;
}
.mobile {
display: block;
}
}
答案 3 :(得分:0)
在content.php
中,您可以更改以下内容:
<?php if ( is_search()) : ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
到
<?php if ( is_search() || wp_is_mobile()) : ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
您可以将摘录长度设置为您想要的长度