繁体   English   中英

我看到了我的URL,但是在wordpress仪表板中找不到该页面

[英]I see my URL but I can't find the page in wordpress dashboard

我正在使用wordpress,并且页面的URL为http://proservicescontractors.com/services/

但是,当我使用上面的URL进入仪表板中的页面时,我所做的任何更改都不会显示在前端。 我只是简单地复制了内容,但更改未显示在前端。

不知道该怎么办,这让我完全困惑。

有任何想法吗?

由于它们是自定义帖子类型,因此默认情况下,它们本身并未真正加载到页面中 您应该阅读WordPress的模板层次结构。 让您大致了解正在发生的事情:

  1. WP查看您的URL,由于将其识别为自定义帖子类型存档,因此它将查找要使用的模板...
  2. 它将首先查找archive-$post_type.php ,或者在您的情况下寻找archive-services.php
  3. 如果找不到,它将寻找archive.php
  4. 如果找不到,它将使用index.php

需要注意的重要一点是,存档页面实际上不会显示在管理区域中,因为它们只是收集并显示自定义帖子,因此您无需进行任何编辑。

现在,如果您确实要编辑“服务”存档中的某些内容,则有两个选择:

在文本编辑器中编辑archive-services.php。

这是快速而肮脏的选择。 缺点是它违反了CMS的观点。

用自己的循环创建页面模板

创建一个名为page-services.php的新页面模板,并在其中插入一个循环以显示您的自定义帖子。 为了帮助您入门:

<?php get_header(); ?>

<?php // The main loop  
if (have_posts()) {
    while (have_posts()) {
        the_post();
    }
} else {
    echo 'No posts';
}
?>

<?php // Now for the services loop
// WP_Query arguments
// For additional options, see: https://codex.wordpress.org/Class_Reference/WP_Query#Parameters
$args = array (
    'post_type' => array( 'services' ),
);

// The Query itself
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // Do something with the post
        // In your case look at archive-services.php and see what
        // that template does inside the loop
    }
} else {
    // no posts found
}

// Restore original Post Data
// Don't forget this, it's important
wp_reset_postdata();
?>

<?php get_footer();?>

然后,您应该能够将该页面模板应用于“服务”页面; 然后应在页面内容下方显示您的帖子。 需要注意的一件事是, 每当您访问http://proservicescontractors.com/services/WordPress都会继续加载archive-services.php 尽管有多种方法可以解决,但最简单的解决方法是简单地为您的新页面提供不同的url,例如http://proservicescontractors.com/all-services/

谢谢你的帮助。 我正在使用yoast,我想更改标题和描述。 当您指出这是自定义帖子类型档案而不是页面时,我回顾了过去,发现可以在“标题和元”>“自定义帖子类型档案”>“服务”下进行更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM