我在我的网站上安装了Yoast Seo插件,这会带回每个帖子的社交分享数量,并将其存储在数据库中。
是否可以更改存档页面以按社交份额的数量对帖子进行排序?
我已经尝试过这里列出的一些东西,但似乎无法让它工作
<?php
/* The loop */
while ( have_posts() ) : the_post();
include( locate_template( 'content-' . $layout_this . '.php' ) );
endwhile;
?>
答案 0 :(得分:1)
这个可能比你想象的更难。 Yoast SEO实际上并不存储任何特定社交媒体实际共享的次数。这是通过不断地运行来自相应社交媒体API的检查来完成的,并且将检索在相应帖子上发生的份额/喜欢的数量。
基本上需要做的是你需要以类似的方式挂钩到Yoast这样做,然后开始比较从API发回的值,以便订购你的帖子前端由多个股票组成。
功能的想法非常有用......我希望将来会有一个新的表添加或者使用Yoast插件实际上可以保存这些数据而不必参考API
编辑:理论上,如果您知道从数据库中使用了哪些元值,那么这应该是可行的。只要帖子与这些值相关联,这应该是可能的。您可以使用特定元键查询帖子并对其进行排序。以下是模板中可能有效的示例,并进行了一些调整。
$args= query_posts(
array( 'post_type' => 'your post type', //for posts, enter 'post'
'order' => 'ASC',
'meta_key' => 'some_key', //the meta key
'orderby' => 'meta_value', //or 'meta_value_num'
)
);
在这里也看到,有人问了一个非常相似的问题:How to fetch posts order by meta value?