The find_posts_div() WordPress PHP function is used to output the modal window that attaches media to posts or pages in the media-listing screen.
Usage
Below is a simple example of how the function can be used:
find_posts_div('my_action');
In this example, 'my_action'
is the custom action that will be returned when the media is found and attached to a post or page.
Parameters
- $found_action (string) (Optional): This parameter represents the value of the ‘found_action’ input field. Default is an empty string (”).
More information
See WordPress Developer Resources: find_posts_div()
Examples
Basic Use
The function can be used directly in your theme or plugin to display the media attachment modal.
// Display the media attachment modal find_posts_div();
Custom Action
You can provide a custom action that will be returned when the media is found.
// Display the media attachment modal with a custom action find_posts_div('my_custom_action');
Use in a Function
The function can be used within another function, for instance, when building a custom media library for your theme.
function my_media_library() { // Use find_posts_div() function to display media attachment modal find_posts_div('action_from_my_media_library'); }
Conditional Use
You can use the function conditionally, for example, only if a certain user role is viewing the page.
if ( current_user_can('editor') ) { // Display the media attachment modal for 'editor' role find_posts_div(); }
Use with AJAX
This function can be used in combination with AJAX to load the media modal without refreshing the page.
// Enqueue script wp_enqueue_script('my_script', get_template_directory_uri() . '/js/my_script.js', array('jquery'), '', true); // Localize script wp_localize_script('my_script', 'my_ajax', array( 'ajax_url' => admin_url('admin-ajax.php') )); // Add AJAX action add_action('wp_ajax_my_action', 'my_ajax_function'); function my_ajax_function() { find_posts_div('my_ajax_action'); die(); }
In your JavaScript file:
jQuery(document).ready(function($) { $.post(my_ajax.ajax_url, {action: 'my_action'}, function(response) { // Handle response }); });
In this example, the media modal is loaded via AJAX when the page is ready.