我目前正在尝试学习WordPress CMS主题开发,并且遇到了一个我无法用自己的知识克服的问题。
我想做的是允许最终用户在帖子中附加一些可下载的文件,并附加一些将用于滑块画廊的图像。
问题是我不希望用户弄乱代码,完美的解决方案是在右侧添加具有这些功能的新面板。
什么是扩展帖子添加功能的正确方法,我应该从哪里开始? Functions.php?还是需要Wordpress的核心更改?
答案 0 :(得分:2)
您可以直接在Wordpress中修改所有内容,而无需更改核心。 您想要的可以运行通过functions.php。
本教程几乎涵盖了您需要的所有内容: https://developer.wordpress.org/plugins/metadata/custom-meta-boxes/ 它位于“插件”下,但所有这些操作也可以在functions.php中访问。
但是,如果您的新产品是我推荐的插件,例如ACF(高级自定义字段),则可以更快地完成工作。
ACF打包了很多字段,但是,如果没有一个可以满足您的需求,那么为新类型的字段创建插件就不会很困难(如果您对php函数有一定的了解)。
答案 1 :(得分:0)
有一些答案-最好的方法是添加custom field或使用外部插件(推荐ACF-https://www.advancedcustomfields.com/)-这样,您可以在特定帖子上扩展帖子数据类型或页面并在主题中动态显示它们。
答案 2 :(得分:0)
对于可下载文件和滑块图像,您都可以使用帖子/页面编辑屏幕上已经存在的WordPress媒体库。问题是区分上传的媒体项目。
如果要将自定义文件上传字段添加到WordPress的帖子编辑屏幕中,则可以添加一个或多个自定义元框,供作者上传或输入,然后通过钩住来保存/捕获这些值和文件。 save_post
钩子。步骤如下:
add_meta_boxes
动作即可钩住您的函数,并使用add_meta_box()
函数显示您的自定义元框。add_meta_box()
的输出中,只需显示一个HTML文件上传字段即可。save_post
操作钩,以保存/捕获上载的文件。update_post_meta()
将文件的详细信息作为meta / custom字段保存到帖子中,以便稍后在帖子本身中重新使用它。这是一个很好的教程,其中包含逐步说明:https://code.tutsplus.com/articles/attaching-files-to-your-posts-using-wordpress-custom-meta-boxes-part-1--wp-22291