WordPressでページURLを取得するときは、下記のやり方が多いです。
<?php
$url = '';
if( is_singular() ) {
setup_postdata($post);
$url = get_permalink();
wp_reset_postdata();
} elseif ( is_front_page() || is_home() ) {
$url = home_url();
}
echo esc_attr( $url );
でも、たまにダメなときがあるので、下記を使うことが多いです。
function.phpで定数定義
<?php
// 定数定義
// 現在のURL
// 表示されているURL:定数名「PAGE_URL」.
if ( isset( $_SERVER ) ) {
$server_sanitize = wp_unslash( $_SERVER );
$domain_host = isset( $server_sanitize['HTTP_HOST'] ) ? wp_unslash( $server_sanitize['HTTP_HOST'] ) : '';
$domain_request = isset( $server_sanitize['REQUEST_URI'] ) ? wp_unslash( $server_sanitize['REQUEST_URI'] ) : '';
$domain_ssl = isset( $server_sanitize['HTTPS'] ) && 'off' !== $server_sanitize['HTTPS'] ? 'https://' : 'http://';
}
define( 'PAGE_URL', $domain_ssl . $domain_host . $domain_request );
使うとき
<?php echo esc_url( PAGE_URL ); ?>
なんだかんだで、opgのurlを出すときなど、下記の方が便利です。
もしかしたら、https:// か http:// の判別でトラブルかもです。トラブったらすみません。

