De ekstraordinært nyttige WordPress-hakkene du sannsynligvis ikke har brukt ennå
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' );
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;}
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 = '
'. get_the_post_thumbnail($post->ID, 'thumbnail'). '
'. $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:
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' => '',
'after_title' => '
'
));
add_action( 'woo_header_inside', 'custom_canvas_header' );
function custom_canvas_header() {
?>
',
'before_title' => '