wordpress文章在哪个文件夹(Wordpress建站教程:快速复制文章和页面的方法)wordpress快速入门 / wordpress文章预览与草稿保存功能...

wufei123 发布于 2024-06-25 阅读(9)

作者:悦然wordpress建站(此处已添加小程序,请到今日头条客户端查看)

继续分享wordpress建站教程有时候我们可能会有快速复制文章和页面内容的需求,比如woocommerce商城的产品,里面可能会有一些复杂的参数,价格、颜色、SKU等等,如果是同一类产品可以通过司复制草稿的方式来添加新产品,这们复制的参数就不用再去填写了,我们只需要修改产品的名称、图片、描述即可,这样可以提高工作效率。

那要如何才能实现这样的效果呢?下面分享两个方法使用插件:Yoast Duplicate Post

Yoast Duplicate Post这个wordpress插件可以免费使用,它是Yoast SEO官方推出的插件,在wordpress建站后台的插件中心搜索安装即可,启用就能生效。

插件生效后在文章、页面、产品列表下面会 多出 复制(Clone)、新草稿(New Draft)两个选择,任选一个都可以快速复制内容使用代码如果你不想使用插件,也可以把下面的 代码添加到当前wordpress建站主题的functions.php文件中,保存后即可生效,然后文章、页面、产品列表下就会出现一个【duplicate】按扭,点击即可快速复制。

/*www.zsxxfx.com/28731.html,如果代码查看不完整,请浏览这个地址 * Function creates post duplicate as a draft and redirects then to the edit post screen */

functionrd_duplicate_post_as_draft(){ global $wpdb; if (! ( isset( $_GET[post]) || isset( $_POST[post

]) || ( isset($_REQUEST[action]) && rd_duplicate_post_as_draft == $_REQUEST[action] ) ) ) { wp_die(

No post to duplicate has been supplied!); } /* * Nonce verification */if ( !isset( $_GET[duplicate_nonce

] ) || !wp_verify_nonce( $_GET[duplicate_nonce], basename( __FILE__ ) ) ) return; /* * get the original post id */

$post_id = (isset($_GET[post]) ? absint( $_GET[post] ) : absint( $_POST[post] ) ); /* * and all the original post data then */

$post = get_post( $post_id ); /* * if you dont want current user to be the new post author, * then change next couple of lines to this: $new_post_author = $post->post_author; */

$current_user = wp_get_current_user(); $new_post_author = $current_user->ID; /* * if post data exists, create the post duplicate */

if (isset( $post ) && $post != null) { /* * new post data array */ $args = array( comment_status

=> $post->comment_status, ping_status => $post->ping_status, post_author => $new_post_author,

post_content => $post->post_content, post_excerpt => $post->post_excerpt, post_name => $post->post_name,

post_parent => $post->post_parent, post_password => $post->post_password, post_status =>

draft, post_title => $post->post_title, post_type => $post->post_type, to_ping => $post->to_ping,

menu_order => $post->menu_order ); /* * insert the post by wp_insert_post() function */

$new_post_id = wp_insert_post( $args ); /* * get all current post terms ad set them to the new post draft */

$taxonomies = get_object_taxonomies($post->post_type); // returns array of taxonomy names for post type, ex array("category", "post_tag");

foreach ($taxonomies as $taxonomy) { $post_terms = wp_get_object_terms($post_id, $taxonomy, array(

fields => slugs)); wp_set_object_terms($new_post_id, $post_terms, $taxonomy, false); } /* * duplicate all post meta just in two SQL queries */

$post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post_id"

); if (count($post_meta_infos)!=0) { $sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) "

; foreach ($post_meta_infos as $meta_info) { $meta_key = $meta_info->meta_key; if( $meta_key ==

_wp_old_slug ) continue; $meta_value = addslashes($meta_info->meta_value); $sql_query_sel[]=

"SELECT $new_post_id, $meta_key, $meta_value"; } $sql_query.= implode(" UNION ALL ", $sql_query_sel); $wpdb->query($sql_query); }

/* * finally, redirect to the edit post screen for the new draft */ wp_redirect( admin_url( post.php?action=edit&post=

. $new_post_id ) ); exit; } else { wp_die(Post creation failed, could not find original post: . $post_id); } } add_action(

admin_action_rd_duplicate_post_as_draft, rd_duplicate_post_as_draft ); /* * Add the duplicate link to action list for post_row_actions */

functionrd_duplicate_post_link( $actions, $post ){ if (current_user_can(edit_posts)) { $actions[duplicate

] = ID, basename(

__FILE__), duplicate_nonce ) . " title="Duplicate this item" rel="permalink">Duplicate; } return

$actions; } add_filter( post_row_actions, rd_duplicate_post_link, 10, 2 );如果你的wordpress建站已经在用Code Snippets这个插件,那么也可以把上面的代码添加到插件中,效果一样。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

河南中青旅行社综合资讯 奇遇综合资讯 盛世蓟州综合资讯 综合资讯 游戏百科综合资讯 新闻44348