【问题标题】:Adding post id inside a wordpress database query?在 wordpress 数据库查询中添加帖子 ID?
【发布时间】:2013-07-27 04:54:20
【问题描述】:

我有一个自定义 wp 数据库,我正在尝试添加提交表单的帖子的 ID。

function add_custom_settings() {



if(isset($_POST['submitted'])) {

    // Get WPDB Object
    global $wpdb;

    // Table name
    $table_name = $wpdb->prefix . "custom";


        // Execute query
        $wpdb->query(
            $wpdb->prepare("INSERT INTO $table_name
                                (post_id, name, data, date_c, date_m)
                            VALUES (%d, %s, %s, %d, %d)",
                            '',
                            '',
                            time(),
                            time()
                            )
        );

    // Empty
    $static = array();

    // ID
    $id = mysqli_insert_id();

    // DB data
    $post_id = the_ID();
    $name = $wpdb->escape($static['properties']['title']);
    $data = $wpdb->escape(json_encode($static));

    // Update
    $wpdb->query("UPDATE $table_name SET
                post_id = '$post_id',
                name = '$name',
                data = '$data',
                date_m = '".time()."'
              ORDER BY id DESC LIMIT 1");


    die();
}



}

在查询中,您会注意到我正在尝试将the_ID() 插入到 post_id 列中。它不返回 ID,我假设是因为该函数与帖子无关,在表单中回显 the_ID() 有效,只是不在函数中。

一旦我弄清楚这一点,我终于可以让这件事发挥作用了……这很困难,希望有人能提供帮助!

表格很长,但这里有一个sn-p..

<form action="<?php echo $_SERVER['REQUEST_URI']?>" method="post">  

<input type="hidden" name="submitted" value="1"

     //Form Data Here

    <input type="submit" value="<?php the_ID(); ?>" />//echoing the ID here works.. 
</form>

【问题讨论】:

  • 任何人都可以发光吗?

标签: php database wordpress


【解决方案1】:

我不确定我是否理解正确,但这里是我的想法

第一个the_ID();用于在循环内显示当前帖子的ID,不返回帖子ID的值。

要获取帖子 ID,请使用:get_the_ID()。

其次,如果您在循环之外,那么简单的the_ID() 和get_the_ID() 都不起作用,您必须手动提供帖子 ID,或者使用 GET 或 POST 方法接收它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    相关资源
    最近更新 更多