web-dev-qa-db-ja.com

プログラムでナメクジを作成する

カスタムメイドのツールを使用して、WP 3.01インストールでプログラム的に投稿を更新しています。カスタムのSELECTクエリを使ってpost_statusをDRAFTからPUBLISHEDにプログラム的に変更することもありますが、これは投稿のパーマリンクを損なうように思えます。

ドラフト状態にあるとき、投稿は以下のリンク構造を持ちます

http://myblog.com/?p=73006

リンク構造を強制的に変更して適切なパーマリンクを生成するための「トリック」がありますか?

2
Riccardo

スラッグをプログラムで設定する必要があります。 SQLトリガーがトリックを実行できます。あなたがそれを書くときに重複するナメクジを気にするのを忘れないでください。

そうでない場合は、データベースを使用して公開するのではなく、WP AP​​Iを呼び出すphpスクリプトを作成します。

3

WordPressディレクトリのルートに.phpファイルを作成して、

<?php
require( 'wp-load.php' );

$urunler = array(
    'order'          => 'ASC',
    'post_type'      => 'urun',
    'post_status'    => null,
    'numberposts'    => -1,
);

$tumurunler = get_posts($urunler);
if ($tumurunler) {
  foreach ($tumurunler as $urun) {
    $urun->post_name = '';
    wp_update_post( $urun );   // Update the post into the database
  }
}

そのため、このコードはpost_type=='urun'のすべての投稿をロードし、$urun->post_nameフィールドを空に設定し(このフィールドは投稿パーマリンクのスラッグを定義します)、wp_update_post()を呼び出すとWordPressが自動的に値を入力します。 post_type''post'に、またはpost_type''page'に変更する場合は、次の行を変更してください。

'post_type'      => 'urun',
2
Ünsal Korkmaz