我必须在插件的选项页面中获取博客的所有图片源,我正在制作一个插件选项页面,如下所示..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 &raquo; 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/

10-09 13:59