Определите версию Платформы Объекта, которую я использую?

Лучше создать собственную конечную точку для всех продуктов. Добавьте приведенный ниже код в свой пользовательский плагин или добавьте его в functions.php темы (хотя я рекомендую подход с пользовательским плагином)

Вы можете получить к нему доступ, используя https://example.com/wp-json/custom/v1/all-products

add_action( 'rest_api_init', 'rest_api_get_all_products' );

function rest_api_get_all_products() {
    register_rest_route( 'custom/v1', '/all-products', array(
        'methods'  => WP_REST_Server::READABLE,
        'callback' => 'rest_api_get_all_products_callback',
        'args' => array(
            'page' => array(
                'sanitize_callback' => 'absint'
            ),
            'posts_per_page' => array(
                'sanitize_callback' => 'absint'
            )
        )
    ));
}

function rest_api_get_all_products_callback( $request ) {

    $posts_data = array();

    $paged = $request->get_param( 'page' );
    $posts_per_page = $request->get_param( 'posts_per_page' );

    $paged = ( isset( $paged ) || ! ( empty( $paged ) ) ) ? $paged : 1; 
    $posts_per_page = ( isset( $posts_per_page ) || ! ( empty( $posts_per_page ) ) ) ? $posts_per_page : 10;

    $query = new WP_Query( array(
            'paged' => $paged,
            'posts_per_page' => $posts_per_page,
            'post_status'    => 'publish',
            'ignore_sticky_posts' => true,
            'post_type' => array( 'product' )
        )
    );
    $posts = $query->posts;

    if( empty( $posts ) ){
        return new WP_Error( 'no_post_found', 'No Products Found.', array( 'status' => 404 ) );
    }

        foreach( $posts as $post ) {
            $id = $post->ID; 
            $post_thumbnail = ( has_post_thumbnail( $id ) ) ? get_the_post_thumbnail_url( $id ) : null;


            $posts_data[] = (object) array( 
                'id' => intval($id),
                'title' => $post->post_title,
                'featured_img' => $post_thumbnail
            );
        }
    $response  = rest_ensure_response( $posts_data );      
    return $response;                   
}
124
задан Erik Philips 10 October 2016 в 23:28
поделиться

2 ответа

Существует две версии: 1 и 4. EFv4 является частью .net 4.0, а EFv1 - частью .net 3.5 SP1.

Да, указанный выше параметр конфигурации указывает на EFv4 / .net 4.0.

ИЗМЕНИТЬ Если вы откроете папку ссылок и найдете system.data.entity , щелкните элемент, затем проверьте номер версии среды выполнения в проводнике свойств, вы также увидите подверсию. Моя, например, показывает версию среды выполнения v4.0.30319 со свойством Version, показывающим 4.0.0.0. Таким же образом можно просмотреть EntityFramework.dll . Только версия будет 4.1.0.0, а версия среды выполнения будет v4.0.30319, что указывает на то, что это компонент .NET 4. В качестве альтернативы вы можете открыть расположение файла, указанное в свойстве Path, и щелкнуть правой кнопкой мыши соответствующий компонент, выбрать свойства, затем выбрать вкладку сведений и просмотреть версию продукта.

82
ответ дан 24 November 2019 в 01:05
поделиться

при использовании ядра EF, эта команда ниже могла бы помочь

dotnet ef --version
0
ответ дан 24 November 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: