这是我的代码,用于在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安装路径或相对于将接受帖子名称作为参数并加载内容的页面的,正如我通过使用带有自定义查询的循环所理解的。可能吗?
答案 0 :(得分:1)
使用以下代码:
<?php the_permalink(); ?>
<?php echo get_permalink($portfolio_items->post->ID); ?>