0

我正在创建一个不是博客的网站,并且我正在为我的 CMS 使用 wordpress - 简而言之,我什至没有使用 wordpress 循环。

该网站将显示来自其他人的 API 等的图表和数据,但我被困在似乎是正确的方法上,而且我找到的所有文档都是博客或非常模糊的。

我希望能够创建页面,只使用导入语句而不是自定义模板 - 因为这些似乎仅用于文本,而不是巨大的 php、ajax、mysql 后端,我打算在这些页面后面拍打。

例如:

// index.php

<?php get_header(); ?>

// Some file, like index_content.php imported into here
<?php get_custom_page_content(); ?>

<?php get_footer(); ?>


// about.php

<?php get_header(); ?>

// Some file, like about_content.php imported into here
<?php get_custom_page_content(); ?>

<?php get_footer(); ?>

这似乎很矛盾,因为如果我只是.php像下面解释的那样创建一个新文件,它会一起减损 CMS。我只是自己编辑它们,甚至没有登录管理面板,因为如果没有直接从我的菜单项或其他任何东西链接,我看不到任何可以为我管理这些文件的东西。那么我为什么不只是 @include 一切并完全摆脱 Wordpress。我一定在这里遗漏了一些东西。

总而言之,我不知道如何构建它,并且从我的研究尝试中,不知道我在寻找什么来回答这个问题。

我该如何创建上述场景,或者它是否像.php为每个命名页面创建一个新文件和@including我想要的一样简单?

我不想陷入不良做法。

4

1 回答 1

1

1)您可以使用 WordPress 默认页面模板。您将拥有这些文件page-index.phppage-about.php它们将在属性元框中显示为模板。

2)或者您可以依赖自定义元字段和框,制作您自己的个人元框,就像默认属性一样。这是通过add_meta_box,get_post_meta和完成的update_post_meta。检查 WordPress Answers 中的以下结果
但是,长话短说,即使知道如何使用这些,我更喜欢使用高级自定义字段来处理它,因为它是一个维护良好且功能丰富的插件。

使用自定义元框,只需从预配置的下拉列表 ( index, about) 中选择,然后在您的page.php主题文件中使用:

global $post;
$include = get_post_meta( $post->ID, 'include_file', true );
get_template_part( 'content', $include );

include_file是包含下拉选择的自定义字段。您可以自己update_post_meta使用 ACF 或在使用 ACF 创建的字段中处理它。

get_template_path()是捆绑的 WP 功能,在此示例中将查找文件example.com/wp-content/themes/YOUR-THEME/content-index.phpexample.com/wp-content/themes/YOUR-THEME/content-about.php.


方法1是直截了当的。方法 2 可以微调更多细节。可以使用两者的组合。

于 2013-08-17T16:49:03.653 回答