我只是尝试创建一个页面链接,并且尝试将键/值与请求一起传递:
<a href=http://example.com?id=2075> Go to a page </a>
这是我的代码
<?php
$my_url = add_query_arg( 'id', the_ID(), 'http://example.com' );
echo $my_url;
?>
<a href="<?php echo site_url('/some-page?id=' . the_ID()); ?>">Go to some page</a>
上面的回显输出以下内容:
2075http://example.com
如何将参数传递给页面?
答案 0 :(得分:2)
您使用的the_ID()
错误。此函数直接回显输出。因此,您需要使用get_the_ID()
。
<?php
$my_url = add_query_arg( array( 'id' => get_the_ID() ), home_url( '/some-page/') );
?>
<a href="<?php echo esc_url( $my_url ); ?>">Go to some page</a>
答案 1 :(得分:1)
如果您在此处查看the_ID()
文档:
https://developer.wordpress.org/reference/functions/the_id/
您会看到它确实echo get_the_ID()
您的问题是您正在回显输出,而不是将其串联在字符串中。
所以,做
<?php
$my_url = add_query_arg( array( 'id' => get_the_ID() ), home_url() );
?>
<a href="<?php echo esc_url( $my_url ); ?>">Go to some page</a>
将解决您的问题
此外,在选择使用以下两者之一之前,请确保您了解site_url()
和home_url()
之间的区别:What's the difference between home_url() and site_url()