我创建了两个php文件(recent_blog_post.php和single_blog_post.php),用于显示同一域内wordpress网站的帖子,另一个用于显示单个帖子。我不知道是否可能。第一个工作正常,但问题是如果我把the_permalink()放在标题或阅读更多链接,页面重定向到主wordpress网站。我不想回到主站点,想要链接到自定义的php文件来显示每个帖子。这是我的recent_blog_post.php的代码
<ul>
<?php
require($_SERVER['DOCUMENT_ROOT'] . '../wordpress/wp-load.php');
$args = array(
'posts_per_page' => 5
);
$latest_posts = new WP_Query( $args );
if ( $latest_posts->have_posts() ) {
while ( $latest_posts->have_posts() ) {
$latest_posts->the_post(); ?>
<li>
<h2><a href="single_blog_post.php/<?php I want post slug here ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php }
} else {
echo '<p>There are no posts available</p>';
}
wp_reset_postdata();
?>
</li>
</ul>
和single_blog_post.php
<?php require($_SERVER['DOCUMENT_ROOT'] . '../wordpress/wp-load.php');
query_posts('showposts=1');
if(have_posts()) : while(have_posts()) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<?php the_content();?>
<?php edit_post_link('Edit', '<p>', '</p>'); ?>
<?php endwhile; ?>
<?php endif; ?>
答案 0 :(得分:0)
你必须使用过滤器“the_permalink”
function subs_url ( $url ) {
return str_replace ( "www.mywebsite.com/", "www.mywebsite.com/single_blog_post.php/", $url );
}
add_filter('the_permalink', 'subs_url');
该过滤器会将您的永久链接从www.mywebsite.com/category/slug更改为www.mywebsite.com/single_blog_post.php/category/slug
来源:https://codex.wordpress.org/Plugin_API/Filter_Reference/the_permalink