Функциональный и легкий Копирайт (© Copyright)

Приветствую! Это тема для продвинутых фриков. Наверное так можно охарактеризовать поставленную задачу, которая, наверное, в 99% случаев вообще не встанет. Те же, кто решится собирать шаблон самостоятельно с нуля, обнаружат, что такой привычный [copyright] шорт код не работает. Да, такого рода шорткоды — это плюшки готовых шаблонов, может конечно не всех, но в большинстве своем они позволяют настроить копирайт в футере сайта.

Но у нас другая ситуация, нет этого шорткода. Придется делать его самому. Зачем, спросишь ты и будешь абсолютно прав. Берем текстовый редактор, пишем год и готово. Это конечно верно, но нужно ведь, чтобы все было по красоте. Год должен меняться автоматически, не надо такое запоминать, других забот хватает.

Хватит лирики. Итак, если делать по уму, то добавляем в functions.php темы следующий код:

function shortcode_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;
}
add_shortcode( 'copyright', 'shortcode_copyright' );

Соответственно, осталось в нужном месте вставить шорткод [copyright], если вы не поменяли на что-то более приятное для вас.

Вы заметили, что для простого копирайта код слишком большой? А вот почему. Для отображения копирайта скрипт вычисляет дату первого поста и дату последнего поста, отображая временной промежуток. То есть теперь вообще нет необходимости задумываться ни о чем, особенно если вы обслуживаете чужой сайт и копаться в чужом коде и постах нет никакого желания.

Единственное, чем можно модернизировать этот скрипт — добавить в конце название сайта и сделать возможность редактировать цвет. Для этого добавим пару строчек кода и получим вот такой скрипт:

function shortcode_copyright( $atts ) {
  $params = shortcode_atts(
  	array(
      'color' => '#ffffff',
      ), $atts
  );
  
  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 = '<div style="color:' . $params[ 'color' ] . '">' . $copyright . ' <a style="color:' . $params[ 'color' ] . '" href="/"> ' . get_bloginfo( 'name' ) . ' </a></div>';
  }
  return $output;
}
add_shortcode( 'copyright', 'shortcode_copyright' );

Теперь в конце копирайта выводится ссылка на главную страницу сайта с названием сайта. Для того чтобы изменить цвет в шорткоде нужно указать соответствующий параметр, например [copyright color=»red»] сделает копирайт красного цвета. Можно указывать цвет в любом формате HEX или rgba, например сделать надпись полупрозрачного цвета.

Я не гарантирую, что код написан по всем канонам и правилам, пусть меня поправят программисты разработчики. Но я точно уверен в том, что он безопасен и работает. Пользуемся.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *