自定义文章类型Metabox不显示

问题描述:

从本教程继:​​自定义文章类型Metabox不显示

我想添加一些元框允许添加另外的内容到每张幻灯片。在这里一个“链接” metabox开始是我的滑盖IMG-type.php代码:

<?php 
define('CPT_NAME', "Slider Images"); 
define('CPT_SINGLE', "Slider Image"); 
define('CPT_TYPE', "slider-image"); 
define('CPT_THUMB_SIZE', 500); 

add_theme_support('post-thumbnails', array('slider-image')); 

function efs_register() { 
    $args = array( 
     'label' => __(CPT_NAME), 
     'singular_label' => __(CPT_SINGLE), 
     'public' => true, 
     'show_ui' => true, 
     'capability_type' => 'post', 
     'hierarchical' => false, 
     'rewrite' => true, 
     'supports' => array('title', 'editor', 'thumbnail') 
     ); 

    register_post_type(CPT_TYPE , $args); 
    set_post_thumbnail_size(CPT_THUMB_SIZE); 
} 


add_action('init', 'efs_register'); 

add_action("admin_init", "efs_meta_box"); 

function efs_meta_box(){ 
    add_meta_box("projInfo-meta", "EFS Options", "efs_meta_options", "efs", "side", "low"); 
} 

function efs_meta_options(){ 
     global $post; 
     if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; 
     $custom = get_post_custom($post->ID); 
     $link = $custom["projLink"][0]; 
?> 
    <label>Link:</label><input name="projLink" value="<?php echo $link; ?>" /> 
<?php 
     } 

    add_action('save_post', 'save_efs_link'); 

    function save_efs_link(){ 
     global $post; 

     if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){ 
      return $post_id; 
     }else{ 
      update_post_meta($post->ID, "projLink", $_POST["projLink"]); 
     } 
    } 
?> 

也许我失去了一些东西很明显,但我不能得到的链接输入字段,当我尝试出现添加一个新的滑块图像帖子类型。

任何帮助将不胜感激。

谢谢, 詹姆斯

基于rmlumley代码

修正代码:

function efs_meta_options(){ 
     global $post; 
     $custom = get_post_custom($post->ID); 
     $link = $custom["projLink"][0]; 
?> 
    <label>Link:</label><input name="projLink" value="<?php echo $link; ?>" /> 
<?php 
    } 

add_action('save_post', 'save_efs_link'); 

function save_efes_link($post_ID = 0){ 
    $post_ID = (int) $post_ID; 
     $post_type = get_post_type($post_ID); 
     $post_status = get_post_status($post_ID); 

     if ($post_type) { 
     update_post_meta($post->ID, "projLink", $_POST["projLink"]); 
    } 
return $post_ID; 
} ?> 

我刚刚注意到张贴到本教程的,但评论的另一个解决方案再次这似乎并不奏效对我来说:

http://wp.tutsplus.com/tutorials/create-a-responsive-slider-plugin-with-flexslider/#comment-14080

我觉得评论剥出正确的代码为DIS打锚标记:

$slider.='<li><a href='.$slide_link.'>'.$img.'</a></li>'; 

我试图在“值”输入字段中添加自定义字段“link_slide_to”用URL,但幻灯片仍显示锚悬停没有URL。

几个月前我帮助过一个类似问题的人,hopefully this will help you out。如果您有任何问题,请告诉我。

+0

感谢rmlumley,我已经编辑了基于您的代码的代码,但仍然没有运气让链接框显示: – 2012-01-09 14:05:19

+0

请参阅上面的问题修改后的代码^ – 2012-01-09 14:28:53

+0

我不知道为什么会这么重要,但只是为了消除它作为一种可能性,你有没有尝试写出来没有标签?只是输入,也可能是一些文本。 – rmlumley 2012-01-09 15:04:36