Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: Category Thumbnail List
- Plugin URI: http://jonk.pirateboy.net/blog/category/bloggeriet/wordpress/plugins/
- Description: Creates a list of thumbnail images, using the_post_thumbnail() in WordPress 2.9 and up.
- Version: 1.1
- Author: Jonk
- Author URI: http://jonk.pirateboy.net
- */
- $categoryThumbnailList_Order = stripslashes( get_option( 'category-thumbnail-list_order' ) );
- if ($categoryThumbnailList_Order == '') {
- $categoryThumbnailList_Order = 'date';
- }
- $categoryThumbnailList_OrderType = stripslashes( get_option( 'category-thumbnail-list_ordertype' ) );
- if ($categoryThumbnailList_OrderType == '') {
- $categoryThumbnailList_OrderType = 'DESC';
- }
- $categoryThumbnailList_Path = get_option('siteurl')."/wp-content/plugins/categoy-thumbnail-list/";
- define("categoryThumbnailList_REGEXP", "/\[categorythumbnaillist ([[:print:]]+)\]/");
- define("categoryThumbnailList_TARGET", "###CATTHMBLST###");
- function categoryThumbnailList_callback($listCatId) {
- global $post;
- global $categoryThumbnailList_Order;
- global $categoryThumbnailList_OrderType;
- $tmp_post = $post;
- $args=array(
- 'showposts'=> 5,
- 'category'=> $listCatId[1],
- 'orderby'=> $categoryThumbnailList_OrderType,
- 'order'=> $categoryThumbnailList_Order
- );
- $myposts = get_posts( $args);
- $output = '<div class="categoryThumbnailList">';
- foreach($myposts as $post) :
- setup_postdata($post);
- if ( has_post_thumbnail() ) {
- $link = get_permalink($post->ID);
- $thmb = get_the_post_thumbnail($post->ID,'thumbnail');
- $url = get_post_meta( $post->ID, 'ExternalURL', true );
- $title = get_the_title();
- $excerpt = substr(get_the_excerpt(), 0,275);
- $date = get_the_date();
- $comments = get_the_date();
- $output .= '<div class="categoryThumbnailList_item">';
- if ( $url ) {
- $output .= '<a href="'. esc_url_raw($url) . '" title="' .$title . '" target="_blank"><div id="newsthumb">' .$thmb . '</div></a><br/>';
- $output .= '<div class="tntitle"><a href="'. esc_url_raw($url) . '" title="' .$title . '" target="_blank">' .$title . '</a></div>';
- $output .= '<div class="tndate">' .$date . '</div>';
- $output .= '<div class="tnexcerpt">' .$excerpt . '...</div>';
- $output .= '<div class="tncomments"><a href="'. esc_url_raw($url) . '" title="' .$title . '" target="_blank">0 Comments and 0 Reactions</a></div>';
- $output .= '</div>';
- }
- else {
- $output .= '<a href="'. $link. '" title="' .$title . '"><div id="newsthumb">' .$thmb . '</div></a><br/>';
- $output .= '<div class="tntitle"><a href="'. $link . '" title="' .$title . '">' .$title . '</a></div>';
- $output .= '<div class="tndate">' .$date . '</div>';
- $output .= '<div class="tnexcerpt">' .$excerpt . '...</div>';
- $output .= '<div class="tncomments"><a href="'. $link . '#disqus_thread" title="' .$title . '">' .$title . '</a></div>';
- $output .= '</div>';
- }
- }
- endforeach;
- /*
- $output .= '</div>';
- $output .= '<div class="categoryThumbnailList_clearer"></div>';
- return ($output);
- $output = '';
- $post = $tmp_post;
- setup_postdata($post);
- */
- $output .= '</div>';
- $output .= '<div class="categoryThumbnailList_clearer"></div>';
- $post = $tmp_post;
- wp_reset_postdata();
- return ($output);
- $output = '';
- }
- function categoryThumbnailList($content) {
- return (preg_replace_callback(categoryThumbnailList_REGEXP, 'categoryThumbnailList_callback', $content));
- }
- function categoryThumbnailList_css() {
- global $categoryThumbnailList_Path;
- echo "
- <style type=\"text/css\">
- @import url(\"".$categoryThumbnailList_Path."categoy-thumbnail-list.css\");
- </style>
- ";
- }
- add_action('wp_head', 'categoryThumbnailList_css');
- add_filter('the_content', 'categoryThumbnailList',1);
- ?>
- <?php
- add_action('admin_menu', 'my_plugin_menu');
- function my_plugin_menu() {
- add_options_page('Category Thumbnail List Options', 'Category Thumbnail List', 'manage_options', 'category-thumbnail-list', 'my_plugin_options');
- }
- function my_plugin_options() {
- global $categoryThumbnailList_Order;
- global $categoryThumbnailList_OrderType;
- if( $_POST['save_category-thumbnail-list_settings'] ) {
- // update order type
- if( !$_POST['category-thumbnail-list_ordertype'] )
- {
- $_POST['category-thumbnail-list_ordertype'] = 'date';
- }
- update_option('category-thumbnail-list_ordertype', $_POST['category-thumbnail-list_ordertype'] );
- // update order
- if( !$_POST['category-thumbnail-list_order'] )
- {
- $_POST['category-thumbnail-list_order'] = 'DESC';
- }
- update_option('category-thumbnail-list_order', $_POST['category-thumbnail-list_order'] );
- $categoryThumbnailList_Order = stripslashes( get_option( 'category-thumbnail-list_order' ) );
- $categoryThumbnailList_OrderType = stripslashes( get_option( 'category-thumbnail-list_ordertype' ) );
- echo "<div id=\"message\" class=\"updated fade\"><p>Your settings are now updated</p></div>\n";
- }
- ?>
- <div class="wrap">
- <h2>Category Thumbnail List Settings</h2>
- <form method="post">
- <table class="form-table">
- <tr valign="top">
- <th scope="row">Order by</th>
- <td>
- <select name="category-thumbnail-list_ordertype" id="category-thumbnail-list_ordertype">
- <option <?php if ($categoryThumbnailList_OrderType == 'date') { echo 'selected="selected"'; } ?> value="date">Date</option>
- <option <?php if ($categoryThumbnailList_OrderType == 'title') { echo 'selected="selected"'; } ?> value="title">Title</option>
- </select>
- </td>
- </tr>
- <tr valign="top">
- <th scope="row">Display order</th>
- <td>
- <select name="category-thumbnail-list_order" id="category-thumbnail-list_order">
- <option <?php if ($categoryThumbnailList_Order == 'DESC') { echo 'selected="selected"'; } ?> value="DESC">Descending (z-a/9-1/2010-2001)</option>
- <option <?php if ($categoryThumbnailList_Order == 'ASC') { echo 'selected="selected"'; } ?> value="ASC">Ascending (a-z/1-9/2001-2010)</option>
- </select>
- </td>
- </tr>
- </table>
- <div class="submit">
- <!--<input type="submit" name="reset_category-thumbnail-list_settings" value="<?php _e('Reset') ?>" />-->
- <input type="submit" name="save_category-thumbnail-list_settings" value="<?php _e('Save Settings') ?>" class="button-primary" />
- </div>
- <div>
- <a href="options-media.php">Update the thumbnail sizes here</a>
- </div>
- <div>
- <a href="plugin-editor.php?file=categoy-thumbnail-list/categoy-thumbnail-list.css&plugin=categoy-thumbnail-list/categoy-thumbnail-list.php">You may need to update your css when changing the thumbnail size</a>
- </div>
- </form>
- </div>
- <?php
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement