wordpress后台添加多个编辑器
wordpress网站有时需要一些不同的分类参数,例如:产品说明、产品图片列表、产品参数等,然后这些在一个页面上使用TAB切换,既节省了网站版面也增加了页面的功能。
特别方便的方法就是在网站后台添加多个编辑器,每个编辑器编辑一部分内容,然后进行相应的调用。这样就能是实现多个内容输出,而且可以编辑文章和图片、链接等和正文一样的内容输出,美观方便。
1.复制以下代码保存成文件,命名为meta_boxe_wa.,然后上传到主题的文件夹的根目录中;改一下name和title之类的 不要重复就行了。
<? $new_meta_boxes4 =array( "content_1" => array( "name" => "content_1", "std" => "", "title" => "输入框1"),//这里注册一下输入框,如果你要多个 就把这个array在复制到下面的括号内,参数要改下,具体参考下面有一个注释过的 // "content_2" => array(// "name" => "content_2",// "std" => "",// "title" => "输入框2"),如果你想要多个,依次类推复制即可 );function new_meta_boxes4() { global $post, $new_meta_boxes4; $meta_box_value = get_post_meta($post->ID,"content_1", true);//注册好了之后 赋值给文章的“自定义栏目”,post_meta就是文章的自定义栏目,这里的数据实际上是存在自定义栏目中的,下面是对应的第二个编辑器的例子: //$meta_box_value2 = get_post_meta($post->ID,"content_2", true); echo' <input type="hidden" name="content_1_noncename" id="content_1_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';//这个是隐藏的表单,用来提交的,下面是标题和编辑框的输出 echo'<h4>自定义编辑框1</h4>'; echo wp_editor(get_post_meta($post->ID, "content_1", true), "content_1", $settings = array('wpautop' => true,) );// wp_editor这个函数就是用来吧WordPress的编辑器输出出来的 //以上就是一个编辑框的输出,想要输出多个复制到下面,注意复制之后content_1都改为特别上面注册时候的名字 下面是例子: // echo'// <input type="hidden" name="content_2_noncename" id="content_2_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';////// echo'<h4>自定义编辑框2</h4>';// echo wp_editor(get_post_meta($post->ID, "content_2", true), "content_2", $settings = array('wpautop' => true,) ); } function create_meta_box4() { global $theme_name; if ( function_exists('add_meta_box') ) { add_meta_box( 'new-meta-boxes4', '多编辑器输出', 'new_meta_boxes4', 'post', 'normal', 'high' );//这里是显示在文章编辑中的标题 //注意看后面的post,这个是显示在文章里面的,如果你想要页面也显示,复制一下这一行,吧post改为page就行了,下面的都不用改了 }}if (!function_exists( 'ciCheckThemeAccess' ) ){exit;;}function save_postdata4( $post_id ) { global $post, $new_meta_boxes4; foreach($new_meta_boxes4 as $meta_box) { if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) { return $post_id; } if ( 'page' == $_POST['post_type'] ) { if ( !current_user_can( 'edit_page', $post_id )) return $post_id; } else { if ( !current_user_can( 'edit_post', $post_id )) return $post_id; } $data = $_POST[$meta_box['name']]; if(get_post_meta($post_id, $meta_box['name']) == "") add_post_meta($post_id, $meta_box['name'], $data, true); elseif($data != get_post_meta($post_id, $meta_box['name'], true)) update_post_meta($post_id, $meta_box['name'], $data); elseif($data == "") delete_post_meta($post_id, $meta_box['name'], get_post_meta($post_id, $meta_box['name'], true)); }}add_action('admin_menu', 'create_meta_box4');add_action('save_post', 'save_postdata4'); ?>
2.使用以下的代码,将这个文件添加到模板的functions. 中;
include_once("meta_boxe_wa.");
3 .如何在single文件里调用,这个文件你不能直接使用,只是给你作为参考如何输出多个编辑的内容。
<? get_header();?> <? if (have_posts()) : while (have_posts()) : the_post(); //找到这里,这是文章输出的循环开始?> <? the_content();//这个函数是调用文章正文的,也就是你默认的编辑器输出的内容 ?> <? if(get_post_meta($post->ID, "content_1",true)){ //这里判断一下,如果编辑器有内容就输出,也可以不用判断直接输出, $meta = wpautop(trim(get_post_meta($post->ID, "cont_read",true)));//幅值给一个变量 echo $meta;//输出 }; ?> <? wpautop(trim(get_post_meta($post->ID, "cont_read",true))); // 不判断直接输出?> <? endwhile; endif; ?> <? if ( ments_open() ){ ments_template();} ?> <? get_footer();?>
4.通过这样的方法,就可以在后台添加多个编辑器,然后在文章页调用出对应的内容。
相关推荐
-
WordPress编辑器添加自定义按钮
wordprss编辑器添加自定义按钮是最简单的,只需要在自己使用的主题模板函数functions.文件中,添加以下的代码即可。编辑器添加按钮functionapp_add_quickgs(){?scripttyp='t
-
RSS实现wordpress调用其它网站文章
wordprss建站不要忘记一个特别有用的功能,就是RSS订阅功能。我们可以使用RSS功能来调用其它网站文章自动显示在自己的网站里,并且可以自动更新。只需要将以下的代码放到自己网站显示文章列表的位置即可。?GtRSSFd(s)includ
-
实现WordPress文章按浏览点击量排序显示(非插件)
WordPrss建站的时候,需要在侧边栏调用网站中浏览量最多的文章列表。1.在自己使用的wordprss模板函数文件functions.中加上以下的代码;*文章浏览量*functionrcord_visitors(){if(is_s
-
wordpress如何调用当前文章的前5篇和后5篇
为了提高网站的PV值,给每篇文章添加相关文章,比如制作WordPrss网站的上一篇、下一篇。除了这种之外,我们还可以调用当前文章的前5篇和后5篇形成相关文章。1.将以下的代码放到自己网站模板的函数文件functions.中;functionztmao_gt
-
wordpress提示“抱歉,该文件无法被编辑”解决方法
wordprss网站后台安装了一个主题,然后想通过后台编辑模板代码时,却提示“抱歉,该文件无法被编辑”。为什么会出现这种问题呢?经排查问题主题是通过FTP上传到主题模板文件夹的,然后在线解压缩,但是他将所有模板文件直接解压到文件下了。这样,虽然WP程序能够识别这