在函数中复数化文本

Pluralize text in function

我希望能够在以下函数中复数 "Slide":

// Changes the default download button text
function ps_download_button($args) {
    $download_text = 'Download ' . '(' . get_field('no_slides') . ' Slide)';
    $args['text'] = $download_text;
    return $args;
}
add_filter( 'edd_purchase_link_args', 'ps_download_button' );

这是我第一次尝试编写自定义 PHP 函数。我设法找到了相关代码,但我不确定如何将它与上面的代码集成:

function plural( $amount, $singular = '', $plural = 's' ) {
    if ( $amount === 1 ) {
        return $singular;
    }
    return $plural;
}

好吧,你可以使用三进制。

function ps_download_button($args) {
    $amount = intval(get_field('no_slides'));
    $download_text = 'Download ' . '(' . $amount . ') Slide'. (($amount>1)?'s':'');
    $args['text'] = $download_text;
    return $args;
}

这是最简单的方法,不需要函数。如果你不明白三元是如何工作的,看看this question.