KISS
Active Member
Урок 3: Куки за действия и условни таг функции
В предния урок ползвахме доста обширна кука от тип филтър и я оставихме да променя съдържанието на всякакви публикации и страници. В този урок ще добавим условна таг функция, която ще ограничи ефекта на промяната. Също ще се закачим за друга кука този път от тип действие, която е дори по-обширна, за да пробваме още няколко условни таг функции.
Редактирайте разширението от предния път, като го замените с този код:
Имаме промяна във функцията my_google_link_function(). Тук с условната таг функция is_single() проверяваме дали потребителят е в публикация (връща true ако да, false ако не). Също подаваме аргумент "Google публикация". Това е заглавие на публикация в нашия случай, но може да бъде и други неща. Така казваме да се извърши замяната на Google с линк само във публикацията със заглавие "Google публикация". Навсякъде другаде връщаме съдържанието без промяна.
По-надолу използваме add_action() за да се закачим за действието на име wp_footer. Това действие се задейства когато се изписва футъра в темата. Ние искаме да се изпълни и нашата функция my_footer_function() по това време. Там правим няколко проверки с различни условни таг функции за да разберем в какъв тип страница е потребителя и на края дали е вписан. Изписваме малко JS код със alert съобщение за проба. Не връщаме нищо, понеже това е действие, не е филтър.
Качете обновената версия на разширението, направете публикация със заглавие "Google публикация" и думата Google в текста и след това разгледайте различни части от сайта за да видите как работят промените.
Уточнение: Не можем да викаме условните таг функции навсякъде, в някои куки няма да работят, но това са подробности, с които няма да се занимаваме на този етап.
Повече информация:
Куки от тип действие: https://codex.wordpress.org/Plugin_API/Action_Reference
Функция add_action(): https://developer.wordpress.org/reference/functions/add_action/
Куката от тип действие wp_footer: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_footer
Условни таг функции: https://codex.wordpress.org/Conditional_Tags
Условната таг функция is_single(): https://developer.wordpress.org/reference/functions/is_single/
В предния урок ползвахме доста обширна кука от тип филтър и я оставихме да променя съдържанието на всякакви публикации и страници. В този урок ще добавим условна таг функция, която ще ограничи ефекта на промяната. Също ще се закачим за друга кука този път от тип действие, която е дори по-обширна, за да пробваме още няколко условни таг функции.
Редактирайте разширението от предния път, като го замените с този код:
PHP:
<?php
/*
Plugin Name: Моето разширение
Plugin URI: http://example.com/
Description: Това е описанието на моето разширение.
Author: Киро и Спиро
Version: 1.0.0
Author URI: http://example.com/
*/
add_filter('the_content', 'my_google_link_function');
function my_google_link_function($content)
{
if(is_single("Google публикация"))
$new_content = str_replace("Google", "<a href='http://www.google.com'>Google</a>", $content);
else
$new_content = $content;
return $new_content;
}
add_action('wp_footer', 'my_footer_function');
function my_footer_function()
{
if(is_single())
echo "<script>alert('Това е публикация')</script>";
if(is_page())
echo "<script>alert('Това е страница')</script>";
if(is_category())
echo "<script>alert('Това е категория')</script>";
if(is_tag())
echo "<script>alert('Това е таг')</script>";
if(is_404())
echo "<script>alert('Това е липсваща страница')</script>";
if(is_user_logged_in())
echo "<script>alert('Вие сте вписан потребител')</script>";
}
?>
Имаме промяна във функцията my_google_link_function(). Тук с условната таг функция is_single() проверяваме дали потребителят е в публикация (връща true ако да, false ако не). Също подаваме аргумент "Google публикация". Това е заглавие на публикация в нашия случай, но може да бъде и други неща. Така казваме да се извърши замяната на Google с линк само във публикацията със заглавие "Google публикация". Навсякъде другаде връщаме съдържанието без промяна.
По-надолу използваме add_action() за да се закачим за действието на име wp_footer. Това действие се задейства когато се изписва футъра в темата. Ние искаме да се изпълни и нашата функция my_footer_function() по това време. Там правим няколко проверки с различни условни таг функции за да разберем в какъв тип страница е потребителя и на края дали е вписан. Изписваме малко JS код със alert съобщение за проба. Не връщаме нищо, понеже това е действие, не е филтър.
Качете обновената версия на разширението, направете публикация със заглавие "Google публикация" и думата Google в текста и след това разгледайте различни части от сайта за да видите как работят промените.
Уточнение: Не можем да викаме условните таг функции навсякъде, в някои куки няма да работят, но това са подробности, с които няма да се занимаваме на този етап.
Повече информация:
Куки от тип действие: https://codex.wordpress.org/Plugin_API/Action_Reference
Функция add_action(): https://developer.wordpress.org/reference/functions/add_action/
Куката от тип действие wp_footer: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_footer
Условни таг функции: https://codex.wordpress.org/Conditional_Tags
Условната таг функция is_single(): https://developer.wordpress.org/reference/functions/is_single/
Последно редактирано: