纯PHP无法做到这一点。表格是在中创建的wp-admin/includes/ajax-actions.php::wp_ajax_find_posts()
, 并且没有过滤器。
但看看单选按钮:
name="found_post_id" value="\' . esc_attr($post->ID)
可以在动作上打印脚本
admin_footer-upload.php
从值中提取post ID并向表中添加新列。
下面是一个插件的工作示例。代码并不是很漂亮,但它是有效的,它应该说明它自己:
<?php
/**
* Plugin Name: Extend Media Find Posts Table
*/
add_action( \'admin_footer-upload.php\', \'t5_add_id_to_post_search\' );
function t5_add_id_to_post_search()
{
?>
<script>
jQuery(function($) {
// bind ajaxStop() to any unique element.
$(\'#find-posts-submit\').ajaxStop(function() {
var table = $(\'#find-posts-response table\');
// add the heading
$(table).find(\'thead tr\').append($(\'<th>ID</th>\').css(\'width\', \'2em\'));
// take ID from input and append as \'td\'
$(table).find(\'tbody tr\').each(function(){
$(this).append(\'<td>\' + $(this).find(\'input\').val() + \'</td>\');
});
});
});
</script>
<?php
}
结果: