Мне только что дали приказ: «Создайте кнопку, которая при нажатии создает PDF-файл из страницы, которую пользователь в данный момент просматривает. Это компания, занимающаяся коврами, и им нужна кнопка PDF, при нажатии которой создается PDF-файл с заголовком страницы. /коврик/описание коврика и т. д.
Чтобы было ясно, все это в Wordpress с динамическими данными. Я не нашел плагина, который будет делать то, что я хочу, поэтому я пытаюсь вручную.
В целом, это то, что я пробовал:
Я сделал это следующим образом: - Для одного я использую DOMPDF. С этим ниже он создает pdf. Он находится в файле с именем "createpdf.php".
$htmlToPdf = //MY HTML HERE\\ ;
$dompdf = new DOMPDF();
$dompdf->load_html( $htmlToPdf );
$dompdf->render();
$dompdf->stream("sample.pdf");
Часть, которая читается как $htmlToPdf = //MY HTML HERE\\ ;
, — это то, куда пойдет мой HTML.
Теперь, поскольку это WordPress, я генерирую содержимое страницы с помощью простого цикла WP, например:
<!-- post starts here -->
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post">
<h2 class="post-title"><?php the_title(); ?></h2>
<span class="meta"><?php _e('Published'); ?> <?php the_time('F j, Y'); ?> <?php _e('in'); ?> <?php the_category(', ') ?></span>
<div class="entry">
<?php the_content(); ?>
</div><!-- end entry -->
</div><!-- end post -->
<?php endwhile; endif;?>
<!-- post ends here -->
Теперь я хочу взять важные части страницы, которая является оболочкой содержимого (включая цикл), и вставить ее в переменную PHP с именем (как показано выше) $htmlToPdf = //MY HTML HERE\\ ;
Затем вывести эту переменную на страницу (single. php). Таким образом, страница отображается для пользователя как обычно, НО с дополнительным преимуществом, заключающимся в том, что содержимое теперь находится в переменной, поэтому, когда пользователь нажимает кнопку «создать pdf», он берет текущее содержимое этой страницы и отправляет его в « createpdf.php" через что-то вроде кнопки
и т.д. Тогда я могу сделать:
$htmlToPdf = $_GET['maketopdf'];
и нажмите $htmlToPdf вперед для создания PDF.
я так запуталась, лол....
Поэтому я помещаю содержимое в переменную следующим образом:
<?php
$htmlToPdf = '
<!-- post starts here -->
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post">
<h2 class="post-title"><?php the_title(); ?></h2>
<div class="entry">
<?php the_content(); ?>
</div><!-- end entry -->
</div><!-- end post -->
<?php endwhile; endif;?>
<!-- post ends here --> ';
echo $htmlToPdf;
?>
Проблема сейчас в том, что нет, я не получаю ошибок на странице, но ничего не отображается в столбце содержимого. Страница загружается нормально, но там, где должен быть контент, она оказывается пустой.
Как я могу заставить это нормально отображаться на single.php? пока все еще использую методы, которые я пробовал выше.
Надеюсь, это не слишком запутанно. Любая помощь ОЧЕНЬ приветствуется. Заранее спасибо.