如何使用自定义页面为所有带有自定义URL的帖子,调用另一个目录?

时间:2021-09-05 作者:Akash Manna

我尝试了许多不同的代码:

 <a href="<?php echo get_template_part( \'template/test/post\' ); ?>"> Test 1</a> 
<a href="<?php echo get_template_directory_uri(); ?>/template/posts.php"> Test 2 </a> 
<a href="<?php bloginfo(\'template_url\'); ?>/template/posts.php"> Test 3</a> 
<a href="<?php echo get_page_link( \'/template/posts.php\' ); ?>">Test 4</a> 
我得到这样的URL

enter image description here

我正在使用代码(测试1):

<a href="<?php echo get_template_part( \'template/test/post\' ); ?>"

单击后进入此页面:

enter image description here

I want to create a separate template page for all the posts.enter image description here

enter image description here零八

如何包含标题(<?php get_header(); ?>) 页脚和帖子循环?That\'s my code on posts.php

<?php get_header(); ?>
<?php 
    $blog_args = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; 
    $blog_args = array (
    \'post_type\' => \'post\',
    \'paged\' => $blog_args
    );
    $blog_posts = new WP_Query($blog_args);
    while($blog_posts->have_posts()) { 
    $blog_posts->the_post();
?>

<a href="<?php the_permalink( ) ?>"> <?php echo wp_trim_words( get_the_title(), 5 ); ?></a>
<?php echo substr( get_the_excerpt(), 0, 94,)."..."; ?>


<?php } ?>
<?php wp_reset_postdata() ?>
注:“1”/**

模板名称:贴子页面模板*/quot;:我不想要那种类型的选择选项

1 个回复
SO网友:Laloptk

据我所知,您希望创建一个模板,在页面主体中显示页眉、页脚和博客文章。为此,您必须创建一个自定义模板。自定义模板可以以多种方式使用,但我将使用一个示例,该示例将为您提供在任何页面中使用该模板的选项(wordpress页面,不是帖子或自定义帖子类型。对于这个特定示例,您也可以这样做,但我不会深入讨论)。

您必须做的第一件事是在主题的根文件夹中创建一个文件(子主题是您没有在构建的父主题中编写代码)。您可以任意命名该文件(对于这个特定的示例),但我通常使用类似“tpl博客帖子”的名称。php’或类似的东西。

然后,一旦有了文件,就必须在其中编写以下代码:

<?php
/**
* Template Name: Posts Page Template
*/

get_header(); 
?>
<div id="primary" class="content-area">
   <main id="main" class="site-main" role="main">
       <?php
            $query = new WP_Query([\'posts_per_page\' => 12]);
            if($query->have_posts()) {
               while($query->have_posts()) {
                   $query->the_post();
                   // Your posts HTML here
               }
            }
   </main>
</div>
                               
<?php get_footer(); ?>
完成此操作后,您将在所有页面中有一个选项来选择此模板,因此,请转到WP仪表板,创建一个新页面,进入新页面的编辑器,并从编辑器右侧边栏中的选项下拉列表中选择“Posts page template”。

Note: 上面的代码只是您可以做的一个示例,有很多方法可以构建模板,但我认为这会让您了解WordPress中的工作方式。

如果您希望创建的新页面是;“官方”;博客页面,转到仪表板并单击选项设置>;阅读左侧边栏,然后选择新页面作为WordPress下拉列表中的博客页面。

正如@JacobPeattie在评论中提到的,你需要阅读template hierarchycustom page templates.

相关推荐

Wp-admin编辑用户url不会显示正确的url

正在等待edit url(以下截图)会将我指向如下内容:网站co/wp管理员/用户编辑。php?用户id=7(&U);wp\\u http\\u referer=%2Fwp admin%2用户。php<;--预期url而不是网站co/我的帐户/编辑帐户/&;wp\\u http\\u referer=%2Fwp admin%2用户。php<;--在这里结束此外,我在一些论坛上读到过它可能与woocommerce或其他插件冲突,但试图禁用所有这些插件,但仍然给了我错误的链接。我错过什么了吗?谢