get permalink and append it

时间:2015-12-02 作者:iain-g

我有产品页面,需要一个按钮链接到相关的预约页面。例如,我将创建一个名为“glass product”的页面,我想对其模板进行编码,以便有一个指向“glass product book”页面的链接。

因此,我需要获取帖子的永久链接,然后将“-book”添加到链接内的URI中,大概我需要向当前添加一些内容:<a href="<?php the_permalink(); ?>">Book Now</a>

有人知道需要添加什么吗?

1 个回复
最合适的回答,由SO网友:bosco 整理而成

简单地说,你可以加上\'-book\' 如果您的永久链接设置导致帖子名称出现错误,请访问您的链接:

<a href="<?php echo untrailingslashit( get_the_permalink() ); ?>-book/">Book Now</a>
然而,如果你不太小心,或者计划运行一个包含大量内容的网站,或者有几个人可以访问仪表板,那么你可能会在某个时候出现链接中断的情况。

更可靠的解决方案是将相关约会页面的ID存储在Custom Field 在产品页面上(让我们调用字段product_appointment_page_id), 然后在模板中检索相应的约会页面permalink:

<?php
  $appointment_page_id = get_post_meta( get_the_id(), \'product_appointment_page_id\', true );

  if( ! empty( $appointment_page_id ) )
    echo( \'<a href="\' . get_permalink( $appointment_page_id ) . \'">Book Now</a>\' );
?>
更好的做法是将“产品”和“约会”都作为自己的产品来实施Custom Post Types, 然后将它们与Metadata API, 如前一示例所示。

相关推荐

Post with Custom Permalinks

我的永久链接设置如下:http://myblog.com/%category%/%postname%/一切正常。但我正在寻找一种方法,只为一些帖子(10-11篇帖子)设置如下永久链接。http://myblog.com/%postname%/我之所以要这样做,是因为我正在合并两个WordPress网站,我不想失去另一个网站的帖子,这些帖子已经以旧的permalink结构发布在Facebook等网站上。