将Get_Sites子站点ID与Get_BloInfo“()和/或Get_Customer_徽标一起使用

时间:2018-09-13 作者:Trip Vendors Inc

我无意中在另一个stackexchange中发布了此问题的副本,但它被错误地标记为重复,并由使用弃用代码回答的另一个问题解决

因此,我将在Wordpress论坛上重新提问,那里可能有更多的专业知识

我正在尝试组合功能,但不知道如何实现

我正在成功地使用get\\u站点生成WP多站点子站点列表。

我希望还可以拉get\\u custom\\u logo来显示徽标,并为$site\\u description=get\\u bloginfo(“description”)之类的内容获取\\u bloginfo;

只是不知道如何合并GET。这起作用了

/** get sites */
function make_list_shortcode() {
$subsites = get_sites(
[
\'public\'  => 1,
\'number\'  => 500,
\'orderby\' => \'last_updated\',
\'order\'   => \'DESC\',
]
);
if ( ! empty ( $subsites ) ) {
$html = \'<ul class="icon-bullets-greater">\';
foreach( $subsites as $subsite ) {
$subsite_id = $subsite->blog_id;
$subsite_name = get_blog_details( $subsite_id )->blogname;
$subsite_link = get_blog_details( $subsite_id )->siteurl;
$subsite_domain = get_blog_details( $subsite_id )->domain;
$subsite_path = get_blog_details( $subsite_id )->path;
$html .= \'<li style="list-style: none!important;" class="site-\' . 
$subsite_id . \'" ><a href="\' . $subsite_link . \'" target="_blank">\' . 
$subsite_name . \'</a> at \' . $subsite_domain . \'\' . $subsite_path . \' </li>\';
}
$html .= \'</ul>\';
return $html;
}
}
add_shortcode(\'list_sites\', \'make_list_shortcode\');
谢谢你的帮助,谢谢

2 个回复
SO网友:Trip Vendors Inc

对此进行修改,非常有用,谢谢

//切换到Blog Switch\\u to\\u Blog($子网站->Blog\\u id)$site\\u description=获取博客信息(“description”);restore\\u current\\u blog();

仍在努力调用徽标

SO网友:Ittikorn S.

我假设您在多站点上使用的主题支持主题徽标功能。那么你可以简单地使用get_theme_mod(\'custom_logo\'). 请注意custom_logo 由主题开发人员命名,某些主题可能与其他主题不同。

<?php
/** get sites */

function make_list_shortcode()
    {
    $subsites = get_sites([\'public\' => 1, \'number\' => 500, \'orderby\' => \'last_updated\', \'order\' => \'DESC\', ]);
    if (!empty($subsites))
        {
        $html = \'<ul class="icon-bullets-greater">\';
        foreach($subsites as $subsite)
            {
            $subsite_id = $subsite->blog_id;
            $subsite_name = get_blog_details($subsite_id)->blogname;
            $subsite_link = get_blog_details($subsite_id)->siteurl;
            $subsite_domain = get_blog_details($subsite_id)->domain;
            $subsite_path = get_blog_details($subsite_id)->path;

            // Switch to Blog
            switch_to_blog( $subsite->blog_id );
            $custom_logo_id = get_theme_mod( \'custom_logo\' );
            $logo = wp_get_attachment_image_src( $custom_logo_id , \'full\' );

            // Added the image tag and src path
            $html.= \'<li style="list-style: none!important;" class="site-\' . $subsite_id . \'" ><img src="\'.$logo.\'" /><a href="\' . $subsite_link . \'" target="_blank">\' . $subsite_name . \'</a> at \' . $subsite_domain . \'\' . $subsite_path . \' </li>\';
            }

        $html.= \'</ul>\';
        return $html;
        }
    }

add_shortcode(\'list_sites\', \'make_list_shortcode\');

结束

相关推荐

使用WP MultiSite在htaccess文件中为不同的域创建重写规则

通常,如果您有一个WordPress网站,那么在.htaccess 您的域的文件。例如,如果您的域是DomainA。com,您有以下重写规则:RewriteRule ^i-like-([a-zA-Z0-9-]+)/$ wp-content/themes/customtheme/custom-pages/ilike.php?like=$1 [L] 你将获得域名。com/i-like-。。。但如果我有一个包含以下域的多站点,该怎么办:域名。com(主域)域B。com(映射域)域C。com(映射域),