Niezwykle przydatne hacki WordPress, których prawdopodobnie jeszcze nie używałeś

10

Teraz, jak „codzienny" mógł stać się WordPress – z uwagi na fakt, że co druga lub trzecia witryna, na którą się natkniesz, jest obsługiwana przez WordPress – zawsze pojawia się często pytanie „jak oni to zrobili!” momenty, gdy przewijasz świat WordPressa.

Pomimo tego, że WordPress jest tak niezwykle poszukiwany przez społeczność twórców stron internetowych, nigdy nie przestał nosić niesamowitych sztuczek i niespodzianek w rękawie. Chociaż istnieje cały zestaw wtyczek, które nigdy nie zawodzą w zakresie funkcjonalności witryny WordPress poza wartości domyślne i pozwalają webmasterom kształtować ich witrynę dokładnie w taki sam sposób, jak chcą, to WordPress Hacks, które dobrze i naprawdę dają webmasterom dostosowanie możliwości, których nie można osiągnąć za pomocą jakichkolwiek wtyczek.

Hacki WordPressa zdobywają silną pozycję i zyskują na popularności, ponieważ webmasterzy niebędący programistami szukają pomocy niektórych programistów internetowych, aby wprowadzić kilka funkcji do ich witryny, które naprawdę pomogłyby im ulepszyć jej funkcjonalność i wynieść ją poza jej rówieśników. My jednak ułatwiamy Ci pracę, podrzucając Ci kilka fragmentów kodu, których potrzebujesz (i chcesz), aby Twoja witryna rozwijała się dokładnie w takim kierunku, w jakim chcesz.

Poniższa lista dotyczy takich hacków, które możesz wdrożyć na swojej stronie internetowej, aby mogła pochwalić się wyjątkowymi niestandardowymi możliwościami i obnosić się z funkcjami, które w przeciwnym razie wydają się dość nieprawdopodobne.

1 Włączanie skrótów w widżetach

Widżety nigdy nie przestają zapewniać naszej witrynie przewagi, o którą zawsze walczymy. Stanowią nieodzowną część niemal każdej witryny WordPress, dlatego sposób na poprawę ich wyglądu lub funkcji jest zawsze mile widziany i właśnie do tego służą skróty. Użyj filtra do tego samego:

add_filter( 'widget_text', 'do_shortcode' );
2 Zwiększenie widoczności górnej nawigacji

Menu na górnym pasku nawigacyjnym Twojej witryny jest prawdopodobnie nie do zignorowania, po prostu ze względu na swoją pozycję. I dlatego musisz go przenieść i tutaj pomoże to przenieść:

#top-nav {float: right;}
3 Przenieś menu Nawigacja do Centrum (Kod dzięki uprzejmości: GitHub)

Istnieje wszelkie prawdopodobieństwo, że zdecydowałeś się ponownie wyrównać swoje logo, aby umieścić je na środku nagłówka, więc musisz przesunąć menu nawigacyjne na środek, aby nie wyglądało nie na miejscu. A oto jak to zrobić:

#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 Opóźnij publikację postu w kanałach RSS

Nierzadko popełnia się błędy podczas pisania posta, ale gdy posty są już wysyłane do RSS, drobne błędy mogą okazać się wystarczająco kosztowne. I wtedy na ratunek przychodzi opóźnienie procesu.

Teraz możesz upewnić się, że posty nie trafią do kanału RSS, gdy tylko opublikujesz je na swoim blogu. Wszystko, co musisz zrobić, to dodać ten fragment kodu do pliku functions.php w zapleczu Twojej witryny:

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 Nie chcesz już okrągłych awatarów? Spraw, by były kwadratowe

Motyw, który wybrałeś dla swojej witryny WordPress, może automatycznie modyfikować obrazy awatarów, aby prezentować je w okrągłej formie. Jednak wielu webmasterów wolałoby, aby ich awatary były wyświetlane w formie kwadratu. Z tego samego powodu ten kod GitHub działa wyjątkowo dobrze:

#post-author .profile-image img, #comments .avatar img {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
}
6 Niech Twój kanał RSS zawiera wyróżniony obraz posta

Używanie zdjęć w swoich postach zawsze daje dodatkowy impuls wśród odbiorców i zachęca ich do czytania i dalszego udostępniania ich w swoich kręgach. A kiedy możesz użyć wyróżnionego obrazu posta w swoich kanałach RSS, jeszcze bardziej zwiększysz zasięg posta, czyniąc go bardziej chwytliwym wizualnie:

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 Usuń tytuł określonej strony

Chociaż istnieją narzędzia ułatwiające usuwanie tytułów ze wszystkich stron witryny, czasami chcesz usunąć je tylko z określonych stron. A oto potrzebny do tego kod – po prostu zastąp „abcd” numerem identyfikacyjnym strony dla dowolnego posta:

.page-id-xxxx .title {
display: none;
}
8 Nie chcesz HTML w komentarzach? Śmiało i wyłącz to

HTML w sekcji komentarzy może prowadzić do masy spamu, co ostatecznie może mieć poważne reperkusje w Twojej witrynie. I dlatego wyłączenie kodu HTML w sekcji komentarzy jest tak ważne, aby Twoja witryna była wolna od spamu. Aby to zrobić, dodaj ten fragment kodu do pliku functions.php:

//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 Gdy użytkownik wyszukuje określony post w Twojej witrynie, po prostu przekieruj go bezpośrednio do pełnego posta

Być może nie uznałeś tego za konieczne, ale jeśli użytkownicy wyszukujący określone posty zostaną przeniesieni bezpośrednio do pełnego postu zamiast widoku miniatury z fragmentem, byliby wdzięczni. Nie zmusza ich do kontynuowania nawigacji, a tym samym znacznie poprawia wrażenia użytkownika.

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 Wyświetl najdokładniejszą i aktualną datę praw autorskich

Prawa autorskie są nieodzowną częścią każdej strony internetowej, która zawiera wiele przydatnych informacji, których webmaster nie chce kopiować przez innych randomizerów w sieci. Dlatego ważne jest dokładne wyświetlanie informacji o prawach autorskich i zsynchronizowanie z bieżącym rokiem. Poniższy fragment kodu umożliwia ciągłą automatyczną aktualizację informacji o prawach autorskich:

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 Przekieruj użytkowników po zalogowaniu

Gdy dowolny użytkownik zaloguje się do Twojej witryny, może zostać łatwo przekierowany na inny wybrany przez Ciebie adres URL. Wszystko czego potrzebujesz to ten fragment kodu w pliku functions.php:

<?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 Pozwól, aby nagłówek wyświetlał spersonalizowane widżety

Nagłówek Twojej strony internetowej to świetny obszar reklamowy, w którym możesz wyświetlać naprawdę zauważalne reklamy. Jednak często obserwowaną rzeczą jest to, że administratorzy witryny nie mają dużej kontroli nad tym, jak chcą wyświetlać elementy w nagłówku, co prowadzi do braku elastyczności.

To, czego chcą administratorzy, to możliwość dostosowywania, aby umożliwić im dodawanie wszystkiego, co chcą, po prawej stronie logo, a następujące wiersze kodu pozwalają im dokładnie to zrobić:

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
}
}

Wielu webmasterów walczy o bardziej spersonalizowane logo dla swojego pulpitu nawigacyjnego w zapleczu WordPress. Poniższy kod służy temu celowi, nawet jeśli to klient przyszedł do ciebie z tego rodzaju prośbą:

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 Ustaw żądany edytor jako domyślny

Możesz nie być zbyt chętny do korzystania z Edytora wizualnego, a zamiast tego to Edytor HTML przykuł Twoją uwagę. Cóż, tak czy inaczej, masz swobodę wyboru edytora, który chcesz ustawić jako domyślny:

# 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 );
}

Oto niektóre z najbardziej niewiarygodnie skutecznych hacków WordPress, które przyciągają całą twoją uwagę. Gdy na porządku dziennym jest posiadanie wolnej ręki nad funkcjonalnością witryny, powyższe hacki WordPress służą temu celowi w sposób najbardziej bezproblemowy i chirurgiczny.

Comments are closed, but trackbacks and pingbacks are open.

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów