PHP代码中的错误(从头开始构建wordpress主题)

时间:2014-02-06 09:23:42

标签: php wordpress function

我从头开始关注Book构建wordpress主题。在wordpress管理面板中通过此方法创建了一个选项页面。由于内部没有任何内容,因此存在错误。

首先,这会被添加到wordpress的functions.php中:

<?php require_once('theme-options.php'); ?>

其次创建了theme-options.php,其中包含:

<?php 
// create custom plugin settings menu
add_action('admin_menu', 'director_create_menu');
 function director_create_menu() {

 //create new submenu
 add_submenu_page( 'themes.php', 'Director Theme Options', 
 'Director Options', 'administrator', __FILE__, 
 'wptuts_landing_settings_page');

 //call register settings function
 add_action( 'admin_init', 'director_register_settings' );
 } 
 function director_register_settings() {
  //register our settings
  register_setting( 'director-settings-group', 'director_facebook' );
  register_setting( 'director-settings-group', 'director_twitter' );
  register_setting( 'director-settings-group', 'director_rss' );
  register_setting( 'director-settings-group', 'director_logo' );
 register_setting( 'director-settings-group', 'director_analytics' );
  }
  function director_settings_page() {

  ?>

 <div class="wrap">
 <h2>Director Theme Settings</h2>

  <form id="landingOptions" method="post" action="options.php">
 <?php settings_fields( 'director-settings-group' ); ?>
  <table class="form-table">

  <tr valign="top">
  <th scope="row">Logo:</th>
   <td>
    <input type="text" name="director_logo" value="<?php print get_option('director_logo'); ?>"      /> 
  <br/>
  </td>
  </tr>

  <tr valign="top">
  <th scope="row">Facebook Link:</th>
  <td>
  <input type="text" name="director_facebook" 
  value="<?php print get_option('director_facebook'); 
  ?>" />
  </td>
  </tr>

 <tr valign="top">
   <th scope="row">Twitter Link:</th>
  <td>
     <input type="text" name="director_twitter" value="<?php print get_option('director_twitter'); ?>" />
    </td>
   </tr>

   <tr>
   <th scope="row">Display RSS Icon:</th>
  <td>
  <input type="checkbox" name="director_rss" <?php 
  if(get_option('director_rss') == true){ print 
   "checked"; } ?> />
   </td>
   </tr>

  <tr>
  <th scope="row">Google Analytics Code:</th>
  <td>
   <textarea name="director_analytics"><?php print 
  get_option('director_analytics'); ?></textarea>
  </td>
</tr> 
 </table>

 <p class="submit">
<input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
 </p>

 </form>
</div>
 <?php } ?>

导演选项页面已创建,但内部没有任何内容。

页面应该显示如下:enter image description here 但是页面是这样的: enter image description here  你能否告诉我这个问题并解决它。

1 个答案:

答案 0 :(得分:2)

我找到了解决方案,并希望将其发布给遇到问题的其他人。

没有WordPress错误。但问题是由于add_submenu_page调用,应该调用函数director_settings_page而不是wptuts_landing_settings_page