是否可以使用php文件在wordpress之外使用wordpress内容?

时间:2015-07-01 12:54:44

标签: php wordpress

我创建了两个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; ?>

1 个答案:

答案 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