创建视频内容页面(如何在WordPress中使用查询字符串)-帮助!

时间:2020-05-29 作者:Bruno

我对Wordpress很陌生,所以很抱歉。我有一个正在进行的项目,我希望有人能为我指明正确的方向。

首先,我自愿为镇上一家小型非营利组织做一些工作,该组织组织社区活动。他们想在他们的网站上创建一个视频播放器,在那里他们可以展示他们正在做的事情的视频。他们不想嵌入youtube视频以避免向youtube发送流量,因为最终目标是让人们订阅电子邮件列表和/或捐款。

我最初的攻击计划是创建一个带有html5视频播放器的页面,以及一个带有缩略图的“观看下一个”面板,该缩略图将类似页面与下一个视频链接起来。

我有两个问题需要解决:(1)我只想有一个页面,这样就可以很容易地更新它。(2) 我需要每个视频都有唯一的链接,这样才能共享。

我最初的解决方案是在url中使用查询字符串来查找填充每个视频页面的路径(通过将其与查询字符串变量关联,在数据库表中查找视频的文件路径和接下来要观看的视频)。

就在这时,我被告知该网站是wordpress网站。我可以在wordpress中为任何特定视频构建基本页面,但我真的不知道如何处理查询字符串)。我试着做了一些研究,结果是我试图构建一个子主题,并向函数中添加一些代码。php文件,但我一直遇到的问题是,我不知道如何将视频表添加到数据库中,如果没有某种数据库,我无法按照我计划的方式完成这项工作。

很明显,我不知道我在说什么,我很确定有更好的方法来设计这整件事。我希望得到一些关于处理我想要解决的问题的最佳方法的建议:(1)易于更新和添加新视频,(2)具有独特的URL用于共享。

1 个回复
SO网友:Antti Koskinen

欢迎使用WPSE。可能有不止一种方法可以做到这一点,但这是我的第一个想法。

你可能想做的第一件事是register a custom post type (CPT)用于视频内容。这样,您可以在后端(即仪表板)设置“视频库”,用于管理视频内容。

如果不需要添加要在视频中显示的长文本内容,可以将CPT支持参数设置为标题、摘录和缩略图。为CPT集禁用块编辑器的步骤\'show_in_rest\'=>false. 要存储视频url,您可以register a custom meta box. Storing meta data with block editor 如果您决定使用它,则需要更多的参与。

要在前端显示视频,可以将CPT设置为visibility参数\'public\'=>truecreate custom single template 或者让CPT私有化(\'public\'=>false) 和create a custom page template 您可以通过从查询字符串中获取id来显示视频(即。$video_id = $_GET[\'video_id\']). 您可能需要熟悉the Loop, 如果您还没有,不管您使用哪种模板类型。

如果您的CPT是公共的,那么您可以使用自定义的单个模板,并且您已经存储了视频url以发布meta,然后您可以使用在模板文件中检索它get_post_meta(). WP负责为视频帖子创建可共享的永久链接。

如果您的CPT是私有的,那么您可以将视频id存储到自定义帖子的slug字段中(post_name) 和视频url发布元数据。在自定义页面模板中,您可以首先使用get_page_by_path() (也适用于CPT)使用查询字符串中的视频id获取要使用的帖子idget_post_meta() 最终获取视频url。另一种选择是使用WP_Query 具有\'name\'=>$video_id 具有\'fields\'=>\'ids\' 查询职位ID。

相关推荐

$wpdb selects wrong database

我在另一个WordPress网站的文件夹中创建了一个新的WordPress网站。示例-主站点。com-mainsite。com/第二站点我创建了一个插件,并使用$wpdb 将数据插入数据库,插件将数据插入第一个/父站点的数据库。我使用的代码包括$wpdb 如下所示:$path = $_SERVER[\'DOCUMENT_ROOT\']; include $path . \'/wp-load.php\'; include $path . \'/wp-config.php\'; inc