hello foo bar Saba note | Worpress記事のIDの最大値を求める

Worpress記事のIDの最大値を求める

2017.1.4 (水)

テーマの中とかでポストした記事のIDを求めないとダメな時があってその時のメモです。wpdbクラスを使ってやっています。関数内では最終的に最大値に1を加算しているので、実際は、次にポストするIDを求めていることになります。便宜修正して使ってください。

$sql = "select * from $wpdb->posts where post_type = 'post'";
$posts = $wpdb->get_results($sql);

$max = multidimensionalMax($posts);
print $max."<br />¥n";
function multidimensionalMax($data) {
    foreach($data as $line) {
        $num = intval($line->ID);
        if ($num > $max) {
            $max = $num;
        }
    }
    $max++;
    return $max;
}

これ何に使ったのか思い出せなかったのですが、つい先日自分のコードを読み直すことになって思い出したのですが、WPの記事を外のフォームから直接書いて投稿するといったような掲示板機能に使っていました。ブログ内にHTMLでフォームを作成して、そのフォームから直接WPの記事としてデータベースに格納する際にDBでは次の記事のIDを自分で求めないと設定してくれないので、このコード使ってました。
掲示板では記事を最初の投稿としてコメント機能をその返信とか書き込みみたいなことにしてみました。大規模な掲示板もWPで作れるんですね。