向Wordpress页面添加自定义PHP

向Wordpress页面添加自定义PHP,php,wordpress,forms,templates,Php,Wordpress,Forms,Templates,我有一个小名字生成器脚本,我正试图添加到我的Wordpress网站。脚本本身运行良好,我只是不知道如何正确显示它 这是一个简单的选择表单-用户选择一个角色种族和许多要生成的名称,脚本从各种文本文件中提取并吐出名称。(这里有一个现场演示:) 选择角色赛: Oofo 不 维尔姆 霍克 要生成的名称: 1. 5. 10 20 如果我将生成器代码放入页面模板中,然后使用该模板创建新页面,则表单将正确显示,但当用户提交表单时: 致命错误:在第7行的/home/content/09/10184409/h

我有一个小名字生成器脚本,我正试图添加到我的Wordpress网站。脚本本身运行良好,我只是不知道如何正确显示它

这是一个简单的选择表单-用户选择一个角色种族和许多要生成的名称,脚本从各种文本文件中提取并吐出名称。(这里有一个现场演示:)


选择角色赛:
Oofo
不
维尔姆
霍克
要生成的名称:
1.
5.
10
20
如果我将生成器代码放入页面模板中,然后使用该模板创建新页面,则表单将正确显示,但当用户提交表单时:

致命错误:在第7行的/home/content/09/10184409/html/namegen-page.php中调用未定义的函数get_header()

(文件名gen-page.php是我的模板文件,它位于我的主题目录中……它似乎试图在我的根目录中找到它。)

我是否需要将表单放在与生成器不同的页面上?我需要使用Wordpress插件来显示PHP吗?
我是Wordpress的新手,不知道自己做错了什么。感谢您的帮助

据我所知,有两种方法可以实现这一点:

  • 您可以创建一个包含此代码以及您想要的现有页面内容的。然后,您只需在创建页面时选择此模板,它就会出现并正常工作
  • 你可以试试其中的一种,尽管我没有 有使用它们的经验
  • 我个人会推荐第一种选择


    我希望这有帮助

    问题在于,您正在将表单的
    操作直接设置到模板文件中(使用相对URL,在任何情况下都不太可能工作),而这无法正确初始化WordPress。将其替换为使用模板的页面的(绝对)永久链接。

    尝试将此代码移动到主题中的functions.php文件中,设置为短代码。ShortCodeAPI已经找到了,但下面是您需要做的基本操作

    这将涉及将所有代码包装在一个函数中,然后创建一个短代码

    在主题的functions.php文件中

        //This is only to make sure another function doesn't already have that name
        if ( ! function_exists( 'custom_name_generator' ) ) {
            function custom_name_generator(){
              //copy and paste your code here
            }
        }
                       //shortcode name,         reference to the function name
        add_shortcode( 'custom_name_shortcode', 'custom_name_generator' );
    
    现在,在内容区域内的管理页面中,您可以放置[自定义\u名称\u短代码]。 系统将选择已注册的短代码并执行您的代码


    希望有帮助。祝你好运。

    我已经制作了自定义页面模板,但正如@ebohlman所说,我的表单操作是错误的。谢谢你提供的额外资源!我从来没想过!另一条评论修复了这个问题,但是谢谢你提供的关于创建短代码的信息,我可能会在以后的某一天找到它的用途!
        //This is only to make sure another function doesn't already have that name
        if ( ! function_exists( 'custom_name_generator' ) ) {
            function custom_name_generator(){
              //copy and paste your code here
            }
        }
                       //shortcode name,         reference to the function name
        add_shortcode( 'custom_name_shortcode', 'custom_name_generator' );