【问题标题】:WordPress - get_post_type_archive_link with paginationWordPress - 带有分页的 get_post_type_archive_link
【发布时间】:2015-07-02 14:15:21
【问题描述】:

我正在构建一个带有视频自定义帖子类型的 WordPress 网站。所有视频都显示在分页存档页面上,并在单击时以模式打开。

因为站点搜索在搜索结果中返回单个视频帖子,所以我添加了一个功能,以便在访问单个视频时重定向到存档页面。我还将帖子 ID 附加到 URL,在存档页面中,我有代码检查“显示”参数以触发模式打开:

add_action( 'template_redirect', 'custom_post_single_redirect_management' );
function custom_post_single_redirect_management() {
    global $post;
    if(is_singular( 'video' )) {
        wp_redirect( get_post_type_archive_link('video').'?show='.$post->ID, 301 );
        exit;
    }
}

到目前为止一切顺利,一切正常。

我现在遇到的问题是,当正在访问的视频不在第 1 页时,我无法打开模式来显示视频。

有没有人有处理这个的建议?是否可以从我上面的函数中检查视频将在存档页面中的哪个页面上,然后在重定向上添加一个新参数?即'?show='.$post->ID.'&page=2'

感谢您的帮助!

【问题讨论】:

    标签: php wordpress pagination


    【解决方案1】:

    我不确定我回答自己的问题是否犯了失礼,但也许它会帮助其他偶然发现这个问题的人。

    我找不到找到页码的简单方法。相反,我在我的functions.php中使用pre_get_post()来检查'show'参数,如果它被传递到页面,我使用stick_post()使'show'参数中传递的帖子ID变得粘性。

    为了让我的自定义帖子类型存档显示粘性,我使用了this snippet。最后,我在模板中使用了unstick_post() 来消除“粘性”。

    总而言之,这将相关帖子带到了我存档的第 1 页,然后在模态中打开。有点hacky,但它有效。

    如果有更好的方法来实现这一点,请发布它,我会尽可能接受你的回答。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 2023-03-24
      • 2017-10-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      相关资源
      最近更新 更多