如何在 JavaScript 中获取当前的帖子类型?
Posted
技术标签:
【中文标题】如何在 JavaScript 中获取当前的帖子类型?【英文标题】:How to get the current post type in JavaScript? 【发布时间】:2021-12-16 07:20:01 【问题描述】:我想通过“帖子类型”更改几种背景颜色。 我不知道如何查询“帖子类型”。 我知道,我的代码是 100% 错误的。我在网上搜索了解决方案。但是找不到任何东西,这会起作用。
(function()
var elements, posttype;
function init()
elements = document.querySelectorAll('.color');
posttype = get_post_type();
function checkColor()
if (posttype === 'veranstaltung')
element.classList.add('pink');
element.classList.remove('color');
else if (posttype === 'ausstellung')
element.classList.add('green');
element.classList.remove('color')
else if (posttype === 'digitale-events')
element.classList.add('red');
element.classList.remove('color')
init();
checkColor();
)();
【问题讨论】:
您是否在页面某处写下该属性以进行查找? (不确定这在 wordpress 中是如何工作的)看起来很奇怪,您不会在模板中使用 post 类型并设置一个类,因此您不必在 javascript 中执行此操作。 我希望,我理解你的问题。英语不是我的母语。我所知道的是,Wordpress 在创建帖子时将帖子类型和其他内容存储在数据库中。我必须用Javascript来做。因为我想将一些 Navs 的颜色更改为。 【参考方案1】:如果您在 function.php 中创建一个函数,则一种方法是 javascript,您必须调用所有自定义帖子类型并在 javascript 中返回所有带有 ajax 的帖子,我不建议这样做,第二种方法是 create a custom page 和用php显示所有custom post type,然后你必须做一个条件来检查哪个帖子类型是帖子,然后为每个自定义帖子类型添加一个自定义类。*注意:这会获取所有自定义类型的帖子使用:
$posts = get_posts([
'post_type' => 'custom',
'post_status' => 'publish',
'posts_per_page' => -1,
'order' => 'ASC'
]);
【讨论】:
谢谢,我会试试的。我想我明白了。但我不舒尔,我可以让它工作。 @DerJaeger 只需按照我在第二种方法中所说的,您可以通过谷歌上的一些搜索来做到这一点:) 我必须为每种帖子类型创建不同的自定义页面,对吧? 不,只有一页并从自定义帖子中获取所有帖子,输入我在答案中使用的代码以上是关于如何在 JavaScript 中获取当前的帖子类型?的主要内容,如果未能解决你的问题,请参考以下文章
使用 WP Rest API javascript Client (backbonejs) 获取自定义帖子类型的 wordpress 帖子