2017-08-11 104 views

回答

0

獲取當前的類別,並通過它在WP_Qeury

$args = array(
    'posts_per_page' => 10, 
    'tax_query' => 
     array(
      'taxonomy' => 'product_cat', 
      'field' => 'slug', 
      'terms' => 'category-slug2' // current category slug 
     ), 
    'post_type' => 'product' 
); 
$the_query = new WP_Query($args); 
+0

感謝您的代碼。我把它放在我的functions.php中嗎?或者我如何使用它。我在代碼方面不是很有經驗。 – user3612498

+0

@ user3612498它應該去的部件,如果你在WordPress的新首次搜索有關如何創建一個小部件 – aidinMC

+0

我將代碼添加到小部件,但它似乎並沒有工作。我會在下面發佈小部件代碼 – user3612498

0
function wpb_load_widget() { 
register_widget('wpb_widget'); 
} 
add_action('widgets_init', 'wpb_load_widget'); 

// Creating the widget 
class wpb_widget extends WP_Widget { 

function __construct() { 
parent::__construct(

// Base ID of your widget 
'wpb_widget', 

// Widget name will appear in UI 
__('WPBeginner Widget', 'wpb_widget_domain'), 

// Widget description 
array('description' => __('Sample widget based on WPBeginner Tutorial', 
'wpb_widget_domain'),) 
); 
} 

// Creating widget front-end 

public function widget($args, $instance) { 
$title = apply_filters('widget_title', $instance['title']); 

// before and after widget arguments are defined by themes 
echo $args['before_widget']; 
if (! empty($title)) 
echo $args['before_title'] . $title . $args['after_title']; 

// This is where you run the code and display the output 
$args = array(
'posts_per_page' => 10, 
'tax_query' => 
    array(
     'taxonomy' => 'product_cat', 
     'field' => 'slug', 
     'terms' => 'category-slug2' // current category slug 
    ), 
'post_type' => 'product' 
); 
$the_query = new WP_Query($args); 
} 

// Widget Backend 
public function form($instance) { 
if (isset($instance[ 'title' ])) { 
$title = $instance[ 'title' ]; 
} 
else { 
$title = __('New title', 'wpb_widget_domain'); 
} 
// Widget admin form 
?> 
<p> 
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e( 
'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($title); ?>" /> 
</p> 
<?php 
} 

// Updating widget replacing old instances with new 
public function update($new_instance, $old_instance) { 
$instance = array(); 
$instance['title'] = (! empty($new_instance['title'])) ? strip_tags( 
$new_instance['title']) : ''; 
return $instance; 
} 
} // Class wpb_widget ends here 
相關問題