wordpress获取home_wordpress获取当前页面链接

我们知道wordpress的<?php the_permalink(); ?>和<?php echo get_permalink(); ?>可以获取页面链接,但是有些比较复杂的环境可能输出的链接是错误的,那要如何获取当前页面链接呢?可以试一下用下面的方法

global $wp;

$current_url = home_url(add_query_arg(array(),$wp->request));

echo $current_url;

?>

还有更复杂的方法

function get_current_archive_link( $paged = true ) {

$link = false;

if ( is_front_page() ) {

$link = home_url( '/' );

} else if ( is_home() && "page" == get_option('show_on_front') ) {

$link = get_permalink( get_option( 'page_for_posts' ) );

} else if ( is_tax() || is_tag() || is_category() ) {

$term = get_queried_object();

$link = get_term_link( $term, $term->taxonomy );

} else if ( is_post_type_archive() ) {

$link = get_post_type_archive_link( get_post_type() );

} else if ( is_author() ) {

$link = get_author_posts_url( get_query_var('author'), get_query_var('author_name') );

} else if ( is_archive() ) {

if ( is_date() ) {

if ( is_day() ) {

$link = get_day_link( get_query_var('year'), get_query_var('monthnum'), get_query_var('day') );

} else if ( is_month() ) {

$link = get_month_link( get_query_var('year'), get_query_var('monthnum') );

} else if ( is_year() ) {

$link = get_year_link( get_query_var('year') );

}

}

}

if ( $paged && $link && get_query_var('paged') > 1 ) {

global $wp_rewrite;

if ( !$wp_rewrite->using_permalinks() ) {

$link = add_query_arg( 'paged', get_query_var('paged'), $link );

} else {

$link = user_trailingslashit( trailingslashit( $link ) . trailingslashit( $wp_rewrite->pagination_base ) . get_query_var('paged'), 'archive' );

}

}

return $link;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值