WordPress-如果将正确的参数添加到我的短代码中,我该如何调试?

时间:2019-11-13 13:58:59

标签: wordpress

我正在尝试调试是否将参数添加到我的简码中。目前,当我在页面上添加简码而不添加参数时,错误提示

  

更新失败

但是我想有一个更详细的错误。我该怎么做?我正在使用代码段,这是一个前端代码段。我注意到在后端运行代码段时确实收到了错误,但是我的整个WP UI消失了,这不是很好。有提示吗?

<?php

add_shortcode('taxonomy_dropdown', 'do_taxonomy_dropdown');
function do_taxonomy_dropdown($atts = [])
{
    $atts = array_change_key_case((array) $atts, CASE_LOWER);   
    if(do_validate_parameters($atts)){return;}
    $taxonomy = $atts['taxonomy'];
    $dependent = $atts['dependent'];
    return;
}

function do_validate_parameters($atts = [])
{
    $has_parameters = true;
    if(!isset($atts['taxonomy'])){
        echo "You forgot to add the taxonomy parameter.";
        $has_parameters = false;
    }

    if(!isset($atts['dependent'])){
        echo "You forgot to add the dependent parameter.";
        $has_parameters = false;
    }
    return $has_parameters;
}

1 个答案:

答案 0 :(得分:1)

我认为您遇到的问题是初始部分没有检查set变量。当我运行时错误登录时,我认为这是一个问题。试试这个,看看是否能解决问题。

add_shortcode('taxonomy_dropdown', 'do_taxonomy_dropdown');
function do_taxonomy_dropdown($atts = [])
{
    $atts = array_change_key_case((array) $atts, CASE_LOWER);   
    if(do_validate_parameters($atts)){return;}
    if ( isset($atts['taxonomy'])){
        $taxonomy = $atts['taxonomy'];
    }
     if ( isset($atts['dependent'])){
      $dependent = $atts['dependent'];
    }
    return;
}

function do_validate_parameters($atts = [])
{
    $has_parameters = true;
    if(!isset($atts['taxonomy'])){
        echo "<p>You forgot to add the taxonomy parameter.</p>";
        $has_parameters = false;
    }

    if(!isset($atts['dependent'])){
        echo "<p>You forgot to add the dependent parameter.</p>";
        $has_parameters = false;
    }
    return $has_parameters;
}