2016-12-20 3 views
2

Hier ist eine einfache Filterfunktion in WordPress.
Ich habe den Hauptablauf dieses Codes verstanden, aber eine Sache ist nicht klar. Ich habe nicht bestanden $content Parameter in add_filter Funktion, aber woher kam es?Woher kommen Aktions- oder Filterparameter?

Wenn WordPress Standardparameter unterstützt, ist es in Ordnung, dann zu wissen, welche Parameter für bestimmte Filter oder Aktionsereignis möglich sind?

<?php 
    add_filter('the_content', 'prowp_profanity_filter'); 
    function prowp_profanity_filter($content) { 
    $profanities = array('sissy', 'dummy'); 
    $content = str_ireplace($profanities, '[censored]', $content); 
    return $content; 
} 
?> 

Danke.

Antwort

1

the_content Filterhaken innen the_content() Funktion befindet, der Code in wp-includes/post-template.php Kerndatei definiert ist (beginnend bei Zeile 222):

/** 
* Display the post content. 
* 
* @since 0.71 
* 
* @param string $more_link_text Optional. Content for when there is more text. 
* @param bool $strip_teaser Optional. Strip teaser content before the more text. Default is false. 
*/ 
function the_content($more_link_text = null, $strip_teaser = false) { 
    $content = get_the_content($more_link_text, $strip_teaser); 
    /** 
    * Filters the post content. 
    * 
    * @since 0.71 
    * 
    * @param string $content Content of the current post. 
    */ 
    $content = apply_filters('the_content', $content); 
    $content = str_replace(']]>', ']]&gt;', $content); 
    echo $content; 
} 

Wenn Sie einen Blick auf den Code haben, werden Sie verstehen, dass $content Parameter im Filter Hook verwendet wird auch als eine Variable in dieser Funktion verwendet, um die Daten, die durch sie durchlaufen, vor der Ausgabe zu manipulieren.

Jede Aktion und Filter Hooks haben ihren eigenen Parameter, der in den Kerncodedateien oder Vorlagen definiert ist, da sie das Standardverhalten ändern, ohne den Quellcode dieser Kerndateien oder Vorlagen zu ändern.

Ich hoffe, dass dies auf Ihre Frage antwortet.

Auch im Internet finden Sie leicht eine Liste aller vorhandenen Filterhaken und Aktionshaken mit ihren jeweiligen Parametern.

0

LoïcTheAztec ist richtig, ich würde einfach ist hinzufügen, die $content automatisch ausgefüllt, wenn die Filter in der Funktion ausgelöst wird (the_content).

Mit apply_filters können zusätzliche Argumente hinzugefügt und an Hooks übergeben werden. Sie finden weitere Details here

Verwandte Themen