/slide-random-posts.php

https://bitbucket.org/uglymunky/slide-random-posts · PHP · 122 lines · 77 code · 22 blank · 23 comment · 7 complexity · 24246132f7715deb4f3e16a0b475cef3 MD5 · raw file

  1. <?php
  2. /*
  3. Plugin Name: Slide Random Post
  4. Plugin URI:
  5. Description: This plugin will select random posts and then create a slider that rotates through them
  6. Author: Gabriel Castillo
  7. Version: 0.1
  8. Author URI: http://uglymunky.com/
  9. Released under GPL:
  10. http://www.opensource.org/licenses/gpl-license.php
  11. */
  12. add_action('init', 'sliderandomposts_js_head_load');
  13. function get_random_posts( $num=1 ){
  14. return get_posts ('numberposts=' . $num . '&orderby=rand&category=-217');
  15. }
  16. function display_random_post_slider( $num=2, $categories='', $additional='' ){
  17. /* The array option is not fully implemented for "$categories" or "$additional" */
  18. if( is_array($categories)){
  19. foreach ($categories as $c){
  20. $cat = $c . ', ';
  21. }
  22. }else{
  23. $cat = $categories;
  24. }
  25. $random_post_query = new WP_Query('posts_per_page=' . $num . '&orderby=rand&cat=' . $cat);
  26. if( !empty($additional) ){
  27. if( is_array($additional)){
  28. foreach ($additional as $a){
  29. $adtnl = $a . ', ';
  30. }
  31. $additional_posts = get_pages('include=' . $adtnl);
  32. $a = '';
  33. $i = '';
  34. foreach ($adtnl as $a ){
  35. array_unshift( $random_post_query->posts, $additional_post[$i] );
  36. $i++;
  37. }
  38. }else{
  39. $additional_post = get_pages('include=' . $additional); //get_pages returns an array
  40. array_unshift( $random_post_query->posts, $additional_post[0] );
  41. }
  42. }
  43. echo '<div id="slide_random_posts">';
  44. // echo 'D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. D&eacute;jenme decirles, a riesgo de parecer rid&Iacute;culo, que el revolucionario verdadero est&aacute; guiado por grandes sentimientos de amor. Es imposible pensar en un revolucionario aut&eacute;ntico sin esta cualidad. ';
  45. global $post;
  46. while( $random_post_query->have_posts()):
  47. $random_post_query->the_post();
  48. $id = get_the_id();
  49. $title = get_the_title();
  50. $permalink = get_permalink();
  51. $header_pic = get_random_post_image ( $id );
  52. if( $post->post_type == 'page' ){
  53. $the_excerpt = get_the_excerpt();
  54. } else{
  55. $the_excerpt = '<p>' . get_the_excerpt() . '</p>';
  56. }
  57. echo '
  58. <div class="random_post">'
  59. . $header_pic .
  60. '<div>
  61. <h2 class="title"><a href="' . $permalink . '">' . $title . '</a></h2>
  62. <div class="the_excerpt">' . $the_excerpt . '</div>
  63. <p><a class="more-link" href="' . $permalink . '">Continue reading</a></p>
  64. </div>
  65. </div>';
  66. endwhile;
  67. wp_reset_query();
  68. echo '</div>';
  69. }
  70. function get_random_post_image( $pid ){
  71. // set the image size
  72. $width = 490;
  73. $height = 140;
  74. $header_pic_id = get_post_meta ($pid, 'header_pic_id', true);
  75. if (!$header_pic_id){
  76. return '<img width="' . $width . '" height="' . $height . '" alt="Picture not available" src="" />';
  77. }
  78. $img_info = get_post ( $header_pic_id );
  79. if (!$img_info){
  80. return '<img width="' . $width . '" height="' . $height . '" alt="Unable to locate picture" src="" />';
  81. }
  82. $src = $img_info->guid;
  83. $alt = 'Random Post Picture';
  84. $title = $img_info->post_title;
  85. return '<img src="' . $src . '" class="' . $class . '" width="' . $width . '" height="' . $height . '" alt="' . $alt . '" title="' . $title . '" />';
  86. }
  87. /**
  88. * Enqueue javascript files
  89. *
  90. */
  91. function sliderandomposts_js_head_load(){
  92. /* Uncomment the following two lines to use the jQuery CDN copy */
  93. // wp_deregister_script( 'jquery' );
  94. // wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js');
  95. /* register the plugin */
  96. wp_enqueue_script('jquery-cycle', WP_PLUGIN_URL.'/slide-random-posts/js/jquery.cycle.lite.1.0.min.js', array('jquery'), '1.0');
  97. /* register the custom script */
  98. wp_enqueue_script('them-cycle', WP_PLUGIN_URL.'/slide-random-posts/js/slide-random-posts.js', array('jquery', 'jquery-cycle'), '1.0');
  99. }