Crearea unei cutii meta pentru încărcarea mai multor imagini

12 ian. 2011, 19:10:22
Vizualizări: 17.6K
Voturi: 8

Este posibil să creez o cutie meta care să atașeze mai multe imagini la un articol?

1
Comentarii

Există un tutorial complet pentru încărcarea mai multor imagini, adăugând meta-box-uri la un articol, pagină sau tip de postare personalizat la http://www.emenia.es/plugin-subir-imagenes-campo-personalizado-wordpress/. Este în spaniolă, dar am reușit să îl rulez fără probleme.

User User
14 dec. 2011 14:43:49
Toate răspunsurile la întrebare 4
2

Aceasta depinde în întregime de ceea ce înțelegi prin "atașare".

Fiecare articol WordPress poate avea deja mai multe fișiere atașate - fotografii, documente etc. Încărcați acestea folosind încărcătorul integrat și toate vor fi marcate ca "atașate" la acel ID specific de articol.

Le puteți referi mai târziu programatic în altă parte. De exemplu, următorul cod va lista toate atașamentele pentru un articol specific (cod preluat de la Snipplr):

$args = array(
    'post_type' => 'attachment',
    'numberposts' => null,
    'post_status' => null,
    'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters('the_title', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}

Toată această funcționalitate este accesibilă prin butonul implicit "Adăugați Media" din dreapta "Încărcați/Inserați" pe ecranul de articol nou. După ce adăugați o imagine, puteți face clic din nou pe "Selectați Fișiere" și încărcați o a doua imagine. Apoi o a treia. Apoi o a patra. Câte doriți.

Fiecare dintre aceste imagini va fi "atașată" la articol... chiar dacă nu sunt inserate în conținut.

12 ian. 2011 19:28:14
Comentarii

Din motive ciudate, pot obține doar primul atașament în template, deși restul sunt atașate. Aveți idei? Iată codul... http://dl.dropbox.com/u/497583/code/wp-attactments.txt

agileapricot agileapricot
12 ian. 2011 23:14:30

Trebuie să folosești alte variabile. Folosești atât $post cât și $args în cel puțin două contexte diferite, ceea ce face foarte greu să înțelegi exact ce încerci să faci în orice moment. Dar am testat codul pe care l-am postat mai sus și funcționează...

EAMann EAMann
12 ian. 2011 23:30:02
2

Iată un tutorial complet cu fișiere sursă care fac exact ceea ce doriți,
Puteți încărca mai multe imagini prin clonarea câmpului de introducere și, de asemenea, puteți previzualiza, șterge imagini cu ajax, adăugați mai multe metabox-uri la mai multe/diferite tipuri de postări și multe altele.

http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html

12 ian. 2011 19:57:30
Comentarii

Susțin această opinie. Funcționează perfect.

Manny Fleurmond Manny Fleurmond
13 ian. 2011 07:05:58

Deși linkul pe care l-ai furnizat nu mai funcționează, proiectul la care te referi a evoluat într-un plugin/bibliotecă completă și prietenoasă pentru dezvoltatori. Vezi: https://wordpress.org/plugins/meta-box/ și https://github.com/wpmetabox ... Pare a fi un produs excelent.

Kerry Randolph Kerry Randolph
21 mai 2019 16:33:09
0

De asemenea, recomand să aruncați o privire la http://www.wpalchemy.com. WPAlchemy este o "clasă" extrem de utilă (aproape un plugin) pentru a adăuga cu ușurință cutii meta personalizate pe site-ul tău. O folosesc intens și am fost impresionat de ușurința în utilizare și de implicarea dezvoltatorului și a comunității în continuă creștere.

12 ian. 2011 23:35:22
0

Da, este cu totul posibil. Vezi un răspuns pe care l-am primit despre metabox-uri. În principiu, va trebui să adaugi un hook pentru save_post și să verifici câmpul nonce.

function my_save_post_callback( $post_id, $post )
{
    if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
    {
        return $post->ID;
    }

    // Gestionează încărcarea aici

}
add_action( 'save_post', 'my_save_post_callback', 1, 2);
12 ian. 2011 19:23:09