【问题标题】:Allow users to changer the sort order允许用户更改排序顺序
【发布时间】:2021-01-02 22:36:53
【问题描述】:

如何允许用户根据自定义字段更改帖子的顺序?

例如:

第一个自定义字段:Value1,第二个自定义字段:Value2。

在存档页面中,帖子默认按值 1 的顺序显示,过滤器(链接)允许根据值 1 或 2 对它们进行排序。

【问题讨论】:

    标签: php sql wordpress


    【解决方案1】:

    按照https://developer.wordpress.org/reference/hooks/pre_get_posts/#comment-2571 的示例使用 pre_get_posts 挂钩。这假设您的自定义字段存储为 post_meta。

    请注意,您需要非常小心,您只在您想要影响的时候影响您想要影响的查询。在这个例子中,他们正在检查他们不在管理员中,他们只做事件(在你的情况下你想要帖子)并且它是主查询(不是说小部件或其他一些功能正在运行的另一个查询)。考虑将其限制在您希望它运行的页面或将代码放在主题模板中,以便它仅针对该模板运行,而不是在任何其他时间运行。

    【讨论】:

    • 谢谢,我对这个功能很熟悉,但我希望创建一个过滤器来允许用户更改顺序。
    • 我假设您的意思是您仍然需要一种方式让他们说出他们想要的顺序?您需要决定是他们从页面动态决定的东西吗?查看帖子存档和新的排序顺序仅适用于该运行,或者是他们在设置屏幕中指定的东西,您保存选择然后查看并应用到上面的过滤器?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多