{"id":71063,"date":"2014-01-19T14:53:10","date_gmt":"2014-01-19T06:53:10","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=71063"},"modified":"2025-04-04T01:41:41","modified_gmt":"2025-04-03T17:41:41","slug":"wordpress-tweaks-for-post-management","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/","title":{"rendered":"29 WordPress Tweaks to Enhance Posts and Pages"},"content":{"rendered":"<p>WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone\u2019s needs. Personalizing your website is key to creating a unique brand and making a lasting impression on your visitors. Over the years, both bloggers and developers have worked hard to customize the display of posts to make each site stand out.<\/p>\n<p>In this article, we\u2019ll explore a range of clever modifications you can apply to enhance your WordPress posts. These tweaks are perfect for anyone aiming to improve user experience, boost revenue, or increase page views. The best part? Most of these adjustments don\u2019t require a plugin. They are straightforward to implement \u2013 usually, it\u2019s just a matter of copying and pasting the code we provide.<\/p>\n<p>Whether you\u2019re working on a personal project or a professional one, these tweaks are here to help you refine your site. So, let\u2019s dive into customizing your WordPress experience!<\/p>\n<hr>\n<h2>Tweaks for the WordPress Front-End<\/h2>\n<h3>1. Change Your Excerpt Length<\/h3>\n<p>The tweak below will change your excerpt length, and you can just add the following lines of code into your <em>functions.php<\/em> file, with the value <strong>75<\/strong> as the excerpt length.<\/p>\n<pre>\r\nadd_filter('excerpt_length', 'my_excerpt_length');\r\nfunction my_excerpt_length($len) { return 75; }\r\n<\/pre>\n<hr>\n<h3>2. Display Dates in a Twitter-Style \u201cTime Ago\u201d Format<\/h3>\n<p>Most people don\u2019t know that WordPress has a built-in function to display the date using the \u201cTime Ago\u201d format, and the snippet below can be pasted to anywhere within the loop to display the date with the format.<\/p>\n<pre>\r\n&lt;?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; ?&gt;\r\n\r\n<\/pre>\n<hr>\n<h3>3. Include Post Thumbnails in Your RSS Feed<\/h3>\n<p>Introduced in WordPress 2.9, the <code>the_post_thumbnail()<\/code> function is very useful to add and display a thumbnail attached to a post. The bad news is there\u2019s no built-in method to display the thumbnail in your RSS feed. The function below will solve this problem. Simply paste it into your <em>functions.php<\/em> file, save it, and the post thumbnail will be automatically displayed in your RSS feed.<\/p>\n<pre>\r\n\/\/ show post thumbnails in feeds\r\nfunction diw_post_thumbnail_feeds($content) {\r\n    global $post;\r\n    if (has_post_thumbnail($post-&gt;ID)) {\r\n        $content = '&lt;div&gt;' . get_the_post_thumbnail($post-&gt;ID) . '&lt;\/div&gt;' . $content;\r\n    }\r\n    return $content;\r\n}\r\n\r\nadd_filter('the_excerpt_rss', 'diw_post_thumbnail_feeds');\r\nadd_filter('the_content_feed', 'diw_post_thumbnail_feeds');\r\n\r\n\r\n<\/pre>\n<hr>\n<h3>4. Restrict Search to Post Titles Only<\/h3>\n<p>You can add this snippet into the <em>functions.php<\/em> file of your <a href=\"https:\/\/www.hongkiat.com\/blog\/go\/elegant\">WordPress Themes<\/a> to limit the search to post titles only.<\/p>\n<pre>\r\nfunction __search_by_title_only( $search, &$wp_query ) {\r\n    if (empty($search))\r\n        return $search; \/\/ skip processing - no search term in query\r\n    $q = &$wp_query-&gt;query_vars;\r\n    \r\n    \/\/ wp-includes\/query.php line 2128 (version 3.1)\r\n    $n = !empty($q['exact']) ? '' : '%';\r\n    $searchand = '';\r\n    foreach ((array) $q['search_terms'] as $term) {\r\n        $term = esc_sql(like_escape($term));\r\n        $search .= \"{$searchand}($wpdb-&gt;posts.post_title LIKE '{$n}{$term}{$n}')\";\r\n        $searchand = ' AND ';\r\n    }\r\n    $term = esc_sql(like_escape($q['s']));\r\n    if (empty($q['sentence']) && count($q['search_terms']) &gt; 1 && $q['search_terms'][0] != $q['s'])\r\n        $search .= \" OR ($wpdb-&gt;posts.post_title LIKE '{$n}{$term}{$n}')\";\r\n    if (!empty($search)) {\r\n        $search = \" AND ({$search}) \";\r\n        if (!is_user_logged_in())\r\n            $search .= \" AND ($wpdb-&gt;posts.post_password = '') \";\r\n    }\r\n    return $search;\r\n}\r\nadd_filter('posts_search', '__search_by_title_only', 10, 2);\r\n\r\n<\/pre>\n<hr>\n<h3>5. Display an Incremental Number on Each Post<\/h3>\n<p>The tweak below will let you display an incrementing number on each post, and implementing it is pretty simple. First, paste the following function into your <em>functions.php<\/em> file:<\/p>\n<pre>\r\nfunction updateNumbers() {\r\n    global $wpdb;\r\n    $querystr = \"SELECT $wpdb-&gt;posts.* FROM $wpdb-&gt;posts WHERE $wpdb-&gt;posts.post_status = 'publish' AND $wpdb-&gt;posts.post_type = 'post' \";\r\n    $pageposts = $wpdb-&gt;get_results($querystr, OBJECT);\r\n    $counts = 0;\r\n    if ($pageposts):\r\n        foreach ($pageposts as $post):\r\n            setup_postdata($post);\r\n            $counts++;\r\n            add_post_meta($post-&gt;ID, 'incr_number', $counts, true);\r\n            update_post_meta($post-&gt;ID, 'incr_number', $counts);\r\n        endforeach;\r\n    endif;\r\n}\r\n\r\nadd_action('publish_post', 'updateNumbers');\r\nadd_action('deleted_post', 'updateNumbers');\r\nadd_action('edit_post', 'updateNumbers');\r\n\r\n<\/pre>\n<p>Once you\u2019re done, you can display the post number with the following code. Note that it has to be used within the loop.<\/p>\n<pre>\r\n&lt;?php echo get_post_meta($post->ID, 'incr_number', true); ?&gt;\r\n\r\n<\/pre>\n<hr>\n<h3>6. Exclude a Post from the WordPress Feed<\/h3>\n<p>Looking to exclude certain posts from your feed? Here\u2019s the tweak for you. Please be noted that you should only filter where you want to filter; in our example it is in our feed <code>$wp_query-&gt;is_feed<\/code>. If you didn\u2019t make it that way, the filter would also run in your back end and these posts won\u2019t be shown on post overview.<\/p>\n<p>The function has two parameters. You give the first parameter <code>$where<\/code> an extension of the SQL string, which will be taking care of the filtering based on the <strong>ID<\/strong>. Then, within the brackets you need to insert the <strong>IDs of the posts<\/strong>, which you like to filter.<\/p>\n<pre>\r\nfunction fb_post_exclude($where, $wp_query = NULL) {\r\n    global $wpdb;\r\n    if (!$wp_query)\r\n        global $wp_query;\r\n    if ($wp_query-&gt;is_feed) {\r\n        \/\/ exclude post with id 40 and 9\r\n        $where .= \" AND $wpdb-&gt;posts.ID NOT IN (40, 9)\";\r\n    }\r\n    return $where;\r\n}\r\nadd_filter('posts_where', 'fb_post_exclude', 1, 2);\r\n\r\n<\/pre>\n<hr>\n<h3>7. Redirect to Post When Search Query Yields a Single Result<\/h3>\n<p>Put this snippet into the <em>functions.php<\/em> file of your WordPress theme to redirect your search to the post automatically when WordPress only returns a single search result.<\/p>\n<pre>\r\nadd_action('template_redirect', 'single_result');\r\nfunction single_result() {\r\n    if (is_search()) {\r\n        global $wp_query;\r\n        if ($wp_query-&gt;post_count == 1) {\r\n            wp_redirect(get_permalink($wp_query-&gt;posts['0']-&gt;ID));\r\n            exit;\r\n        }\r\n    }\r\n}\r\n\r\n<\/pre>\n<hr>\n<h3>8. Automatically Generate Meta Descriptions from <code>the_content<\/code><\/h3>\n<p>Adding this snippet into the <em>functions.php<\/em> file of your WordPress theme will automatically create a meta description from your WordPress post, striping out all shortcodes and tags. Also ensure that you have it in the <em>header.php<\/em> of your WordPress theme or this snippet will not function.<\/p>\n<pre>\r\nfunction create_meta_desc() {\r\n    global $post;\r\n    if (!is_single()) { return; }\r\n    $meta = strip_tags($post-&gt;post_content);\r\n    $meta = strip_shortcodes($post-&gt;post_content);\r\n    $meta = str_replace(array(\"\\n\", \"\\r\", \"\\t\"), ' ', $meta);\r\n    $meta = substr($meta, 0, 125);\r\n    echo \"&lt;meta name='description' content='$meta' \/&gt;\";\r\n}\r\nadd_action('wp_head', 'create_meta_desc');\r\n\r\n<\/pre>\n<hr>\n<h3>9. Automatically Replace Words with Affiliate Links<\/h3>\n<p>To replace words by affiliate links automatically, simply paste the code below into your <em>functions.php<\/em> file. Remember to enter your words\/links as shown in the example code below.<\/p>\n<pre>\r\nfunction replace_text_wps($text){\r\n    $replace = array(\r\n        \/\/ 'WORD TO REPLACE' =&gt; 'REPLACE WORD WITH THIS'\r\n        'thesis' =&gt; '&lt;a href=\"http:\/\/mysite.com\/myafflink\"&gt;thesis&lt;\/a&gt;',\r\n        'studiopress' =&gt; '&lt;a href=\"http:\/\/mysite.com\/myafflink\"&gt;studiopress&lt;\/a&gt;'\r\n    );\r\n    $text = str_replace(array_keys($replace), $replace, $text);\r\n    return $text;\r\n}\r\n\r\nadd_filter('the_content', 'replace_text_wps');\r\nadd_filter('the_excerpt', 'replace_text_wps');\r\n\r\n<\/pre>\n<hr>\n<h3>10. Add a \"Read More\" Permalink at the End of <code>the_excerpt<\/code><\/h3>\n<p>Adding this snippet below into the <em>functions.php<\/em> file of your WordPress theme will add a \u201cread more\u201d permalink at the end of <code>the_excerpt<\/code>, pretty much like what <code>the_content<\/code> does.<\/p>\n<pre>\r\nfunction excerpt_readmore($more) {\r\n    return '... <a href=\"'.%20get_permalink(%24post->ID)%20.%20'\" class=\"readmore\">' . 'Read More' . '<\/a>';\r\n}\r\nadd_filter('excerpt_more', 'excerpt_readmore');\r\n<\/pre>\n<hr>\n<h3>11. Display Related Posts Without Using a Plugin<\/h3>\n<p>Installing the code below will make your WordPress site display related posts based on the current post tag(s). You need to place it inside <em>single.php<\/em>, or simply anywhere you want to show the related posts.<\/p>\n<pre>\r\n&lt;?php\r\n$tags = wp_get_post_tags($post-&gt;ID);\r\nif ($tags) {\r\n    $tag_ids = array();\r\n    foreach ($tags as $individual_tag) {\r\n        $tag_ids[] = $individual_tag-&gt;term_id;\r\n    }\r\n    $args = array(\r\n        'tag__in' =&gt; $tag_ids,\r\n        'post__not_in' =&gt; array($post-&gt;ID),\r\n        'showposts' =&gt; 5, \/\/ Number of related posts that will be shown.\r\n        'caller_get_posts' =&gt; 1\r\n    );\r\n    $my_query = new wp_query($args);\r\n    if ($my_query-&gt;have_posts()) {\r\n        echo '&lt;h3&gt;Related Posts&lt;\/h3&gt;&lt;ul&gt;';\r\n        while ($my_query-&gt;have_posts()) {\r\n            $my_query-&gt;the_post();\r\n            ?&gt;\r\n            &lt;li&gt;&lt;a href=\"&lt;?php the_permalink() ?&gt;\" rel=\"bookmark\" title=\"Permanent Link to &lt;?php the_title_attribute(); ?&gt;\"&gt;&lt;?php the_title(); ?&gt;&lt;\/a&gt;&lt;\/li&gt;\r\n            &lt;?php\r\n        }\r\n        echo '&lt;\/ul&gt;';\r\n    }\r\n}\r\n?&gt;\r\n\r\n\r\n<\/pre>\n<hr>\n<h3>12. Create Your Own Popular Posts Sidebar<\/h3>\n<p>Setting up a sidebar widget to display popular posts is very easy. Just copy and paste the code below into your <em>sidebar.php<\/em> file. If you need to change the number of posts shown, you can change the <strong>5<\/strong> at the end of line 3 to any number you prefer.<\/p>\n<pre>\r\n&lt;h2&gt;Popular Posts&lt;\/h2&gt;\r\n&lt;ul&gt;\r\n    &lt;?php \r\n    $result = $wpdb-&gt;get_results(\"SELECT comment_count, ID, post_title FROM $wpdb-&gt;posts ORDER BY comment_count DESC LIMIT 0, 5\"); \r\n    foreach ($result as $post) { \r\n        setup_postdata($post);\r\n        $postid = $post-&gt;ID; \r\n        $title = $post-&gt;post_title; \r\n        $commentcount = $post-&gt;comment_count; \r\n        if ($commentcount != 0) { \r\n        ?&gt; \r\n        &lt;li&gt;&lt;a href=\"&lt;?php echo get_permalink($postid); ?&gt;\" title=\"&lt;?php echo $title ?&gt;\"&gt;\r\n        &lt;?php echo $title ?&gt;&lt;\/a&gt; {&lt;?php echo $commentcount ?&gt;}&lt;\/li&gt;\r\n        &lt;?php \r\n        } \r\n    } \r\n    ?&gt;\r\n&lt;\/ul&gt;\r\n\r\n\r\n<\/pre>\n<hr>\n<h3>13. Set a Post Expiration Date\/Time<\/h3>\n<p>Below is a useful code that you can put into your <a href=\"https:\/\/www.hongkiat.com\/blog\/go\/elegant\">WordPress Themes<\/a> to enable the possibility of creating post expiration based on date and time. Edit your theme and replace your current WordPress loop with this \u201chacked\u201d loop:<\/p>\n<pre>\r\n&lt;?php\r\nif (have_posts()) :\r\n    while (have_posts()) : the_post();\r\n        $expirationtime = get_post_custom_values('expiration');\r\n        if (is_array($expirationtime)) {\r\n            $expirestring = implode($expirationtime);\r\n        }\r\n        $secondsbetween = strtotime($expirestring) - time();\r\n        if ($secondsbetween &gt; 0) {\r\n            \/\/ For example... the_title();\r\n            the_excerpt();\r\n        }\r\n    endwhile;\r\nendif;\r\n?&gt;\r\n\r\n<\/pre>\n<p>To create a post with date\/time expiration, you can just create a custom field. Give <strong>expiration<\/strong> as a key and your date\/time (format: <strong>mm\/dd\/yyyy 00:00:00<\/strong>) as a value. The post will not show up after that particular timestamp.<\/p>\n<hr>\n<h2>14. List future posts<\/h2>\n<p>WordPress allows listing future posts, and to achieve this feature, simply paste the code to wherever you\u2019d like your future posts to be displayed:<\/p>\n<pre>\r\n&lt;div id=\"zukunft\"&gt;\r\n    &lt;div id=\"zukunft_header\"&gt;&lt;p&gt;Future events&lt;\/p&gt;&lt;\/div&gt;\r\n    &lt;?php query_posts('showposts=10&post_status=future'); ?&gt;\r\n    &lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;\r\n    \r\n    &lt;div&gt;\r\n        &lt;p&gt;&lt;strong&gt;&lt;?php the_title(); ?&gt;&lt;\/strong&gt;&lt;?php edit_post_link('e',' (',')'); ?&gt;&lt;br \/&gt;\r\n        &lt;span class=\"datetime\"&gt;&lt;?php the_time('j. F Y'); ?&gt;&lt;\/span&gt;&lt;\/p&gt;\r\n    &lt;\/div&gt;\r\n    \r\n    &lt;?php endwhile; else: ?&gt;&lt;p&gt;No future events scheduled.&lt;\/p&gt;&lt;?php endif; ?&gt;\r\n&lt;\/div&gt;\r\n\r\n<\/pre>\n<hr>\n<h3>15. Show AdSense Only to Search Engine Visitors<\/h3>\n<p>It\u2019s possible to display the AdSense to the visitors from search engines\u2019 results, and here\u2019s the code to achieve it, just paste the code below into the theme\u2019s <em>functions.php<\/em> file.<\/p>\n<pre>\r\nfunction scratch99_fromasearchengine(){\r\n    $ref = $_SERVER['HTTP_REFERER'];\r\n    $SE = array('\/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us\/search', 'soso.com', '\/search\/', '.yahoo.');\r\n    foreach ($SE as $source) {\r\n        if (strpos($ref, $source) !== false) return true;\r\n    }\r\n    return false;\r\n}\r\n<\/pre>\n<p><code>$SE<\/code> array is where you specify the search engines. You can add new search engine by adding new element to the array, then just paste the following code anywhere in the template where you want your AdSense ads to be displayed, and it\u2019s done! The ads will only be displayed to visitors from search engines\u2019 results.<\/p>\n<pre>\r\nif (function_exists('scratch99_fromasearchengine')) {\r\n    if (scratch99_fromasearchengine()) {\r\n        INSERT YOUR CODE HERE\r\n    }\r\n}\r\n<\/pre>\n<hr>\n<h2>Tweaks for WordPress Backend\u201d<\/h2>\n<h3>1. Enable Additional HTML Tags in the Editor<\/h3>\n<p>By default, WordPress editor doesn\u2019t allow HTML tags which aren\u2019t compliant with the XHTML 1.0 standard. However, the code shown below will force the editor to accept more tags. You can paste it into your theme\u2019s <em>functions.php<\/em> file, save it, and the function is good to go.<\/p>\n<pre>\r\nfunction fb_change_mce_options($initArray) {\r\n    \/\/ Comma separated string of extended tags\r\n    \/\/ Comma separated string of extended elements\r\n    $ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder|scrolling|marginheight|marginwidth|src]';\r\n    if (isset($initArray['extended_valid_elements'])) {\r\n        $initArray['extended_valid_elements'] .= ',' . $ext;\r\n    } else {\r\n        $initArray['extended_valid_elements'] = $ext;\r\n    }\r\n    \r\n    \/\/ maybe; set tiny parameter verify_html\r\n    \/\/$initArray['verify_html'] = false;\r\n    return $initArray;\r\n}\r\nadd_filter('tiny_mce_before_init', 'fb_change_mce_options');\r\n<\/pre>\n<hr>\n<h3>2. Set the Default Editor<\/h3>\n<p>Snippet below modifies the default editor in WordPress admin. You can go with the <strong>Visual Editor<\/strong>, or you can choose the <strong>HTML Editor<\/strong>, just add one of them into the <em>functions.php<\/em> file.<\/p>\n<pre>\r\n# This sets the Visual Editor as default\r\nadd_filter('wp_default_editor', create_function('', 'return \"tinymce\";'));\r\n\r\n# This sets the HTML Editor as default\r\nadd_filter('wp_default_editor', create_function('', 'return \"html\";'));\r\n<\/pre>\n<hr>\n<h3>3. Apply Different Editor Stylesheets for Various Post Types<\/h3>\n<p>With the following code pasted into your <em>functions.php<\/em> file, you can setup different editor stylesheets for different post types. You will need to adapt it, depending on your post types, and remember to change the <strong>stylesheets names<\/strong> as well.<\/p>\n<pre>\r\nfunction my_editor_style() {\r\n    global $current_screen;\r\n    switch ($current_screen-&gt;post_type) {\r\n        case 'post':\r\n            add_editor_style('editor-style-post.css');\r\n            break;\r\n        \r\n        case 'page':\r\n            add_editor_style('editor-style-page.css');\r\n            break;\r\n        \r\n        case 'portfolio':\r\n            add_editor_style('editor-style-portfolio.css');\r\n            break;\r\n    }\r\n}\r\nadd_action('admin_head', 'my_editor_style');\r\n<\/pre>\n<hr>\n<h3>4. Allow the Upload of Additional File Types<\/h3>\n<p>For certain reason, WordPress Uploader won\u2019t let you upload certain file types, such as Textmate\u2019s <em>.tmCommand<\/em>. If you need to upload those kinds of files to your WordPress site, here comes a functional snippet that allows you to do it, and you just need to paste it into your <em>functions.php<\/em> file. You can also add more file types by adding them on line 4, separated by a pipe (|).<\/p>\n<pre>\r\n\r\nfunction addUploadMimes($mimes) {\r\n    $mimes = array_merge($mimes, array(\r\n        'tmbundle|tmCommand|tmDragCommand|tmSnippet|tmLanguage|tmPreferences' =&gt; 'application\/octet-stream'\r\n    ));\r\n    return $mimes;\r\n}\r\nadd_filter('upload_mimes', 'addUploadMimes');\r\n<\/pre>\n<hr>\n<h3>5. Enable TinyMCE Editor for Post Excerpts<\/h3>\n<p>Putting the following snippet into the <em>functions.php<\/em> file of your WordPress theme will add the TinyMCE editor to the post excerpt\u2019s textarea.<\/p>\n<pre>\r\nfunction tinymce_excerpt_js(){ ?&gt;\r\n    <script type=\"text\/javascript\">\r\n    jQuery(document).ready(tinymce_excerpt);\r\n    function tinymce_excerpt() {\r\n        jQuery(\"#excerpt\").addClass(\"mceEditor\");\r\n        tinyMCE.execCommand(\"mceAddControl\", false, \"excerpt\");\r\n    }\r\n    <\/script>\r\n\r\nadd_action('admin_head-post.php', 'tinymce_excerpt_js');\r\nadd_action('admin_head-post-new.php', 'tinymce_excerpt_js');\r\n\r\nfunction tinymce_css(){ ?&gt;\r\n    &lt;style type='text\/css'&gt;\r\n    #postexcerpt .inside{margin:0;padding:0;background:#fff;}\r\n    #postexcerpt .inside p{padding:0px 0px 5px 10px;}\r\n    #postexcerpt #excerpteditorcontainer { border-style: solid; padding: 0; }\r\n    &lt;\/style&gt;\r\n\r\nadd_action('admin_head-post.php', 'tinymce_css');\r\nadd_action('admin_head-post-new.php', 'tinymce_css');\r\n<\/pre>\n<hr>\n<h3>6. Post Formats: Creative Options for Themes<\/h3>\n<p>The syntax below gives some of the possible post formats which can then be chosen and used directly in the article, and what you need to do is to put the code into your <em>functions.php<\/em> file of your theme.<\/p>\n<pre>\r\nadd_theme_support('post-formats', array('aside', 'audio', 'image', 'video'));\r\n<\/pre>\n<hr>\n<h3>7. Show Post Thumbnails in Edit Post and Page Overviews<\/h3>\n<p>WordPress version 2.9 introduced the function of Post Thumbnail. It\u2019s quite awesome, and to display post thumbnail also in Edit Post and Page Overview, you can put the following code into a Plugin or copy them into the <em>functions.php<\/em> file of the theme.<\/p>\n<pre>\r\nif ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {\r\n    \/\/ for post and page\r\n    add_theme_support('post-thumbnails', array( 'post', 'page' ) );\r\n    function fb_AddThumbColumn($cols) {\r\n        $cols['thumbnail'] = __('Thumbnail');\r\n        return $cols;\r\n    }\r\n \r\n    function fb_AddThumbValue($column_name, $post_id) {\r\n        $width = (int) 35;\r\n        $height = (int) 35;\r\n        if ( 'thumbnail' == $column_name ) {\r\n            \/\/ thumbnail of WP 2.9\r\n            $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );\r\n \r\n            \/\/ image from gallery\r\n            $attachments = get_children( array('post_parent' =&gt; $post_id, 'post_type' =&gt; 'attachment', 'post_mime_type' =&gt; 'image') );\r\n \r\n            if ($thumbnail_id)\r\n                $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );\r\n            elseif ($attachments) {\r\n                foreach ( $attachments as $attachment_id =&gt; $attachment ) {\r\n                    $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );\r\n                }\r\n            }\r\n            if ( isset($thumb) && $thumb ) { echo $thumb; }\r\n            else { echo __('None'); }\r\n        }\r\n    }\r\n \r\n    \/\/ for posts\r\n    add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );\r\n    add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );\r\n \r\n    \/\/ for pages\r\n    add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );\r\n    add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );\r\n}\r\n<\/pre>\n<hr>\n<h3>8. Create Custom Post Status Messages in Admin Panel<\/h3>\n<p>This tweak was originally written by the developer as a way for a client to display custom messages for each post an author creates. In this case, a post could have a message as <em>rejected<\/em>, <em>error<\/em>, <em>source<\/em>, <em>final<\/em>, etc. You can change the messages just below the code\u2019s comment, <em>Array of custom status messages<\/em>, just to ensure that you changed the <strong>class names<\/strong> as well, which you can change them after the comment, <em>change color of messages below<\/em>.<\/p>\n<pre>\r\nadd_filter('display_post_states', 'custom_post_state');\r\nfunction custom_post_state($states) {\r\n    global $post;\r\n    $show_custom_state = get_post_meta($post-&gt;ID, '_status');\r\n    if ($show_custom_state) {\r\n        $states[] = __('&lt;span class=\"custom_state ' . strtolower($show_custom_state[0]) . '\"&gt;' . $show_custom_state[0] . '&lt;\/span&gt;');\r\n    }\r\n    return $states;\r\n}\r\nadd_action('post_submitbox_misc_actions', 'custom_status_metabox');\r\n\r\nfunction custom_status_metabox() {\r\n    global $post;\r\n    $custom = get_post_custom($post-&gt;ID);\r\n    $status = $custom[\"_status\"][0];\r\n    $custom_status = array('Spelling', 'Review', 'Errors', 'Source', 'Rejected', 'Final');\r\n    echo '&lt;div class=\"misc-pub-section custom\"&gt;';\r\n    echo '&lt;label&gt;Custom status: &lt;\/label&gt;&lt;select name=\"status\"&gt;';\r\n    echo '&lt;option class=\"default\"&gt;Custom status&lt;\/option&gt;';\r\n    echo '&lt;option&gt;-----------------&lt;\/option&gt;';\r\n    for ($i = 0; $i &lt; count($custom_status); $i++) {\r\n        if ($status == $custom_status[$i]) {\r\n            echo '&lt;option value=\"' . $custom_status[$i] . '\" selected=\"true\"&gt;' . $custom_status[$i] . '&lt;\/option&gt;';\r\n        } else {\r\n            echo '&lt;option value=\"' . $custom_status[$i] . '\"&gt;' . $custom_status[$i] . '&lt;\/option&gt;';\r\n        }\r\n    }\r\n    echo '&lt;\/select&gt;';\r\n    echo '&lt;br \/&gt;&lt;\/div&gt;';\r\n}\r\nadd_action('save_post', 'save_status');\r\n\r\nfunction save_status() {\r\n    global $post;\r\n    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {\r\n        return $post-&gt;ID;\r\n    }\r\n    update_post_meta($post-&gt;ID, \"_status\", $_POST[\"status\"]);\r\n}\r\nadd_action('admin_head', 'status_css');\r\n\r\nfunction status_css() {\r\n    echo '&lt;style type=\"text\/css\"&gt;\r\n    .default{font-weight:bold;}\r\n    .custom{border-top:solid 1px #e5e5e5;}\r\n    .custom_state{\r\n        font-size:9px;\r\n        color:#666;\r\n        background:#e5e5e5;\r\n        padding:3px 6px 3px 6px;\r\n        -moz-border-radius:3px;\r\n    }\r\n    .spelling{background:#4BC8EB;color:#fff;}\r\n    .review{background:#CB4BEB;color:#fff;}\r\n    .errors{background:#FF0000;color:#fff;}\r\n    .source{background:#D7E01F;color:#333;}\r\n    .rejected{background:#000000;color:#fff;}\r\n    .final{background:#DE9414;color:#333;}\r\n    &lt;\/style&gt;';\r\n}\r\n<\/pre>\n<hr>\n<h3>9. Limit Maximum Post Title Length<\/h3>\n<p>Adding this PHP code into the <em>functions.php<\/em> file of your WordPress theme will set a maximum number of words that can be displayed within your post title, quite handy tweaks!<\/p>\n<pre>\r\nfunction maxWord($title){\r\n    global $post;\r\n    $title = $post-&gt;post_title;\r\n    if (str_word_count($title) &gt;= 10 ) \/\/set this to the maximum number of words\r\n        wp_die( __('Error: your post title is over the maximum word count.') );\r\n}\r\nadd_action('publish_post', 'maxWord');\r\n<\/pre>\n<hr>\n<h3>10. Change the Font in the WordPress Editor<\/h3>\n<p>Hate the current font used in WordPress editor? It\u2019s possible to be changed to a modern font such as Monaco or Consolas, just paste the code into your WordPress theme\u2019s <em>functions.php<\/em> file.<\/p>\n<pre>\r\nfunction change_editor_font(){\r\n    echo \"&lt;style type='text\/css'&gt;\r\n    #editorcontainer textarea#content {\r\n        font-family: Monaco, Consolas, \\\"Andale Mono\\\", \\\"Dejavu Sans Mono\\\", monospace;\r\n        font-size:14px;\r\n        color:#333;\r\n    }\r\n    &lt;\/style&gt;\";\r\n}\r\nadd_action(\"admin_print_styles\", \"change_editor_font\");\r\n<\/pre>\n<hr>\n<h3>11. Automatically Add a Custom Field Upon Post\/Page Publication<\/h3>\n<p>A code snippet for installing a custom field automatically to a page or post when they are published. You can just add the code below into your <em>functions.php<\/em> file, located inside your theme\u2019s folder. Of course, don\u2019t forget to change the <strong>custom field name<\/strong>.<\/p>\n<pre>\r\nadd_action('publish_page', 'add_custom_field_automatically');\r\nadd_action('publish_post', 'add_custom_field_automatically');\r\n\r\nfunction add_custom_field_automatically($post_ID) {\r\n    global $wpdb;\r\n    if(!wp_is_post_revision($post_ID)) {\r\n        add_post_meta($post_ID, 'field-name', 'custom value', true);\r\n    }\r\n}\r\n<\/pre>\n<hr>\n<h3>12. Remove Unused Post Revisions<\/h3>\n<p>Here comes a very handy SQL query that will delete all posts revisions instantly as well as meta associated with it. You\u2019ve to run the following query on your WordPress database, and all revisions (as well as meta associated with it) will be deleted from your database. One important note here, be sure to make a backup of your database before you run the code.<\/p>\n<pre>DELETE a,b,c\r\nFROM wp_posts a\r\nWHERE a.post_type = 'revision'\r\nLEFT JOIN wp_term_relationships b\r\nON (a.ID = b.object_id)\r\nLEFT JOIN wp_postmeta c ON (a.ID = c.post_id);\r\n<\/pre>\n<hr>\n<h3>13. Vary Excerpt Length Based on Category<\/h3>\n<p>Ever wished to modify the excerpt length based on which category you are on? Here comes the code which grants your wish. Simply paste the code into your <em>functions.php<\/em> file, and don\u2019t forget to change the <strong>category ID<\/strong> on line 3!<\/p>\n<pre>\r\nadd_filter('excerpt_length', 'my_excerpt_length');\r\nfunction my_excerpt_length($length) {\r\n    if(in_category(14)) {\r\n        return 13;\r\n    } else {\r\n        return 60;\r\n    }\r\n}\r\n<\/pre>\n<hr>\n<h3>14. Disable Automatic Post Saving<\/h3>\n<p>If for some critical reason you\u2019d like to disable the function that autosaves your post while you\u2019re editing it in the dashboard, it\u2019s possible. Simply open your <em>functions.php<\/em> file and paste the following code into the file:<\/p>\n<pre>\r\nfunction disableAutoSave(){\r\n    wp_deregister_script('autosave');\r\n}\r\nadd_action( 'wp_print_scripts', 'disableAutoSave' );\r\n<\/pre>\n<p>You can then save the file, and WordPress will never autosave a post. You can also get the function back by deleting the code.<\/p>","protected":false},"excerpt":{"rendered":"<p>WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone\u2019s needs. Personalizing your website is key to creating a unique brand and making a lasting impression on your visitors. Over the years, both bloggers and developers have worked hard to customize the display of posts to&hellip;<\/p>\n","protected":false},"author":34,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[49],"tags":[252],"topic":[],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>29 WordPress Tweaks to Enhance Posts and Pages - Hongkiat<\/title>\n<meta name=\"description\" content=\"WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone&#039;s needs. Personalizing your\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"29 WordPress Tweaks to Enhance Posts and Pages\" \/>\n<meta property=\"og:description\" content=\"WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone&#039;s needs. Personalizing your\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2014-01-19T06:53:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T17:41:41+00:00\" \/>\n<meta name=\"author\" content=\"Tomas Laurinavicius\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tomas Laurinavicius\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/\"},\"author\":{\"name\":\"Tomas Laurinavicius\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/8aecaf19dbf153dfc6237ae56142b1ba\"},\"headline\":\"29 WordPress Tweaks to Enhance Posts and Pages\",\"datePublished\":\"2014-01-19T06:53:10+00:00\",\"dateModified\":\"2025-04-03T17:41:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/\"},\"wordCount\":1732,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"keywords\":[\"WordPress Tips\"],\"articleSection\":[\"WordPress\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/\",\"name\":\"29 WordPress Tweaks to Enhance Posts and Pages - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"datePublished\":\"2014-01-19T06:53:10+00:00\",\"dateModified\":\"2025-04-03T17:41:41+00:00\",\"description\":\"WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone's needs. Personalizing your\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wordpress-tweaks-for-post-management\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"29 WordPress Tweaks to Enhance Posts and Pages\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/8aecaf19dbf153dfc6237ae56142b1ba\",\"name\":\"Tomas Laurinavicius\",\"description\":\"Tomas is a blogger and designer from Lithuania, who is currently studying Multimedia Design &amp; Communication in Denmark. Check out his work on his portfolio or connect with him on Twitter.\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/tomaslau\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"29 WordPress Tweaks to Enhance Posts and Pages - Hongkiat","description":"WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone's needs. Personalizing your","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/","og_locale":"en_US","og_type":"article","og_title":"29 WordPress Tweaks to Enhance Posts and Pages","og_description":"WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone's needs. Personalizing your","og_url":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2014-01-19T06:53:10+00:00","article_modified_time":"2025-04-03T17:41:41+00:00","author":"Tomas Laurinavicius","twitter_card":"summary_large_image","twitter_creator":"@hongkiat","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Tomas Laurinavicius","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/"},"author":{"name":"Tomas Laurinavicius","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/8aecaf19dbf153dfc6237ae56142b1ba"},"headline":"29 WordPress Tweaks to Enhance Posts and Pages","datePublished":"2014-01-19T06:53:10+00:00","dateModified":"2025-04-03T17:41:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/"},"wordCount":1732,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"keywords":["WordPress Tips"],"articleSection":["WordPress"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/","url":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/","name":"29 WordPress Tweaks to Enhance Posts and Pages - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"datePublished":"2014-01-19T06:53:10+00:00","dateModified":"2025-04-03T17:41:41+00:00","description":"WordPress is a fantastic CMS, but sometimes its default settings, especially how posts are displayed, might not fit everyone's needs. Personalizing your","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/wordpress-tweaks-for-post-management\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"29 WordPress Tweaks to Enhance Posts and Pages"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/8aecaf19dbf153dfc6237ae56142b1ba","name":"Tomas Laurinavicius","description":"Tomas is a blogger and designer from Lithuania, who is currently studying Multimedia Design &amp; Communication in Denmark. Check out his work on his portfolio or connect with him on Twitter.","url":"https:\/\/www.hongkiat.com\/blog\/author\/tomaslau\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-iub","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/71063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=71063"}],"version-history":[{"count":3,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/71063\/revisions"}],"predecessor-version":[{"id":73653,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/71063\/revisions\/73653"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=71063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=71063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=71063"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=71063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}