Tisk příspěvků

V rubrice: Tipy & Triky | Obtížnost:

Moderní prohlížeče si dokážou s webovými stránkami docela dobře poradit, takže jejich tisk už není utrpení. I přesto nejsou jejich algoritmy dokonalé a jelikož myslíme na uživatele, tak nechceme, aby plýtval svým drahým tonerem na zbytečnosti. Proto si ukážeme, jak ve WordPressu vytvořit jednoduchou stránku pro tisk dokumentů.

V praxi vypíšeme pouze text příspěvku a zbytečnosti jako hlavičku, patičku nebo sidebar jednoduše vynecháme. Pokud budete chtít, není problém si do dokumentu ještě připsat třeba autora nebo url zdrojového webu. My si ale ukážeme to nejjednodušší řešení.

Do souboru šablony functions.php přidáme:

add_action('init', 'tisk');

function tisk(){
	if(isset($_GET['tisk'])){
		global $wpdb;
                $posts = get_posts("include=" . url_to_postid( "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] ));
		$post = $posts[0];
		?>
		<html>
		<head>
			<meta charset="utf-8">
			<title><?=$post->post_title;?> Tisk</title>
		</head>
		<body onLoad="window.print();">
		<?php
		echo "<h1>" . $post->post_title . "</h1>";
		echo apply_filters('the_content', $post->post_content);
		?>
		</body>
		</html>
		<?php
		die();
	}
}

Stránky pro tisk lze zavolat jednoduše pomocí parametru ?tisk. Odkaz vypadá takto. Ještě doporučuji přidat základní styly pro WordPress. Ty zaručují například správné pozicování obrázků.

body {width: 80%; margin: 0 auto;}
img {
	margin: 0 0 1.5em 0;
	}
.alignleft, img.alignleft {
	margin-right: 1.5em;
	display: inline;
	float: left;
	}
.alignright, img.alignright {
	margin-left: 1.5em;
	display: inline;
	float: right;
	}
.aligncenter, img.aligncenter {
	margin-right: auto;
	margin-left: auto;
	display: block;
	clear: both;
	}
.wp-caption {
	margin-bottom: 1.5em;
	text-align: center;
	padding-top: 5px;
	}
.wp-caption img {
	border: 0 none;
	padding: 0;
	margin: 0;
	}
.wp-caption p.wp-caption-text {
	line-height: 1.5;
	font-size: 10px;
	margin: 0;
	}
.wp-smiley {
	margin: 0 !important;
	max-height: 1em;
	}
blockquote.left {
	margin-right: 20px;
	text-align: right;
	margin-left: 0;
	width: 33%;
	float: left;
	}
blockquote.right {
	margin-left: 20px;
	text-align: left;
	margin-right: 0;
	width: 33%;
	float: right;
	}
V rubrice: Tipy & Triky | Obtížnost:

Komentáře

  1. v předchozím ne nezobrazilo, tak ještě jednou bez lomených závorek:

    META NAME=“robots“ CONTENT=“noindex,nofollow“

  2. veľmi užitočná vecička, diky za návod. Ja osobne som tisk stránky ešte nikdy nevyužil ale niektorí návštevníci to možno používajú

    1. Také tisknu málokdy, ale někomu se to hodit může.

    1. Nenapadlo mě, že by tu chtěl někdo něco tisknout, protože tu je převážně zdrojový kód.

Comments are closed.