如何使用自定义URL创建自定义帖子类型的单一模板?

时间:2020-08-10 作者:proteuscanvas

我有一个使用自定义帖子类型的live网站;“虚拟程序”;我有一个模板,目前称为单虚拟程序。细枝和单个虚拟程序。php。

我正在开发新模板(single-virtual-program-new.twig和single-virtual-program-new.php)

它们最终将取代(single-virtual-program.twig和single-virtual-program.php)

在开发过程中,我希望两个模板都处于活动状态,然后一旦我满意了,我将激活新模板并删除旧模板。

要做到这一点,我需要为我的新模板创建自定义URL,这样我就可以在旧模板仍然有效的情况下查看它们。我该怎么办?

仅供参考,我正在使用木材(树枝)。

下面是来自单个虚拟程序的代码。php

$post = Timber::query_post();
$context[\'post\'] = $post;
$context[\'archive_link\'] = get_site_url(null, str_replace(\'_\', \'-\', $post->post_type));

$context[\'virtual_programs\'] = Timber::get_posts(
  array(
    \'post_type\'       => array(\'virtual_programs\'),
    \'post__not_in\'    => array($post->ID),
    \'posts_per_page\'  => 5,
    \'meta_query\'      => array(
        array(
            \'key\'     => \'event_type\',
            \'value\'   => array(\'online\', \'Online Short Course\'),
            \'compare\' => \'NOT IN\'
        )
      )
  )
);

$context["register_event_url"] = get_field("prices", $post->ID)[0]["register_link"];


Timber::render( \'single-virtual-programs-new.twig\' , $context );
谢谢你。

2 个回复
SO网友:t2pe

模板层次结构允许您具体到帖子名称。然后,这允许使用一种方法(我已经使用过)在一个特定页面上测试模板的更新版本。

See this page on WP

例如如果创建名为“wpse372687”的虚拟程序页,则文件“single-virtual-program-wpse372687”。php’对于该特定页面更为具体。当您访问该页面时,您将使用新模板,但任何其他虚拟程序页面都将使用与旧/当前模板次优匹配的模板。

它有其局限性,但如果您不想走上登台服务器的道路(这也是Sally的一个好建议),那么它是一种简单的并行测试方法。

SO网友:proteuscanvas

好的,所以答案很简单,我完全忘记了。

只需创建一个新模板(single virtual program new),然后在“single custom post”中,从下拉列表中选择新模板。

相关推荐