我必须在插件的选项页面中获取博客的所有图片源,我正在制作一个插件选项页面,如下所示..plz查看它..
public function add_plugin_page(){
add_options_page('Settings Admin', 'Plugin_options', 'manage_options', 'test-setting-admin', array($this, 'create_admin_page'));
}
下面的代码是我的插件选项页
public function create_admin_page(){
?>
<div class="wrap">
<?php screen_icon(); ?>
<form action="options.php" method="post" id="<?php echo $plugin_id; ?>_options_form" name="<?php echo $plugin_id; ?>_options_form">
<?php settings_fields($plugin_id.'_options'); ?>
<h2>kk Plugin Options » Settings</h2>
<table border="1" bordercolor="#FFCC00" style="background-color:#FFFFCC; margin-top:22px" width="25%" cellpadding="2" cellspacing="1">
<tbody>
<tr>
<td style="padding-left:8px;font-family:Verdana, Geneva, sans-serif;color:#666;"><h3>Blog Id:</h3></td>
<td><p><?php echo$abc?></p></td>
</tr>
<tr>
<td style="padding-left:8px;font-family:Verdana, Geneva, sans-serif;color:#666;"><h3>API Key:</h3></td>
<td><input type="text" name="kkpo_quote" value="<?php echo get_option('kkpo_quote'); ?>" /></td>
</tr>
</tbody>
</table>
<div id="mainCHImage" style="position:relative;height:'.$imgHeight.'px;width:'.$width.'px;">
<img id="paletlyIcon" style="position:absolute;left:'.$imgWidth.'px;top:'.$imgHeight.'px;z-index:9999;cursor:pointer;background:none;border:none;" src="http://Images/favIcon.png" onclick="get_images()">'.
<img style="background:none;border:none;"></div>
</form>
</div>
<?php
}
$abc是我想要所有图像源的变量..为此我编写了一个单独的函数
public function get_images(){
if(is_single() || is_page() || is_home()||!is_admin() ){
global $post;
global $wpdb;
$query_images = new WP_Query( $query_images_args );
$images = array();
foreach ( $query_images->posts as $image) {
$images[]= wp_get_attachment_url( $image->ID );
$abc=($images);
echo $abc;
}
}
}
但我错了
ReferenceError: get_images is not defined
[Break On This Error]
get_images();
我在构造中添加了这个函数,即
add_action('IMages_grab', array(&$this, 'get_images'));
add_filter('IMages_grab', array(&$this, 'get_images'));
最佳答案
我同意大多数@obmerkkronen的回答,但同意5
这一点。在我看来,这是问题的核心。
是的,需要一个包含所有文章的数组是有效的(并且附件是文章类型)。一个10公里的阵列可能没有那么大,这取决于它是如何使用的。
以下示例显示一个管理通知,其中包含指向媒体库中所有图像的链接。Consult the Codex了解这里使用的函数。应该很容易适应插件的选项页面。
add_action( 'admin_notices', 'get_all_images_so_15985067' );
function get_all_images_so_15985067()
{
// get all images
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'numberposts' => -1,
);
$_attachments = get_posts( $args );
// no images found, do nothing
if ( empty( $_attachments ) )
return;
// build array only with IDs
$attachments = array();
foreach ( $_attachments as $key => $val ) {
$attachments[ $val->ID ] = $_attachments[ $key ];
}
// print thumbnail links
echo '<div class="updated">';
foreach ( $attachments as $att_id => $attachment ) {
echo wp_get_attachment_link(
$att_id,
'thumbnail',
false,
false,
$attachment->post_title
) . "<br>";
}
echo '</div>';
}
关于php - 如何在wordpress插件的选项页中获取整个博客的图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15985067/