wp安装文件夹外的the_permalink()wordpress

时间:2018-10-18 09:26:49

标签: php wordpress

这是我的代码,用于在wordpress安装目录之外加载wordpress帖子。我发现我的先例question和一个old主题非常有用,该主题将讨论其他独立php页面中wp函数的用法。

PHP查询

<?php

define('WP_USE_THEMES', FALSE);

require 'portfolio/wp-load.php';

$args = array(
'posts_per_page' => 6,
#'offset' => 0,
#'category' => 'portfolio',
#'category_name' => '',
#'orderby' => 'date',
#'order' => 'DESC',
#'include' => '', 'exclude' => '',
#'meta_key' => '',
#'meta_value' => '',
#'post_type' => 'post', 'post_mime_type' => '',
#'post_parent' => '',
#'author' => '',
#'post_status' => 'publish',
#'suppress_filters' => true
);

$portfolio_items = new WP_Query( $args );

?>

html

<div class="row" id="portfolioPosts">

<?php
if($portfolio_items->have_posts()):
  while($portfolio_items->have_posts()):
    $portfolio_items->the_post(); ?>

<div class="col-sm-12 col-md-4 col-lg-4" id="portfolio-grid-el">
<a class="portfolio-link" href="<?php the_permalink(); ?>">

<?php
if(has_post_thumbnail()):
  the_post_thumbnail('post-thumbnail', ['class' => 'card-img-top post-preview', 'title' => 'Feature image']);
endif;
?>
<h4 class="portfolio-post-title text-uppercase"><?php the_title(); ?></h4>
</a>
</div>
<?php endwhile; ?>
<?php endif; wp_reset_postdata(); wp_reset_query(); ?>
</div>

我的问题是关于the_permalink()函数,我如何正确链接它,我已经配置了wordpress以使用我的网站索引,该网站索引是wp安装目录之外和网站根目录中的独立页面。现在,每次我单击链接时,地址为http://localhost:8000/mysite/post-name,因此我将无法显示该帖子。我想使用一种解决方案,其中<a href="">链接是相对于wordpress安装路径或相对于将接受帖子名称作为参数并加载内容的页面的,正如我通过使用带有自定义查询的循环所理解的。可能吗?

1 个答案:

答案 0 :(得分:1)

使用以下代码:

<?php the_permalink(); ?>

<?php echo get_permalink($portfolio_items->post->ID); ?>

More info