ID; endwhile; // Get arlima slug added to this page in a custom field $arlima_slug = get_post_meta($page_id, 'arlima', true); if( !$arlima_slug ) { echo '

'.__('No list slug is defined. Please add custom field "arlima" to this page with the slug name of the list that you want to display', 'arlima').'

'; } else { // Load the article list $version = arlima_is_requesting_preview() ? 'preview' : ''; $list = Arlima_ListFactory::load($arlima_slug, $version); // List does not exist if( !$list->exists ) { echo '

'.__('It does not exist any arlima list with the slug', 'arlima').' "'.$arlima_slug.'"

'; } else { // Show a link that takes logged in users directly to wp-admin // where our list can be edited arlima_edit_link($list); // Initiate template renderer that's responsible of // rendering our article list. $arlima_renderer = new Arlima_ListTemplateRenderer($list); // Callback for article image $arlima_renderer->setGetImageCallback(function($article) { if( !empty($article['image_options']) && !empty( $article['image_options']['attach_id'] ) ) { $attach_meta = wp_get_attachment_metadata($article['image_options']['attach_id']); if( !$attach_meta ) return false; $article_width = empty($article['parent']) || $article['parent'] == -1 ? TMPL_ARTICLE_WIDTH : round(TMPL_ARTICLE_WIDTH * 0.5); switch($article['image_options']['size']) { case 'half': $width = round($article_width * 0.5); $size = array($width, round( $attach_meta['height'] * ($width / $attach_meta['width']))); break; case 'third': $width = round($article_width * 0.33); $size = array($width, round( $attach_meta['height'] * ($width / $attach_meta['width']))); break; case 'quarter': $width = round($article_width * 0.25); $size = array($width, round( $attach_meta['height'] * ($width / $attach_meta['width']))); break; default: $size = array($article_width, round( $attach_meta['height'] * ($article_width / $attach_meta['width']))); break; } $img_class = $article['image_options']['size'].' '.$article['image_options']['alignment']; $img_alt = htmlspecialchars( $article['title'] ); $attach_url = wp_get_attachment_url( $article['image_options']['attach_id'] ); $img_url = WP_PLUGIN_URL . '/arlima/timthumb/timthumb.php?q=90&w='.$size[0].'&h='.$size[1].'&src=' . urlencode($attach_url); return sprintf('%s', $img_url, $size[0], $size[1], $img_alt, $img_class); } return false; }); // Callback used when a future posts comes up in the list $arlima_renderer->setFuturePostCallback(function($post, $article) { if( is_user_logged_in() ) { ?>
Hey dude, this post will not show up in the list until it's published, unless you're not logged in that is...
setTextModifierCallback(function($article, $is_post, $post) { $article['text'] = apply_filters('the_arlima_content', $article['text']); return arlima_link_entrywords(trim($article['text']), $article['url']); }); // Callback for related posts $arlima_renderer->setRelatedPostsCallback(function($article, $is_post) { return $is_post ? arlima_related_posts('inline', null, false) : ''; }); // Callback taking place before every article is rendered $arlima_renderer->setBeforeArticleCallback(function($article_counter, $article) { // ... }); // Callback taking place after every article is rendered $arlima_renderer->setAfterArticleCallback(function($article_counter, $article) { // ... }); // The list doesn't have any articles :( if( !$arlima_renderer->havePosts() ) { echo '

'.__('Please feed me some articles, I\'m hungry', 'arlima').'

'; } // Let the magic happen... else { $arlima_renderer->renderList(); } } } ?>