Get_permarink在没有HTTPS的情况下执行链接

时间:2016-09-04 作者:Chymmi

目前我使用的是https版本的网站,一切都很好,我为https设置了网站主url,在查看帖子编辑器时有https permalink呈现。。在所有分类页面、主页等上一切正常。

但当我使用自定义站点地图功能(我为其创建了自己的插件)时,它会将站点地图与http:////

add_action("publish_post", "eg_create_sitemap");
add_action("publish_page", "eg_create_sitemap");
add_action( "save_post", "eg_create_sitemap" );
function eg_create_sitemap() {
if ( str_replace( \'-\', \'\', get_option( \'gmt_offset\' ) ) < 10 ) { 
    $tempo = \'-0\' . str_replace( \'-\', \'\', get_option( \'gmt_offset\' ) ); 
} else { 
    $tempo = get_option( \'gmt_offset\' ); 
}
if( strlen( $tempo ) == 3 ) { $tempo = $tempo . \':00\'; }
$postsForSitemap = get_posts( array(
    \'numberposts\' => -1,
    \'orderby\'     => \'modified\',
    \'post_type\'   => array( \'post\', \'page\' ),
    \'order\'       => \'DESC\'
) );
$sitemap .= \'<?xml version="1.0" encoding="UTF-8"?>\' . \'<?xml-stylesheet type="text/xsl" href="\' . 
    esc_url( home_url( \'/\' ) ) . \'sitemap.xsl"?>\';
$sitemap .= "\\n" . \'<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\' . "\\n";
$sitemap .= "\\t" . \'<url>\' . "\\n" .
    "\\t\\t" . \'<loc>\' . esc_url( home_url( \'/\' ) ) . \'</loc>\' .
    "\\n\\t\\t" . \'<changefreq>daily</changefreq>\' .
    "\\n\\t\\t" . \'<priority>1.0</priority>\' .
    "\\n\\t" . \'</url>\' . "\\n";
foreach( $postsForSitemap as $post ) {
    setup_postdata( $post);
    $postdate = explode( " ", $post->post_modified );
    $sitemap .= "\\t" . \'<url>\' . "\\n" .
        "\\t\\t" . \'<loc>\' . get_permalink( $post->ID ) . \'</loc>\' .
        "\\n\\t\\t" . \'<changefreq>Weekly</changefreq>\' .
        "\\n\\t\\t" . \'<priority>1</priority>\' .
        "\\n\\t" . \'</url>\' . "\\n";
}
$sitemap .= \'</urlset>\';
$fp = fopen( ABSPATH . "sitemap.xml", \'w\' );
fwrite( $fp, $sitemap );
fclose( $fp );
}
}

1 个回复
SO网友:prosti

这可能被称为get_permalink, 但事实可能并非如此。我也有同样的案子echo site_url(); 我得到了https://...

但一旦我更新了siteurlhome 拥有https

get_option( \'siteurl\' );
get_option( \'home\' );
get_permalink 工作正常。

我注意到在multisite上。

相关推荐

GET_POSTS查询大约需要40秒来执行

我在get\\u帖子中有一个元查询,它需要花很长时间才能完成。它工作得很好,但只是时间太长了。我有一个名为event. 在每个event 发布后,有自定义元数据:post\\U sort\\U日期(事件日期YmdHis 格式,用于排序)我需要做的是获取下一个事件,该事件相对于$year 和$month 变量。所以如果$year = 2021 和$month = 10 (2021 10月)然后应该在2021 11月或之后找到第一个事件。我下面的查询很好,但很慢。执行大约需要40秒,我不知道为什么。$next