dongpaozhi5734 2019-06-23 17:37
浏览 76
已采纳

根据WP编码标准清理和清理php代码

I have few lines of code which i need to clean up as per WP coding standard using the functions like esc_html, wp_kses() etc (https://developer.wordpress.org/reference/functions/wp_kses/). That code generates a printing button on the post detail page. The problem is i can't figure out the correct way to use wp_kses function so as to show the button on the page. Could anyone help me here? I am a beginner for php. Thanks in advance!

Code on the file

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

Code i am trying to add which is not outputting any button

<!-- 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条回答 默认 最新

  • doze79040 2019-06-24 10:55
    关注

    I am not sure you should use wp_kses here at all. If you are the one who generates that html output with function, you don't need to sanitize. Anyway, if you really want to, you must list all html tags you use (so also, div, img...) and all attributes inside those tags (style, src, onclick...). Try like this:

    $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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容