WordPress:如何将记录 ID 作为属性添加到简码

WordPress: How to add record id to shortcode as attribute

我整天都在寻找一种将属性添加到简码的方法。我要添加的属性是来自自定义 wp_table.

的 ID

我试图获得的输出是,例如:[launch_tincan id="1"]

在我的自定义 wp_table 中收到第 1 行的信息时,我可以用这些信息填充我的变量。

我目前有一个功能,如果我从 id=# 的行硬编码我的 get_results,我的短代码会正确填充,但是,我希望短代码包含 id。

我看过很多使用 wp_posts 等的例子,none 对我有用。

我注意到的另一件事是,似乎没有人从函数中的函数生成短代码。这可能吗?

这是我的代码示例:

<?php
// WP Shortcode to display info from content in my table
function my_shortcode_functions(){
    global $wpdb;
    $getinfo = $wpdb->get_results($wpdb->prepare("SELECT id,col1,col2,col3,col4 from my_table",$id));
    foreach ($getinfo as $s ){
        $col1=$s->col1;
        $col2=$s->col2;
        $col3=$s->col3;
        $col4=$s->col4;
    }
    if ( is_user_logged_in() ) {
?>
<div>
    <form method="post">
        <input type="submit" onClick="window.open(document.getElementById('results').innerHTML);" value="Open" class='button'/>
    </form>
</div>
<div style="visibility:hidden; height:0px; width:0px;" id="results">
<?php
        echo $col1 . $col2 . $col3 . $col4;
?>
</div>
<?php
    } else {
        echo "You must be logged in to use this";
    }
}
add_shortcode('my_shortcode', 'my_shortcode_functions');
?>

是否可以将我的 add_shortcode 函数嵌套在 my_shortcode_functions 中? 我的 get_shortcode_id 功能看起来应该有效吗?

我期待任何帮助来纠正我的代码,或者让我知道我是否走错了路。

由于没有人回应,我自己找到了解决方案。我的代码需要对表单进行非常小的调整。我只是在表单按钮的结果部分添加了 <?php echo $id; ?>