Ändern Sie Anhang-Post-URLs in Datei-URLs

Ich habe einen Kunden mit einem sehr Image schweren Blog. Jedes Mal, wenn sie Bilder in ihren Beiträgen hochladen, verwenden sie anstelle der Datei-URL die Anhang-Post-URL für den Link. Das Problem dabei ist, dass es ein Bild-Plugin gibt, das automatisch Bilder schön zoomt, wenn es sich um Links zu der Datei handelt, aber nicht funktioniert, wenn es sich um einen Link zur Anhangseite handelt.

Gibt es eine Möglichkeit, alle Links zu Anhangs-URLs auf die Datei-URL zu verweisen?

Ich habe versucht, meine attachment.php umzuleiten, aber das wird den Link in der index.php oder single.php nicht ändern. Danke für Ihre Hilfe. Ich kann nicht jeden bestehenden Beitrag ändern oder verhindern, dass der Kunde dies in Zukunft tun wird.

Solutions Collecting From Web of "Ändern Sie Anhang-Post-URLs in Datei-URLs"

Erstellen Sie eine Anlage Vorlagendatei innerhalb des Designs. Da wir nur an Bildern interessiert sind, sollte die Datei image.php sein

< ?php if ( have_posts() ) { the_post(); $image_url = wp_get_attachment_url(); } header('Location: '.$image_url); ?> 

Vorlagenhierarchie

 add_filter('image_send_to_editor', 'image_send_to_editor_rewrite', 1, 8); function image_send_to_editor_rewrite($html, $id, $caption, $title, $align, $url, $size, $alt = '') { $html = get_image_tag($id, $alt, $title, $align, $size); $rel = $rel ? ' rel="attachment wp-att-' . esc_attr($id).'"' : ''; // get file url $src = wp_get_attachment_image_src($id, $size); if ( $url ) // force href to file url $src[0] $html = '$html"; return $html; } 

EDIT: Das wird auch nicht für bestehende Beiträge helfen, sorry. Für existierende Posts könnte man sich in “the_content” einhaken, einige regex verwenden, um “attachment_id = X” zu finden, die URL der Datei holen und die ‘href’ ersetzen, aber das würde das Laden der Seite verzögern und wenn man hübsche Permalinks mit% benutzt postname% würde es die Dinge nicht einfacher machen.

Aber für zukünftige Beiträge, über Arbeiten. Schnell und schmutzig, macht den Job, aber das Verknüpfen mit einer Anhangsseite wird nicht mehr möglich sein. Dies kann auch zu einer schlechten Benutzererfahrung führen, wenn Ihr Client absichtlich auf die Schaltfläche “Anhang-Post-URL” klickt, das Bild jedoch immer mit der Datei verknüpft ist.

Vielleicht ist es besser, sich in die Thickbox einzuklinken und die “Attachment post url” -Schaltfläche mit Javascript oder einfach über CSS zu entfernen / verstecken

Dies ist die wirklich einfache Möglichkeit, eingefügte Bilder mit der Originaldatei anstatt mit der Anhangsseite zu verknüpfen. http://wordpress.org/support/topic/make-image-attachments-default-link-to-original-image?replies=4

Es gibt eine versteckte Optionsseite in WordPress unter der Adresse yoursite.com/wp-admin/options.php Auf dieser endlosen Liste nicht dokumentierter Optionen können Sie einen Wert für “image_default_link_type” festlegen. Vielleicht möchten Sie es auf “Datei” (ohne die Anführungszeichen) setzen

Oder, dies wird die Verbindung zum “großen” Bild herstellen, was wahrscheinlich die beste Wahl ist. Wenn sie eingefügt werden, wird sie automatisch auf “groß” gesetzt.

Keiner arbeitet rückwirkend, sorry.

 add_filter('attachment_fields_to_edit', 'large_attachment_fields_to_edit' , 0, 2); function large_attachment_fields_to_edit($fields, $post){ if (substr($post->post_mime_type,0,5) == 'image'){ $html = "
"; $fields['url']['html'] = $html; } return $fields;

}