Я хочу, чтобы перенаправить свои статьи в блоге, как это,Как создать постоянную ссылку с именем месяца вместо использования monthnum?
http://www.example.com/blog/2014/september/03/post-name
Но в WordPress это только позволяет мне использовать номер месяца,
http://www.example.com/blog/2014/09/03/post-name.
Я ищу это, но не нашел ничего полезного. Некоторые не ответившие посты, и они даже не говорят, возможно ли это или нет. Даже в документах Wordpress нет ссылок на это. Я нашел следующий код, но он меняет URL-адрес, но не связывает почтовую страницу.
<?php
/**
* Plugin Name: Month Name
* Description: Enables the <code>%monthcode%</code> and <code>%monthname%</code> tag for Permalinks.
* Author: Roger Chen
* License: GPLv2
*/
/**
* Enables use of monthname (january, june) and monthcode (jan, jun).
* Supports permalinks in the form of /2016-nov/61742/..slug.. or /2016-november/61742/..slug..
*/
class MonthName {
/**
* Month Names
*/
public static $monthnames = array(
'january',
'february',
'march',
'april',
'may',
'june',
'july',
'august',
'september',
'october',
'november',
'december',
);
/**
* Month Codes
*/
public static $monthcodes = array(
'jan',
'feb',
'mar',
'apr',
'may',
'jun',
'jul',
'aug',
'sep',
'oct',
'nov',
'dec',
);
/**
* Registers all required hooks
*/
public static function init() {
add_rewrite_tag('%monthname%', '(' . implode('|', self::$monthnames) . ')');
add_rewrite_tag('%monthcode%', '(' . implode('|', self::$monthcodes) . ')');
add_rewrite_rule(
'^([0-9]{4})-(' . implode('|', self::$monthnames) . ')/([0-9]+)/?',
'index.php?p=$matches[3]',
'top'
);
add_rewrite_rule(
'^([0-9]{4})-(' . implode('|', self::$monthcodes) . ')/([0-9]+)/?',
'index.php?p=$matches[3]',
'top'
);
}
/**
* Filters the month name and month code tags
*/
public static function filter_post_link($permalink, $post) {
if (false === strpos($permalink, '%monthname%') && false === strpos($permalink, '%monthcode%')) {
return $permalink;
}
try {
$monthindex = intval(get_post_time('n', "GMT" == false, $post->ID));
$monthname = self::$monthnames[$monthindex - 1];
$monthcode = self::$monthcodes[$monthindex - 1];
$permalink = str_replace('%monthname%', $monthname, $permalink);
$permalink = str_replace('%monthcode%', $monthcode, $permalink);
return $permalink;
} catch (Exception $e) {
return $permalink;
}
}
}
add_action('init', array('MonthName', 'init'));
add_filter('post_link', array('MonthName', 'filter_post_link'), 10, 2);
Кто-нибудь, пожалуйста, скажите, возможно ли это или нет. Если возможно, вы можете сказать, как решить эту проблему.
Насколько я знаю. это невозможно,. –
@ Качество-эксперт о! они пропустили основные функциональные возможности. –
Да может быть .. как поддержка wp только monthnum только я думаю. –