{"id":14873,"date":"2011-09-13T18:25:19","date_gmt":"2011-09-13T18:25:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/ajax-read-more\/"},"modified":"2011-12-07T16:35:45","modified_gmt":"2011-12-07T16:35:45","slug":"ajax-read-more","status":"publish","type":"plugin","link":"https:\/\/kal.wordpress.org\/plugins\/ajax-read-more\/","author":7441013,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.1","stable_tag":"trunk","tested":"3.3.2","requires":"3.0.0","requires_php":"","requires_plugins":"","header_name":"AJAX Read More","header_author":"Sergey S. Betke","header_description":"","assets_banners_color":"","last_updated":"2011-12-07 16:35:45","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/sergey-s-betke.blogs.novgaro.ru\/category\/web\/wordpress\/read-more\/","header_plugin_uri":"http:\/\/sergey-s-betke.blogs.novgaro.ru\/category\/web\/wordpress\/read-more\/","header_author_uri":"http:\/\/sergey-s-betke.blogs.novgaro.ru\/about","rating":5,"author_block_rating":0,"active_installs":60,"downloads":24983,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"2.1.1":"<ul>\n<li>non critical, fixed PHP debug notices<\/li>\n<\/ul>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":"2"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.9.6","2.0.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1566885","resolution":"1","location":"plugin","width":1024,"height":768}},"screenshots":{"1":"Site page with ajax loading indicator."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[221,202],"plugin_category":[59],"plugin_contributors":[84965],"plugin_business_model":[],"class_list":["post-14873","plugin","type-plugin","status-publish","hentry","plugin_tags-ajax","plugin_tags-jquery","plugin_category-utilities-and-tools","plugin_contributors-sergeysbetkenovgaroru","plugin_committers-sergeysbetkenovgaroru"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/ajax-read-more.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/ajax-read-more\/trunk\/screenshot-1.png?rev=1566885","caption":"Site page with ajax loading indicator."}],"raw_content":"<!--section=description-->\n<p>When your blog is loaded, all links of this class <strong>.more-link<\/strong> (standard wordpress css class for \"Read more...\"\nlinks) are modified to no longer send the user to that post's \nsingle page display when clicked. Instead, the Wordpress database is queried for that specific post, and all content\nafter the <strong>&lt;!--more--&gt;<\/strong> tag (i.e. only what you need) is returned. \nThe new content is then immediately displayed to the user with light animation (You can disable animation in plugin options),\ninline with the opening content.<\/p>\n\n<ul>\n<li>AJAX-read-more uses the jQuery framework already included with Wordpress installations.<\/li>\n<li>This plugin used <strong>GET<\/strong> ajax action (not POST, like other plugins), wordpress <strong>\"template_redirect\"<\/strong> action.<\/li>\n<li>It's compatible with cache plugins (like Hyper Cache Extended).<\/li>\n<li>AJAX-read-more: design of progress indicator and other behaviors - by CSS (example - in css\/all.css)<\/li>\n<li>cache-safe script and css url<\/li>\n<\/ul>\n\n<p>Check plugin options on options page.<\/p>\n\n<p>Thanks for debugging to den@10-13.ru.<\/p>\n\n<p><strong>Theme requirements:<\/strong><\/p>\n\n<ul>\n<li>Your <strong>theme must generate correct DOM structure<\/strong>:\n(div id=\"#content\")\n...\n(div class=\"post\")\n    ...\n(\/div) \n(\/div)<\/li>\n<li>Theme must support <strong>footer<\/strong> (wp_footer). If not, you can change corresponding option on plugin option page.<\/li>\n<\/ul>\n\n<p>For more information, please visit the <a href=\"http:\/\/sergey-s-betke.blogs.novgaro.ru\/category\/web\/wordpress\/read-more\">Sergey S. Betke blog<\/a>.<\/p>\n\n<h3>ToDo<\/h3>\n\n<p>The next version or later:\n* wordpress core integration for cache headers processing???\n* optional http cache-control <strong>max-age<\/strong> header value and <strong>must-revalidate<\/strong>\n* just private cache headers, when post has limited access\n* check cache plugins support (Hyper Cache Extended): clear cached responces when post modified\n* cache-control and Last-Modification headers - to separate plugins\n* <strong>if-modified<\/strong> http request support (separate plugins)\n* <strong>the_excerpt<\/strong> optional support\n* AJAX-read-more send correct http cache-control headers, and fully support client-side public cache.\n* WP 3.3: http:\/\/wpdevel.wordpress.com\/tag\/3-3-dev-notes\/\n* WP 3.3: replace wp_localize_script() with wp_add_script_before().  wp_localize_script doesn't support non-string params in WP 3.3+\n* WP 3.3: wp_enqueue_script() now works mid-page - insert scripts just into pages when it't needed<\/p>\n\n<!--section=installation-->\n<p>Simple:<\/p>\n\n<ol>\n<li>Upload the <code>AJAX-read-more<\/code> directory (\"unzipped\") to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Find \"AJAX Read More\" in the 'Plugins' menu in WordPress and click \"Activate\"<\/li>\n<\/ol>\n\n<ul>\n<li><strong>PHP 5.2<\/strong><\/li>\n<li>Your <strong>theme must generate correct DOM structure<\/strong>:\n(div id=\"#content\")\n...\n(div class=\"post\")\n    ...\n(\/div)\n(\/div)<\/li>\n<li>Theme must support <strong>footer<\/strong> (wp_footer). If not, you can change plugin options on options page.<\/li>\n<\/ul>\n\n<p><strong>That's It!<\/strong><\/p>\n\n<!--section=faq-->\n<dl>\n<dt>Requirements?<\/dt>\n<dd><p>Just read \"installation\" section.<\/p><\/dd>\n<dt>How do I change the \"loading\" image?<\/dt>\n<dd><p>Change CSS rules for class \"loading\". Example - screen.css.\nThe \"loading\" image used to visually inform the user that the new content is arriving was created using the excellent <a href=\"http:\/\/www.ajaxload.info\/\">Ajax Load<\/a> website.\nTo use a different image you can create a new one, name it \"ajax-loader.gif\".<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>fixed PHP debug notices<\/li>\n<li>fixed non-critical errors<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>change <strong>wp<\/strong> action to <strong>template_redirect<\/strong> action<\/li>\n<li>http cache control headers removed (this is task for wordpress and another plugin)<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>removed additional header generation for 404 (wordpress did it self - see handle_404)<\/li>\n<li>removed extra headers (Cache-Control) - there task is task for web server config or for cache wordpress plugins<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>css url versioning for cache updating<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>fixed cache HTTP headers for AJAX responses<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>animation cosmetic improvements <\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>fixed browser reflow process after plugin animation<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>fixed cached responces for old version <\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>themes compatibility: removed .more-link-container<\/li>\n<\/ul>\n\n<h4>1.10.0<\/h4>\n\n<ul>\n<li>animation option: scrollable container selection - parentScrollableEl (default - \"html,body\")<\/li>\n<\/ul>\n\n<h4>1.9.6<\/h4>\n\n<ul>\n<li>critical, fixed AJAX response parsing IE8 compatibility <\/li>\n<\/ul>\n\n<h4>1.9.5<\/h4>\n\n<ul>\n<li>critical, fixed AJAX response parsing errors<\/li>\n<\/ul>\n\n<h4>1.9.4<\/h4>\n\n<ul>\n<li>non critical, fixed AJAX response parsing <\/li>\n<\/ul>\n\n<h4>1.9.3<\/h4>\n\n<ul>\n<li>cosmetic: i use get_the_content stripteaser=true <\/li>\n<\/ul>\n\n<h4>1.9.2<\/h4>\n\n<ul>\n<li>search pages support<\/li>\n<\/ul>\n\n<h4>1.9.1<\/h4>\n\n<ul>\n<li>fixed error (for non Windows OS) - fixed error on AJAX response (changed '\\' to '\/' in file paths, sorry)<\/li>\n<\/ul>\n\n<h4>1.9.0<\/h4>\n\n<ul>\n<li>animation option: scroll to post header or to post content after excerpt - scrollToSelector (default - .entry-header)<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>animation option: loadingClass (default - .loading)<\/li>\n<li>animation option: errorClass (default - .loading-error)<\/li>\n<li>animation option: animateSpeed (default - 'slow')<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>option: custom error message<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>animation option: full block scrolling<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>jQuery safe mode support<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>animation option: block scrolling when scroll less to XXX pixels<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>fixed - error on options page (changed '\\' to '\/' in file paths, sorry)<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>downgrade to PHP 5.2<\/li>\n<li>options page<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>without lambda functions (for PHP 5.2- compatibility).<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>lambda functions used<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>workaround for non XML AJAX response<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>correct detection of title of ajax loaded content<\/li>\n<li>ajax response parsing by $.parseXML<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>special counter event triggered when ajax query succeded:\ntrigger('hit.counter', {url: dt.url, title: dt.title, referer: dt.referer, params: {} })<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>it's beta version with xhtml formatted AJAX response. It's first step for counters hit method support.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>when (div id=\"content\") is missing, (body) element used.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>all file names - in lower case (for linux hosted sites).<\/li>\n<li>when wordpress theme does not produce (div class=\"post\") wrapper,\nwindow scrolled to .entry-part element (post excerpt in our case)<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>AJAX responces sanitized (just force_balance_tags()).<\/li>\n<li>Stripped empty (p)(\/p) tags.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Some adaptions for standard wordpress themes.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Now jquery.ajax.readmore is ready for AJAX'ed paged arhives.<\/li>\n<li>Changed DOM structure for excerpt and seque.<\/li>\n<li>Changed some animation.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Release + onupdate custom jQuery event.<\/li>\n<\/ul>","raw_excerpt":"Automatically transform your &lt;!--more--&gt; links into links that immediately display the rest of your entry (AJAX).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/14873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=14873"}],"author":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sergeysbetkenovgaroru"}],"wp:attachment":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=14873"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=14873"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=14873"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=14873"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=14873"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=14873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}