Пользовательский фильтр в Wordpress для изменения информации нижнего колонтитула с помощью плагина?


В принципе, у меня есть плагин, который ищет определенные токены по всей странице и заменяет их изображениями. Проблема в том, что у меня есть один из этих жетонов в нижнем колонтитуле, и, насколько я могу судить, для нижнего колонтитула нет фильтра.

Итак, вопрос в том, есть ли способ создать пользовательский фильтр? И это лучший способ сделать это? Мой плагин делает preg_match в содержимом и, если он находит, например, "{изображение здесь}", он заменяет его. Однако я не уверен, как распространить эту функциональность на нижний колонтитул?

Author: Cyprus106, 2011-06-21

1 answers

Большая часть нижнего колонтитула представляет собой прямую разметку PHP/HTML. Вы применяете фильтры к динамическому контенту, поэтому в нижнем колонтитуле нет обычного "фильтра". Тем не менее, добавить свои собственные фильтры в WordPress относительно легко.

Допустим, ваш footer.php состоит из следующего:

</div>    <!-- close main content div>
<div id="footer">
    <p class="copyright">Copyright 2011 By Me</p>
</div>
</body>
</html>

И допустим, вы хотите динамически заменить слово "авторское право" стандартным изображением C с помощью вашего фильтра. Вы бы заменили это на:

</div>    <!-- close main content div>
<div id="footer">
    <p class="copyright">
    <?php
    echo apply_filters( 'my_footer_filter', 'Copyright 2011 By Me' );
    ?>
    </p>
</div>
</body>
</html>

Это создает пользовательский фильтр, называемый "my_footer_filter" и применяет его к тексту "Авторское право 2011 Мной". В вашем файле functions.php вы можете использовать этот фильтр так же, как и любой другой:

function replace_copyright( $copyright ) {
    // do something to $copyright
    return $copyright;
}
add_filter( 'my_footer_filter', 'replace_copyright' );
 10
Author: EAMann, 2011-06-21 18:53:44