如何添加和显示非帖子的自定义内容

时间:2016-11-17 作者:Mordred

我正在为一家当地报纸建立一个WordPress网站。本报目前在网上有一个“服务目录”,这是一系列针对不同地方企业的黄页式广告。虽然有两个不同大小的广告(定价不同)需要以不同的方式显示,但这些广告中的每一个都只是一个点击即可浏览的单一图像。

数据模式看起来像这样(只是为了可读性而用JSON格式化——我知道它将存储为SQL):

service_link: {
    image: \'plumberad01.png\'
    url: \'http://myplumber.com\',
    type: \'large\',
    active: true
}
我知道我可以创建一个新页面并手动添加图像及其链接,但管理成了一个大麻烦。我要做的是创建一个自定义页面,该页面只查找所有active service\\u链接,然后正确设置它们的格式。我可以很容易地编写实现这一点所需的PHP。

我不确定的是如何将service\\u链接添加到数据库中。我所有的搜索都只是不断地提供有关自定义帖子类型的信息,而这似乎不是我要寻找的,因为这些不是单独的帖子。它们只会和其他东西一起被观看。

我想我需要编写一个自定义插件(主要是为了在wp admin中的菜单中添加service\\u link management),所以我正在寻找一个做类似或某种教程的插件。我觉得这不是一个不常见的用例(不是帖子的内容),所以我不知道为什么我在查找信息时遇到这么多困难。

2 个回复
最合适的回答,由SO网友:cjbj 整理而成

从您描述的内容来看,这些广告是您希望根据其属性排序和显示的独立信息。这意味着将它们存储为自定义帖子仍然是一条路要走。毕竟,帖子是WordPress存储大量相关信息的方式。这并不意味着它们必须单独显示。Menus are also stored as a post type, 即使它们只包含在也包含常规帖子的模板中,并且以完全不同的方式处理。

现在你在一个帖子类型中有了单独的广告,你可以使用wp_query 选择并在模板中显示它们。大致来说,有两条路要走。如果你控制模板,你可以在适当的地方创建小部件区域,并编写一个显示广告的小部件。如果你不控制模板,你可以编写一个短代码,并将其包含在常规帖子/页面中。

您可以将所有代码(自定义帖子类型和小部件/短代码)组装到插件中。这样做的好处是未来发展的灵活性。例如,如果您愿意,您可以在内容页上放置单个广告。

SO网友:heller_benjamin

如果我了解您在寻找什么,那么插件advance custom fields应该会很有用。它允许您创建一个页面模板,该模板可以包括图像、文本字段等,然后可以为每个页面填写这些内容。看见https://www.advancedcustomfields.com/

它易于使用和设置,具有良好的文档。您创建字段,然后只需调用页面模板中的每个字段。

相关推荐