0

違法な文字を含む古いパーマリンク (投稿、ページ、タグ) がいくつかありますが、これらはもう機能していません。

以前のバージョンの WP では非ラテン文字を使用できましたが、新しいバージョンでは変更されました。

これらのパーマリンクからデータベースをきれいにする方法はありますか (パーマリンクを許可された形式に変換します)?

4

3 に答える 3

3

sanitize_title( $title);すべての投稿でワードプレス機能を使用でき ます

$posts = get_posts(array('post_type' => array('post', 'page'))
foreach($posts as $post)
{

 $post[post_name] = sanitize_title( $title);

  wp_update_post( $post );

 }
于 2012-04-18T10:15:44.490 に答える
1

文字が何であり、それらを何に置き換えたいかがわかっている場合は、単純な PHP スクリプトを記述してデータベースからデータを取得し、使用preg_replace()して PHP 側で文字を修正し、その修正でテーブルを更新できます。 . これが私が思いついた簡単な例です:

$query = "SELECT field, primarykey FROM table WHERE field LIKE "(weird character)";
/* run the query, blah blah */
$result = mysql_query($query);
$weird_character = "/weird character/";
$good_character = "good character";
$replace = "UPDATE table SET field='$field' WHERE field='$row['field']'";
while($row=mysql_fetch_array($result, MYSQL_ASSOC))
{
$field = preg_replace($bad_character, $good_character, $row['field']);
$replace_result = mysql_query($replace);
}

膨大な数のリンクがある場合、これには永遠に時間がかかります。少量の場合、これは十分に効率的であるはずです。いずれにせよ、実行するのは 1 回だけです。

于 2012-04-18T09:59:38.563 に答える
0

もちろんURLを変更する必要がある場合は、標準のワードプレス関数esc_url_rawを使用することもできます。この関数は、無効な文字を削除し、危険な文字を削除し、URLに適切なプロトコルセット(http、https、ftpなど)が設定されていることを確認できます。

esc_url_raw( $current_url );
于 2012-11-26T18:53:56.137 に答える