رفتن به مطلب

جایگزینی تصویر از زمینه دلخواه به جای تصویر شاخص


پست های پیشنهاد شده

سلام

من یه قالب دارم که خودش سه تا ابزارک اماده داره، این ابزارک ها تصویر شاخص رو هم نمایش میدن، حالا من میخوام ابزارک تصویر رو از زمینه دلخواه فراخوانی کنه، این کد چهار جای سایت تکرار شده مانند اسلایدر و صفحه اصلی و همین ابزارک ها، اسلایدر و صفحه اصلی با جایگزینی کد زیر درست کار میکنن ولی همین کد رو در ابزارک ها هم جایگزین میکنم اما مقدار زمینه دلخواه رو خالی برمیگردونه

ممنون میشم دوستان برای حل مشکل کمک کنن

کد اصلی


<?php if ( has_post_thumbnail() ): ?>
<?php the_post_thumbnail('thumb-medium'); ?>
<?php elseif ( ot_get_option('placeholder') != 'off' ): ?>
<img src="<?php echo get_template_directory_uri(); ?>/img/thumb-medium.png" alt="<?php the_title(); ?>" />
<?php endif; ?>

کد جایگزین کرده خودم برای صفحه اصلی و اسلایدر که بدون مشکل کار میکنه


<?php $Cover = get_post_meta($post->ID, 'Cover', true); ?>
<img src="<?php echo get_template_directory_uri(); ?>/js/timthumb.php?src=<?php echo get_post_meta($post->ID, 'Cover',true); ?>&h=180&w=120" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" width="275" height="175" />
<?php $mid_var = get_post_meta($post->ID, 'Cover',true); if(isset($mid_var) && empty($mid_var)) : ?>
<img src="<?php echo get_template_directory_uri(); ?>/img/thumb-medium.png" alt="<?php the_title(); ?>" />
<?php endif; ?>

کدهای ابزارک به صورت کامل

<?php

/*

AlxPosts Widget

License: GNU General Public License v3.0

License URI: http://www.gnu.org/licenses/gpl-3.0.html

Copyright: © 2013 Alexander "Alx" Agnarson - http://alxmedia.se

@package AlxPosts

@version 1.0

*/

class AlxPosts extends WP_Widget {

/* Constructor

/* ------------------------------------ */

function AlxPosts() {

parent::__construct( false, 'AlxPosts', array('description' => 'Display posts from a category', 'classname' => 'widget_alx_posts') );;

}

/* Widget

/* ------------------------------------ */

public function widget($args, $instance) {

extract( $args );

$instance['title']?NULL:$instance['title']='';

$title = apply_filters('widget_title',$instance['title']);

$output = $before_widget."\n";

if($title)

$output .= $before_title.$title.$after_title;

ob_start();

?>

<?php

$posts = new WP_Query( array(

'post_type' => array( 'post' ),

'showposts' => $instance['posts_num'],

'cat' => $instance['posts_cat_id'],

'ignore_sticky_posts' => true,

'orderby' => $instance['posts_orderby'],

'order' => 'dsc',

'date_query' => array(

array(

'after' => $instance['posts_time'],

),

),

) );

?>

<ul class="alx-posts group <?php if($instance['posts_thumb']) { echo 'thumbs-enabled'; } ?>">

<?php while ($posts->have_posts()): $posts->the_post(); ?>

<li>

<?php if($instance['posts_thumb']) { // Thumbnails enabled? ?>

<div class="post-item-thumbnail">

<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">

<?php if ( has_post_thumbnail() ): ?>

<?php the_post_thumbnail('thumb-medium'); ?>

<?php elseif ( ot_get_option('placeholder') != 'off' ): ?>

<img src="<?php echo get_template_directory_uri(); ?>/img/thumb-medium.png" alt="<?php the_title(); ?>" />

<?php endif; ?>

<?php if ( has_post_format('video') && !is_sticky() ) echo'<span class="thumb-icon small"><i class="fa fa-play"></i></span>'; ?>

<?php if ( has_post_format('audio') && !is_sticky() ) echo'<span class="thumb-icon small"><i class="fa fa-volume-up"></i></span>'; ?>

<?php if ( is_sticky() ) echo'<span class="thumb-icon small"><i class="fa fa-star"></i></span>'; ?>

</a>

</div>

<?php } ?>

<div class="post-item-inner group">

<?php if($instance['posts_category']) { ?><p class="post-item-category"><?php the_category(' / '); ?></p><?php } ?>

<p class="post-item-title"><a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></p>

<?php if($instance['posts_date']) { ?><p class="post-item-date"><?php the_time('j M, Y'); ?></p><?php } ?>

</div>

</li>

<?php endwhile; ?>

</ul><!--/.alx-posts-->

<?php

$output .= ob_get_clean();

$output .= $after_widget."\n";

echo $output;

}

/* Widget update

/* ------------------------------------ */

public function update($new,$old) {

$instance = $old;

$instance['title'] = strip_tags($new['title']);

// Posts

$instance['posts_thumb'] = $new['posts_thumb']?1:0;

$instance['posts_category'] = $new['posts_category']?1:0;

$instance['posts_date'] = $new['posts_date']?1:0;

$instance['posts_num'] = strip_tags($new['posts_num']);

$instance['posts_cat_id'] = strip_tags($new['posts_cat_id']);

$instance['posts_orderby'] = strip_tags($new['posts_orderby']);

$instance['posts_time'] = strip_tags($new['posts_time']);

return $instance;

}

/* Widget form

/* ------------------------------------ */

public function form($instance) {

// Default widget settings

$defaults = array(

'title' => '',

// Posts

'posts_thumb' => 1,

'posts_category' => 1,

'posts_date' => 1,

'posts_num' => '4',

'posts_cat_id' => '0',

'posts_orderby' => 'date',

'posts_time' => '0',

);

$instance = wp_parse_args( (array) $instance, $defaults );

?>

<style>

.widget .widget-inside .alx-options-posts .postform { width: 100%; }

.widget .widget-inside .alx-options-posts p { margin: 3px 0; }

.widget .widget-inside .alx-options-posts hr { margin: 20px 0 10px; }

.widget .widget-inside .alx-options-posts h4 { margin-bottom: 10px; }

</style>

<div class="alx-options-posts">

<p>

<label for="<?php echo $this->get_field_id('title'); ?>">Title:</label>

<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($instance["title"]); ?>" />

</p>

<h4>List Posts</h4>

<p>

<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('posts_thumb'); ?>" name="<?php echo $this->get_field_name('posts_thumb'); ?>" <?php checked( (bool) $instance["posts_thumb"], true ); ?>>

<label for="<?php echo $this->get_field_id('posts_thumb'); ?>">Show thumbnails</label>

</p>

<p>

<label style="width: 55%; display: inline-block;" for="<?php echo $this->get_field_id("posts_num"); ?>">Items to show</label>

<input style="width:20%;" id="<?php echo $this->get_field_id("posts_num"); ?>" name="<?php echo $this->get_field_name("posts_num"); ?>" type="text" value="<?php echo absint($instance["posts_num"]); ?>" size='3' />

</p>

<p>

<label style="width: 100%; display: inline-block;" for="<?php echo $this->get_field_id("posts_cat_id"); ?>">Category:</label>

<?php wp_dropdown_categories( array( 'name' => $this->get_field_name("posts_cat_id"), 'selected' => $instance["posts_cat_id"], 'show_option_all' => 'All', 'show_count' => true ) ); ?>

</p>

<p style="padding-top: 0.3em;">

<label style="width: 100%; display: inline-block;" for="<?php echo $this->get_field_id("posts_orderby"); ?>">Order by:</label>

<select style="width: 100%;" id="<?php echo $this->get_field_id("posts_orderby"); ?>" name="<?php echo $this->get_field_name("posts_orderby"); ?>">

<option value="date"<?php selected( $instance["posts_orderby"], "date" ); ?>>Most recent</option>

<option value="comment_count"<?php selected( $instance["posts_orderby"], "comment_count" ); ?>>Most commented</option>

<option value="rand"<?php selected( $instance["posts_orderby"], "rand" ); ?>>Random</option>

</select>

</p>

<p style="padding-top: 0.3em;">

<label style="width: 100%; display: inline-block;" for="<?php echo $this->get_field_id("posts_time"); ?>">Posts from:</label>

<select style="width: 100%;" id="<?php echo $this->get_field_id("posts_time"); ?>" name="<?php echo $this->get_field_name("posts_time"); ?>">

<option value="0"<?php selected( $instance["posts_time"], "0" ); ?>>All time</option>

<option value="1 year ago"<?php selected( $instance["posts_time"], "1 year ago" ); ?>>This year</option>

<option value="1 month ago"<?php selected( $instance["posts_time"], "1 month ago" ); ?>>This month</option>

<option value="1 week ago"<?php selected( $instance["posts_time"], "1 week ago" ); ?>>This week</option>

<option value="1 day ago"<?php selected( $instance["posts_time"], "1 day ago" ); ?>>Past 24 hours</option>

</select>

</p>

<hr>

<h4>Post Info</h4>

<p>

<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('posts_category'); ?>" name="<?php echo $this->get_field_name('posts_category'); ?>" <?php checked( (bool) $instance["posts_category"], true ); ?>>

<label for="<?php echo $this->get_field_id('posts_category'); ?>">Show categories</label>

</p>

<p>

<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id('posts_date'); ?>" name="<?php echo $this->get_field_name('posts_date'); ?>" <?php checked( (bool) $instance["posts_date"], true ); ?>>

<label for="<?php echo $this->get_field_id('posts_date'); ?>">Show dates</label>

</p>

<hr>

</div>

<?php

}

}

/* Register widget

/* ------------------------------------ */

if ( ! function_exists( 'alx_register_widget_posts' ) ) {

function alx_register_widget_posts() {

register_widget( 'AlxPosts' );

}

}

add_action( 'widgets_init', 'alx_register_widget_posts' );

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...