whitefiredesign/wp-stick-posts-to-term

此插件添加了简单的按术语特定的置顶帖子功能

1.0.1 2016-09-06 14:41 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:47:19 UTC


README

##贡献者 Stick Posts To Term: bambattajb 标签:分类,帖子 需要:至少 4.4.2 测试到:4.4.2 稳定标签:1.0.3 许可证:GPLv2 或更高 许可证 URI:https://gnu.ac.cn/licenses/gpl-2.0.html

##描述 此插件添加了简单的按术语特定的置顶帖子功能 我创建此插件是因为我想让内容管理员能够灵活地将置顶帖子设置到任何分类或术语。

它更像是一个开发者工具。它不会“即开即用”。您需要将代码添加到主题模板文件中才能使其正常工作。

这主要是对@tommcfarlin插件 Category Sticky Post https://en-gb.wordpress.org/plugins/category-sticky-post/ 的改编。Tom,我也借鉴了一些你的代码;希望你不要介意。干杯,伙计 :)

如果你在寻找一个简单的方法在按分类显示置顶帖子,Tom的插件实际上可以“即开即用”。

##使用方法 当插件安装后,编辑帖子屏幕中会创建一个名为 分类置顶 的元框。当内容管理员将分类或术语分配给帖子时,它将显示所有可能的帖子置顶位置。

为了在前端显示此内容,我们使用以下静态方法

$sticky_query = StickyPost::query([taxonomy=string], [term=integer], [posts_per_page=integer]);

这将返回以下内容

stdClass Object
    [query]     => WP_Query Object ## Use as the query for the loop
    [post_ids]  => Array ## The list of post ids that have been queried

##示例

在分类模板中使用

由于分类模板可能只是一个基本的循环,我们需要动态添加参数

$sticky_query = StickyPost::query('category', get_queried_object()->term_id, 2);
global $wp_query;
$args = array_merge( $wp_query->query_vars, array( 'post__not_in' => $sticky_query->post_ids ) );
query_posts($args);

在新WP_Query的术语模板中使用

假设我们想要在当前术语中返回2个置顶帖子,并希望从另一个自定义 WP_Query 中移除这些返回的帖子

$sticky_query = StickyPost::query('topic', get_queried_object()->term_id, 2);

if ( $sticky_query->query->have_posts() ) {
    while ( $sticky_query->query->have_posts() ) {
    $sticky_query->query->the_post();

        // LoopdeLoop
                            
    }
}

$main_query = new WP_Query(array(
    // ...args galore
    'post__not_in' => $sticky_query->post_ids
));

版本历史

1.0.3 修复了get_stickies('query')参数在未找到ID时返回完整结果 修复了get_stickies('query')返回的结果多于预期

1.0.2 添加了新的函数 StickyPost::get_stickies([string] $type='ids', [string] $tax = false, [int], $term = false)

1.0.1 添加了composer支持

1.0.0 首次发布

0.0.3 添加了新的参数 post_typesStickyPost::query 将名称从 stick posts to category 改为 stick posts to term

0.0.2 添加了帖子表中的置顶过滤器 添加了选项页面来开启/关闭帖子类型的术语

##待办事项

  • 添加选项面板
  • [选项] 选择启用的术语
  • 创建无需编码的默认功能