mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-01 00:10:36 +01:00
Some style cleanup. Category base and additional URI options from Jay McCarthy.
git-svn-id: http://svn.automattic.com/wordpress/trunk@1227 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
9e9589e6f9
commit
5a391b5bc8
@ -25,8 +25,12 @@ require_once('./optionhandler.php');
|
|||||||
if ($_POST['submit']) {
|
if ($_POST['submit']) {
|
||||||
update_option('permalink_structure', $_POST['permalink_structure']);
|
update_option('permalink_structure', $_POST['permalink_structure']);
|
||||||
$permalink_structure = $_POST['permalink_structure'];
|
$permalink_structure = $_POST['permalink_structure'];
|
||||||
|
|
||||||
|
update_option('category_base', $_POST['category_base']);
|
||||||
|
$category_base = $_POST['category_base'];
|
||||||
} else {
|
} else {
|
||||||
$permalink_structure = get_settings('permalink_structure');
|
$permalink_structure = get_settings('permalink_structure');
|
||||||
|
$category_base = get_settings('category_base');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -43,13 +47,42 @@ if ($_POST['submit']) {
|
|||||||
<div class="wrap">
|
<div class="wrap">
|
||||||
<h2><?php _e('Edit Permalink Structure') ?></h2>
|
<h2><?php _e('Edit Permalink Structure') ?></h2>
|
||||||
<?php _e('<p>WordPress offers you the ability to create a custom URI structure for your permalinks and archives. The following “tags” are available:</p>')?>
|
<?php _e('<p>WordPress offers you the ability to create a custom URI structure for your permalinks and archives. The following “tags” are available:</p>')?>
|
||||||
<ul>
|
|
||||||
<li><code>%year%</code> --- <?php _e('The year of the post, 4 digits, for example <code>2004</code>') ?> </li>
|
<dl>
|
||||||
<li><code>%monthnum%</code> --- <?php _e('Month of the year, for example <code>05</code>') ?></li>
|
<dt><code>%year%</code></dt>
|
||||||
<li><code>%day% </code>--- <?php _e('Day of the month, for example <code>28</code>') ?></li>
|
<dd>
|
||||||
<li><code>%postname%</code> --- <?php _e('A sanitized version of the title of the post. So “This Is A Great Post!” becomes “<code>this-is-a-great-post</code>” in the URI') ?> </li>
|
<?php _e('The year of the post, 4 digits, for example <code>2004</code>') ?>
|
||||||
<li><code>%post_id%</code> --- <?php _e('The unique ID # of the post, for example <code>423</code>') ?></li>
|
</dd>
|
||||||
</ul>
|
<dt><code>%monthnum%</code></dt>
|
||||||
|
<dd>
|
||||||
|
<?php _e('Month of the year, for example <code>05</code>') ?>
|
||||||
|
</dd>
|
||||||
|
<dt><code>%day%</code></dt>
|
||||||
|
<dd>
|
||||||
|
<?php _e('Day of the month, for example <code>28</code>') ?>
|
||||||
|
</dd>
|
||||||
|
<dt><code>%hour%</code></dt>
|
||||||
|
<dd>
|
||||||
|
<?php _e('Hour of the day, for example <code>15</code>') ?>
|
||||||
|
</dd>
|
||||||
|
<dt><code>%minute%</code></dt>
|
||||||
|
<dd>
|
||||||
|
<?php _e('Minute of the hour, for example <code>43</code>') ?>
|
||||||
|
</dd>
|
||||||
|
<dt><code>%second%</code></dt>
|
||||||
|
<dd>
|
||||||
|
<?php _e('Second of the minute, for example <code>33</code>') ?>
|
||||||
|
</dd>
|
||||||
|
<dt><code>%postname%</code></dt>
|
||||||
|
<dd>
|
||||||
|
<?php _e('A sanitized version of the title of the post. So “This Is A Great Post!” becomes “<code>this-is-a-great-post</code>” in the URI') ?>
|
||||||
|
</dd>
|
||||||
|
<dt><code>%post_id%</code></dt>
|
||||||
|
<dd>
|
||||||
|
<?php _e('The unique ID # of the post, for example <code>423</code>') ?>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
<?php _e('<p>So for example a value like:</p>
|
<?php _e('<p>So for example a value like:</p>
|
||||||
<p><code>/archives/%year%/%monthnum%/%day%/%postname%/</code> </p>
|
<p><code>/archives/%year%/%monthnum%/%day%/%postname%/</code> </p>
|
||||||
<p>would give you a permalink like:</p>
|
<p>would give you a permalink like:</p>
|
||||||
@ -58,10 +91,14 @@ if ($_POST['submit']) {
|
|||||||
<p><code>/index.php/archives/%year%/%monthnum%/%day%/%postname%/</code> </p>
|
<p><code>/index.php/archives/%year%/%monthnum%/%day%/%postname%/</code> </p>
|
||||||
<p>If you use this option you can ignore the mod_rewrite rules. </p>') ?>
|
<p>If you use this option you can ignore the mod_rewrite rules. </p>') ?>
|
||||||
<form name="form" action="options-permalink.php" method="post">
|
<form name="form" action="options-permalink.php" method="post">
|
||||||
<?php _e('<p>Use the template tags above to create a virtual site structure:</p>') ?>
|
<p><?php _e('Use the template tags above to create a virtual site structure:') ?></p>
|
||||||
<p>
|
<p>
|
||||||
<input name="permalink_structure" type="text" style="width: 98%;" value="<?php echo $permalink_structure; ?>" />
|
<input name="permalink_structure" type="text" style="width: 98%;" value="<?php echo $permalink_structure; ?>" />
|
||||||
</p>
|
</p>
|
||||||
|
<p><?php _e('Enter a path without templates for your categories:') ?> FIXME[THIS WORDING MAKES NO SENSE]</p>
|
||||||
|
<p>
|
||||||
|
<input name="category_base" type="text" style="width: 98%;" value="<?php echo $category_base; ?>" />
|
||||||
|
</p>
|
||||||
<p class="submit">
|
<p class="submit">
|
||||||
<input type="submit" name="submit" value="<?php _e('Update Permalink Structure »') ?>">
|
<input type="submit" name="submit" value="<?php _e('Update Permalink Structure »') ?>">
|
||||||
</p>
|
</p>
|
||||||
|
@ -803,6 +803,11 @@ function upgrade_110() {
|
|||||||
$wpdb->query("INSERT INTO $tableoptions (option_name, option_type, option_value, option_admin_level) VALUES ('home', 3, '', 8)");
|
$wpdb->query("INSERT INTO $tableoptions (option_name, option_type, option_value, option_admin_level) VALUES ('home', 3, '', 8)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Option for category base
|
||||||
|
if(!$wpdb->get_var("SELECT option_id FROM $tableoptions WHERE option_name = 'category_base'")) {
|
||||||
|
$wpdb->query("INSERT INTO $tableoptions (option_name, option_type, option_value, option_admin_level) VALUES ('category_base', 3, '', 8)");
|
||||||
|
}
|
||||||
|
|
||||||
// Delete unused options
|
// Delete unused options
|
||||||
$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file');
|
$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file');
|
||||||
foreach ($unusedoptions as $option) :
|
foreach ($unusedoptions as $option) :
|
||||||
|
@ -50,7 +50,7 @@ if (! empty($_SERVER['PATH_INFO'])) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$wpvarstoreset = array('m','p','posts','w', 'cat','withcomments','s','search','exact', 'sentence','poststart','postend','preview','debug', 'calendar','page','paged','more','tb', 'pb','author','order','orderby', 'year', 'monthnum', 'day', 'name', 'category_name', 'feed', 'author_name');
|
$wpvarstoreset = array('m','p','posts','w', 'cat','withcomments','s','search','exact', 'sentence','poststart','postend','preview','debug', 'calendar','page','paged','more','tb', 'pb','author','order','orderby', 'year', 'monthnum', 'day', 'hour', 'minute', 'second', 'name', 'category_name', 'feed', 'author_name');
|
||||||
|
|
||||||
for ($i=0; $i<count($wpvarstoreset); $i += 1) {
|
for ($i=0; $i<count($wpvarstoreset); $i += 1) {
|
||||||
$wpvar = $wpvarstoreset[$i];
|
$wpvar = $wpvarstoreset[$i];
|
||||||
@ -132,44 +132,58 @@ $add_hours = intval(get_settings('gmt_offset'));
|
|||||||
$add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours));
|
$add_minutes = intval(60 * (get_settings('gmt_offset') - $add_hours));
|
||||||
$wp_posts_post_date_field = "post_date"; // "DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)";
|
$wp_posts_post_date_field = "post_date"; // "DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)";
|
||||||
|
|
||||||
// if a month is specified in the querystring, load that month
|
// If a month is specified in the querystring, load that month
|
||||||
if ($m != '') {
|
if ('' != $m) {
|
||||||
$m = ''.intval($m);
|
$m = '' . preg_replace('|[^0-9]|', '', $m);
|
||||||
$where .= ' AND YEAR(post_date)='.substr($m,0,4);
|
$where .= ' AND YEAR(post_date)=' . substr($m, 0, 4);
|
||||||
if (strlen($m)>5)
|
if (strlen($m)>5)
|
||||||
$where .= ' AND MONTH(post_date)='.substr($m,4,2);
|
$where .= ' AND MONTH(post_date)=' . substr($m, 4, 2);
|
||||||
if (strlen($m)>7)
|
if (strlen($m)>7)
|
||||||
$where .= ' AND DAYOFMONTH(post_date)='.substr($m,6,2);
|
$where .= ' AND DAYOFMONTH(post_date)=' . substr($m, 6, 2);
|
||||||
if (strlen($m)>9)
|
if (strlen($m)>9)
|
||||||
$where .= ' AND HOUR(post_date.)='.substr($m,8,2);
|
$where .= ' AND HOUR(post_date)=' . substr($m, 8, 2);
|
||||||
if (strlen($m)>11)
|
if (strlen($m)>11)
|
||||||
$where .= ' AND MINUTE(post_date)='.substr($m,10,2);
|
$where .= ' AND MINUTE(post_date)=' . substr($m, 10, 2);
|
||||||
if (strlen($m)>13)
|
if (strlen($m)>13)
|
||||||
$where .= ' AND SECOND(post_date)='.substr($m,12,2);
|
$where .= ' AND SECOND(post_date)=' . substr($m, 12, 2);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($year != '') {
|
if ('' != $hour) {
|
||||||
|
$hour = '' . intval($hour);
|
||||||
|
$where .= " AND HOUR(post_date)='$hour'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('' != $minute) {
|
||||||
|
$minute = '' . intval($minute);
|
||||||
|
$where .= " AND MINUTE(post_date)='$minute'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('' != $second) {
|
||||||
|
$second = '' . intval($second);
|
||||||
|
$where .= " AND SECOND(post_date)='$second'";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('' != $year) {
|
||||||
$year = '' . intval($year);
|
$year = '' . intval($year);
|
||||||
$where .= " AND YEAR(post_date)='$year'";
|
$where .= " AND YEAR(post_date)='$year'";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($monthnum != '') {
|
if ('' != $monthnum) {
|
||||||
$monthnum = '' . intval($monthnum);
|
$monthnum = '' . intval($monthnum);
|
||||||
$where .= " AND MONTH(post_date)='$monthnum'";
|
$where .= " AND MONTH(post_date)='$monthnum'";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($day != '') {
|
if ('' != $day) {
|
||||||
$day = '' . intval($day);
|
$day = '' . intval($day);
|
||||||
$where .= " AND DAYOFMONTH(post_date)='$day'";
|
$where .= " AND DAYOFMONTH(post_date)='$day'";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($name != '') {
|
if ('' != $name) {
|
||||||
$name = preg_replace('/[^a-z0-9-]/', '', $name);
|
$name = preg_replace('/[^a-z0-9-]/', '', $name);
|
||||||
$where .= " AND post_name = '$name'";
|
$where .= " AND post_name = '$name'";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($w != '') {
|
if ('' != $w) {
|
||||||
$w = ''.intval($w);
|
$w = ''.intval($w);
|
||||||
$where .= " AND WEEK(post_date, 1)='$w'";
|
$where .= " AND WEEK(post_date, 1)='$w'";
|
||||||
}
|
}
|
||||||
|
@ -246,6 +246,9 @@ function url_to_postid($url = '') {
|
|||||||
'%year%',
|
'%year%',
|
||||||
'%monthnum%',
|
'%monthnum%',
|
||||||
'%day%',
|
'%day%',
|
||||||
|
'%hour%',
|
||||||
|
'%minute%',
|
||||||
|
'%second%',
|
||||||
'%postname%',
|
'%postname%',
|
||||||
'%post_id%'
|
'%post_id%'
|
||||||
);
|
);
|
||||||
@ -253,6 +256,9 @@ function url_to_postid($url = '') {
|
|||||||
'([0-9]{4})?',
|
'([0-9]{4})?',
|
||||||
'([0-9]{1,2})?',
|
'([0-9]{1,2})?',
|
||||||
'([0-9]{1,2})?',
|
'([0-9]{1,2})?',
|
||||||
|
'([0-9]{1,2})?',
|
||||||
|
'([0-9]{1,2})?',
|
||||||
|
'([0-9]{1,2})?',
|
||||||
'([_0-9a-z-]+)?',
|
'([_0-9a-z-]+)?',
|
||||||
'([0-9]+)?'
|
'([0-9]+)?'
|
||||||
);
|
);
|
||||||
@ -282,6 +288,9 @@ function url_to_postid($url = '') {
|
|||||||
if ($year) $where .= " AND YEAR(post_date) = '" . intval($year) . "'";
|
if ($year) $where .= " AND YEAR(post_date) = '" . intval($year) . "'";
|
||||||
if ($monthnum) $where .= " AND MONTH(post_date) = '" . intval($monthnum) . "'";
|
if ($monthnum) $where .= " AND MONTH(post_date) = '" . intval($monthnum) . "'";
|
||||||
if ($day) $where .= " AND DAYOFMONTH(post_date) = '" . intval($day) . "'";
|
if ($day) $where .= " AND DAYOFMONTH(post_date) = '" . intval($day) . "'";
|
||||||
|
if ($hour) $where .= " AND HOUR(post_date) = '" . intval($hour) . "'";
|
||||||
|
if ($minute) $where .= " AND MINUTE(post_date) = '" . intval($minute) . "'";
|
||||||
|
if ($second) $where .= " AND SECOND(post_date) = '" . intval($second) . "'";
|
||||||
if ($postname) $where .= " AND post_name = '" . $wpdb->escape($postname) . "' ";
|
if ($postname) $where .= " AND post_name = '" . $wpdb->escape($postname) . "' ";
|
||||||
|
|
||||||
// Run the query to get the post ID:
|
// Run the query to get the post ID:
|
||||||
@ -1187,29 +1196,41 @@ function rewrite_rules($matches = '', $permalink_structure = '') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$rewritecode = array(
|
$rewritecode =
|
||||||
'%year%',
|
array(
|
||||||
'%monthnum%',
|
'%year%',
|
||||||
'%day%',
|
'%monthnum%',
|
||||||
'%postname%',
|
'%day%',
|
||||||
'%post_id%'
|
'%hour%',
|
||||||
);
|
'%minute%',
|
||||||
|
'%second%',
|
||||||
|
'%postname%',
|
||||||
|
'%post_id%'
|
||||||
|
);
|
||||||
|
|
||||||
$rewritereplace = array(
|
$rewritereplace =
|
||||||
'([0-9]{4})?',
|
array(
|
||||||
'([0-9]{1,2})?',
|
'([0-9]{4})?',
|
||||||
'([0-9]{1,2})?',
|
'([0-9]{1,2})?',
|
||||||
'([_0-9a-z-]+)?',
|
'([0-9]{1,2})?',
|
||||||
'([0-9]+)?'
|
'([0-9]{1,2})?',
|
||||||
);
|
'([0-9]{1,2})?',
|
||||||
|
'([0-9]{1,2})?',
|
||||||
|
'([_0-9a-z-]+)?',
|
||||||
|
'([0-9]+)?'
|
||||||
|
);
|
||||||
|
|
||||||
$queryreplace = array (
|
$queryreplace =
|
||||||
'year=',
|
array (
|
||||||
'monthnum=',
|
'year=',
|
||||||
'day=',
|
'monthnum=',
|
||||||
'name=',
|
'day=',
|
||||||
'p='
|
'hour=',
|
||||||
);
|
'minute=',
|
||||||
|
'second=',
|
||||||
|
'name=',
|
||||||
|
'p='
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
$match = str_replace('/', '/?', $permalink_structure);
|
$match = str_replace('/', '/?', $permalink_structure);
|
||||||
@ -1263,7 +1284,7 @@ function rewrite_rules($matches = '', $permalink_structure = '') {
|
|||||||
|
|
||||||
// Code for nice categories and authors, currently not very flexible
|
// Code for nice categories and authors, currently not very flexible
|
||||||
$front = substr($permalink_structure, 0, strpos($permalink_structure, '%'));
|
$front = substr($permalink_structure, 0, strpos($permalink_structure, '%'));
|
||||||
$catmatch = $front . 'category/';
|
$catmatch = get_settings( 'category_base' ) . '/';
|
||||||
$catmatch = preg_replace('|^/+|', '', $catmatch);
|
$catmatch = preg_replace('|^/+|', '', $catmatch);
|
||||||
|
|
||||||
$catfeedmatch = $catmatch . '(.*)/' . $feedregex;
|
$catfeedmatch = $catmatch . '(.*)/' . $feedregex;
|
||||||
|
@ -24,8 +24,9 @@ function get_category_link($echo = false, $category_id, $category_nicename) {
|
|||||||
$file = get_settings('home') . '/' . get_settings('blogfilename');
|
$file = get_settings('home') . '/' . get_settings('blogfilename');
|
||||||
$link = $file.$querystring_start.'cat'.$querystring_equal.$cat_ID;
|
$link = $file.$querystring_start.'cat'.$querystring_equal.$cat_ID;
|
||||||
} else {
|
} else {
|
||||||
if ('' == $category_nicename) $category_nicename = $cache_categories[$category_id]->category_nicename;
|
$category_nicename = $cache_categories[$category_id]->cat_name;
|
||||||
// Get any static stuff from the front
|
$category_nicename = preg_replace( '|[^a-z0-9-]|i', '', $category_nicename );
|
||||||
|
// Get any static stuff from the front
|
||||||
$front = substr($permalink_structure, 0, strpos($permalink_structure, '%'));
|
$front = substr($permalink_structure, 0, strpos($permalink_structure, '%'));
|
||||||
$link = get_settings('home') . $front . 'category/';
|
$link = get_settings('home') . $front . 'category/';
|
||||||
if ($parent=$cache_categories[$category_id]->category_parent) $link .= get_category_parents($parent, FALSE, '/', TRUE);
|
if ($parent=$cache_categories[$category_id]->category_parent) $link .= get_category_parents($parent, FALSE, '/', TRUE);
|
||||||
|
@ -50,6 +50,9 @@ function get_permalink($id=false) {
|
|||||||
'%year%',
|
'%year%',
|
||||||
'%monthnum%',
|
'%monthnum%',
|
||||||
'%day%',
|
'%day%',
|
||||||
|
'%hour%',
|
||||||
|
'%minute%',
|
||||||
|
'%second%',
|
||||||
'%postname%',
|
'%postname%',
|
||||||
'%post_id%'
|
'%post_id%'
|
||||||
);
|
);
|
||||||
@ -60,6 +63,9 @@ function get_permalink($id=false) {
|
|||||||
date('Y', $unixtime),
|
date('Y', $unixtime),
|
||||||
date('m', $unixtime),
|
date('m', $unixtime),
|
||||||
date('d', $unixtime),
|
date('d', $unixtime),
|
||||||
|
date('H', $unixtime),
|
||||||
|
date('i', $unixtime),
|
||||||
|
date('s', $unixtime),
|
||||||
$post->post_name,
|
$post->post_name,
|
||||||
$post->ID
|
$post->ID
|
||||||
);
|
);
|
||||||
@ -75,6 +81,9 @@ function get_permalink($id=false) {
|
|||||||
date('Y', $unixtime),
|
date('Y', $unixtime),
|
||||||
date('m', $unixtime),
|
date('m', $unixtime),
|
||||||
date('d', $unixtime),
|
date('d', $unixtime),
|
||||||
|
date('H', $unixtime),
|
||||||
|
date('i', $unixtime),
|
||||||
|
date('s', $unixtime),
|
||||||
$idpost->post_name,
|
$idpost->post_name,
|
||||||
$id
|
$id
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user