第一个插件以某种方式破坏了第二个插件(第二个插件的内容根本没有显示):
plugins/featured-images.php:
<?php
/* Plugin Name: Featured Jobs
Plugin URI: [Enter your website URL]
Description: [Enter brief description of plugin]
Version: [Enter version number of plugin (probably 1.0)]
Author: [Enter your name]
Author URI: [Enter your website URL]
*/
class Featured_Jobs extends WP_Widget {
/**
* Register widget with WordPress.
*/
public function __construct() {
parent::__construct(
\'featured_jobs\', // Base ID
\'Featured Jobs\', // Name
array( \'description\' => __( \'A Foo Widget\', \'text_domain\' ), ) // Args
);
}
/**
* Front-end display of widget.
*
* @see WP_Widget::widget()
*
* @param array $args Widget arguments.
* @param array $instance Saved values from database.
*/
public function widget( $args, $instance ) {
extract( $args );
$title = apply_filters( \'widget_title\', $instance[\'title\'] );
echo $before_widget;
if ( ! empty( $title ) )
echo $before_title . $title . $after_title;
?>
<ul class="featured-jobs">
<?php // Create and run custom loop
$custom_posts = new WP_Query();
$custom_posts->query(\'post_type=jobs&posts_per_page=8\');
while ($custom_posts->have_posts()) : $custom_posts->the_post();
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<li class="see-all-positions"><a href="http://www.pixelmatic.com/open-jobs/">See All Positions >></a></li>
</ul>
<?php
echo $after_widget;
}
/**
* Sanitize widget form values as they are saved.
*
* @see WP_Widget::update()
*
* @param array $new_instance Values just sent to be saved.
* @param array $old_instance Previously saved values from database.
*
* @return array Updated safe values to be saved.
*/
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance[\'title\'] = strip_tags( $new_instance[\'title\'] );
return $instance;
}
/**
* Back-end widget form.
*
* @see WP_Widget::form()
*
* @param array $instance Previously saved values from database.
*/
public function form( $instance ) {
if ( isset( $instance[ \'title\' ] ) ) {
$title = $instance[ \'title\' ];
}
else {
$title = __( \'New title\', \'text_domain\' );
}
?>
<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
}
} // class Foo_Widget
// register Foo_Widget widget
add_action( \'widgets_init\', create_function( \'\', \'register_widget( "featured_jobs" );\' ) );
plugins/theme/theme.php:
add_action( \'widgets_init\', create_function( \'\', \'register_widget( "px_reviews_widget" );\' ) );
class Px_Reviews_Widget extends WP_Widget {
/**
* Register widget with WordPress.
*/
public function __construct() {
parent::__construct(
\'px_reviews_widget\', // Base ID
\'Game - Reviews\', // Name
array( \'description\' => __( \'Game - Reviews\', \'text_domain\' ), ) // Args
);
}
/**
* Front-end display of widget.
*
* @see WP_Widget::widget()
*
* @param array $args Widget arguments.
* @param array $instance Saved values from database.
*/
public function widget( $args, $instance ) {
if ( !is_singular(\'games\')) {
return;
}
extract( $args );
$title = \'Reviews\';//apply_filters( \'widget_title\', $instance[\'title\'] );
echo $before_widget;
if ( ! empty( $title ) )
echo $before_title . $title . $after_title;
//echo __( \'Hello, World!\', \'text_domain\' );
$templates = array();
$templates[] = "game-reviews.php";
// Backward compat code will be removed in a future release
locate_template($templates, true);
echo $after_widget;
}
/**
* Sanitize widget form values as they are saved.
*
* @see WP_Widget::update()
*
* @param array $new_instance Values just sent to be saved.
* @param array $old_instance Previously saved values from database.
*
* @return array Updated safe values to be saved.
*/
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance[\'title\'] = strip_tags( $new_instance[\'title\'] );
return $instance;
}
/**
* Back-end widget form.
*
* @see WP_Widget::form()
*
* @param array $instance Previously saved values from database.
*/
public function form( $instance ) {
/*
if ( isset( $instance[ \'title\' ] ) ) {
$title = $instance[ \'title\' ];
}
else {
$title = __( \'New title\', \'text_domain\' );
}
*/
?>
This widget only show on Game single page
<?php
/*
?>
<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
*/
}
}
原因可能是什么?