0

Webサイトのデフォルトのパーマリンクをカスタムパーマリンク(/%post-name%)に変更しました。これで、すべての投稿にスラッグ値が必要になります。これは現在存在しません。スラッグ画面オプションが使用できない場合、投稿が公開または更新されるとスラッグが自動的に追加されますが、私の場合、以前はすべての投稿のスラッグオプションを使用できませんでした。これは無効になっており、それぞれを更新したいと思います。追加または削除したいものは何も投稿しません。すべての投稿を更新したいだけです。現在、データベース内の投稿数は200000です。私のタスクを実行できるように、効率的なクエリまたは方法を提案してください。

ありがとう、モニカ

4

1 に答える 1

2

このプラグインを試してみてください、それは仕事をするはずです:

http://www.jerrytravis.com/598/wordpress-plugin-to-generate-post-slugs

また、このコードのチャンクはジョブを実行できますが、実行の最大制限が原因でスクリプトがクラッシュしないように、いくつかの制限を追加する必要があります。

// get all posts
$posts = get_posts( array (  'numberposts' => -1 ) );

    foreach ( $posts as $post )
    {
        // check the slug and run an update if necessary 
        $new_slug = sanitize_title( $post->post_title );
        wp_update_post(
            array (
                'ID'        => $post->ID,
                'post_name' => $new_slug
            )
        );
    }

コードのクレジット: https ://wordpress.stackexchange.com/questions/46086/regenerate-slugs-from-title-of-posts

于 2012-10-03T23:36:55.613 に答える