Php 自定义Wordpress插件,它们都很小吗?
我正在尝试Wordpress插件开发。从我所看到的所有入门示例和教程来看,插件似乎只能在文章末尾添加一个“书签”,在外部链接旁边添加一个图标,或者对现有功能进行其他相对较小的增强 我想开发一个扩展(这可能是更好的词吗?),用户可以访问Php 自定义Wordpress插件,它们都很小吗?,php,wordpress,Php,Wordpress,我正在尝试Wordpress插件开发。从我所看到的所有入门示例和教程来看,插件似乎只能在文章末尾添加一个“书签”,在外部链接旁边添加一个图标,或者对现有功能进行其他相对较小的增强 我想开发一个扩展(这可能是更好的词吗?),用户可以访问my wordpress site.com/扩展,并访问web应用程序的功能。但是,由于所有扩展都必须放在wp includes/plugins/extension中,这是否意味着这是访问插件的唯一方式 我如何设计扩展和包含要使用如下URL访问的页面:myWordP
my wordpress site.com/扩展
,并访问web应用程序的功能。但是,由于所有扩展都必须放在wp includes/plugins/extension
中,这是否意味着这是访问插件的唯一方式
我如何设计扩展和包含要使用如下URL访问的页面:
myWordPress site.com/扩展?我没有研究过如此规模的wordpress插件,但这里是总体思路
您的插件需要执行以下操作:
使用短代码
使用快捷码,用户可以将插件的页面移动到任何地方
此外,您还可以将插件作为一个选项进行研究。以下是一些浮动在wp内容目录之外的插件示例(请参阅安装说明):
以下是一个示例:
// register your rewrite rule
add_action('init', function(){
add_rewrite_rule('the-extension$', 'index.php?my_plugin_action=do_stuff', 'top');
});
// register your query variable
add_filter('query_vars', function($vars){
$vars[] = 'my_plugin_action';
return $vars;
});
// process request
add_action('parse_request', function($wp){
// check if this is your request; do nothing if not
if(!isset($wp->query_vars['my_plugin_action']))
return;
// otherwise do your stuff
printf('Hello Pony. You requested "%s"', $wp->query_vars['my_plugin_action']);
exit;
});
这只有在您进入仪表板>设置>永久链接并单击“保存”按钮刷新重写规则后才会起作用,因为WP显然保留了所有重写规则的某种缓存
然后访问yourwordpresssite.com/扩展名
应该会显示hello消息WP有一种可以用来将URL映射到插件的功能actions@OneTrickPony隐马尔可夫模型。。。如果我将用户流量重定向到wp-includes/plugins/extension
目录,Wordpress是否仍将URL视为插件(即添加页眉、页脚等),或者它只是在脚本中传递并执行PHP,仅此而已?插件对wp页面、帖子等进行操作。你可以创建一个WP页面,你的插件可以做任何它想做的事情。插件当然不仅仅限于添加书签这样简单的事情。只要看看插件库就可以看到大量复杂的可用插件。你可以编写一个插件,在wp中做几乎任何事情。这些教程可能看起来很有限,但通常都是刚开始的教程。API文档将是严肃插件的真正来源。正如人们所说,灵活的短代码可以帮助你将插件放在网站的任何url上。另一方面,你可以把你的插件挂在所有页面上或者你指定的任何页面上自动处理。。。短代码似乎很有前途!使用Wordpress作为插件开发基础的想法是希望它能很快实现。根据你的经验,这是真的吗?我认为这真的取决于你想做什么。如果它符合Wordpress的功能和目标,那么请确定。如果不是的话,你也可以自定义它。最后,因为这个插件将有动态生成的页面(我的意思是像product.php?id=2379)和表单处理器,短代码和插件是否仍能很好地满足这些需求?这也有点像您提到的:代码的正则表达式与$\u请求
匹配,而这一个让我们来处理它。WordPress粉丝会告诉你遵循WP标准并使用提供的API。我不打算这么做,因为WP标准非常低,所以选择你更喜欢的方法:)