Очистка и дезинфекция php-кода согласно стандарту WP-кодирования - PullRequest
1 голос
/ 23 июня 2019

У меня есть несколько строк кода, которые мне нужно очистить в соответствии со стандартом кодирования WP, используя такие функции, как esc_html, wp_kses () и т. Д. (https://developer.wordpress.org/reference/functions/wp_kses/).). Этот код генерирует кнопку печати на странице сведений о публикации.проблема в том, что я не могу понять, как правильно использовать функцию wp_kses, чтобы показать кнопку на странице. Кто-нибудь может мне помочь? Я новичок в php. Заранее спасибо!

Код включенфайл

<!-- printer friednly link  -->
    <?php if(function_exists('pf_show_link')){echo pf_show_link();} ?>

Код, который я пытаюсь добавить, который не выводит никаких кнопок

<!-- printer friednly link  -->
    <?php
    if ( function_exists( 'pf_show_link' ) ) {
        $allowed_tags = array(
            'strong' => array(),
            'a'      => array(
                'href'  => array(),
                'title' => array(),
            ),
        );
        echo wp_kses( $allowed_tags );
    }
    ?>

the button which renders from the code

1 Ответ

0 голосов
/ 24 июня 2019

Я не уверен, что вам вообще следует использовать wp_kses.Если вы тот, кто генерирует этот вывод html с помощью функции, вам не нужно очищать.В любом случае, если вы действительно хотите, вы должны перечислить все html-теги, которые вы используете (а также, div, img ...) и все атрибуты внутри этих тегов (style, src, onclick ...).Попробуйте вот так:

$allowed_tags = array(
    'div'    => array(),
    'img'    => array(
        'style' => array(),
        'src' => array(),
        'alt' => array()
    ),
    'strong' => array(),
    'a'      => array(
        'href'  => array(),
        'title' => array(),
        'rel' => array(),
        'onclick' => array(),
        'class' => array(),
        'data-wpel-link' => array()
    ),
);

echo wp_kses(pf_show_link(), $allowed_tags);
...