gpt4 book ai didi

php - 使用前端用户插件在 wordpress 中添加带有表单的自定义页面

转载 作者:行者123 更新时间:2023-12-04 05:24:56 24 4
gpt4 key购买 nike

嗨,我对 wordpress 插件开发非常陌生,我创建了一个插件,该插件添加了一个 Sidemenu 来显示 jquery 对话框,

现在我试图在页面中向前端用户显示一个表单,但我很困惑如何开始,

我想在前端用户的侧边菜单中显示一个链接,当用户点击它时,我想用插件打开我的自定义页面。
(点击后网址应该是这样的:demo.com/my_page.php)。
我用谷歌搜索但没有找到任何理解一些建议模板的东西(我还不知道它们)。

请你建议我最好的方法来做到这一点。

最佳答案

PHP 版本 5+

对于我将在下面描述的前两种方法,首先要做的是在 Wordpress 中创建页面。选择页面-> 新建以创建它,标题为“我的页面”或“我的页面”。在这两种情况下,slug 都应该是“我的页面”,除非已经存在。不要使用“my_page”。

有多种方法可以在插件中管理前端页面。

我最喜欢的是将页面放在插件的目录中,然后将其复制到主题的目录中,如下例所示。

像往常一样创建表单并将其保存在插件目录中。

该文件将成为样式表目录中页面的模板。据我所知,页面必须位于此目录中,WP 才能加载它。

示例:

// Make sure you define in your plugin's main script the location of the plugin, with a code like this:

// Holds the absolute path to MyPlugin directory, without slashes.
if ( !defined( 'MyPlugin_DIR' ) ) define( 'MyPlugin_DIR', __DIR__ );

function CopyFile() {

$TemplateFileSourceURL = MyPlugin_DIR . '/my-page.php'; // Address to your file in the plugin directory
$TemplateFileTargetURL = get_stylesheet_directory() . '/page-my-page.php'; // Note the "page-" prefix, it is necessary for WP to select this file instead of the general "page.php". The name after the prefix must match the slug of the page created in WP.

if ( !file_exists( $TemplateFileSourceURL ) ) {
return FALSE;
}

$GetTemplate = file_get_contents( $TemplateFileSourceURL );
if ( !$GetTemplate ) {
return FALSE;
}

$WriteTemplate = file_put_contents( $TemplateFileTargetURL, $GetTemplate );
if ( !$WriteTemplate ) {
return FALSE;
}
return TRUE;
}

另一种方法涉及创建页面并将其作为模板文件或仅作为页面保存在主题目录中。

要使其成为模板,您必须在第一行添加以下注释:
/*
Template Name: MyPage
*/

MyPage 可以是任何名称。然后进入WP中的页面编辑器,在右侧栏中选择MyPage模板。当您重新加载编辑器页面时,它应该在那里。

如果将前缀“page-”添加到主题目录中的文件名,则不必将其设为模板。即 page-my-page.php。

最后一种方法是创建文件,将其保存在您想要的任何位置,并在第一行中使用如下代码加载 WP:

注意:如果使用此方法,则无需在 WP 中创建页面,它不会执行任何操作,尽管您可能需要重新声明用户的变量和函数。
require_once ('WPBlogUrl/wp-load.php'); // Make sure WPBlogUrl points to the blog's url.

哪种方法最好?取决于您的要求,但是如果您不想在主题目录中手动添加前端页面,我认为第一个选项是最好的。

删除插件时不要忘记删除卸载脚本中的文件。

希望这会有所帮助。

费利佩·阿拉米达 A.

关于php - 使用前端用户插件在 wordpress 中添加带有表单的自定义页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13303079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com