WordPress:如何通过自定义分类在作者页面中显示帖子计数

2024-02-25

我正在尝试使用计数器在作者页面中显示自定义分类,但似乎我不知道该怎么做。

我有一个代码函数.php

    add_action( 'pre_get_posts', function ( $q ) {

    if( !is_admin() && $q->is_main_query() && $q->is_author() ) {

        $q->set( 'posts_per_page', 100 );
        $q->set( 'post_type', 'custom_feedback' );

    }

});

在我的作者页面中:

<div class="feedback-respond"> 
         <h3 class="feedback-title">User Feedback </h3>
             <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
               <?php the_content(); ?>
             <?php endwhile; else: ?>
               <p><?php _e('No posts by this author.'); ?></p>
             <?php endif; ?> 
            </div>

该代码适用于所有作者个人资料,但我不知道如何让自定义分类显示如下:

用户反馈

6 正面反馈 4 负面反馈

所有反馈都在这里

所有反馈都在这里

所有反馈都在这里

顺便说一下,它是一个自定义帖子类型(custom_feedback)和自定义分类法(feedback_taxonomy),有两个类别“正面”和“负面”。

请高手帮忙?


实现这一点的唯一方法是运行两个单独的查询并计算从两个单独的查询返回的帖子。为此我们将使用get_posts as get_posts已经将一些重要的默认值传递给WP_Query使查询更快、更注重性能。

我们将为查询添加一个巨大的时间和资源节省器,'fields' => 'ids'。它的作用是,它只获取帖子 ID,而不是完整的帖子对象。这可以将查询时间和数据库查询减少 99%,因此即使您要在整个数据库上运行 2 个单独的查询,页面性能的损失也不会明显。

让我们将所有内容放入代码中(这进入author.php,注意,此代码未经测试,至少需要 PHP 5.4+)

$author_id = get_queried_object_id(); // Gets the author id when viewing the author page

// Add our term slugs into an array. 
$terms = ['positive', 'negative']; // Just make sure these values are correct
$count = [];
foreach ( $terms as $term ) {
    // Build our query
    $args = [
        'nopaging' => true,
        'post_type' => 'custom_feedback',
        'author' => $author_id,
        'tax_query' => [
            [
                'taxonomy' => 'feedback_taxonomy',
                'field' => 'slug',
                'terms' => $term
            ],
        ],
        'fields' => 'ids'
    ];
    $q = get_posts( $args );

    // Count the amount of posts and add in array
    $count[$term] = count( $q );
}

// Display our text with post counts, just make sure your array keys correspond with your term slugs used
$positive = ( isset( $count['positive'] ) ) ? $count['positive'] : 0;
$negative =( isset( $count['negative'] ) ) ? $count['negative'] : 0;

echo $positive . ' POSITIVE feedback ' . $negative . ' NEGATIVE feedback';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress:如何通过自定义分类在作者页面中显示帖子计数 的相关文章

随机推荐

  • 如何限制角度摘要仅影响/重新渲染一个组件/指令

    我正在开发一个有角度的应用程序 网站 现在才意识到 每当触发模型更改 摘要时 它都会导致整个页面重新渲染 这看起来既浪费又缓慢 有没有办法导致 限制摘要仅影响它所使用的指令 控制器 例如 如果我有一个带有 interval 的 时钟 指令来
  • 重新加载 Web 项目时 Visual Studio 2019 值未落在预期范围内

    我刚刚升级到VS2019 Pro 我正在设置新的溶液过滤器功能允许我仅使用我正在处理的项目的依赖项来部分加载我的解决方案 并在加载 或重新加载 ASP Net MVC Web 项目时遇到问题 看这里 https youtu be u5Yau
  • auth.getAccessTokenAsync 的 Outlook 插件错误代码 13005

    所以我尝试在 Outlook 插件中使用单点登录 我已在以下位置注册了我的应用程序https apps dev microsoft com https apps dev microsoft com 在我的清单中我有
  • Rails:强制用户在保存父对象之前创建子对象

    我是 Ruby on Rails 的初学者 目前 我遇到以下问题 我有一堂课Game有一系列图片和句子交替出现 我希望创建新的用户Game需要给出一张起始图片或句子 如果他不这样做 我不想将新创建的游戏保存到数据库中 class Game
  • subl 在这里做什么?

    所以 我正在使用 gcc S O2 m32 编译成汇编程序 void h int y int x x y 1 f y f 2 它给了我以下内容 file sample c text p2align 4 15 globl h type h f
  • 有没有办法直接在类属性中使用bootstrap 5自定义颜色?

    就像我们一样 span class text primary some text span 我想知道是否有办法做到 span class text red 300 some text span red 300 是 bootstrap 5 自
  • 共享常量池?

    与 Java 虚拟机相比 Dalvik 虚拟机获得 共享常量池 意味着什么 这是什么好处 Dalvik 机器如何实现这一点 Java 虚拟机将每个类存储在单独的 class 文件中 每个类文件都有一个常量池 用于存储字符串 方法名称 类名称
  • @staticmethod 在 CPython 或 Micropython 中保存任何内存吗?

    在回答最近的问题时 我重复了我的假设 即使用的一个原因 staticmethod是为了节省内存 因为静态方法只被实例化一次 这个断言可以在网上很容易找到 例如here https newbedev com what is the advan
  • 无法启动mongos

    我正在尝试设置简单的分片 在没有任何副本集的单个主机上 但是我无法继续下去 因为当我尝试启动 mongos 时会发生这种情况 C gt mongos configdb localhost 27010 port 27011 I get Bad
  • android:使用ActivityGroup嵌入活动

    我正处于构建应用程序的概念化 设计阶段 但遇到了一些障碍 本质上 我正在寻找一种将一个活动嵌入到另一个活动的 UI 中的方法 类似于 TabHost TabActivity 的方式 屏幕顶部将有一个窗口 其中包含其他活动 其下方将是独立于上
  • 如何在Azure中托管的React应用程序中使用环境变量

    我对 React 还很陌生 并且总体上也在探索 Azure 我有 ERP 背景 但该背景确实包括使用 VSTS 和 CI CD 等工具 我非常依赖使用 VSTS 中的 库 来指定每个环境的变量 然后在部署时指定这些变量 但 我一直在互联网上
  • Bash 变量格式

    关于使用 BASH 编写脚本 以下变量之间有什么区别 var var var var 之间没有区别 var and var 之间没有区别 var and var 但在某些情况下 当您使用以前的版本时 解析器可能无法识别您的意图 考虑 foo
  • xpath:有没有办法获取xpath中所有孩子的文本

    我在 Firefox 上使用 xpath 引擎 我有html span b prefix one b not bold part span span prefix two not bold part span 我想要所有的span具有以 前
  • Excel 滚动条不允许屏幕更新,除非您“放下”滚动条

    希望这很简单 但经过一个小时的在线搜索后 我找不到其他人抱怨这个问题 也许我只是还没有找到合适的措辞来描述它 我的公司最近切换到 Excel 2016 我讨厌滚动条的工作方式 如果您用鼠标拖动滚动条 当前视图将冻结在适当的位置 直到您 放下
  • 根据使用 python 的字符串经验转换为年数[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一列数据如下 9年3个月22天 如何将其转换为 9 3 12 22 365 9 31 我想要输出为 9 31 如何在 python 中做
  • .NET 中的 PHP htmlspecialcharacters 等效吗?

    PHP 有一个很棒的函数 叫做html 特殊字符 https www php net manual en function htmlspecialchars php当你向它传递一个字符串时 它会用它们的安全等价物替换所有 HTML 特殊字符
  • 将 WiX UI 迁移到 Burn

    我有一个可用的 WiX 安装程序 带有使用 WixUI Mondo MyApp wxs 文件的自定义 UI 我必须扩展我的安装程序才能运行另一个 exe 安装程序 我知道 Burn 是实现此目的的方法 我创建了一个 Burn 项目 将我的原
  • jquery移动页面闪烁

    页面加载后和执行 listview refresh 时页面闪烁 所以在转换之后会出现闪烁 friendsList append data listview refresh 我得到了闪烁 尝试添加 EDIT 刷新列表视图时 我理解列表视图内的
  • 为什么从 AngularJS 控制器内部加载时 google graph 不起作用。浏览器变白,控制台中没有任何错误

    这样 当我像在页面加载期间一样加载它时 我的直方图就可以正常工作 document ready x new Array 10 for var i 0 i lt 10 i x i new Array 2 x i 0 txt x i 1 100
  • WordPress:如何通过自定义分类在作者页面中显示帖子计数

    我正在尝试使用计数器在作者页面中显示自定义分类 但似乎我不知道该怎么做 我有一个代码函数 php add action pre get posts function q if is admin q gt is main query q gt