多站点-获取当前帖子ID

时间:2019-12-12 作者:Mirko Rapisarda

我在我的项目中使用WPMU,但是我在从所有站点获取当前帖子id时遇到了一些问题。如果我运行此代码,我将收到当前站点的相同帖子id,而不是所有其他站点的不同帖子id。是这样的switch_to_blog 不起作用。如何从所有站点获取当前帖子的所有ID?

$sites = get_sites();

/** @var WP_Site $site */
foreach ($sites as $site) {
    if ( $site->archived || $site->spam || $site->deleted ) {
        continue;
    }

    switch_to_blog( $site->blog_id );
    var_dump( get_the_ID() );
}
restore_current_blog();
die;

2 个回复
SO网友:Hasan Uj Jaman

try this

$sites = get_sites();
global $switched;

/** @var WP_Site $site */
foreach ($sites as $site) {
if ( $site->archived || $site->spam || $site->deleted ) {
    continue;
}

switch_to_blog( $site->blog_id );
$all_posts = get_posts(\'category=-3&numberposts=6&orderby=post_name&order=DSC\');
?>
<ul>
<?php foreach($all_posts as $post) : setup_postdata($post);?>
    <li>
        <a href="<?php echo get_page_link($post->ID); ?>" title="<?php echo 
         $post->post_title; ?>"><?php echo $post->post_title; ?></a>
    </li>                                
<?php endforeach ; ?>
</ul>
<?php
}
restore_current_blog();
die;
SO网友:Hasan Uj Jaman

use global $post. And use $post->ID

相关推荐

Order Posts in Custom Order

我正在尝试创建一种自定义方式来订购新的自定义帖子类型。以下是我的设想:有一种定制的方式,可以按照完全独特的显示顺序(数字、自动值等)对帖子进行排序,这样我就不需要手动更改帖子上的大量发布日期来获得正确的顺序</如果没有输入数字/自动值等,则将根据列表末尾发布的时间显示我正在使用CMB2作为自定义帖子类型上的元数据字段。有人有什么建议或想法吗?我意识到这是一个复杂的问题,但我希望能够按自定义顺序排序帖子,而不是按作者、发布日期或标题。