【问题标题】:Pagination With Special Recent Posts Plugin (WordPress)使用特殊最近帖子插件(WordPress)进行分页
【发布时间】:2023-04-06 02:32:01
【问题描述】:

我正在使用 WordPress 中的“特别近期帖子”插件。它用于显示文章的标题图像和摘录,然后您可以点击查看全文。

您可以在该插件上设置参数,以告知您希望显示多少最近的文章。基本上我想要做的是在主页上显示前五篇文章,然后让溢出转到新页面(就像每页有五个帖子的“旧帖子”类型的东西)。

谁能帮我指出正确的方向?每次我用谷歌搜索这个问题时,它都不太明白......谢谢。


编辑:

我看到了第一个答案,虽然它正朝着正确的方向发展,但它并没有像我想要的那样自动生成新页面。我想让最近的特殊帖子溢出自动生成一个新的“上一个”页面。我知道我可以手动执行此操作,但我正在处理的博客每天都会更新,因此在我进行过程中不断创建新页面将非常耗时。有人能指出我正确的方向吗?


编辑: 这是我在 index.php 上的完整代码:

<?php get_header(); ?>

<?php c2c_the_category_image($image_extensions='png gif jpg', $image_dir='/wp-content/images/', $use_name_if_no_image=true, $start_from='begin', $limit=999); ?>

<?php echo do_shortcode("[srp srp_number_post_option='34' srp_thumbnail_option='yes' srp_widget_title_hide_option='yes' srp_post_date_option='no' srp_wdg_excerpt_length='50' srp_wdg_excerpt_length_mode='fullexcerpt']"); ?>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

【问题讨论】:

  • 我根据您的 index.php 代码编辑了我的答案以显示一个示例,如果它适合您,请告诉我。
  • 您有机会尝试更新的答案吗?
  • 我正在查看,谢谢,我会尽快回复您。

标签: pagination wordpress


【解决方案1】:

分页是now available 在新的Special Recent Posts PRO Edition 3.0.0 版中

【讨论】:

    【解决方案2】:

    插件对此有一个参数,来自文档:

    //Global Post Offset (to skip an arbitrary number of posts from the beginning)
    srp_post_global_offset_option => numeric
    

    因此,在第二页上,要跳过 5 个帖子然后显示接下来的 5 个帖子,您需要这样的内容:

    [srp srp_number_post_option='5' srp_post_global_offset_option='5']
    

    文档: http://wordpress.org/extend/plugins/special-recent-posts/installation/

    编辑:要回答有关生成新页面的问题,从技术上讲,您不会。您将拥有一个显示不同帖子的页面,就像它是一个不同的页面一样。您可能需要使用查询字符串(URL 参数)。但是,您不能将 PHP 直接放入 wordpress 帖子中,因此您需要修改 PHP 文件,或者获取类似 Shortcode Exec PHP 的 WordPress 插件,这样您就可以从 URL 中获取页码参数并将其放入近期特别帖子的简码。

    基于您的 index.php 代码的示例:

    $offset = ($_GET['page'] * 5) - 5;
    echo do_shortcode("[srp srp_number_post_option='34' srp_thumbnail_option='yes'
    srp_widget_title_hide_option='yes' srp_post_date_option='no'
    srp_wdg_excerpt_length='50' srp_wdg_excerpt_length_mode='fullexcerpt'
    srp_post_global_offset_option='".$offset."']"); 
    

    让你的首页使用

    index.php?page=1
    

    还有你的“下一页”链接:

    $next = $_GET['page'] + 1;
    echo '<a href="index.php?page='.$next.'">Next Page</a>';
    

    【讨论】:

    • 当你的意思是多页时,我假设你指的是让它超过 2 页?我想我的问题是,有没有办法让它在发生超过 5 的溢出时自动生成新页面?我查看了一个像 mashable.com 这样的网站,他们有大约 2,110 页的文章,你可以向后滚动,我假设这些文章是根据需要自动生成的。
    • 我要稍微修改一下上面的答案...您可能需要使用查询字符串(URL 参数)。如果您使用 PHP,您的页面将是 news.php?page=1 并且您的代码将类似于 [srp srp_number_post_option='5' srp_post_global_offset_option=''] (偏移量将是页码乘以 5)。但是,您不能将 PHP 直接放入 wordpress 帖子中,因此您需要修改 PHP 文件,或者获取 WordPress 插件,例如 Shortcode Exec PHP
    • 我用过 Shortcode Exec PHP(但我还是有点新意)。本质上,我将通过在其中合并 SRP 短代码来创建自己的短代码。例如,我会创建一个名为“hello_world”的短代码,其中包含: $offset = $_GET['page'] * 5; echo do_shortcode("[srp srp_number_post_option='34' srp_thumbnail_option='yes' srp_widget_title_hide_option='yes' srp_post_date_option='no' srp_wdg_excerpt_length='50' srp_wdg_excerpt_length_mode='fullexcerpt' srp_post_global_offset_option='"。然后在索引页上运行 hello_world?
    • 澄清一下,我会进行实验,但我正在一个已经上线的网站上工作,所以我想在开始添加内容之前尝试完全理解这一点。感谢您的帮助。
    • 我的示例基于您提供的 index.php 示例。只需将具有“do_shortcode”的行替换为我示例中的同一行(包括定义 $offset 的行)。唯一的区别是我包含了偏移量,因此每个页面都会跳过适当数量的帖子。代码通过检查 URL 中的页面参数,然后将其乘以 5 并减去 5 来获取偏移量。例如对于第 3 页:3 * 5 = 15, 15 - 5 = 10,因此第 3 页将跳过前 10 个帖子并显示 11 到 15。您实际上并没有生成一个新页面,只是在同一页面上显示不同的帖子。
    【解决方案3】:

    special recent post plugin 之前我从未工作过。所以我想给WordPress的查询帖子解决方案。

    首先,要获取主页(index.php)中最近的五个帖子,请使用以下查询参数。

    $query = new WP_Query( 'posts_per_page=5');
    

    其次,要在其他页面中列出较旧的帖子,请使用以下查询参数。

    $query = new WP_Query( array( 'posts_per_page' => 5, 'offset' => 5 ) );
    

    上面的查询会得到每页6个和5个帖子的帖子。要添加分页,请添加分页参数。参考WP_Query

    【讨论】:

    • 我的问题是,当您使用普通主题时,这适用于 WordPress,但我使用特殊最近帖子插件编辑了我的主题(基本上是在主页上预览每篇文章)。我将在哪里应用分页? 'post_per_page 和 offset 参数在插件本身内编码。我已经在上面添加了我页面的代码(带有插件编码)。
    猜你喜欢
    • 2018-01-22
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多