0

機能画像の設定に問題があります。同じページで同様の送信を数回使用して、管理領域の外に投稿を送信していますが、エラーは発生せず、この送信フォームのみです。

エラーレポートをトレースした後、 (twentyeleven テーマ)_get_non_cached_idsにある機能に問題があることがわかりました。wp-includes/functions.php on line 3816

エラーは言う:Object of class WP_Error could not be converted to int

私がそれをテストするとit is not int、それが得られたので、関数ケーシングのエラーを見つけようとします

_get_non_cached_idsテストコードを含む関数の下

/**
 * Retrieve ids that are not already present in the cache
 *
 * @since 3.4.0
 *
 * @param array $object_ids ID list
 * @param string $cache_key The cache bucket to check against
 *
 * @return array
 */
function _get_non_cached_ids( $object_ids, $cache_key ) {
    $clean = array();
    foreach ( $object_ids as $id ) {

        /* my test start */
        if ( is_wp_error( $id ) ) {
            $error_string = $id->get_error_message();
            echo '<div id="message" class="error"><p>' . $error_string . '</p></div>';
            exit; 
        }else{
            echo 'id is ok';
            exit;
        }
        /* my test end */

        $id = (int) $id;
        if ( !wp_cache_get( $id, $cache_key ) ) {
            $clean[] = $id;
        }
    }

    return $clean;
}

コードを試してみたところ、次のようなメッセージが表示されました。

No file was uploaded.

画像が正常にアップロードされ、投稿に添付されていても、どのようにファイルがアップロードされなかったのかFeatured image

そして、編集投稿の管理領域で、フィーチャー画像領域にエラーが表示されました:

Object of class WP_Error could not be converted to int in SITE_ROOT/public_html/wp-includes/post.php on line 4294

is_int かどうかをテストし、それが int だった

では、問題がある場合にのみ終了することに注意してください_get_non_cached_ids。つまり、問題がない場合、コードはまったく_get_non_cached_ids機能しません。

4

1 に答える 1