Written in response to Urgent multi site custom loop to check if posts with a custom...:
Hello,
I just wanted to make a fair,
Josh asking for more solutions, I gave him this code :
/* MEDIA LIBRARY FILTER */
add_filter('parse_query', 'node_admin_posts_filter');
add_action('restrict_manage_posts', 'node_admin_posts_filter_restrict_manage_posts');
function node_admin_posts_filter($wp_query)
{
if (is_admin() && isset($_GET['post_id']) && $_GET['post_id'] != '')
{
$original_query = $wp_query;
$wp_query->set('post_parent', $_GET['post_id']);
$wp_query = $original_query;
wp_reset_postdata();
}
elseif (is_admin() && isset($_GET['mime']) && $_GET['mime'] != '')
{
$original_query = $wp_query;
$wp_query->set('post_mime_type', $_GET['mime']);
$wp_query = $original_query;
wp_reset_postdata();
}
}
function node_admin_posts_filter_restrict_manage_posts()
{
global $wpdb;
$screen = get_current_screen();
if($screen->id == "upload")
{
$get_posts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE $wpdb->posts.post_type IN ('post') ORDER BY $wpdb->posts.post_title ASC");
echo '<select name="post_id">';
echo '<option value="">Upload To</option>';
$current = isset($_GET['post_id']) ? $_GET['post_id'] : '';
foreach($get_posts as $get_post)
{
$select = null;
if($current == $get_post->ID) { $select = ' selected="selected"'; }
echo '<option value="' . $get_post->ID . '" ' . $select . '>' . $get_post->post_title . '</option>';
}
echo '</select>';
$mimes = get_allowed_mime_types();
echo '<select name="mime">';
echo '<option value="">Mime Type</option>';
$currentmime = isset($_GET['mime']) ? $_GET['mime'] : '';
foreach($mimes as $mimekey => $mimevalue)
{
if( $currentmime == $mimevalue) { $selectmime = ' selected="selected"'; } else {$selectmime = '';}
echo '<option value="' . $mimevalue . '" ' . $selectmime . '>' . $mimevalue . '</option>';
}
echo '</select>';
}
}
Thank you very much,
Best,
Daniel Yoen
I just wanted to make a fair,
Josh asking for more solutions, I gave him this code :
/* MEDIA LIBRARY FILTER */
add_filter('parse_query', 'node_admin_posts_filter');
add_action('restrict_manage_posts', 'node_admin_posts_filter_restrict_manage_posts');
function node_admin_posts_filter($wp_query)
{
if (is_admin() && isset($_GET['post_id']) && $_GET['post_id'] != '')
{
$original_query = $wp_query;
$wp_query->set('post_parent', $_GET['post_id']);
$wp_query = $original_query;
wp_reset_postdata();
}
elseif (is_admin() && isset($_GET['mime']) && $_GET['mime'] != '')
{
$original_query = $wp_query;
$wp_query->set('post_mime_type', $_GET['mime']);
$wp_query = $original_query;
wp_reset_postdata();
}
}
function node_admin_posts_filter_restrict_manage_posts()
{
global $wpdb;
$screen = get_current_screen();
if($screen->id == "upload")
{
$get_posts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE $wpdb->posts.post_type IN ('post') ORDER BY $wpdb->posts.post_title ASC");
echo '<select name="post_id">';
echo '<option value="">Upload To</option>';
$current = isset($_GET['post_id']) ? $_GET['post_id'] : '';
foreach($get_posts as $get_post)
{
$select = null;
if($current == $get_post->ID) { $select = ' selected="selected"'; }
echo '<option value="' . $get_post->ID . '" ' . $select . '>' . $get_post->post_title . '</option>';
}
echo '</select>';
$mimes = get_allowed_mime_types();
echo '<select name="mime">';
echo '<option value="">Mime Type</option>';
$currentmime = isset($_GET['mime']) ? $_GET['mime'] : '';
foreach($mimes as $mimekey => $mimevalue)
{
if( $currentmime == $mimevalue) { $selectmime = ' selected="selected"'; } else {$selectmime = '';}
echo '<option value="' . $mimevalue . '" ' . $selectmime . '>' . $mimevalue . '</option>';
}
echo '</select>';
}
}
Thank you very much,
Best,
Daniel Yoen




