向锚标记添加查询

时间:2019-07-02 08:08:27

标签: wordpress

我只是尝试创建一个页面链接,并且尝试将键/值与请求一起传递:

<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

如何将参数传递给页面?

2 个答案:

答案 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()