如何在 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 帖子

php 获取当前帖子类型的所有分类和术语

如何获取当前帖子的 ID 以添加评论

在wordpress中获取帖子的作者ID

如何通过javascript获取FB帖子链接?

Facebook Graph api使用javascript获取fb帖子以显示在网站中