在类中使用函数的Add_Menu_Page()

时间:2018-05-25 作者:Kenny Wyland

我是一个经验丰富的开发人员,但对WordPress来说是新手。我正在学习一门关于udemy的课程,他们建议我将插件函数封装在一个类中,以帮助避免名称空间冲突。然而,在我的一个动作挂钩(不确定这是正确的术语)中,我尝试调用add_menu_page() 在管理侧边栏中添加一些菜单项,我不知道如何引用我的函数。如果我给它一个类中函数的名称"testing_options_page", 那么WP找不到该函数。如果我尝试将其包装在一个数组中以声明类名和函数,就像我对add_action() 调用,然后WP代码会出错,因为它不希望该参数使用数组array(\'kenny_plugin6\', \'testing_options_page\').

调用add_menu_page() 作用

附带问题:将我的代码包装到一个类中会比它的价值更痛苦吗?

add_action( \'admin_menu\', array( \'kenny_plugin6\', \'add_menu_items\' ) );

class kenny_plugin6 {
   function add_menu_items() {
      add_menu_page( \'Browser Tab Title\', \'Menu Item Title\', \'manage_options\', 
            \'testing_menu_page\', \'testing_options_page\', \'\', \'25\' );
      add_submenu_page( \'testing_menu_page\', \'Test Links\', \'Test Title\', \'manage_options\', 
            \'get_test_links\' );

   }

   function testing_options_page() {
      ?>
      <h3>Testing Options</h3>

      <div>Put more stuff here</div>
      <?php
   }

   function get_test_links() {
      ?>
      <h3>Test Links</h3>

      <div> Put more stuff here.</div>
      <?php
   }
}

1 个回复
SO网友:KAGG Design

add\\u操作必须在plugin类中,并且应该如下所示

 add_action( \'admin_menu\', array( $this, \'add_menu_items\' ) );
通常这一行出现在\\uu construct()方法中。

结束

相关推荐