<?php /* Template Name: Edit Post Creator */ get_header(); ?> <?php if ( !is_user_logged_in() ) { $url= get_site_url().'/login/'; echo "<script> window.location.href ='".$url."';</script>"; } require_once( ABSPATH . 'wp-admin/includes/image.php' ); require_once( ABSPATH . 'wp-admin/includes/file.php' ); require_once( ABSPATH . 'wp-admin/includes/media.php' ); $current_users = wp_get_current_user(); $user_login = $current_users->user_login; $user_email = $current_users->user_email; $user_id =$current_users->ID; $messageserr =""; if(isset($_POST['CreatorSavePost'])){ $FormEditPostId= $_POST['EditPostId']; $title = $_POST['title']; $tags = $_POST['tags_list']; $description = $_POST['description']; $cateId = $_POST['cat']; $yoastSeoFocus = $_POST['creator_seo_focus']; $yoastSeoDescription = $_POST['creator_seo_description']; if(empty($title) || empty($tags) || empty($description) || empty($_POST['creator_seo_focus']) || empty($_POST['creator_seo_description']) ){ $messageserr = "All Fields Are mandatory"; } else{ $insertpdata = array( 'ID' => $FormEditPostId, 'post_title' => $title, 'post_content' => $description, 'post_status' => 'pending', 'post_type' => 'post', 'post_author' => $user_id, 'comment_status' => 'open', // if you prefer ); $postdata = wp_update_post( $insertpdata); if($postdata){ update_post_meta($postdata, '_yoast_wpseo_focuskw', $yoastSeoFocus); update_post_meta($postdata, '_yoast_wpseo_metadesc', $yoastSeoDescription); /* update_post_meta($postdata, 'rank_math_focus_keyword', $yoastSeoFocus); update_post_meta($postdata, 'rank_math_description', $yoastSeoDescription);*/ $curtags = wp_get_post_tags($postdata, 'post_tag'); foreach($curtags as $curtag) { // unset($curtags[$id]); wp_remove_object_terms( $postdata, (int)$curtag->term_id, 'post_tag',true ); } foreach($tags as $term){ if(term_exists($term,"post_tag")){ $getterm = get_term_by("name",$term,"post_tag"); $termId = $getterm->term_id; }else{ $insert_term = wp_insert_term( $term,"post_tag"); $termId = $insert_term['term_id']; } //wp_remove_object_terms( $postdata, (int)$termId, 'post_tag',true ); wp_set_object_terms( $postdata, (int)$termId, 'post_tag',true ); } wp_set_object_terms( $postdata, (int)$cateId, 'category' ); $redUrl = home_url('creator/edit-post/?postid='.$FormEditPostId.'&postupdated=succussfully'); echo "<script> window.location.href ='".$redUrl."';</script>"; wp_redirect(); } } } if(isset($_POST['CreatorFeaturedPost'])){ $FormEditImgId= $_POST['Edit_Featured_Post_Id']; $attach_id = media_handle_upload('image', $FormEditImgId); set_post_thumbnail( $FormEditImgId,$attach_id); $redUrl = home_url('creator/edit-post/?postid='.$FormEditImgId.'&mediaupload=succussfully'); echo "<script> window.location.href ='".$redUrl."';</script>"; wp_redirect(); } ?> <?php if(isset($_GET['postid'])) { $editPostID= $_GET['postid']; $post_author_idred = get_post_field( 'post_author', $editPostID ); if(trim($post_author_idred) !== trim($user_id)){ $urltootheruser = get_site_url().'/creator/'; echo "<script> window.location.href ='".$urltootheruser."';</script>"; } ?> <div class="dashboard-heading"> <h1 class="text-center">Edit Post</h1> <div class="snow-blanket"></div> </div> <div class="container"> <div class="creator_newpost_section"> <div class="col-md-12 creator_newpost_content_area"> <div class="col-md-12 px-0"> <?php if(isset($_GET['postupdated']) && $_GET['postupdated']=="succussfully"){ echo "<div class='success-outer'><div class='success-inner'>Your post updated successfully.</div></div>"; } ?> <div class="error-msg-save" <?php if(!empty($messageserr)){ ?> style="display:block" <?php } ?>><?php if(!empty($messageserr)){ echo $messageserr; } ?></div> <div class="back_btn_creator"><a href="<?php echo site_url(); ?>/creator/" class="back_to_page aps_btn_primary"> <i class="fa fa-long-arrow-left pr-1"></i> Back</a></div> </div><!--.col-md-12 end--> <div class="row"> <div class="col-md-8"> <div class="creator_newpost_content"> <form method="post" id="creatorFormData" enctype="multipart/form-data" class="row creator_newpost_form" > <div class="col-md-12 form-group creator_form_style"> <label>Title</label> <input type="text" name="title" class="CreatorPostTitle" maxlength="60" value="<?php echo get_the_title($editPostID); ?>"> </div> <div class="col-md-12 form-group creator_form_style"> <label>Tag</label> <?php $postTagscus = get_the_tags($editPostID); $tags = []; if(!empty($postTagscus)){ foreach($postTagscus as $postTags){ if(!in_array($postTags->name,$tags)){ array_push($tags,$postTags->name); } } } $implodetags = implode(',',$tags); ?> <input type="text" name="tags" class="CreatorPostTags" value="<?php echo $implodetags; ?>"> </div> <div class="col-md-12 form-group creator_form_style"> <label>Category</label> <?php $catsARR = get_the_category($editPostID); wp_dropdown_categories( 'taxonomy=category&class=creator_post_category&exclude=1&hide_empty=0&orderby=name&order=ASC&show_option_none=Select category&selected='.$catsARR[0]->term_id.'' ); ?> </div> <div class="col-md-12 form-group creator_form_style"> <?php $settings = array( 'wpautop' => true, 'media_buttons' => true, 'textarea_name' =>"description", 'textarea_rows' => get_option('default_post_edit_rows', 10), // rows="..." 'tabindex' => '', 'editor_css' => '', 'editor_class' => '', 'teeny' => false, 'dfw' => false, 'tinymce' => true, 'quicktags' => true, ); $postContent = get_post_field( 'post_content', $editPostID ); wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_enqueue_style('thickbox'); wp_editor( $postContent, 'description',$settings ); ?> <div id="wordcount"></div> </div> <div class="col-md-12 form-group creator_form_style"> <label>Seo Focus keyphrase</label> <input type="text" name="creator_seo_focus" class="CreateSeoFocus" value="<?php echo get_post_meta( $editPostID, '_yoast_wpseo_focuskw', true ); ?>"> </div> <div class="col-md-12 form-group creator_form_style"> <label>Seo Meta description</label> <textarea minlength=130 maxlength="160" name="creator_seo_description" class="CreateSeoDescription" id="theTextArea" placeholder="Between 130 and 160 characters are allowed" rows="9" required> <?php echo get_post_meta( $editPostID, '_yoast_wpseo_metadesc', true ); ?></textarea> <!--<div id="textarea_feedback"></div> --> <div class="progress"> <div class="progress-bar famad-counter" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%"> <span class="famad-counter-text"></span> </div> </div> </div> <div class="col-md-12 form-group creator_submit_form creator_form_style"> <input type="hidden" name="CreatorSavePost" value="Save" > <input type="hidden" name="EditPostId" value="<?php echo $editPostID; ?>" > <input type="button" name="CreatorSavePost" value="Submit for Review" class="CreatorSavePost CreatorSubmitPost"> </div> </form> </div> </div><!--.col-md-8 End --> <div class="col-md-4"> <div class="featured_image_section"> <?php $image= get_the_post_thumbnail($editPostID,'medium'); if ($image) { ?> <div class="edit_featured_form_img"><?php echo $image; ?></div> <?php } else{ ?> <div class="edit_featured_form_img"><p class="no_thumb_select">No Thumbnail Selected</p></div> <?php } ?> <form method="post" id="creatorImageData" enctype="multipart/form-data" class="row creator_editpost_form" > <div class="col-md-12 form-group creator_form_style"> <label>Featured Image</label> <input type="file" id="featured-image" accept="image/*" name="image" class="CreatorPostimage"> <div class="form-group creator_edit_imgform creator_form_style"> <input type="hidden" name="CreatorFeaturedPost" value="Upload Image" > <input type="hidden" id="edit_hidden_img" name="Edit_Featured_Post_Id" value="<?php echo $editPostID; ?>" > <input type="button" name="CreatorFeaturedPost" value="Upload Image" class="CreatorFeaturedPost FeaturedSubmitPost"> </div> </div> </form> </div> </div> </div><!--.col-md-4 End --> </div><!--.creator_newpost_content_area end--> </div> <!--.creator_newpost_section end--> </div><!--.container end --> <?php } ?> <?php get_footer(); ?> <script src="<?php echo get_stylesheet_directory_uri(); ?>/js/word-count.js"></script> <script src="<?php echo get_stylesheet_directory_uri(); ?>/js/jQuery.tagify.min.js"></script> <script src="<?php echo get_stylesheet_directory_uri(); ?>/js/tagify.js"></script> <link href="<?php echo get_stylesheet_directory_uri(); ?>/css/tagify.css" rel="stylesheet"> <script> (function(){ var input = document.querySelector('input[name=tags]'), tagify = new Tagify(input, { pattern : /^.{1,25}$/, maxTags:6 }); tagify.on('add', onAddTag) .on('remove', onRemoveTag) .on('input', onInput) .on('invalid', onInvalidTag); function onAddTag(e){ console.log(e, e.detail); console.log( tagify.DOM.originalInput.value ) tagify.off('add', onAddTag) } function onRemoveTag(e){ console.log(e, e.detail); } function onInput(e){ console.log(e, e.detail); } function onInvalidTag(e){ console.log(e, e.detail); } })() </script> <script type="text/javascript"> jQuery(document).ready(function() { var text_max = 160; $('.famad-counter-text').html(text_max + ' remaining'); $('#theTextArea').keyup(function() { var text_length = $('#theTextArea').val().length; var text_remaining = text_max - text_length; var text_percent = parseInt((text_remaining * 100) / text_max); var percent = 100 - text_percent; $('.famad-counter').removeClass('progress-bar-success').removeClass('progress-bar-warning'); if(percent >= 0 && percent < 82){ $('.famad-counter').addClass('progress-bar-warning') } if(percent >= 82 && percent < 100){ $('.famad-counter').addClass('progress-bar-success') } if(percent == 100){ $('.famad-counter').addClass('progress-bar-warning') } $('.famad-counter').attr("aria-valuenow","10").css("width",percent+"%"); $('.famad-counter-text').html(text_remaining + ' remaining'); }); // var text_max = 220; // $('#textarea_feedback').html(text_max + ' characters remaining'); // $('#theTextArea').keyup(function() { // var text_length = $('#theTextArea').val().length; // var text_remaining = text_max - text_length; // $('#textarea_feedback').html(text_remaining + ' characters remaining'); // }); }); </script> <script> $ = jQuery; function updateCount(){ prevCount = 0; var Description = tinyMCE.get('description').getContent(); var counter = new window.wp.utils.WordCounter(); var str = document.getElementById('description').value var text, count; if ( ! tinyMCE.get('description') || tinyMCE.get('description').isHidden() ) { text = str; } else { text = tinyMCE.get('description').getContent( { format: 'raw' } ); } count = counter.count( text ); prevCount = count; return prevCount; } // $( document ).on( 'tinymce-editor-init', function( event, editor ) { // prevCount =0; // editor.on( 'nodechange keyup', function(){ // var text, count; // var counter = new window.wp.utils.WordCounter(); // text = tinyMCE.get('description').getContent( { format: 'raw' } ); // count = counter.count( text); // if ( count !== prevCount ) { // $("#wordcount").text("Words Count: " + count ); // } // prevCount = count; // }); // $("#description").on( 'input keyup', function(){ // var text, count; // var counter = new window.wp.utils.WordCounter(); // text = document.getElementById('description').value // count = counter.count( text ); // if ( count !== prevCount ) { // $("#wordcount").text("Words Count: " + count ); // } // prevCount = count; // }); // }); i=0; $(document).ready(function(){ // visual mode // the iframe id $("#description_ifr").ready(function () { setInterval(function(){ var tinymceval = $('#description_ifr').contents().find('body').text(); var wordscount = tinymceval.split(" "); // you should crete a div with the // the id = #wordcount to show count $("#wordcount").text("Words Count: " + wordscount.length); }, 2000) }); // html mode // #description is the id of the text area $("#description").keypress(function(){ $("#wordcount").text(i+=1); }); }); jQuery(document).ready(function(){ jQuery(".CreatorSubmitPost").on("click",function(){ $(".success-outer").hide(); error = ""; var PostTitle = $(".CreatorPostTitle").val(); var PostTags = $(".tagList").val(); var categoryDropdown = $("#cat").val(); //var Description = tinyMCE.get('description').getContent(); var Description = tinyMCE.get('description').getContent(); var DescriptionLength = updateCount() var PostSeoFocus = $(".CreateSeoFocus").val(); var PostSeoDescription = $("#theTextArea").val(); if(PostTitle ===""){ error = "Title is Required"; } else if(PostTitle.length > 80){ error = "Title length should be less then 80 character"; } else if(PostTags == null){ error = "Tag field is Required"; } else if( categoryDropdown === '-1'){ error = "Please Select Category"; } else if(DescriptionLength < 800){ error = "Editor Content should be more then 800 words"; } else if(PostSeoFocus ===""){ error = "Seo Focus keyphrase is Required"; } else if(PostSeoDescription == ""){ error = "Seo Meta description is Required"; } else if(PostSeoDescription.length < 130){ error = "Seo Meta Description Length should be more then 130 "; } else if(PostSeoDescription.length > 220){ error = "Seo Meta Description Length should be less then 220 "; } if(error !==""){ $('html,body').animate({ scrollTop: $("body").offset().top}, 'slow'); $(".error-msg-save").show(); $(".error-msg-save").text(error); }else{ $("#creatorFormData").submit(); $(".error-msg-save").hide(); $(".error-msg-save").text(""); } }); //Edit Image Form Validation jQuery(".FeaturedSubmitPost").on("click",function(){ $(".success-outer").hide(); error = ""; var Postimage = $(".CreatorPostimage").val(); if(Postimage === ""){ error = "Select Featured Image"; } if(error !==""){ $('html,body').animate({ scrollTop: $("body").offset().top}, 'slow'); $(".error-msg-save").show(); $(".error-msg-save").text(error); }else{ $("#creatorImageData").submit(); $(".error-msg-save").hide(); $(".error-msg-save").text(""); } }); }); </script> <style> .error-msg-save{ width: 100%; float: left; background: red; color: #fff; padding: 16px; display: none; } .success-outer { background: #63b900; padding: 10px; color: #fff; margin-bottom: 10px; } .progress { position: relative; margin: 7px 0; height: 17px; border-radius: 45px; } .progress span { position: absolute; display: block; width: 100%; font-size: 12px; color: black; } .wp-switch-editor{ height:auto; color: #fff; } button#insert-media-button { color: #fff; } .CreatorFeaturedPost { color: #fff; } </style>