De ekstraordinært nyttige WordPress-hakkene du sannsynligvis ikke har brukt ennå

26

Nå, så "hverdagslig" som WordPress kan ha blitt – for det faktum at hver andre eller tredje nettside du kommer over er drevet av WordPress – er det alltid de hyppige "hvordan pokker gjorde de dette!" øyeblikk når du ruller rundt i WordPress-riket.

Til tross for at WordPress er så bemerkelsesverdig forfulgt av nettutviklingsfellesskapet, har det aldri sluttet å bære noen utrolige triks og overraskelser i ermet. Selv om det er et helt ensemble av plugins som aldri mislykkes i å ta et WordPress-nettsteds funksjonalitet utover standardverdier og lykkes med å la webmastere forme nettstedet sitt på nøyaktig samme måte som de vil, er det WordPress Hacks som gir webmasterne en tilpasning. funksjoner av slike som ikke kan oppnås med noen plugins overhodet.

WordPress-hakkene etablerer et sterkt fotfeste og får mye terreng ettersom de ikke-programmerende webansvarlige søker hjelp fra noen nettutviklere for å injisere noen få funksjoner på nettstedet deres som virkelig vil hjelpe dem med å forbedre funksjonaliteten og ta den utover sine jevnaldrende. Vi gjør imidlertid jobben din enklere ved å gi deg noen kodebiter du trenger (og ønsker) for å få nettstedet ditt til å rulle i akkurat den retningen du vil ha det til.

Følgende liste handler om slike hacks som du kan implementere på nettstedet ditt for at det skal skryte av eksepsjonelle tilpassede funksjoner og fremvise funksjoner som ellers virker ganske usannsynlige.

1 Aktivering av kortkoder i widgets

Widgets slutter aldri å gi nettstedet vårt den fordelen vi alltid kjemper om. De utgjør en uunnværlig del av omtrent alle WordPress-nettsteder, og derfor er en måte å forbedre utseendet eller funksjonene deres alltid velkommen, og det er akkurat det kortkodene er ment å gjøre. Bruk et filter for det samme:

add_filter( 'widget_text', 'do_shortcode' );
2 Gjøre toppnavigasjonen mer synlig

Menyen på den øverste navigasjonslinjen på nettstedet ditt kan sannsynligvis ignoreres, bare for sin plassering. Og dette er grunnen til at du må flytte den, og det er her å flytte den vil hjelpe:

#top-nav {float: right;}
3 Flytt navigasjonsmenyen til senteret (kode med tillatelse: GitHub)

Det er alle muligheter for at du kanskje har bestemt deg for å justere logoen din for å plassere den i midten av overskriften, så du må flytte navigasjonsmenyen til midten slik at den ikke ser ut av stedet. Og slik gjør du det:

#navigation {
     position: relative;
}
 #main-nav {
     clear: left;
     float: left;
     list-style: none;
     margin: 0;
     padding: 0;
     position: relative;
     left: 50%;
     text-align: center;
}
 .nav li {
     display: block;
     float: left;
     list-style: none;
     margin: 0;
     padding: 0;
     position: relative;
     right: 50%;
}
 .nav li.hover, .nav li.hover {
     position: relative;
}
  
.nav li ul li {
     left: 0;
4 Utsett publisering av innlegget ditt på RSS-feedene

Det er ikke sjelden man gjør feil mens man skriver et innlegg, men når innleggene allerede er sendt til RSS, kan de mindre feilene vise seg å være kostbare nok. Og dette er når det å forsinke prosessen kommer til unnsetning.

Nå kan du sørge for at innleggene ikke går til RSS-feeden så snart du publiserer dem på bloggen din. Alt du trenger å gjøre er å legge til denne kodebiten i functions.php-filen i nettstedets backend:

function publish_later_on_feed($where) {
global $wpdb;
if (is_feed()) {
$time_now = gmdate('Y-m-d H:i:s');
$time_delay = '15'; // integer
$time_span = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
$where = " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$time_now') > $time_delay ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
5 Vil du ikke ha de sirkulære avatarene lenger? Gjør dem firkantede

Temaet du har valgt for WordPress-nettstedet ditt kan endre avatarbildene automatisk for å presentere dem i en sirkulær form. Men mange webmastere vil heller foretrekke at avatarene deres skal vises i firkantet form. For det samme fungerer denne koden fra GitHub eksepsjonelt bra:

#post-author .profile-image img, #comments .avatar img {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
}
6 La RSS-feeden din inneholde innleggets fremhevede bilde

Å bruke bilder i innleggene dine gir det alltid et ekstra dytt blant publikummet ditt og lokker dem til å lese og videre dele det blant kretsene deres. Og når du kan bruke det fremhevede bildet av innlegget i RSS-feedene dine, forbedrer du rekkevidden til innlegget ytterligere ved å gjøre det visuelt fengende:

add_filter('the_content_feed', 'rss_post_thumbnail');
function rss_post_thumbnail($content) {
global $post;
if( has_post_thumbnail($post->ID)) $content = '<p>'. get_the_post_thumbnail($post->ID, 'thumbnail'). '</p>'. $content;
return $content;
}
7 Fjern tittelen på en bestemt side

Selv om det er verktøy som gjør det lettere å fjerne titler fra alle sidene på nettstedet, vil du til tider bare fjerne dem fra bestemte sider. Og her er koden du trenger for det – bare erstatt "abcd" med side-ID-nummeret for ethvert innlegg:

.page-id-xxxx .title {
display: none;
}
8 Vil du ikke ha HTML i kommentarer? Gå videre og deaktiver den

HTML i kommentarfeltet kan føre til en lastebil med spam, som til slutt kan få alvorlige konsekvenser for nettstedet ditt. Og dette er grunnen til at det er så viktig å deaktivere HTML i kommentarfeltet for å holde nettstedet ditt fritt for spam. For å gjøre det, legg til denne kodebiten i functions.php-filen:

//As soon as someone comments
function plc_comment_post( $incoming_comment) {
    // convert everything in a comment to display literally
    $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
    // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
    $incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
    return( $incoming_comment );
}
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display) {
    // Put the single quotes back in
    $comment_to_display = str_replace( ''', "'", $comment_to_display );
    return $comment_to_display;
}
add_filter( 'preprocess_comment', 'plc_comment_post', '', 1 );
add_filter( 'comment_text', 'plc_comment_display', '', 1 );
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1 );
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1 );
// This stops WordPress from trying to automatically make hyperlinks on text:
remove_filter( 'comment_text', 'make_clickable', 9 );
9 Når en bruker søker etter et bestemt innlegg på nettstedet ditt, bare ta dem direkte til det komplette innlegget

Du har kanskje ikke ansett det for nødvendig, men hvis brukerne som søker etter bestemte innlegg blir tatt direkte til hele innlegget i stedet for et miniatyrbilde av det med utdrag, vil de sette pris på det. Det tvinger dem ikke til å fortsette å navigere og forbedrer dermed brukeropplevelsen betraktelig.

add_action('template_redirect', 'redirect_single_post');
function redirect_single_post() {
    if (is_search()) {
        global $ks29so_query;
        if ($ks29so_query->post_count == 1 && $ks29so_query->max_num_pages == 1) {
            ks29so_redirect( get_permalink( $ks29so_query->posts['0']->ID) );
            exit;
        }
    }
}
10 Vis den mest nøyaktige og gjeldende opphavsrettsdatoen

Opphavsrett er en uunnværlig del av ethvert nettsted som inneholder mye nyttig informasjon som webmasteren ikke ønsker skal kopieres av de andre randomisererne på nettet. Dette er grunnen til at det er viktig å vise opphavsrettsinformasjon nøyaktig og synkronisert med inneværende år. Følgende kodebit gjør det mulig for deg å kontinuerlig oppdatere opphavsrettsinformasjonen automatisk:

function comicpress_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© ". $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-'. $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}
11 Omdiriger brukere etter at de har logget på

Når en bruker er logget inn på nettstedet ditt, kan han eller hun enkelt omdirigeres til en annen nettadresse du velger. Alt du trenger er denne kodebiten i functions.php-filen:

<?php function redirect_user_on_role() { //retrieve current user info global $current_user; get_currentuserinfo(); //If login user role is Subscriber if ($current_user->user_level == 0)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Contributor
else if ($current_user->user_level > 1)
{
ks29so_redirect( home_url() ); exit;
}
//If login user role is Editor
else if ($current_user->user_level >8)
{
ks29so_redirect( home_url() ); exit;
}
// For other roles
else
{
$redirect_to = 'http://google.com/';
return $redirect_to;
}
}
add_action('admin_init','redirect_user_on_role');
 
?>
12 La toppteksten vise noen personlige widgets

Overskriften på nettstedet ditt er et flott annonseringsområde hvor du kan vise virkelig merkbare annonser. En vanlig ting som imidlertid observeres er at nettstedadministratorene ikke har mye kontroll over hvordan de ønsker å vise elementer på overskriften, og dette fører til mangel på fleksibilitet.

Det admin vil ha er tilpasningsevnen for å la dem legge til det de vil til høyre for logoen, og følgende kodelinjer lar dem gjøre akkurat det:

if (function_exists('register_sidebar')) {
register_sidebar(array(
 'name' => 'Header Widget',
 'id' => 'header-widget',
 'description' => 'This is a widgetized area in the right side of the header.',
 'before_widget' => '<div id="%1$s" div class="widget">',
 'after_widget' => '</div>',
 'before_title' => '<h3>',
 'after_title' => '</h3>'
 ));
add_action( 'woo_header_inside', 'custom_canvas_header' );
function custom_canvas_header() {
?>
<div id="header-widget">
<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('header-widget')): else: ?>
<?php endif; ?>
</div>
<?php
}
}

Mange nettredaktører konkurrerer om å ha en mer personlig logo for dashbordet i WordPress-backend. Følgende kode tjener formålet, selv når det er klienten som har kommet til deg med denne typen forespørsel:

add_action('admin_head', 'custom_logo');
function custom_logo() {
echo '
<style type="text/css"><!--
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.webp) !important; }
--></style>';
}
14 Angi redigeringsprogrammet du vil bruke som standard

Du er kanskje ikke så opptatt av å bruke Visual Editor, og i stedet er det HTML Editor som har fanget deg. Vel, uansett har du friheten til å velge hvilken editor du vil angi som standard:

# Visual Editor as default
add_filter( 'ks29so_default_editor', create_function('', 'return "tinymce";') );
 
# HTML Editor as default
add_filter( 'ks29so_default_editor', create_function('', 'return "html";') );
15. Cast Away the Primary or Top Navigation
Canvas, in particular, has two navigation bars. One navigation bar is located above the header and it is thereby called the Top Navigation Bar. Then, you have the Primary Navigation that is located below the header. Now, whether you wish to use both or just one is entirely your prerogative, on our end, we can show you how to remove them:
Primary Navigation can be gotten rid of by this code:
add_action( 'init', 'remove_canvas_main_navigation', 10 );
  
function remove_canvas_main_navigation() {
    // Remove main nav from the woo_header_after hook
    remove_action( 'woo_header_after','woo_nav', 10 );
}
And to remove the Top Navigation, you will need this:
add_action( 'init', 'remove_canvas_top_navigation', 10 );
  
function remove_canvas_top_navigation () {
    // Remove top nav from the woo_top hook
    remove_action( 'woo_top', 'woo_top_navigation', 10 );
}

Så dette er noen av de mest utrolig effektive WordPress-hackene som får all oppmerksomheten din. Når det er på agendaen å ha frie tøyler over funksjonaliteten til nettstedet ditt, tjener ovennevnte WordPress-hacks formålet på en mest sømløs og kirurgisk måte.

Dette nettstedet bruker informasjonskapsler for å forbedre din opplevelse. Vi antar at du er ok med dette, men du kan velge bort det hvis du ønsker det. jeg aksepterer Mer informasjon