{"id":260703,"date":"2023-01-03T08:40:00","date_gmt":"2023-01-03T05:40:00","guid":{"rendered":"https:\/\/inform.click\/os-hacks-wordpress-extraordinariamente-uteis-que-voce-provavelmente-ainda-nao-usou\/"},"modified":"2023-01-03T08:40:00","modified_gmt":"2023-01-03T05:40:00","slug":"os-hacks-wordpress-extraordinariamente-uteis-que-voce-provavelmente-ainda-nao-usou","status":"publish","type":"post","link":"https:\/\/inform.click\/pt-pt\/os-hacks-wordpress-extraordinariamente-uteis-que-voce-provavelmente-ainda-nao-usou\/","title":{"rendered":"Os hacks WordPress extraordinariamente \u00fateis que voc\u00ea provavelmente ainda n\u00e3o usou"},"content":{"rendered":"<p>\n  Agora, por mais &#8220;cotidiano&#8221; que o WordPress possa ter se tornado \u2013 pelo fato de que cada segundo ou terceiro site que voc\u00ea encontra \u00e9 alimentado por WordPress \u2013 sempre h\u00e1 o frequente &#8220;como diabos eles fizeram isso!&#8221; momentos em que voc\u00ea est\u00e1 navegando pelo reino do WordPress.\n<\/p>\n<p>\n  Apesar do WordPress ser t\u00e3o notavelmente perseguido pela comunidade de desenvolvimento web, ele nunca deixou de usar alguns truques incr\u00edveis e surpresas na manga. Embora haja todo um conjunto de plug-ins que nunca deixam de levar a funcionalidade de um site WordPress al\u00e9m dos padr\u00f5es e conseguem permitir que os webmasters moldem seu site exatamente da mesma maneira que desejam, s\u00e3o os WordPress Hacks que realmente oferecem aos webmasters <strong>uma<\/strong> personaliza\u00e7\u00e3o capacidade do tipo que n\u00e3o pode ser realizada por nenhum plug-in.\n<\/p>\n<p>\n  Os hacks do WordPress est\u00e3o estabelecendo uma posi\u00e7\u00e3o forte e ganhando muito terreno, pois os webmasters n\u00e3o programadores est\u00e3o buscando a ajuda de alguns desenvolvedores da web para injetar alguns recursos em seu site que realmente os ajudariam a aprimorar sua funcionalidade e lev\u00e1-lo al\u00e9m de seus pares. No entanto, estamos facilitando seu trabalho, fornecendo a voc\u00ea alguns trechos de c\u00f3digo necess\u00e1rios (e desejados) para colocar seu site na dire\u00e7\u00e3o que voc\u00ea deseja.\n<\/p>\n<p>\n  A lista a seguir \u00e9 sobre esses hacks que voc\u00ea pode implementar em seu site para que ele se gabe de recursos personalizados excepcionais e exiba recursos que parecem bastante improv\u00e1veis \u200b\u200bde outra forma.\n<\/p>\n<h5>\n  1 Habilitando Shortcodes em Widgets<br \/>\n<\/h5>\n<p>\n  Os widgets nunca param de dar ao nosso site aquela vantagem pela qual estamos sempre competindo. Eles formam uma parte indispens\u00e1vel de quase todos os sites do WordPress e, portanto, uma maneira de aprimorar sua apar\u00eancia ou seus recursos \u00e9 sempre bem-vinda, e \u00e9 exatamente para isso que os c\u00f3digos de acesso devem fazer. Use um filtro para o mesmo:\n<\/p>\n<pre><code>add_filter( 'widget_text', 'do_shortcode' );<\/code><\/pre>\n<h5>\n  2 Tornando a navega\u00e7\u00e3o superior mais vis\u00edvel<br \/>\n<\/h5>\n<p>\n  O menu na barra de navega\u00e7\u00e3o superior do seu site provavelmente \u00e9 ignor\u00e1vel, simplesmente por sua posi\u00e7\u00e3o. E \u00e9 por isso que voc\u00ea precisa mov\u00ea-lo e \u00e9 aqui que mov\u00ea-lo ajudar\u00e1:\n<\/p>\n<pre><code>#top-nav {float: right;}<\/code><\/pre>\n<h5>\n  3 Mova o menu de navega\u00e7\u00e3o para o centro (C\u00f3digo cortesia: GitHub)<br \/>\n<\/h5>\n<p>\n  Existe toda a possibilidade de voc\u00ea ter decidido realinhar seu logotipo para coloc\u00e1-lo no centro do cabe\u00e7alho, portanto, voc\u00ea precisaria mover o menu de navega\u00e7\u00e3o para o centro para que n\u00e3o pare\u00e7a fora do lugar. E \u00e9 assim que voc\u00ea faz:\n<\/p>\n<pre><code>#navigation {\n     position: relative;\n}\n #main-nav {\n     clear: left;\n     float: left;\n     list-style: none;\n     margin: 0;\n     padding: 0;\n     position: relative;\n     left: 50%;\n     text-align: center;\n}\n .nav li {\n     display: block;\n     float: left;\n     list-style: none;\n     margin: 0;\n     padding: 0;\n     position: relative;\n     right: 50%;\n}\n .nav li.hover, .nav li.hover {\n     position: relative;\n}\n  \n.nav li ul li {\n     left: 0;<\/code><\/pre>\n<h5>\n  4 Atrasar a publica\u00e7\u00e3o de sua postagem nos feeds RSS<br \/>\n<\/h5>\n<p>\n  N\u00e3o \u00e9 raro cometer erros ao escrever uma postagem, mas quando as postagens j\u00e1 s\u00e3o enviadas para RSS, os pequenos erros podem custar caro. E \u00e9 a\u00ed que atrasar o processo vem em socorro.\n<\/p>\n<p>\n  Agora, voc\u00ea pode garantir que as postagens n\u00e3o v\u00e3o para o feed RSS assim que forem publicadas em seu blog. Tudo o que voc\u00ea precisa fazer \u00e9 adicionar este trecho de c\u00f3digo ao arquivo functions.php no back-end do seu site:\n<\/p>\n<pre><code>function publish_later_on_feed($where) {\nglobal $wpdb;\nif (is_feed()) {\n$time_now = gmdate('Y-m-d H:i:s');\n$time_delay = '15'; \/\/ integer\n$time_span = 'MINUTE'; \/\/MINUTE, HOUR, DAY, WEEK, MONTH, YEAR\n$where = \" AND TIMESTAMPDIFF($device, $wpdb-&gt;posts.post_date_gmt, '$time_now') &gt; $time_delay \";\n}\nreturn $where;\n}\nadd_filter('posts_where', 'publish_later_on_feed');<\/code><\/pre>\n<h5>\n  5 N\u00e3o quer mais os avatares circulares? Torn\u00e1-los Quadrados<br \/>\n<\/h5>\n<p>\n  O tema que voc\u00ea escolheu para o seu site WordPress pode estar modificando automaticamente as imagens do avatar para apresent\u00e1-las de forma circular. Mas muitos webmasters preferem que seus avatares sejam exibidos em formato quadrado. Para o mesmo, este c\u00f3digo do GitHub funciona excepcionalmente bem:\n<\/p>\n<pre><code>#post-author .profile-image img, #comments .avatar img {\nborder-radius: 0;\n-moz-border-radius: 0;\n-webkit-border-radius: 0;\n}<\/code><\/pre>\n<h5>\n  6 Deixe seu feed RSS conter a imagem em destaque do post<br \/>\n<\/h5>\n<p>\n  Usar fotos em suas postagens sempre d\u00e1 um empurr\u00e3o extra entre seu p\u00fablico e os convence a ler e compartilhar ainda mais entre seus c\u00edrculos. E quando voc\u00ea pode usar a imagem destacada da postagem em seus feeds RSS, voc\u00ea aumenta ainda mais o alcance da postagem, tornando-a visualmente mais atraente:\n<\/p>\n<pre><code>add_filter('the_content_feed', 'rss_post_thumbnail');\nfunction rss_post_thumbnail($content) {\nglobal $post;\nif( has_post_thumbnail($post-&gt;ID)) $content = '&lt;br \/&gt;'. get_the_post_thumbnail($post-&gt;ID, 'thumbnail'). '&lt;br \/&gt;&lt;br \/&gt;'. $content;\nreturn $content;\n}<\/code><\/pre>\n<h5>\n  7 Remova o t\u00edtulo de uma p\u00e1gina espec\u00edfica<br \/>\n<\/h5>\n<p>\n  Embora existam ferramentas que facilitam a remo\u00e7\u00e3o de t\u00edtulos de todas as p\u00e1ginas do site, \u00e0s vezes, voc\u00ea s\u00f3 deseja remov\u00ea-los de p\u00e1ginas espec\u00edficas. E aqui est\u00e1 o c\u00f3digo que voc\u00ea precisa para isso \u2013 basta substituir &#8220;abcd&#8221; pelo n\u00famero de identifica\u00e7\u00e3o da p\u00e1gina para qualquer postagem:\n<\/p>\n<pre><code>.page-id-xxxx .title {\ndisplay: none;\n}<\/code><\/pre>\n<h5>\n  8 N\u00e3o quer HTML nos coment\u00e1rios? V\u00e1 em frente e desative-o<br \/>\n<\/h5>\n<p>\n  HTML na se\u00e7\u00e3o de coment\u00e1rios pode levar a um caminh\u00e3o de spam, que eventualmente pode ter s\u00e9rias repercuss\u00f5es em seu site. E \u00e9 por isso que desabilitar o HTML na se\u00e7\u00e3o de coment\u00e1rios \u00e9 t\u00e3o importante para manter seu site livre de spam. Para fazer isso, adicione este trecho de c\u00f3digo no arquivo functions.php:\n<\/p>\n<pre><code>\/\/As soon as someone comments\nfunction plc_comment_post( $incoming_comment) {\n    \/\/ convert everything in a comment to display literally\n    $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);\n    \/\/ the one exception is single quotes, which cannot be #039; because WordPress marks it as spam\n    $incoming_comment['comment_content'] = str_replace( \"'\", ''', $incoming_comment['comment_content'] );\n    return( $incoming_comment );\n}\n\/\/ This will occur before a comment is displayed\nfunction plc_comment_display( $comment_to_display) {\n    \/\/ Put the single quotes back in\n    $comment_to_display = str_replace( ''', \"'\", $comment_to_display );\n    return $comment_to_display;\n}\nadd_filter( 'preprocess_comment', 'plc_comment_post', '', 1 );\nadd_filter( 'comment_text', 'plc_comment_display', '', 1 );\nadd_filter( 'comment_text_rss', 'plc_comment_display', '', 1 );\nadd_filter( 'comment_excerpt', 'plc_comment_display', '', 1 );\n\/\/ This stops WordPress from trying to automatically make hyperlinks on text:\nremove_filter( 'comment_text', 'make_clickable', 9 );<\/code><\/pre>\n<h5>\n  9 Quando um usu\u00e1rio procurar um determinado post em seu site, basta lev\u00e1-lo diretamente para o post completo<br \/>\n<\/h5>\n<p>\n  Voc\u00ea pode n\u00e3o ter considerado isso muito necess\u00e1rio, mas se os usu\u00e1rios que pesquisam por postagens espec\u00edficas forem levados diretamente para a postagem completa em vez de uma visualiza\u00e7\u00e3o em miniatura dela com trecho, eles apreciariam isso. Isso n\u00e3o os for\u00e7a a continuar navegando e, portanto, melhora consideravelmente a experi\u00eancia do usu\u00e1rio.\n<\/p>\n<pre><code>add_action('template_redirect', 'redirect_single_post');\nfunction redirect_single_post() {\n    if (is_search()) {\n        global $ks29so_query;\n        if ($ks29so_query-&gt;post_count == 1 && $ks29so_query-&gt;max_num_pages == 1) {\n            ks29so_redirect( get_permalink( $ks29so_query-&gt;posts['0']-&gt;ID) );\n            exit;\n        }\n    }\n}<\/code><\/pre>\n<h5>\n  10 Exibir a data de direitos autorais mais precisa e atual<br \/>\n<\/h5>\n<p>\n  Os direitos autorais s\u00e3o uma parte indispens\u00e1vel de qualquer site que contenha muitas informa\u00e7\u00f5es \u00fateis que o webmaster n\u00e3o deseja que sejam copiadas por outros randomizadores na web. \u00c9 por isso que \u00e9 importante exibir informa\u00e7\u00f5es de direitos autorais com precis\u00e3o e em sincronia com o ano atual. O trecho de c\u00f3digo a seguir possibilita que voc\u00ea atualize constantemente as informa\u00e7\u00f5es de direitos autorais automaticamente:\n<\/p>\n<pre><code>function comicpress_copyright() {\nglobal $wpdb;\n$copyright_dates = $wpdb-&gt;get_results(\"\nSELECT\nYEAR(min(post_date_gmt)) AS firstdate,\nYEAR(max(post_date_gmt)) AS lastdate\nFROM\n$wpdb-&gt;posts\nWHERE\npost_status = 'publish'\n\");\n$output = '';\nif($copyright_dates) {\n$copyright = \"\u00a9 \". $copyright_dates[0]-&gt;firstdate;\nif($copyright_dates[0]-&gt;firstdate != $copyright_dates[0]-&gt;lastdate) {\n$copyright .= '-'. $copyright_dates[0]-&gt;lastdate;\n}\n$output = $copyright;\n}\nreturn $output;\n}<\/code><\/pre>\n<h5>\n  11 Redirecione os usu\u00e1rios ap\u00f3s o login<br \/>\n<\/h5>\n<p>\n  Uma vez que qualquer usu\u00e1rio est\u00e1 logado em seu site, ele ou ela pode ser facilmente redirecionado para outro URL de sua escolha. Tudo o que voc\u00ea precisa \u00e9 deste trecho de c\u00f3digo no arquivo functions.php:\n<\/p>\n<pre><code>&lt;?php function redirect_user_on_role() { \/\/retrieve current user info global $current_user; get_currentuserinfo(); \/\/If login user role is Subscriber if ($current_user-&gt;user_level == 0)\n{\nks29so_redirect( home_url() ); exit;\n}\n\/\/If login user role is Contributor\nelse if ($current_user-&gt;user_level &gt; 1)\n{\nks29so_redirect( home_url() ); exit;\n}\n\/\/If login user role is Editor\nelse if ($current_user-&gt;user_level &gt;8)\n{\nks29so_redirect( home_url() ); exit;\n}\n\/\/ For other roles\nelse\n{\n$redirect_to = 'http:\/\/google.com\/';\nreturn $redirect_to;\n}\n}\nadd_action('admin_init','redirect_user_on_role');\n \n?&gt;<\/code><\/pre>\n<h5>12 Deixe o cabe\u00e7alho exibir alguns widgets personalizados<\/h5>\n<p>O cabe\u00e7alho do seu site \u00e9 uma \u00f3tima \u00e1rea de publicidade onde voc\u00ea pode exibir an\u00fancios realmente vis\u00edveis. No entanto, uma coisa comum observada \u00e9 que os administradores do site n\u00e3o t\u00eam muito controle sobre como desejam exibir os elementos no cabe\u00e7alho e isso leva \u00e0 falta de flexibilidade.<\/p>\n<p>O que o administrador deseja \u00e9 a capacidade de personaliza\u00e7\u00e3o para permitir que eles adicionem o que quiserem \u00e0 direita do logotipo, e as seguintes linhas de c\u00f3digo permitem que eles fa\u00e7am exatamente isso:<\/p>\n<pre><code>if (function_exists('register_sidebar')) {\nregister_sidebar(array(\n 'name' =&gt; 'Header Widget',\n 'id' =&gt; 'header-widget',\n 'description' =&gt; 'This is a widgetized area in the right side of the header.',\n 'before_widget' =&gt; '&lt;div id=\"%1$s\" div class=\"widget\"&gt;',\n 'after_widget' =&gt; '&lt;\/div&gt;',\n 'before_title' =&gt; '&lt;h3&gt;',\n 'after_title' =&gt; '&lt;\/h3&gt;'\n ));\nadd_action( 'woo_header_inside', 'custom_canvas_header' );\nfunction custom_canvas_header() {\n?&gt;\n&lt;div id=\"header-widget\"&gt;\n&lt;?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('header-widget')): else: ?&gt;\n&lt;?php endif; ?&gt;\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Agora, por mais \u201ccotidiano\u201d que o WordPress possa ter se tornado \u2013 pelo fato de que cada segundo ou terceiro site que voc\u00ea encontra \u00e9 alimentado por WordPress \u2013 sempre h\u00e1 o frequente \u201ccomo diabos eles fizeram isso!\u201d momentos em que voc\u00ea est\u00e1 navegando pelo reino do WordPress. Apesar do WordPress ser t\u00e3o notavelmente perseguido pela comunidade de desenvolvimento web, ele nunca deixou de usar alguns truques incr\u00edveis e surpresas na manga. Embora haja todo um conjunto de plug-ins que nunca deixam de levar a funcionalidade de um site WordPress al\u00e9m dos padr\u00f5es e conseguem permitir que os webmasters moldem seu site em \u2026<\/p>\n","protected":false},"author":1,"featured_media":221613,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[228,163,59],"tags":[],"class_list":["post-260703","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-livros-didaticos","category-plugins-do-wordpress","category-web-e-wordpress-2"],"_links":{"self":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/260703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=260703"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/260703\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/221613"}],"wp:attachment":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=260703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=260703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=260703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}