web-dev-qa-db-ja.com

既存のコンテンツ提案へのリンクをフィルタリング

どのように私は "既存のコンテンツへのリンク"で与えられたリンクをフィルタリングすることができます。

例えば:enter image description here

上の画像のように。 WSP BANNERを表示させたいだけです。

wSP BANNER&CALENDARはカスタムPOSTタイプです。

どんな助けでもかなりのものになるでしょう。

2
Sujeet

現時点では、この目的に使用できるフィルタは用意されていません。リクエストに チケット が投稿されました。もうすぐチケットが届くことを願います。

カスタム投稿タイプをハードコーディングするよりも、フィルタフックを作成して使用する方が適切です。

それまでは、独自のフィルタを作成できます。

Includes/class-wp-editor.phpを開き、712行目で以下の変更を行います。

$pt_names = apply_filters('custom_insert_link_suggestion_filter',array_keys( $pts ));

すべてのパブリック投稿タイプを取得する代わりに、新しいフィルタを追加しました

次に、テーマに次のコードを追加して、内部リンクのカスタム投稿タイプをフィルタリングします

function my_filter_function($allowed_post_types)
{


if( condition chek)
{
         return array('page','your custom post types');
}


}
add_filter('custom_insert_link_suggestion_filter','my_filter_function',10,1);
2
Dipesh KC

非常に緊急の場合は、class-wp-editorの711行目を次のように編集してください。

$pts = get_post_types( array( 'name' => 'your_post_type','public' => true ), 'objects' );

それ以外の場合はそのままにします

1
Gembel Intelek

そのためのプラグインを書きました。これは ここからプラグインリポジトリ からダウンロードできます。

それをインストールしてから、このフィルタをあなたのfunctions.phpに入れてください。

add_filter( "link_to_existing_content_post_types", "my_link_to_existing_content_post_types" );
function my_link_to_existing_content_post_types( $post_types ) {  
    $post_types = array( "post", "page" );
    return $post_types;
}

このプラグインは内部リンクをショートコードに置き換える機能も持っています。これを使いたくない場合は、次のように無効にします。

add_filter( "link_to_existing_content_use_shortcode", "disable_link_to_existing_content_shortcode" );
function disable_link_to_existing_content_shortcode() {
    return false;
}

詳しい説明はここにあります: https://wordpress.org/plugins/b09-link-to-existing-content/faq/

0
rassoh

ファイルclass-wp-editor.php、行番号を確認してください。 742以降リストにはフィルタが適用されていません。それで私はあなたがそれを変えることができないと思います!

さらに、同じファイル内の行番号。 689、このリストを取得するためのAJAXリクエストを介して関数wp_link_queryが呼び出されましたが、投稿タイプを変更するためのフィルタもありません

したがって、あなたはそれと一緒に暮らす必要があります! ;)

0