{"id":2453,"date":"2011-11-19T23:22:07","date_gmt":"2011-11-19T21:22:07","guid":{"rendered":"http:\/\/www.tiendadeultramarinos.es\/?p=2453"},"modified":"2011-11-19T23:28:29","modified_gmt":"2011-11-19T21:28:29","slug":"ininite-scroll-automatic-text-expander","status":"publish","type":"post","link":"https:\/\/www.tiendadeultramarinos.es\/?p=2453","title":{"rendered":"Ininite Scroll + Automatic Text Expander"},"content":{"rendered":"<p>Dos de los detalles en los que m\u00e1s me he esforzado y que m\u00e1s me gustan del nuevo dise\u00f1o son que tenga scroll infinito, de modo que no hace falta clicar en p\u00e1gina atr\u00e1s para ver viejos posts (tanto en la p\u00e1gina principal como en categor\u00edas), y que las entradas aparezcan contra\u00eddas con posibilidad de extenderse en el mismo lugar.<\/p>\n<p>Activar el scroll infinito es muy f\u00e1cil en WordPress utilizando el plugin <a href=\"http:\/\/www.infinite-scroll.com\/\">Infinite Scroll<\/a>, que funciona perfectamente y es sencill\u00edsimo de configurar. \u00danicamente hay que decirle bajo qu\u00e9 clases CSS est\u00e1n los posts y el link de navegaci\u00f3n atr\u00e1s. Nada m\u00e1s.<\/p><a name=\"teMiddle897974773\"><\/a><div class=\"te_div\" id=\"te897974773\">\n<p>Por otro lado, para facilitar las cosas decid\u00ed que mostrar unos pocos p\u00e1rrafos ser\u00eda lo ideal. Busqu\u00e9 y busqu\u00e9, pero no fui capaz de encontrar nada que cortase los art\u00edculos con posibilidad de expandirlos. Creo que la \u00fanica alternativa ahora mismo en WordPress es mandar que aprezca un extracto (<em>the_excerpt()<\/em>) en lugar de todo el contenido (<em>the_content()<\/em>), con el cu\u00e1l eliges un n\u00famero de caracteres que quieres que se muestren.<\/p>\n<p>La funci\u00f3n propia de wordpress parece ser bastante probre y hay muchos plugins mejor\u00e1ndola, evitando que corte palabras enteras, que corte etiquetas HTML, etc. Pero nada de esto hac\u00eda lo que yo quer\u00eda, pues obliga al lector a abrir el post y cargar otra p\u00e1gina (de lo cual algunos estar\u00e1n encantad\u00edsimos porque les suma visitas; pero mi intenci\u00f3n es que me lean, no hacerme pajas con las estad\u00edsticas de p\u00e1ginas visitadas).<\/p>\n<p>De ese modo, termin\u00e9 por bajarme <a href=\"http:\/\/wordpress.org\/extend\/plugins\/text-expander\/\">Text Expander<\/a>, un plugin que permite contraer ciertas partes de un post simplemente escribiendo entre corchetes <em>EXPAND<\/em> y <em>\/EXPAND <\/em>rodeando al texto a ocultar. Parec\u00eda la soluci\u00f3n&#8230; pero hubiera supuesto a\u00f1adir a mano en cada una de todas las entradas del blog esas etiquetas, lo cual es una tarea titanica. Adem\u00e1s de que si alg\u00fan d\u00eda decido cambiarlo supondr\u00eda un esfuerzo equivalente.<\/p>\n<p>Por eso termin\u00e9 por empezar a cacharrear con el c\u00f3digo del plugin para hacerme algo a la medida. Ahora, para cada entrada que se carga se cuentan los p\u00e1rrafos que tiene, y si son m\u00e1s de cinco, le digo que me a\u00f1ade el EXPAND entre el segundo y el tercero. En realidad no s\u00f3lo tiene en cuenta p\u00e1rrafos, sino tambi\u00e9n listas, citas e im\u00e1genes. Parec\u00eda sencillo, pero la cosa se empez\u00f3 a complicar cuando me di cuenta de que hab\u00eda que tener mucho cuidado con los p\u00e1rrafos dentro de un <em>blockquote<\/em>, o las sublistas dentro de listas (<em>ul<\/em>); de lo contrario, al perderse las etiquetas de cierre, se desestructuraba todo el blog. Creo que finalmente he sido capaz de solucionarlo, pero como puede haber alguna combinaci\u00f3n que no haya tenido en cuenta os pedir\u00e9 que si en alg\u00fan momento descubr\u00eds alg\u00fan error me lo comuniqu\u00e9is.<\/p>\n<p>Otro problema que me cost\u00f3 identificar fue que las nuevas entradas obtenidas al deslizar la p\u00e1gina hasta el final se cargaban expandidas, de modo que pensaba que no estaba aplicandose la conversi\u00f3n all\u00ed. Al final me di cuenta de que la contracci\u00f3n se aplicaba al cargar la p\u00e1gina con una l\u00ednea de Javascript, pero esto no funciona con las nuevas al estar ya \u00abcerrada\u00bb la web. Afortunadamente <em>Infinite Scroll <\/em>incluye un apartado en su configuraci\u00f3n que permite al usuario a\u00f1adir c\u00f3digo Javascript que se invoque una vez el nuevo contenido se carga, de modo que con tres o cuatro l\u00edneas solucion\u00e9 el problema. <\/p>\n<p>Creo que es algo bastante \u00fatil y que quiz\u00e1s m\u00e1s gente necesite algo as\u00ed, de modo que he pensado que quiz\u00e1s podr\u00eda darle un retoque y publicarlo como plug-in; aunque nunca lo he hecho as\u00ed que no tengo ni idea de si es un proceso sencillo. \u00bfAlguien tiene experiencia en plugins de WordPress y puede darme un consejo? <\/p>\n<p>Por cierto, pens\u00e9 que ser\u00eda interesante dejar la primera entrada de la p\u00e1gina principal directamente extendida, pues al ser la \u00faltima publicada ser\u00e1 m\u00e1s probable que la gente entre a leer esa. \u00bfOs gusta as\u00ed o la prefer\u00eds contra\u00edda como el resto?<\/p>\n<\/div><p style=\"text-align: center;\"><a style=\"display:none;\" class=\"theTag\" id=\"te897974773\" onClick=\"expand('#te897974773');\" href=\"#teMiddle897974773\"><\/a><\/p><script language=\"JavaScript\" type=\"text\/javascript\">expander_hide('#te897974773');<\/script>","protected":false},"excerpt":{"rendered":"<p>Dos de los detalles en los que m\u00e1s me he esforzado y que m\u00e1s me gustan del nuevo dise\u00f1o son que tenga scroll infinito, de modo que no hace falta clicar en p\u00e1gina atr\u00e1s para ver viejos posts (tanto en la p\u00e1gina principal como en categor\u00edas), y que las entradas aparezcan contra\u00eddas con posibilidad de &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.tiendadeultramarinos.es\/?p=2453\" class=\"more-link\">Seguir leyendo<span class=\"screen-reader-text\"> \u00abIninite Scroll + Automatic Text Expander\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,10],"tags":[770,81,689,781,143],"class_list":["post-2453","post","type-post","status-publish","format-standard","hentry","category-informatica","category-introspeccion","tag-informatica","tag-internet","tag-plugin","tag-wordpress","tag-yo","entry"],"_links":{"self":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts\/2453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2453"}],"version-history":[{"count":5,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts\/2453\/revisions"}],"predecessor-version":[{"id":2456,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=\/wp\/v2\/posts\/2453\/revisions\/2456"}],"wp:attachment":[{"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tiendadeultramarinos.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}