Tisk příspěvků


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;
	}

7 responses to “Tisk příspěvků”

  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ú

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

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