Cum să adaugi un link pentru descărcarea unui PDF
Cum pot adăuga un link către un PDF în conținut, astfel încât acesta să se descarce în loc să se deschidă în fereastra browserului? (Am încărcat PDF-ul în biblioteca media și pot insera link-ul, dar nu găsesc o opțiune pentru a împiedica deschiderea în browser).
Mulțumesc,
Lucy
asta este minunat și mult mai rapid decât toate celelalte opțiuni. Cum pot folosi mai multe tipuri de fișiere? De exemplu, test.notebook cu partea (?i:pdf)?

Un fișier PDF va fi salvat cu tipul MIME application/pdf
, așadar dacă tema ta are un fișier șablon application.php sau pdf.php care forțează descărcarea (sau dacă verifici tipul MIME în șablonul attachment.php), poți forța descărcarea.
Un fișier pdf.php construit astfel în tema ta ar trebui să funcționeze:
<?php if (have_posts()) : while (have_posts()) : the_post();
$pdf_title = $post->post_title;
$uploads_dir = wp_upload_dir();
$attachment_src = get_post_meta( $post->ID, '_wp_attached_file', true );
$pdf_src = path_join( $uploads_dir['path'], $attachment_src );
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: application/pdf");
header("Content-Disposition: attachment; filename=\"".$pdf_title."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($pdf_src));
ob_clean();
flush();
readfile("$pdf_src");
endwhile; endif;
?>
(Notă: Pentru ca acest lucru să funcționeze, când introduci fișierul în articol prin încărcătorul media, trebuie să selectezi URL Post în loc de URL Fișier în câmpul Link URL înainte de inserare. Un link către numele fișierului va urma preferințele browserului, dar prin link-ul către postarea WP, poți controla comportamentul acestuia.)

Nu ar trebui să folosești niciodată guid-ul postării ca URL. Este un URL doar pentru că este un șir unic; ar putea la fel de ușor să se schimbe.

Mulțumesc, am modificat funcția mea pentru a folosi metadatele '_wp_attached_file'
.

De fapt, acest lucru depinde în totalitate de browser. Unele browsere vor deschide un PDF în fereastră folosind un cititor PDF integrat (majoritatea folosesc plugin-ul Adobe, Google Chrome are propriul său). Dacă plugin-ul lipsește, însă, browserul va încerca să descarce fișierul.
Cea mai sigură opțiune este să adaugi instrucțiuni pe pagină pentru utilizator să facă click dreapta și să selecteze "Salvează ca".
Dacă ești preocupat că utilizatorii nu vor putea reveni la pagină după ce apasă pe un link, adaugă target="_blank"
la link și va forța browserul să deschidă link-ul într-o filă sau fereastră nouă. Uneori, acest lucru poate fi suficient pentru a declanșa o descărcare în loc de deschidere.
Exemplu: <a href="http://site.url/document.pdf" target="_blank">Descarcă PDF</a>
.

Pur și simplu folosește atributul `download` al tag-ului a: https://www.w3schools.com/tags/att_a_download.asp
