0

我正在尝试 Wordpress 插件开发。从我看到的所有入门示例和教程来看,插件似乎只能做一些事情,比如在帖子末尾添加一个“书签”,在外部链接旁边添加一个图标,或者其他相对对现有功能的小幅增强。

我想开发一个扩展(这可能是更好的词?),用户可以在其中my-wordpress-site.com/the-extension访问并访问 Web 应用程序的功能。但是,由于所有扩展都必须放在 内wp-includes/plugins/the-extension,这是否意味着这是访问插件的唯一方式?

我如何设计扩展程序并包含要使用这样的 URL 访问的页面:my-wordpress-site.com/the-extension

4

3 回答 3

1

我没有研究过这种规模的 Wordpress 插件,但这里是一般的想法。

您的插件需要执行以下操作:

  1. 生成简码
  2. 使用简码生成页面

使用简码允许用户将插件的页面移动到任何地方。

此外,您可以考虑为插件设置管理页面作为选项..

于 2013-01-25T01:51:35.137 回答
1

这是一个例子:

// 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/the-extension应该显示 hello 消息

于 2013-01-25T02:11:39.863 回答
0

以下是一些漂浮在 wp-content 目录之外的插件示例(请参阅安装说明):

于 2013-01-25T01:53:20.233 回答