WordPress 自定义页面还是其他?

Posted

技术标签:

【中文标题】WordPress 自定义页面还是其他?【英文标题】:Wordpress Custom Pages or Something Else? 【发布时间】:2013-08-19 21:11:53 【问题描述】:

我正在创建一个不是博客的网站,并且我正在为我的 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 一样简单?

我不想陷入不良做法。

【问题讨论】:

【参考方案1】:

1) 您可以使用 WordPress 默认的Page Templates。您将拥有文件page-index.phppage-about.php,它们将作为模板出现在属性元框中。

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

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

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

include_file 是包含下拉选择的自定义字段。您可以使用update_post_meta 或在使用 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 可以微调更多细节。可以将两者结合使用。

【讨论】:

感谢您的回复。事后看来,这似乎过于复杂,手动编码会容易得多,并与非常简单的自定义 CMS 进行一些集成。不过,我可能会将您的方法用于未来的项目。 +投票。

以上是关于WordPress 自定义页面还是其他?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress自定义徽标未显示在所有页面上

Wordpress革命滑块自定义页面

如何在 Wordpress 编辑器中添加自定义字段并获取其值?

通过自定义日期字段的 Wordpress 自定义存档页面链接

关于wordpress高级自定义插件遇到的问题。

wordpress博客文章作者信息页面显示不了