Autentificare
Începe

Documentație Easy Digital Downloads

Documentație, Materiale de Referință și Tutoriale pentru Easy Digital Downloads 

Interogarea produselor în baza de date

În procesul de construire în jurul Easy Digital Downloads, s-ar putea să găsiți necesitatea de a interoga baza de date pentru datele produselor. Acest document va prezenta mai multe exemple despre cum să faceți acest lucru corect.

Obținerea unui singur produs

Cea mai bună modalitate de a obține informații despre un singur produs este de a utiliza clasa EDD_Download. Aceasta acceptă un
download_id și returnează un obiect cu informații despre descărcare. Exemplu:

$download = new EDD_Download( 109 );

Acest lucru ar returna un obiect de acest fel:

EDD_Download Object
(
    [ID] => 109
    [price:EDD_Download:private] => 
    [prices:EDD_Download:private] => 
    [files:EDD_Download:private] => 
    [file_download_limit:EDD_Download:private] => 
    [type:EDD_Download:private] => 
    [bundled_downloads:EDD_Download:private] => 
    [sales:EDD_Download:private] => 
    [earnings:EDD_Download:private] => 
    [notes:EDD_Download:private] => 
    [sku:EDD_Download:private] => 
    [button_behavior:EDD_Download:private] => 
    [post_author] => 2
    [post_date] => 2016-03-22 13:30:29
    [post_date_gmt] => 2016-03-22 13:30:29
    [post_content] => Buy my mp3!
    [post_title] => My MP3
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => closed
    [ping_status] => closed
    [post_password] => 
    [post_name] => my-mp3
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2016-03-22 13:30:29
    [post_modified_gmt] => 2016-03-22 13:30:29
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => https://edd.dev/?post_type=download&p=109
    [menu_order] => 0
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
    [post_type] => download
)

Odată ce aveți obiectul, există o mare varietate de metode care pot fi rulate pe acesta pentru a obține informații precum prețul, variațiile etc.
Documentație completă pentru EDD_Download aici.

Obținerea mai multor produse

Descărcările sunt un tip de conținut personalizat WordPress, deci este posibil să obțineți ID-urile mai multor descărcări utilizând
get_posts(). Dacă specificați corect parametrul fields, atunci get_posts va obține doar ID-urile, iar interogarea va fi mult mai rapidă. De asemenea, va trebui să specificați cel puțin download pentru post_type. Exemplu:

    $args = array(
        'fields'    => 'ids',
        'post_type' => 'download',
    );

    $downloads = get_posts( $args );

Puteți utiliza orice opțiune doriți în
get_posts() pentru a restrânge interogarea.
Documentație completă pentru get_posts() aici.

O opțiune suplimentară care nu se găsește în documentația pentru
get_posts() se numește no_found_rows(). Aceasta elimină unele date necesare pentru paginare, dar accelerează dramatic interogarea. Dacă aveți nevoie de paginare, nu utilizați această opțiune. Dacă nu aveți nevoie de paginare, ar arăta astfel:

$args = array(
	'fields'        => 'ids',
        'post_type'     => 'download',
	'no_found_rows' => true,
);

$downloads = get_posts( $args );

Interogarea de mai sus va returna un tablou de download_ids de acest fel:

Array
(
    [0] => 109
    [1] => 82
    [2] => 79
    [3] => 61
    [4] => 42
)

Lucrul cu mai multe produse

Odată ce aveți un tablou de download_ids, puteți pur și simplu să iterați peste tablou creând obiecte EDD_Download de acest fel:

foreach ( $downloads as $key => $download_id ) {
	$download = new EDD_Download( $download_id );
	// do whatever you wish with each object
}
A fost util acest articol?

Începeți să vindeți astăzi!

Alăturați-vă peste 50.000 de proprietari de magazine inteligente și începeți să folosiți cel mai ușor mod de a vinde produse digitale cu WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]