如何处理函数的等同和相似参数?

时间:2011-05-22 作者:kaiser

在@toscho的提示下,我目前正在扩展分页插件。因此,该插件现在将使用与本机wordpress分页函数相同的过滤器、挂钩和参数。

我的问题是,不同的wp函数命名它们的参数。。。不同的

示例:

这是如何更改“下一个”链接的文本

  • wp_link_page() = \'nextpagelink\'
  • paginate_links() = \'next_text\'
在类中检索输入后,Iwp_parse_args( $args, $this->defaults ); 我的论点,然后extract 他们

问题:

当我现在同时允许\'nextpagelink\' &;\'next_text\' 作为有效的论据,我将如何处理它们?我应该先检查哪个?我是否需要设置一些优先级,以便其中一个优先于另一个(如果两者都设置了)?

示例:

此示例显示了我的困境:

哪个优先级较高?我如何避免做出决定代码:

if ( $nextpagelink && $next_text ) 
{
    // CASE 1: both are set
    // which one should I take now?
}
elseif ( $nextpagelink )
{
    // CASE 2: only one is set - should this one override the next one?
    // set something
}
elseif ( $next_text )
{
    // CASE 3: only one is set - should this be overridden by the previous one?
    // set
}
else
{
    // CASE 4: none is set - apply default
    // set default
}

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

wp_link_pages()paginate_links() 在不同的上下文中工作:第一个在单个分页页面上,第二个在存档中。所以is_archive() 应该是您决定使用哪个文本的标准,或者更好:使用哪个过滤器apply_filters().

结束

相关推荐

Pagination with custom loop

我的问题可能是Pagination not working with custom loop, 但有一种不同。我使用自定义循环来显示flash游戏。我想按类别在游戏页面上分页。类别php:<?php if ($cat) { $cols = 2; $rows = 4; $paged = ((\'paged\')) ? get_query_var(\'paged\') : 1; $post_per_page = $cols * $rows; // -1 s