{"id":264985,"date":"2023-01-03T08:46:00","date_gmt":"2023-01-03T05:46:00","guid":{"rendered":"https:\/\/inform.click\/de-utomordentligt-anvandbara-wordpress-hackarna-som-du-formodligen-inte-har-anvant-an\/"},"modified":"2023-01-03T08:46:00","modified_gmt":"2023-01-03T05:46:00","slug":"de-utomordentligt-anvandbara-wordpress-hackarna-som-du-formodligen-inte-har-anvant-an","status":"publish","type":"post","link":"https:\/\/inform.click\/sv\/de-utomordentligt-anvandbara-wordpress-hackarna-som-du-formodligen-inte-har-anvant-an\/","title":{"rendered":"De utomordentligt anv\u00e4ndbara WordPress-hackarna som du f\u00f6rmodligen inte har anv\u00e4nt \u00e4n"},"content":{"rendered":"<p>\n  Nu, s\u00e5 &#8221;vardaglig&#8221; som WordPress kan ha blivit &#8211; f\u00f6r det faktum att varannan eller tredje webbplats du st\u00f6ter p\u00e5 drivs av WordPress &#8211; finns det alltid de vanliga &#8221;hur fan gjorde de det h\u00e4r!&#8221; stunder n\u00e4r du rullar runt i WordPress-riket.\n<\/p>\n<p>\n  Trots att WordPress \u00e4r s\u00e5 anm\u00e4rkningsv\u00e4rt eftertraktat av webbutvecklingsgemenskapen har det aldrig slutat att b\u00e4ra n\u00e5gra otroliga knep och \u00f6verraskningar i rock\u00e4rmen. \u00c4ven om det finns en hel ensemble av plugins som aldrig misslyckas med att ta en WordPress-webbplats funktionalitet bortom standardv\u00e4rden och lyckas l\u00e5ta webbansvariga forma sin webbplats p\u00e5 exakt samma s\u00e4tt som de vill, s\u00e5 \u00e4r det <strong>WordPress-hackarna<\/strong> som verkligen ger webbansvariga en anpassning kapacitet av s\u00e5dana som inte kan uppn\u00e5s med n\u00e5gra plugins \u00f6verhuvudtaget.\n<\/p>\n<p>\n  WordPress-hacken etablerar ett starkt fotf\u00e4ste och vinner mycket mark eftersom de icke-programmerande webbansvariga s\u00f6ker hj\u00e4lp av vissa webbutvecklare f\u00f6r att injicera n\u00e5gra funktioner p\u00e5 sin webbplats som verkligen skulle hj\u00e4lpa dem att f\u00f6rb\u00e4ttra dess funktionalitet och ta det bortom sina kamrater. Vi g\u00f6r dock ditt jobb enklare genom att sl\u00e4nga efter dig n\u00e5gra kodavsnitt du skulle beh\u00f6va (och vill) f\u00f6r att f\u00e5 din webbplats att rulla i precis den riktning du vill ha den.\n<\/p>\n<p>\n  F\u00f6ljande lista handlar om s\u00e5dana hack som du kan implementera p\u00e5 din webbplats f\u00f6r att den ska skryta med exceptionella anpassade funktioner och visa funktioner som annars verkar ganska osannolika.\n<\/p>\n<h5>\n  1 Aktivera kortkoder i widgets<br \/>\n<\/h5>\n<p>\n  Widgets upph\u00f6r aldrig att ge v\u00e5r webbplats den f\u00f6rdelen vi alltid t\u00e4vlar om. De utg\u00f6r en oumb\u00e4rlig del av n\u00e4stan varje WordPress-webbplats, och d\u00e4rf\u00f6r \u00e4r ett s\u00e4tt att f\u00f6rb\u00e4ttra deras utseende eller funktioner alltid v\u00e4lkommet, och det \u00e4r precis vad kortkoderna \u00e4r avsedda att g\u00f6ra. Anv\u00e4nd ett filter f\u00f6r detsamma:\n<\/p>\n<pre><code>add_filter( 'widget_text', 'do_shortcode' );<\/code><\/pre>\n<h5>\n  2 G\u00f6ra toppnavigeringen mer synlig<br \/>\n<\/h5>\n<p>\n  Menyn i det \u00f6versta navigeringsf\u00e4ltet p\u00e5 din webbplats \u00e4r f\u00f6rmodligen ignorerande, bara f\u00f6r sin position. Och det \u00e4r d\u00e4rf\u00f6r du beh\u00f6ver flytta den och det \u00e4r h\u00e4r att flytta den kommer att hj\u00e4lpa:\n<\/p>\n<pre><code>#top-nav {float: right;}<\/code><\/pre>\n<h5>\n  3 Flytta navigeringsmenyn till mitten (kod med tillst\u00e5nd: GitHub)<br \/>\n<\/h5>\n<p>\n  Det finns alla m\u00f6jligheter att du kan ha best\u00e4mt dig f\u00f6r att justera din logotyp s\u00e5 att den placeras i mitten av rubriken, s\u00e5 du skulle beh\u00f6va flytta navigeringsmenyn till mitten s\u00e5 att den inte ser ur platsen. Och s\u00e5 h\u00e4r g\u00f6r du:\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 F\u00f6rdr\u00f6ja publiceringen av ditt inl\u00e4gg p\u00e5 RSS-fl\u00f6den<br \/>\n<\/h5>\n<p>\n  Det \u00e4r inte ovanligt att man g\u00f6r misstag n\u00e4r man skriver ett inl\u00e4gg, men n\u00e4r inl\u00e4ggen redan \u00e4r skickade till RSS kan de mindre misstagen visa sig vara kostsamma nog. Och det \u00e4r n\u00e4r f\u00f6rsening av processen kommer till unds\u00e4ttning.\n<\/p>\n<p>\n  Nu kan du se till att inl\u00e4ggen inte g\u00e5r till RSS-fl\u00f6det s\u00e5 fort du publicerar dem p\u00e5 din blogg. Allt du beh\u00f6ver g\u00f6ra \u00e4r att l\u00e4gga till denna kodbit i functions.php-filen i din webbplatss backend:\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 Vill du inte ha de cirkul\u00e4ra avatarerna l\u00e4ngre? G\u00f6r dem fyrkantiga<br \/>\n<\/h5>\n<p>\n  Temat du har valt f\u00f6r din WordPress-webbplats kanske automatiskt \u00e4ndrar avatarbilderna f\u00f6r att presentera dem i en cirkul\u00e4r form. Men m\u00e5nga webbansvariga skulle hellre f\u00f6redra att deras avatarer visas i kvadratisk form. F\u00f6r detsamma fungerar den h\u00e4r koden fr\u00e5n GitHub exceptionellt bra:\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 L\u00e5t ditt RSS-fl\u00f6de inneh\u00e5lla inl\u00e4ggets utvalda bild<br \/>\n<\/h5>\n<p>\n  Att anv\u00e4nda bilder i dina inl\u00e4gg ger det alltid en extra push bland din publik och lockar dem att l\u00e4sa och ytterligare dela det bland sina cirklar. Och n\u00e4r du kan anv\u00e4nda den utvalda bilden av inl\u00e4gget i dina RSS-fl\u00f6den, f\u00f6rb\u00e4ttrar du inl\u00e4ggets r\u00e4ckvidd ytterligare genom att g\u00f6ra det visuellt mer catchy:\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 Ta bort titeln p\u00e5 en viss sida<br \/>\n<\/h5>\n<p>\n  \u00c4ven om det finns verktyg som underl\u00e4ttar att ta bort titlar fr\u00e5n alla sidor p\u00e5 webbplatsen, vill du ibland bara ta bort dem fr\u00e5n vissa sidor. Och h\u00e4r \u00e4r koden du beh\u00f6ver f\u00f6r det &#8211; ers\u00e4tt bara &#8221;abcd&#8221; med sid-id-numret f\u00f6r alla inl\u00e4gg:\n<\/p>\n<pre><code>.page-id-xxxx .title {\ndisplay: none;\n}<\/code><\/pre>\n<h5>\n  8 Vill du inte ha HTML i kommentarer? G\u00e5 vidare och inaktivera den<br \/>\n<\/h5>\n<p>\n  HTML i kommentarsf\u00e4ltet kan leda till en lastbil med skr\u00e4ppost, vilket s\u00e5 sm\u00e5ningom kan f\u00e5 allvarliga \u00e5terverkningar p\u00e5 din webbplats. Och det \u00e4r d\u00e4rf\u00f6r det \u00e4r s\u00e5 oerh\u00f6rt viktigt att inaktivera HTML i kommentarsektionen f\u00f6r att h\u00e5lla din webbplats fri fr\u00e5n spam. F\u00f6r att g\u00f6ra det, l\u00e4gg till denna kod i filen 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 N\u00e4r en anv\u00e4ndare s\u00f6ker efter ett visst inl\u00e4gg p\u00e5 din webbplats, ta dem bara direkt till det kompletta inl\u00e4gget<br \/>\n<\/h5>\n<p>\n  Du kanske inte ans\u00e5g att det var alltf\u00f6r n\u00f6dv\u00e4ndigt, men om de anv\u00e4ndare som s\u00f6ker efter s\u00e4rskilda inl\u00e4gg tas direkt till hela inl\u00e4gget ist\u00e4llet f\u00f6r en miniatyrbild av det med utdrag, skulle de uppskatta det. Det tvingar dem inte att forts\u00e4tta navigera och f\u00f6rb\u00e4ttrar d\u00e4rmed anv\u00e4ndarupplevelsen avsev\u00e4rt.\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 Visa det mest exakta och aktuella upphovsr\u00e4ttsdatumet<br \/>\n<\/h5>\n<p>\n  Upphovsr\u00e4tt \u00e4r en oumb\u00e4rlig del av alla webbplatser som inneh\u00e5ller mycket anv\u00e4ndbar information som webbmastern inte vill ska kopieras av de andra randomiserarna p\u00e5 webben. Det \u00e4r d\u00e4rf\u00f6r det \u00e4r viktigt att visa upphovsr\u00e4ttsinformation korrekt och synkroniserat med innevarande \u00e5r. F\u00f6ljande kodbit g\u00f6r det m\u00f6jligt f\u00f6r dig att st\u00e4ndigt uppdatera upphovsr\u00e4ttsinformationen automatiskt:\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 Omdirigera anv\u00e4ndare efter att de har loggat in<br \/>\n<\/h5>\n<p>\n  N\u00e4r en anv\u00e4ndare \u00e4r inloggad p\u00e5 din webbplats kan han eller hon enkelt omdirigeras till en annan webbadress som du v\u00e4ljer. Allt du beh\u00f6ver \u00e4r detta kodavsnitt i functions.php-filen:\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 L\u00e5t rubriken visa n\u00e5gra personliga widgets<\/h5>\n<p>Rubriken p\u00e5 din webbplats \u00e4r ett bra annonsomr\u00e5de d\u00e4r du kan visa riktigt m\u00e4rkbara annonser. Men en vanlig sak som observeras \u00e4r att webbplatsens administrat\u00f6rer inte har mycket kontroll \u00f6ver hur de vill visa element i rubriken och detta leder till bristen p\u00e5 flexibilitet.<\/p>\n<p>Vad administrat\u00f6ren vill ha \u00e4r anpassningsf\u00f6rm\u00e5gan f\u00f6r att l\u00e5ta dem l\u00e4gga till vad de vill till h\u00f6ger om logotypen, och f\u00f6ljande kodrader l\u00e5ter dem g\u00f6ra exakt det:<\/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>Nu, s\u00e5 &#8221;vardaglig&#8221; som WordPress kan ha blivit &#8211; f\u00f6r det faktum att varannan eller tredje webbplats du st\u00f6ter p\u00e5 drivs av WordPress &#8211; finns det alltid de vanliga &#8221;hur fan gjorde de det h\u00e4r!&#8221; stunder n\u00e4r du rullar runt i WordPress-riket. Trots att WordPress \u00e4r s\u00e5 anm\u00e4rkningsv\u00e4rt eftertraktat av webbutvecklingsgemenskapen har det aldrig slutat att b\u00e4ra n\u00e5gra otroliga knep och \u00f6verraskningar i rock\u00e4rmen. \u00c4ven om det finns en hel ensemble av plugins som aldrig misslyckas med att ta en WordPress-webbplats funktionalitet bortom standardinst\u00e4llningarna och lyckas l\u00e5ta webbansvariga forma sin webbplats i &#8230;<\/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":[230,61,165],"tags":[],"class_list":["post-264985","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-larobocker","category-web-och-wordpress","category-wordpress-plugins-3"],"_links":{"self":[{"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/posts\/264985","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/comments?post=264985"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/posts\/264985\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/media\/221613"}],"wp:attachment":[{"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/media?parent=264985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/categories?post=264985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/sv\/wp-json\/wp\/v2\/tags?post=264985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}