从网络中的所有站点使用Get_Theme_mod

时间:2017-06-23 作者:Gregory Schultz

我正在创建一个显示网络中所有站点的站点。网络中的每个站点都有一个主题自定义程序,用户可以在其中输入文本。我能够获得网站的名称和url,但需要找到一种方法从该网站获取主题选项。

这是我目前使用的代码:

<?php $bcount = get_blog_count(); global $wpdb; $blogs = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->blogs WHERE spam = \'0\' AND deleted = \'0\' and archived = \'0\' and public=\'1\'"));?>
<?php foreach($blogs as $blog) :?>
<?php if(!(($blog->blog_id == 1)&&($show_main != 1))):?>
    <a href="<?php echo get_blog_details($blog->blog_id)->siteurl; ?>"><?php echo get_blog_details($blog->blog_id)->blogname;?></a>
<?php endif;?>
<?php endforeach;?>
我也试过了get_template_part 但那没用

<?php echo get_template_part( \'twsa_show_about\', get_blog_details($blog->blog_id)->blog_id );?>

1 个回复
最合适的回答,由SO网友:Aniruddha Gawade 整理而成

您必须使用切换到您的博客switch_to_blog( $blog->blog_id ); 以及访问您想要从该博客获取的数据。

switch_to_blog( $blog->blog_id );
get_theme_mod(\'your_key\');
这将为您提供该博客的自定义选项数据。

此外,我不确定您在哪里使用此代码,但不是使用wpdb 可使用的查询get_sites 获取网站列表。

请参见:https://developer.wordpress.org/reference/functions/get_sites/

希望这是你想要的。

结束