<%= title %>

Edit blog post

Back to Blog List
Upload a new featured image or enter image URL.
Recommended size: 852 x 400 px
<% if (blog.featuredImage) { %> Featured image preview <% } %>
The title will be used to generate the URL slug automatically.
Write the main content of the blog post using the editor.
Exactly 2 images required (row, 2 columns)
Recommended size: 410 x 264 px each
<% const galleryImages=blog.galleryImages || []; const image1=galleryImages[0] || '' ; const image2=galleryImages[1] || '' ; %>
<% if (image1) { %> Gallery image 1 preview <% } %>
<% if (image2) { %> Gallery image 2 preview <% } %>
This will be displayed as a highlighted quote in the blog post.
Content that appears after the quote section.
<%= (blog.excerpt || '' ).length %> /500 characters
<% categories.forEach(category=> { %>
>
<% }); %>
Select one or more categories for this blog post.
<% tags.forEach(tag=> { %>
>
<% }); %>
Select one or more tags for this blog post.
>
Featured posts can be highlighted on the blog page.
Comments Management
Total: <%= commentsCount || 0 %> Approved: <%= comments ? comments.reduce((sum, c) => sum + (c.status === 'approved' ? 1 : 0) + (c.replies ? c.replies.filter(r => r.status === 'approved').length : 0), 0) : 0 %> Pending: <%= comments ? comments.reduce((sum, c) => sum + (c.status === 'pending' ? 1 : 0) + (c.replies ? c.replies.filter(r => r.status === 'pending').length : 0), 0) : 0 %> Rejected: <%= comments ? comments.reduce((sum, c) => sum + (c.status === 'rejected' ? 1 : 0) + (c.replies ? c.replies.filter(r => r.status === 'rejected').length : 0), 0) : 0 %>
<% if (comments && comments.length > 0) { %>
<% comments.forEach((comment, index) => { %>
" data-created-at="<%= new Date(comment.createdAt).getTime() %>">
<%= comment.authorName.charAt(0).toUpperCase() %>
<%= comment.authorName %>
<%= new Date(comment.createdAt).toLocaleString() %>
<%= comment.status.charAt(0).toUpperCase() + comment.status.slice(1) %>
<% if (comment.authorEmail || comment.authorPhone || comment.authorAddress || comment.authorDate) { %>
<% if (comment.authorEmail) { %>
Email <%= comment.authorEmail %>
<% } %> <% if (comment.authorPhone) { %>
Phone <%= comment.authorPhone %>
<% } %> <% if (comment.authorAddress) { %>
Address <%= comment.authorAddress %>
<% } %> <% if (comment.authorDate) { %>
Date <%= comment.authorDate %>
<% } %>
<% } %>

<%= comment.content %>

<% if (comment.status !== 'approved') { %> <% } %> <% if (comment.status !== 'rejected') { %> <% } %>
<% if (comment.replies && comment.replies.length > 0) { %>
Replies (<%= comment.replies.length %>)
<% comment.replies.forEach((reply) => { %>
<%= reply.authorName.charAt(0).toUpperCase() %>
<%= reply.authorName %> <%= new Date(reply.createdAt).toLocaleString() %>
<%= reply.status.charAt(0).toUpperCase() + reply.status.slice(1) %>
<% if (reply.authorEmail || reply.authorPhone || reply.authorAddress || reply.authorDate) { %>
<% if (reply.authorEmail) { %>
<%= reply.authorEmail %>
<% } %> <% if (reply.authorPhone) { %>
<%= reply.authorPhone %>
<% } %> <% if (reply.authorAddress) { %>
<%= reply.authorAddress %>
<% } %> <% if (reply.authorDate) { %>
<%= reply.authorDate %>
<% } %>
<% } %>

<%= reply.content %>

<% if (reply.status !== 'approved') { %> <% } %> <% if (reply.status !== 'rejected') { %> <% } %>
<% }); %>
<% } %>
<% }); %>
<% } else { %>

No comments yet for this blog post.

<% } %>
Cancel