0

ウェブサイトを完全に機能させるために文字通り何週間も努力してきたので、今日はちょっと大暴れしています。

「XXXXX で最高のホテルのお得な情報」という見出しが付いた 500 件ほどの投稿があり、テーブルの各 post_content 行にテンプレートがあります。

テンプレートの中に【キーワード】のような言葉があり、タイトルの「【キーワード】」を「XXX」に置き換えたいと思っています。

これは可能ですか?

たとえば、次のようになります。

"post_title = ロンドンで最もお得なホテル"

post_content = [キーワード] で最もお得なホテルをご用意しています"

post_content 内の [keyword] を London に置き換えます。

また、影響を受けたい特定の投稿の検索基準もいくつかあります。それらは次のとおりです。

SELECT *

FROM wp_posts WHERE post_titleLIKE '最高のホテル割引 %' AND post_statusLIKE '下書き'

助言がありますか?

4

3 に答える 3

0

次のように、SQL で単一のキーワードの更新を行うことができます。

update
    wp_posts
set
    post_content = 
        concat(
            substr(post_content, 1, instr(post_content, '[Keyword]') - 1),
            substr(post_title, instr(post_title, 'Best hotel deals in ') + 20),
            substr(post_content, instr(post_content, '[Keyword]') + 9)
        )
where
    post_title like 'best hotel deals in%' and
    post_status = 'draft' and
    post_content like '%\\[keyword\\]%'

ただし、複数のキーワードを扱っている場合、これは急いで面倒になることに注意してください。データベースで直接大規模な操作を行うよりも、WordPress の組み込みのテンプレート ツール、または利用可能な多くの WordPress プラグインの 1 つを使用する方がはるかに優れています。四角いペグ、丸い穴、などなど。

于 2013-11-02T00:13:48.893 に答える
0

私はこれを使用することになりました:

    update wp_posts
set post_content = REPLACE(post_content,'[keyword]',trim(SUBSTR(post_title, 21))) 
where post_title like 'best hotel deals in%' and post_status = 'draft'`

夢のように働いた。

みんな、ありがとう!

于 2013-11-04T16:17:41.777 に答える