wordpress - 如何更改帖子类型“页面”上 CPT 循环的摘录长度?
问题描述
当我在主页上循环浏览 CPT 时,它会正确显示,但我无法控制摘录长度。
我想在我的首页循环浏览 4 个不同的 CPT。循环正在工作,但我控制摘录长度的条件逻辑没有按预期工作,因为 get_post_type 返回“页面”而不是实际的 CPT。
这是在我的functions.php中:
add_filter('excerpt_length', 'll_get_excerpt_length');
function ll_get_excerpt_length($size) {
if (is_post_type_archive('post')) {
return 40;
} elseif (is_post_type_archive('podcast')) {
return 15;
} elseif (is_post_type_archive('review')) {
return 5;
} else {
return $size;
}
}
当 var 转储帖子类型时,我得到“页面”,所以我不知道在哪里或如何控制摘录的各种长度。
我希望我首页上的每个 CPT 循环的摘录长度都是正确的。
当我用 print_r 添加以下内容时,我只进入函数而不进入 ifs。
add_filter('excerpt_length', 'll_get_excerpt_length');
function ll_get_excerpt_length($size) {
print_r(get_post_type());
if (is_post_type_archive('post')) {
print_r(get_post_type());
return 40;
} elseif (is_post_type_archive('podcast')) {
print_r(get_post_type());
return 15;
} elseif (is_post_type_archive('review')) {
print_r(get_post_type());
return 5;
} else {
return $size;
}
}
任何帮助将不胜感激!
解决方案
如果您不检查 is_single(), is_singular('podcast') 而不是在存档页面上,is_post_type_archive 只会返回 true 吗?
推荐阅读
- jpa - 休眠@OneToMany where discriminatorValue = 'SOMETHING'
- python - 如何使“class1 * class2”表现得像“class2 * class1”?
- extendscript - 通过extendscript改变bg,将一张图片导入到After Effects项目的“背景合成”中
- jquery - 在 Jquery 中查找并附加相关类
- python - 我想打开网站中的每个项目以使用 selenium 和 python 进行抓取
- vuejs2 - 鼠标悬停在儿童身上时会触发 V-on mouseout
- javascript - 如何在 JS 中增加 div 的顶部属性?
- html - SVG 动画 - 如何反转此 svg 路径中的起点和终点?
- salesforce - 使用 Apex 重复填充 Visualforce 表
- php - 如何将 SQL LIKE 子句与 mysqli 准备好的语句一起使用