削除する前に投稿にリンクしているかどうかを確認するにはどうすればよいですか?


15

投稿を「安全に」削除したい場合。「私のブログ内に」「削除予定」の投稿へのリンクが存在しないことを確認したい。それ、どうやったら出来るの?


これを行う方法がわかりませんが、これを試すことはできません。投稿をゴミ箱に移動して、リンクチェッカープラグインを使用してください。リンクチェッカープラグインが十分に賢い場合、サイトに表示されなくなった投稿にリンクしているリンクを通知する必要があります。
ブレイディ

1
素晴らしい質問のために+1。アイデアはすべての投稿の投稿コンテンツをスキャンすることですが、大量の投稿がない大きなサイトにとっては面倒な場合があります。ポストのリンクのシリアル化された配列をポストメタに保存して(新しいものと既存のもの)、ポストメタテーブルからこのメタ情報をクエリし、スキャンして、削除されているポストにリンクするポストIDのアレイを返します。停止することも、任意のアクションを実行することもできます。
アシュフェイム

@Ashfame:興味深い提案。今...あなたはそれ用のプラグインを作成するかの
月ファブリ

別の+1プラスfav。@Jan Fabry&@Ashfame-このプロジェクトで一緒に仕事をしたいと思います!:)
kaiser

@ user3047これを解決済みとしてマークしませんか?
カイザー

回答:


6

このスレッドを読んだ後、私も時々これを必要とするかもしれないことがわかりました。結果は次のとおりです。

内部リンクチェッカープラグイン

投稿編集画面にメタボックスを追加し、現在表示されている投稿に内部的にリンクしているすべての投稿へのリンクを表示します。出力を変更する(何かを追加するなど)場合は、提供されているフィルターを使用してください。フィルターの使用方法の例は、readmeファイルにあります。

プラグインはGPL2ライセンスです。たぶん、私は公式のリポジトリにそれを置いて、あなたのセルフホストブログ内からインストールできるようにするでしょう。編集:完了。

...または...

...または私たち自身で


また、SQLクエリを提供してくれた@Drakeに感謝します(答えてください)。
カイザー

少し荒いですが、ちょっとうまくいきます。同じ投稿に複数のリンクがある場合、重複が表示されます。受け入れられた解決策。
user3047

ヘッドアップをありがとう。それを知らなかった。将来のバージョンで変更されます。
カイザー

6

次のようなクエリを実行できます。

SELECT ID, post_title, post_date, post_content 
FROM wp_posts 
WHERE post_content 
LIKE '%your-post-title%' ORDER BY post_date

その古い投稿順を日付でリンクしたすべての投稿を取得します。


1

投稿間のリンクを保持する個別のテーブルまたはデータ構造はないため、これを行う最良の方法は、削除する投稿のURLを投稿から検索することです。検索は投稿のHTMLコードで機能するため、ビジュアルエディタで表示されなくても、完全なリンクが含まれます。

もちろん、投稿へのリンクを含めることもできるため、ページも検索する必要があります。

別のアプローチは、Googleを使用することです。検索するlink:http://example.com/2011/05/post-to-delete/と、そこにリンクしているすべてのページが返されます。次にsite:example.com、サイト上のページのみに結果を制限するために追加することもできます。もちろん、これは現在のデータベースでの検索ほど最新ではありません。


いい案。しかし、私が扱っている特定のブログはプライベートです
...-user3047

1

Googleのウェブマスターツールを使用するだけです。内部リンクを表示する特定のページがあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.