📄 template-functions-general.php
字号:
} } } } elseif ('postbypost' == $type) { $arcresults = $wpdb->get_results("SELECT ID, post_date, post_title FROM {$wpdb->posts} WHERE post_date < '$now' AND post_status = 'publish' ORDER BY post_date DESC" . $limit); if ($arcresults) { foreach ($arcresults as $arcresult) { if ($arcresult->post_date != '0000-00-00 00:00:00') { $url = get_permalink($arcresult->ID); $arc_title = stripslashes($arcresult->post_title); if ($arc_title) { $text = strip_tags($arc_title); } else { $text = $arcresult->ID; } echo get_archives_link($url, $text, $format, $before, $after); } } } }}function get_calendar($daylength = 1) { global $wpdb, $m, $monthnum, $year, $timedifference, $month, $weekday, $posts, $wp_month_format,$blog_charset; // Quick check. If we have no posts at all, abort! if (!$posts) { $gotsome = $wpdb->get_var("SELECT ID from {$wpdb->posts} WHERE post_status = 'publish' ORDER BY post_date DESC LIMIT 1"); if (!$gotsome) return; } if (isset($_GET['w'])) { $w = ''.intval($_GET['w']); } $time_difference = get_settings('time_difference'); // Let's figure out when we are if (!empty($monthnum) && !empty($year)) { $thismonth = ''.intval($monthnum); $thisyear = ''.intval($year); } elseif (!empty($w)) { // We need to get the month from MySQL $thisyear = ''.intval(substr($m, 0, 4)); $d = (($w - 1) * 7) + 6; //it seems MySQL's weeks disagree with PHP's $thismonth = $wpdb->get_var("SELECT DATE_FORMAT((DATE_ADD('${thisyear}0101', INTERVAL $d DAY) ), '%m')"); } elseif (!empty($m)) { $calendar = substr($m, 0, 6); //$calendar = xoops_substr($m, 0, 6); $thisyear = ''.intval(substr($m, 0, 4)); //$thisyear = ''.intval(xoops_substr($m, 0, 4)); if (strlen($m) < 6) { $thismonth = '01'; } else { $thismonth = ''.intval(substr($m, 4, 2)); //$thismonth = ''.intval(xoops_substr($m, 4, 2)); } } else { $thisyear = intval(date('Y', time()+($time_difference * 3600))); $thismonth = intval(date('m', time()+($time_difference * 3600))); } $unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear); // Get the next and previous month and year with at least one post $previous = $wpdb->get_row("SELECT DISTINCT MONTH( post_date ) AS month, YEAR( post_date ) AS year FROM {$wpdb->posts} WHERE post_date < '$thisyear-$thismonth-01' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 1"); $next = $wpdb->get_row("SELECT DISTINCT MONTH( post_date ) AS month, YEAR( post_date ) AS year FROM {$wpdb->posts} WHERE post_date > '$thisyear-$thismonth-01' AND MONTH( post_date ) != MONTH( '$thisyear-$thismonth-01' ) AND post_status = 'publish' ORDER BY post_date ASC LIMIT 1"); $month_str = ereg_replace('%MONTH',$month[zeroise($thismonth, 2)],$wp_month_format); $month_str = ereg_replace('%YEAR',date('Y', $unixmonth),$month_str); echo '<table id="wp-calendar"> <caption>' . $month_str . '</caption> <thead> <tr>'; foreach ($weekday as $wd) { /* if (function_exists('mb_substr')) { echo "\n\t\t<th abbr='$wd' scope='col' title='$wd'>" . mb_substr($wd, 0, $daylength,$blog_charset) . '</th>'; } else { echo "\n\t\t<th abbr='$wd' scope='col' title='$wd'>" . substr($wd, 0, $daylength) . '</th>'; } */ echo "\n\t\t<th abbr='$wd' scope='col' title='$wd'>" . xoops_substr($wd, 0, $daylength) . '</th>'; } echo ' </tr> </thead> <tfoot> <tr>'; if ($previous) { /* if (function_exists('mb_convert_encoding')) { $smonth_name = mb_substr($month[zeroise($previous->month, 2)], 0, 3,$blog_charset); } else { $smonth_name = substr($month[zeroise($previous->month, 2)], 0, 3); } */ $smonth_name = xoops_substr($month[zeroise($previous->month, 2)], 0, _WP_CAL_SMONTH_LEN); $month_str = ereg_replace('%YEAR',date('Y', mktime(0, 0 , 0, $previous->month, 1, $previous->year)),$month_str); echo "\n\t\t".'<td abbr="' . $month[zeroise($previous->month, 2)] . '" colspan="3" id="prev"><a href="' . get_month_link($previous->year, $previous->month) . '" title="浏览' . $smonth_name . '">« ' . $smonth_name . '</a></td>'; } else { echo "\n\t\t".'<td colspan="3" id="prev" class="pad"> </td>'; } echo "\n\t\t".'<td class="pad"> </td>'; if ($next) { /* if (function_exists('mb_substr')) { $smonth_name = mb_substr($month[zeroise($next->month, 2)], 0, 3,$blog_charset); } else { $smonth_name = substr($month[zeroise($next->month, 2)], 0, 3); } */ $smonth_name = xoops_substr($month[zeroise($next->month, 2)], 0, _WP_CAL_SMONTH_LEN); $month_str = ereg_replace('%MONTH',$month[zeroise($next->month, 2)],$wp_month_format); $month_str = ereg_replace('%YEAR',date('Y', mktime(0, 0 , 0, $next->month, 1, $next->year)),$month_str); echo "\n\t\t".'<td abbr="' . $month[zeroise($next->month, 2)] . '" colspan="3" id="next"><a href="' . get_month_link($next->year, $next->month) . '" title="浏览' . $month_str . '">' . $smonth_name . ' »</a></td>'; } else { echo "\n\t\t".'<td colspan="3" id="next" class="pad"> </td>'; } echo ' </tr> </tfoot> <tbody> <tr>'; // Get days with posts $dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date) FROM {$wpdb->posts} WHERE MONTH(post_date) = $thismonth AND YEAR(post_date) = $thisyear AND post_status = 'publish' AND post_date < '" . date("Y-m-d H:i:s", (time() + ($time_difference * 3600)))."'", ARRAY_N); if ($dayswithposts) { foreach ($dayswithposts as $daywith) { $daywithpost[] = $daywith[0]; } } else { $daywithpost = array(); } if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE") || strstr(strtolower($_SERVER["HTTP_USER_AGENT"]), "camino") || strstr(strtolower($_SERVER["HTTP_USER_AGENT"]), "safari")) { $ak_title_separator = "\n"; } else { $ak_title_separator = ", "; } $ak_titles_for_day = array(); $ak_post_titles = $wpdb->get_results("SELECT post_title, DAYOFMONTH(post_date) as dom " ."FROM {$wpdb->posts} " ."WHERE YEAR(post_date) = '$thisyear' " ."AND MONTH(post_date) = '$thismonth' " ."AND post_date < '".date("Y-m-d H:i:s", (time() + ($time_difference * 3600)))."' " ."AND post_status = 'publish'" ); if ($ak_post_titles) { foreach ($ak_post_titles as $ak_post_title) { if (empty($ak_titles_for_day["day_".$ak_post_title->dom])) { $ak_titles_for_day["day_".$ak_post_title->dom] = ''; } if (empty($ak_titles_for_day["$ak_post_title->dom"])) { // first one $ak_titles_for_day["$ak_post_title->dom"] = htmlspecialchars(stripslashes($ak_post_title->post_title)); } else { $ak_titles_for_day["$ak_post_title->dom"] .= $ak_title_separator . htmlspecialchars(stripslashes($ak_post_title->post_title)); } } } // See how much we should pad in the beginning $pad = intval(date('w', $unixmonth)); if (0 != $pad) echo "\n\t\t<td colspan='$pad' class='pad'> </td>"; $daysinmonth = intval(date('t', $unixmonth)); for ($day = 1; $day <= $daysinmonth; ++$day) { if (isset($newrow) && $newrow) echo "\n\t</tr>\n\t<tr>\n\t\t"; $newrow = false; if ($day == date('j', (time() + ($time_difference * 3600))) && $thismonth == date('m', time()+($time_difference * 3600))) echo '<td id="today">'; else echo "<td>"; if (in_array($day, $daywithpost)) { // any posts today? echo '<a href="' . get_day_link($thisyear, $thismonth, $day) . "\" title=\"$ak_titles_for_day[$day]\">$day</a>"; } else { echo $day; } echo '</td>'; if (6 == date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))) $newrow = true; } $pad = 7 - date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear)); if ($pad != 0 && $pad != 7) echo "\n\t\t<td class='pad' colspan='$pad'> </td>"; echo "\n\t</tr>\n\t</tbody>\n\t</table>";}function allowed_tags() { global $allowedtags; $allowed = ""; foreach($allowedtags as $tag => $attributes) { $allowed .= "<$tag"; if (0 < count($attributes)) { foreach ($attributes as $attribute => $limits) { $allowed .= " $attribute=\"\""; } } $allowed .= "> "; } return htmlentities($allowed);}/***** Date/Time tags *****/function the_date_xml() { global $post; echo mysql2date("Y-m-d",$post->post_date); //echo ""+$post->post_date;}function the_date($d='', $before='', $after='', $echo = true) { global $id, $post, $day, $previousday, $dateformat, $newday; $the_date = ''; if ($day != $previousday) { $the_date .= $before; if ($d=='') { $the_date .= mysql2date($dateformat, $post->post_date); } else { $the_date .= mysql2date($d, $post->post_date); } $the_date .= $after; $previousday = $day; } $the_date = apply_filters('the_date', $the_date); if ($echo) { echo $the_date; } else { return $the_date; }}function the_time($d='', $echo = true) { global $id, $post, $timeformat; if ($d=='') { $the_time = mysql2date($timeformat, $post->post_date); } else { $the_time = mysql2date($d, $post->post_date); } $the_time = apply_filters('the_time', $the_time); if ($echo) { echo $the_time; } else { return $the_time; }}function the_weekday() { global $weekday, $id, $post; $the_weekday = $weekday[mysql2date('w', $post->post_date)]; $the_weekday = apply_filters('the_weekday', $the_weekday); echo $the_weekday;}function the_weekday_date($before='',$after='') { global $weekday, $id, $post, $day, $previousweekday; $the_weekday_date = ''; if ($day != $previousweekday) { $the_weekday_date .= $before; $the_weekday_date .= $weekday[mysql2date('w', $post->post_date)]; $the_weekday_date .= $after; $previousweekday = $day; } $the_weekday_date = apply_filters('the_weekday_date', $the_weekday_date); echo $the_weekday_date;}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -