WordPress分类和标签添加自定义字段的代码
分类和标签添加自定义字段的基本代码其实和分类关键词自定义字段的代码是一样的,只是做了一点优化和扩展以及标签的添加挂钩函数,下面是向类别和标签添加具有自定义名称、自定义关键字和自定义描述的自定义字段的示例代码。
将以下代码添加到主题的functions.php文件中:
<?php function boke8_net_add_category_field(){ echo '<div class="form-field"> <label for="tag-title">自定义标题</label> <input name="tag-title" id="tag-title" type="text" value="" size="40"> <p>请在此输入用于SEO优化的标题。</p> </div>'; echo '<div class="form-field"> <label for="tag-keywords">自定义关键词</label> <input name="tag-keywords" id="tag-keywords" type="text" value="" size="40"> <p>请在此输入用于SEO优化的关键词。</p> </div>'; echo '<div class="form-field"> <label for="tag-description">自定义描述</label> <textarea name="tag-description" id="tag-description" class="large-text" rows="5" cols="50"></textarea> <p>请在此输入用于SEO优化的关键词。</p> </div>'; } function boke8_net_edit_category_field($tag){ echo '<tr class="form-field"> <th scope="row"><label for="tag-title">自定义标题</label></th> <td> <p><input name="tag-title" id="tag-title" type="text" value="'; echo get_option('_category_title'.$tag->term_id).'" size="40"/></p> <p class="description">请在此输入用于SEO优化的标题。</p> </td> </tr>'; echo '<tr class="form-field"> <th scope="row"><label for="tag-keywords">自定义关键词</label></th> <td> <p><input name="tag-keywords" id="tag-keywords" type="text" value="'; echo get_option('_category_keywords'.$tag->term_id).'" size="40"/></p> <p class="cat-url">请在此输入用于SEO优化的关键词。</p> </td> </tr>'; echo '<tr class="form-field"> <th scope="row"><label for="tag-description">自定义描述</label></th> <td> <p><textarea name="tag-description" id="tag-description" class="large-text" rows="5" cols="50">'.get_option('_category_description'.$tag->term_id).'</textarea></p> <p class="cat-url">请在此输入用于SEO优化的描述。</p> </td> </tr>'; } function boke8_net_taxonomy_metadate($term_id){ if(isset($_POST['tag-title']) && isset($_POST['tag-keywords']) && isset($_POST['tag-description'])){ if(!current_user_can('manage_categories')){ return $term_id; } $title_key = '_category_title'.$term_id; // key 选项名为 cat-tel-1 类型 $title_value = $_POST['tag-title']; // value $word_key = '_category_keywords'.$term_id; $word_value = $_POST['tag-keywords']; $desc_key = '_category_description'.$term_id; $desc_value = $_POST['tag-description']; update_option( $title_key, $title_value ); update_option( $word_key, $word_value ); update_option( $desc_key, $desc_value ); } } add_action('category_add_form_fields','boke8_net_add_category_field',10,2); add_action('category_edit_form_fields','boke8_net_edit_category_field',10,2); add_action('created_category','boke8_net_taxonomy_metadate',10,1); add_action('edited_category','boke8_net_taxonomy_metadate',10,1); add_action( 'post_tag_add_form_fields', 'boke8_net_add_category_field',10,2); add_action( 'post_tag_edit_form_fields', 'boke8_net_edit_category_field',10,2); add_action( 'edited_post_tag', 'boke8_net_taxonomy_metadate',10,1); add_action( 'create_post_tag', 'boke8_net_taxonomy_metadate',10,1); ?> |
输出代码
<?php echo get_option('_category_title'.get_queried_object_id()); echo get_option('_category_keywords'.get_queried_object_id()); echo get_option('_category_description'.get_queried_object_id()); ?> |
代码非常简单,可以直接复制使用或引用以添加更多自定义字段。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。