apply_filters( ‘wp_link_query_args’, array $query )

Filters the link query arguments.

Description

Allows modification of the link query arguments before querying.

See also

Parameters

$queryarray
An array of WP_Query arguments.

More Information

The “wp_link_query_args” filter is used to filter the array of arguments passed to the wp_link_query function which is responsible for building the list of linkable content in the modal window that displays when you insert a link. wp_link_query_args allows you to alter the query before the list is rendered on the page.

Source

$query = apply_filters( 'wp_link_query_args', $query );

Changelog

VersionDescription
3.7.0Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Example Migrated from Codex:

    Any allowable WP_Query parameters can be passed to wp_link_query_args. One example is filtering out post types:

    Show only posts and pages

    If you wanted only allow posts and pages to show up in the linked results, you could do something like this. In this example, we’re going to check to make sure we aren’t in the admin, so results would only be filtered on the front end, but admins could still add links to all post types.

    add_filter( 'wp_link_query_args', 'my_wp_link_query_args' ); 
    
    function my_wp_link_query_args( $query ) {
        // check to make sure we are not in the admin
        if ( !is_admin() ) {
            $query['post_type'] = array( 'post', 'pages' ); // show only posts and pages
        }
    
        return $query;
    }

    Remove specific post types from results

    You’d use something like this if you only wanted to remove specific post types from the results.

    add_filter( 'wp_link_query_args', 'remove_these_post_types_from_wp_link_query_args' );
    
    function remove_these_post_types_from_wp_link_query_args( $query ) {
        // this is the post type I want to exclude
        $cpt_to_remove = 'article';
    
        // find the corresponding array key
        $key = array_search( $cpt_to_remove, $query['post_type'] ); 
    
        // remove the array item
        if( $key )
            unset( $query['post_type'][$key] );
    
        return $query;
    }

You must log in before being able to contribute a note or feedback.