这是我的插件代码。该文件位于插件文件夹中。我在这里保存一些数据:
<?php
/*
Plugin Name: Losninger
Plugin URL: http://yyy.no
Description: Show losninger
Version: 1.0
Author: xxx - zzz zzz
Author URI: http://asd.com
Contributors:
*/
/*
* Register losninger
*
*/
class losninger extends WP_Widget {
public function __construct(){
$widget_ops = array(
'classname' => 'losninger',
'description' => 'show losninger'
);
$this->WP_Widget(
'losninger',
'Losninger',
$widget_ops
);
add_action( 'init', array( $this, 'losninger_setup_post_types' ) );
add_action('widgets_init',create_function('','return register_widget("losninger");'));
add_action('init', 'losninger_setup_post_types');
wp_enqueue_style( 'losninger-Styles', plugin_dir_url( __FILE__ ) . 'losninger.css', array(), '0.1', 'screen' );
}
function widget($args, $instance) { // widget sidebar output
extract($args, EXTR_SKIP);
echo $before_widget; // pre-widget code from theme
$this->getLosninger();
echo $after_widget; // post-widget code from theme
}
public function losninger_setup_post_types() {
$losninger_labels = apply_filters( 'losninger_labels', array(
'name' => 'Losninger',
'singular_name' => 'Losninger',
'add_new' => __('Add New', 'losninger'),
'add_new_item' => __('Add New losninger', 'losninger'),
'edit_item' => __('Edit losninger', 'losninger'),
'new_item' => __('New losninger', 'losninger'),
'all_items' => __('All losninger', 'losninger'),
'view_item' => __('View losninger', 'losninger'),
'search_items' => __('Search losninger', 'losninger'),
'not_found' => __('No losninger found', 'losninger'),
'not_found_in_trash' => __('No losninger found in Trash', 'losninger'),
'parent_item_colon' => '',
'menu_name' => __('Losninger', 'losninger'),
'exclude_from_search' => true
));
$losninger_args = array(
'labels' => $losninger_labels,
'public' => true,
'publicly_queryable'=> true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'capability_type' => 'post',
'has_archive' => false,
'hierarchical' => false,
'supports' => apply_filters('losninger_supports', array( 'title', 'editor' ) ),
);
register_post_type( 'losninger', apply_filters( 'losninger_post_type_args', $losninger_args ) );
}
function getLosninger(){
ob_start();
// Create the Query
$post_type = 'losninger';
$orderby = 'menu_order';
$order = 'ASC';
$posts_per_page = 50;
$query = new WP_Query( array (
'post_type' => $post_type,
'posts_per_page' => $posts_per_page,
'orderby' => $orderby,
'order' => $order,
'no_found_rows' => 1
)
);
//Get post type count
$post_count = $query->post_count;
$i = 1;
// Displays FAQ info
if( $post_count > 0) :
// Loop
echo '<section id="losningerSection"><div class="losningerSectionInner">';
while ($query->have_posts()) : $query->the_post();
?>
<div class="losninger">
<h3 class="losninger_title"><?php the_title(); ?></h3>
<p id="losninger_<?php echo get_the_ID(); ?>"><?php echo get_the_content(); ?></p>
</div>
<?php
$i++;
endwhile;
echo '</div></section>';
endif;
// Reset query to prevent conflicts
wp_reset_query();
}
}
如何将此插件作为小部件获取?我想在一个页面中显示这个小部件,该页面将显示数据(我在管理员的插件中保存)。
注意:出于某种原因,我没有获得此插件的管理部分(左侧菜单)。我相信我在这里做错了什么。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
在你的函数getLosninger中,你启动一个输出缓冲区(ob_start()),但是你没有对它做任何事情。
您可以安全地删除该行代码,或者至少捕获输出缓冲区的内容并将其刷新。