2016-06-23 3 views
0

Ich suche der Lage sein, pluralize „Slide“ in der folgenden Funktion:pluralize Text in Funktion

// 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'); 

Dies ist mein erster Stich an benutzerdefinierten PHP-Funktionen zu schreiben. Ich habe es geschaffen zugehörigen Code zu finden, aber ich bin nicht sicher, wie es mit der oben zu integrieren:

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

'$ pluralText = Plural ($ originalText, $ singularvalue, $ pluralValue);' ist die Syntax, um die von Ihnen angegebene Funktion zu verwenden. Die Werte, die '= somthing' in der Funktionsdeklarationszeile (oben) haben, sind * optional *), Sie können also genauso gut schreiben:' $ pluralText = plural ($ originalText); 'Sie haben jedoch die Möglichkeit, spezifische Informationen zu liefern zur Funktion. – Martin

+0

kann es für Sie hilfreicher sein, das '===' durch ein doppeltes Gleichheitszeichen zu ersetzen, '==' da dies immer noch eine Zeichenkette oder Gleitkommazahl sowie eine Ganzzahl akzeptiert. (auf dem '$ Betrag === 1') – Martin

Antwort

0

Nun, Sie ternäre dafür verwenden können.

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; 
} 

Das ist der einfachste Weg, und keine Notwendigkeit für eine Funktion. Wenn Sie nicht verstehen, wie ternär funktioniert, werfen Sie einen Blick auf this question.

+0

Hallo Phiter, danke dafür. Dies scheint nur 'unabhängig vom Wert' auszugeben. – Teege

+0

Sorry, es gibt immer 's' unabhängig vom Wert no_slides aus. – Teege

+0

Versuchen Sie, Ihr 'get_field ('no_slides')' zu wiederholen und sehen Sie, welchen Wert es hat, bevor Sie download_text anwenden. – Phiter

Verwandte Themen