0
点赞
收藏
分享

微信扫一扫

wordpress站外调用某个分类下的6个随机文章

要在WordPress站外调用某个分类下的6个随机文章,你可以使用WordPress REST API。以下是一个示例代码,展示了如何使用JavaScript和jQuery来实现这个功能:

  1. 首先,确保你的WordPress站点已经启用了REST API。在functions.php文件中添加以下代码:

add_action('rest_api_init', function () { register_rest_route('your-plugin/v1', '/random-posts/(?P<category_id>\d+)/(?P<count>\d+)', array( 'methods' => 'GET', 'callback' => 'get_random_posts', )); });

function get_random_posts($request) { $category_id = $request['category_id']; $count = $request['count'];

$args = array(
    'category' => $category_id,
    'orderby' => 'rand',
    'posts_per_page' => $count,
);

$query = new WP_Query($args);
$posts = $query->get_posts();

$data = array();
foreach ($posts as $post) {
    $data[] = array(
        'title' => $post->post_title,
        'link' => get_permalink($post->ID),
    );
}

return rest_ensure_response($data);

} 这段代码会创建一个新的REST API路由,允许你通过/wp-json/your-plugin/v1/random-posts//来获取随机文章。

  1. 在你的前端页面中,使用以下JavaScript代码来调用API并显示结果:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Random Posts</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <div id="random-posts"></div>

<script>
    $(document).ready(function() {
        var categoryId = 1; // 替换为你想要的分类ID
        var count = 6;

        $.ajax({
            url: 'https://wodepress.com/wp-json/your-plugin/v1/random-posts/' + categoryId + '/' + count,
            type: 'GET',
            success: function(data) {
                var randomPostsHtml = '<ul>';
                $.each(data, function(index, post) {
                    randomPostsHtml += '<li><a rel="nofollow" href="' + post.link + '">' + post.title + '</a></li>';
                });
                randomPostsHtml += '</ul>';
                $('#random-posts').html(randomPostsHtml);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log('Error: ' + textStatus + ' - ' + errorThrown);
            }
        });
    });
</script>

</body> </html> 请确保将categoryId变量替换为你想要的分类ID,并将wodepress.com替换为你的WordPress站点URL。这段代码会在页面加载完成后,通过AJAX调用你创建的REST API路由,并将结果显示在页面上。

请注意,这段代码需要在支持JavaScript和jQuery的环境中运行,并且你的WordPress站点需要允许跨域请求,如果前端页面不在同一个域名下。

原文: https://www.jianzhanpress.com/?p=7980

举报

相关推荐

0 条评论