我有一个页面,可以检索来自同一标签或类别下的多个博客的博客文章。我在检索博客文章的永久链接时遇到问题,它始终重定向到同一博客,并说该页面不存在,即它始终转到第5行中所述的博客#5,而忽略了switch语句。我的代码:

<?php
        global $wpdb;
        global $post;
        $tag = $_GET['avain'];
        $postarr = array();
        switch_to_blog( 5 );
        $blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs} WHERE blog_id != {$wpdb->blogid} AND site_id = '{$wpdb->siteid}'  AND spam = '0' AND deleted = '0' AND archived = '0'", ARRAY_A);
        array_unshift($blogs, 1);
        foreach($blogs as $blog) {
            $wpdb->set_blog_id($blog[ 'blog_id' ]);
            $tax_id = $wpdb->get_var("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE (taxonomy = 'post_tag' OR taxonomy = 'category') AND term_id IN (SELECT term_id FROM $wpdb->terms WHERE name='$tag')");
            $post_id = $wpdb->get_results("SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id = $tax_id");
             foreach ($post_id as $id) {
$postarr[] = $id->object_id;
}

$postsAsCommaSepString = implode( ',', $postarr );

$posts = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}posts WHERE ID IN    ($postsAsCommaSepString)");
            foreach ($posts as $post):setup_postdata($post);
            $author = get_the_author();
            switch ($author) {
case "Kate":
    switch_to_blog(3);
    break;
case "Maria":
    switch_to_blog(4);
    break;
case "Germanica":
    switch_to_blog(5);
    break;

}
                        ?>

                <div class="post"><header class="post-header"><div class="date-holder"><span><?php the_time('j F, Y') ?></span></div>
                <a href="<?php echo get_permalink($post->ID); ?>"><?php the_title(); ?></a></header>
                <div class="post-content"><?php the_content(); ?></div></div>
            <?php endforeach;
            wp_reset_postdata();
        }
        ?>

最佳答案

是因为你放

 switch_to_blog(5);


在第5行中,并且该页面将您重定向到该博客,甚至尚未读取switch语句?

只是问,我不太了解您的代码,但是希望您对此有所帮助!

关于php - 该帖子的永久链接不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27348218/

10-09 07:48