Samstag, 11. November 2006 Druck-Ansicht
Wer auf den Einsatz von Permalink-Redirect nicht verzichten kann - und trotzdem eine Druck-Ansicht seiner Beiträge/Seiten zur Verfügung stellen möchte, kann dieses mit einer Änderung am PlugIn und einer Umwandlung der hier beschriebenen Bedingungen tun.
Ich schlage vor, man benutzt dazu “print=yes”. Der Aufruf der Druck-Ansicht müsste dann folgendermaßen aussehen:
<?php if(is_page()) { ?>
<p><a href="<?php bloginfo('url') ?>/index.php?page_id=<?=the_ID()?>&print=yes">Seite Drucken</a></p>
<?php } else { ?>
<p><a href="<?php bloginfo('url') ?>/index.php?p=<?=the_ID()?>&print=yes">Seite Drucken</a></p>
<?php } ?>
Für die Druck-Ansicht:
<?php if (isset($_GET['print'])) { ?>
<!--
Hier das rein, was bei der "Druck-Ansicht"
angezeigt werden soll
-->
<?php } ?>
beziehungsweise für den umgekehrten Fall:
<?php if (!isset($_GET['print'])){ ?>
<!--
Hier das rein, was bei der "normalen Ansicht"
angezeigt werden soll. Zum Beispiel der Link
zur "Drucken"-Seite
-->
<?php } ?>
In der Datei “ylsy_permalink_redirect.php” muss die Funktion execute() bearbeitet werden. Diese findet sich in den Zeilen 42 bis 60:
function execute() {
$requested = parse_url($_SERVER['REQUEST_URI']);
$requested = $requested['path'];
if (is_404() || is_feed() || is_trackback() || is_search() ||
is_comments_popup() || YLSY_PermalinkRedirect::is_skip($requested))
return;
$link = YLSY_PermalinkRedirect::guess_permalink();
if (!$link)
return;
$permalink = parse_url($link);
if ($requested != $permalink['path']) {
header('HTTP/1.1 301 Moved Permanently');
header('Status: 301 Moved Permanently');
header("Location: $link");
exit(0);
}
}
Wir erweitern die Funktion um eine Abfrage, ob der Parameter $_GET[’print’] gesetzt ist. Wenn er nicht gesetzt ist, soll “execute” ausgeführt werden. Nach der Änderung sieht die Funktion folgendermaßen aus:
function execute() {
if (!isset($_GET['print'])) {
$requested = parse_url($_SERVER['REQUEST_URI']);
$requested = $requested['path'];
if (is_404() || is_feed() || is_trackback() || is_search() ||
is_comments_popup() || YLSY_PermalinkRedirect::is_skip($requested))
return;
$link = YLSY_PermalinkRedirect::guess_permalink();
if (!$link)
return;
$permalink = parse_url($link);
if ($requested != $permalink['path']) {
header('HTTP/1.1 301 Moved Permanently');
header('Status: 301 Moved Permanently');
header("Location: $link");
exit(0);
}
}
}
Auf diese Weise funktioniert die automatische Weiterleitung auf Permalinks weiterhin, während die Druck-Ansicht davon unberührt bleibt.
Bookmarks, Feed und Links
Wenn Ihnen dieser Beitrag geholfen hat ...
Beiträge zu ähnlichen Themen:
3 Antworten zu Druck-Ansicht für Wordpress - verbesserte Version
Kommentar schreiben