如何获取 WordPress 各类页面的链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取 WordPress 各类页面的链接相关的知识,希望对你有一定的参考价值。

参考技术A 获取文章或页面链接
直接输出文章或页面的链接:

1
<?php the_permalink(); ?>

返回文章或页面的链接,以供调用:

1
get_permalink();

可以使用 echo 输出,结果和直接使用 the_permalink() 一样:

1
<?php echo get_permalink(); ?>本回答被提问者和网友采纳

如何从Wordpress管理员替换帖子和页面的所有外部/预览

我使用Wordpress作为无头CMS并且仅使用API​​来提供内容。因此,我想链接到在其他地方托管的Vue.js框架的实际站点。

我在这里几乎取代了所有的链接,除了WP管理栏中的“查看页面”。当我查看它是如何获取链接的源代码时,它使用preview_post_link(),我认为我已经替换了URL?

add_filter( 'preview_post_link', 'filter_preview_link'); 
add_filter( 'preview_page_link', 'filter_preview_link'); 
add_filter( 'get_sample_permalink', 'filter_preview_link'); 
add_filter( 'get_sample_permalink_html', 'filter_replace_base_url'); 

function filter_preview_link( $permalink ) { 
  $base_url = get_field('base_url', 'option');

  if(is_array($permalink)){
    $url_data = wp_parse_url($permalink[0]);
    $permalink[0] = str_replace($url_data['scheme'] . '://' . $url_data['host'], untrailingslashit($base_url), $permalink[0]);
    return $permalink; 
  } else {
    $url_data = wp_parse_url($permalink);
    $permalink = untrailingslashit($base_url) . $url_data['path'] . (isset($url_data['query']) ? '?' . $url_data['query'] : '');
    return $permalink; 
  }

}; 

function filter_replace_base_url($html){
  $base_url = get_field('base_url', 'option');
  $html = str_replace(untrailingslashit(site_url()), untrailingslashit($base_url), $html);
  return $html;
}

任何帮助是极大的赞赏。

答案

终于找到了丢失的代码......

add_action( 'admin_bar_menu', 'customize_wp_admin_bar_preview_links', 9999 );

function customize_wp_admin_bar_preview_links( $wp_admin_bar ){
  $base_url = get_field('base_url', 'option');
  $view_site = $wp_admin_bar->get_node('view-site');
  $view_site->href = $base_url;

  $view = $wp_admin_bar->get_node('view');
  $url_data = wp_parse_url($view->href);
  $view->href = untrailingslashit($base_url) . $url_data['path'] . (isset($url_data['query']) ? '?' . $url_data['query'] : '');

  $wp_admin_bar->add_node($view_site);
  $wp_admin_bar->add_node($view);
}

以上是关于如何获取 WordPress 各类页面的链接的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 WordPress 各类页面的链接

如何获取 WordPress 各类页面的链接

如何获取 WordPress 各类页面的链接

如何获取 WordPress 各类页面的链接

如何从 wordpress 中的帖子页面 id 获取 acf 的画廊图片 url

Wordpress:如何仅在特定页面上显示链接