Wordpress自定义页面还是其他什么?

时间:2013-08-17 15:54:14

标签: php wordpress web content-management-system

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

该网站将显示来自其他人API的图表和数据,但我仍然坚持这样做的正确方法,我找到的所有文档都是针对博客或非常模糊。

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

例如:

// 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 个答案:

答案 0 :(得分: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可以对更多细节进行微调。可以使用两者的组合。