2

次のコードを使用して、別のページからワードプレスにアクセスしています。

    <?php

    include $_SERVER['DOCUMENT_ROOT'].'/wp-load.php';
    global $wpdb;

    $image_ID = $wpdb->get_var("SELECT post_id FROM $wpdb->postmeta WHERE meta_value = '6036' AND meta_key = '_wp_attached_file'");

    //regenerate thumbnail
    $fullsizepath = get_attached_file( $image_ID );
    $metadata = wp_generate_attachment_metadata( $image_ID, $fullsizepath );
    wp_update_attachment_metadata( $image_ID, $metadata );

    ?>

次のエラーが表示されます。

Fatal error: Call to undefined function wp_generate_attachment_metadata()

$wpdb クエリは正常に動作し、get_attached_file も動作します。唯一の問題は、 wp_generate_attachment_metadataを使用できないことです。

なぜそれが起こるのか誰か知っていますか?何かを含めるのを忘れましたか?

編集:忘れていたことに気づきましたinclude( ABSPATH . 'wp-admin/includes/image.php' );

4

1 に答える 1

1

WordPress環境を設定するには、wp-blog-header.phpを含める必要があります。

    <?php 
    require('blog/wp-blog-header.php');
    $args = array( 'numberposts' => 5, 'post_status'=>"publish", 'post_type'=>"post", 'orderby'=>"post_date");
    $postslist = get_posts( $args );

    foreach ($postslist as $post) : setup_postdata($post); ?>
        <ul class="headline">
            <li class="title">
                <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
        </ul>
    <?php endforeach; ?> 
于 2012-11-22T04:40:06.540 に答える