带有参数的短代码wordpress

问题描述 投票:0回答:2

我正在创建一个wordpress简码[ADD_POT ID='X'],它能够获取ID值,目的是执行一个函数。

不幸的是,我的代码第三行有错误。有人可以帮我吗?谢谢你。

function ADD_POT($atts) {
    $ID = shortcode_atts(array( 'ID' => TRUE), $atts) ;
    $pot_ID = $ID['ID'] ;
    include dirname(__FILE__) . '/../../../wp-config.php' ;
    include dirname(__FILE__) . '/../../../wp-content/plugins/Study-Tool/core/login.php' ;
    $pot_selection = "SELECT question_ID FROM questions WHERE pot_ID='$pot_ID'" ;
    $pot_result = mysqli_query ($connect,$pot_selection) ;
    foreach ($pot_result as $pot_ID) {
        $question_ID = $pot_ID['question_ID'] ;
        ADD_Q($question_ID) ;
    }
}
php wordpress shortcode
2个回答
1
投票

此行中的值表示如果用户未提供值,则您的 ID 字段具有的默认值。

$ID = Shortcode_atts(array( 'ID' => TRUE), $atts) ;

您需要将这一行中的值括在“”中,例如

$ID = Shortcode_atts(array( 'ID' => ''), $atts) ;

如果您想将空白作为默认值。对于任何其他值,请使用该值但用引号引起来。如果用户在输入中给出一个值,那么将使用该值而不是您在此处给出的空白或默认值。


1
投票

我解决问题。这是因为我在我的 wordpress balise 中使用了大写字母而不是小写字母。

[POT_ID **id**=4]

function ADD_POT($atts) {
    $ID = shortcode_atts(array( '**id**' => '1'), $atts);
    $pot_ID = $ID['**id**'];
}
© www.soinside.com 2019 - 2024. All rights reserved.