您可以使用add_rewrite_endpoint, 例如/datasheet/
所以你的URL应该是example.com/product/datasheet
.
然后您可以连接到template_redirect 并检查您是否位于设置了此数据表查询变量的产品页上。
从这里,您可以加载一个单独的模板,该模板将显示所需的字段(并排除您提到的不想显示的ACF字段)。然后可以使用PHPoutput buffer functions 将模板复制到字符串中,并将其传递给PFP工具,如dompdf.
if (isset($wp_query->query_vars[\'datasheet\']) && is_singular(\'product\')) {
global $post;
ob_start();
include(locate_template(\'template-parts/product/datasheet.php\'));
$datasheet = ob_get_contents();
ob_end_clean();
$dompdf = new Dompdf();
$dompdf->loadHtml($datasheet);
$dompdf->stream($post->post_name . \'.pdf\');
exit();
}
这是我们用来提供产品数据表的代码的简化版本,但应该给您一些思考。