' .
__( 'Settings', 'admin_menu_post_list_settings_page' ) . '';
array_unshift( $links, $settings_link );
}
return $links;
}
/*
* Build post list
*/
function ampl_build_post_list_item($post_id, $post_type, $is_child, $post_status = "any") {
if( !isset($_GET['post']) )
$current_post_ID = -1;
else
$current_post_ID = $_GET['post']; /* Get current post ID on admin screen */
$edit_link = get_edit_post_link($post_id);
$title = get_the_title($post_id);
$title = esc_html($title);
/* Limit title length */
if(strlen($title)>20) {
if( function_exists( 'mb_substr' ) ) {
$title = mb_substr($title, 0, 20) . '..';
} else {
$title = substr($title, 0, 20) . '..';
}
}
$output = '
';
return $output;
}
add_action('admin_menu', 'custom_post_list_view', 11);
function custom_post_list_view() {
/** Get settings **/
$settings = get_option( 'ampl_settings' );
/*** Get all post types ***/
$post_types = get_post_types();
foreach ($post_types as $post_type) {
/*** If enabled in settings ***/
if(!isset($settings['post_types'][$post_type]))
$post_types_setting = 'off';
else
$post_types_setting = $settings['post_types'][$post_type];
if($post_types_setting == 'on' ) {
/* Get display options */
$max_limit = $settings['max_limit'][$post_type];
if($max_limit=='') $max_limit = 0;
$post_orderby = $settings['orderby'][$post_type];
if($post_orderby=='') $post_orderby = 'date';
$post_order = $settings['order'][$post_type];
if($post_order=='') $post_order = 'ASC';
if( !isset($settings['exclude_status']) || !isset($settings['exclude_status'][$post_type]))
$post_exclude = '';
else
$post_exclude = $settings['exclude_status'][$post_type];
if($post_exclude=='') $post_exclude = 'off';
if($post_exclude=='on') {
$post_exclude = 'publish';
} else {
$post_exclude = 'any';
}
$custom_menu_slug = $post_type;
$output = '';
if ($max_limit==0) {
$max_numberposts = 25;
} else {
$max_numberposts = $max_limit;
}
$args = array(
"post_type" => $post_type,
"parent" => "0",
"post_parent" => "0",
"numberposts" => $max_numberposts,
"orderby" => $post_orderby,
"order" => $post_order,
"post_status" => $post_exclude,
"suppress_filters" => 0
);
$posts = get_posts($args);
if($posts) {
$output .= '';
$output .= ''
. '
' . '
' . '';
$count=0;
foreach ($posts as $post) {
if(($max_limit==0) ||
($count<$max_limit))
$output .= ampl_build_post_list_item($post->ID, $post_type, 'parent', $post_exclude);
$count++;
}
$output .= '
';
$output .= '