长时间不登陆wordpress博客,容易忘记后台登陆密码,一般情况下有2种办法解决这个问题。

第一种很简单,在登陆界面点击“忘记密码”,然后输入登陆账号或电子邮箱地址,此时wordpress会发送一封重置密码的邮件至你的电子邮箱。

第二种方法就是在phpmyadmin里修改数据表。

①在数据库里找到“wp_users”表,选择你需要更改密码的用户;

②点击“编辑”,修改“user_pass”字段的数值;

③由于wordpress的密码是使用md5加密方式,所以我们要选择“MD5”函数,然后再填写你想用的密码;

④保存后即可使用新密码登陆wordpress。

#emlog#默认的模板文件是没有index.php的,而是用log_list.php这个博客列表页作为首页模板。

增加index.php模板作为首页的方法很简单,只需要在log_list.php顶部增加一段代码即可。如下:

<?php    /** 日志列表部分*/if(!defined('EMLOG_ROOT')) {exit('error!');}    if($pageurl == Url::logPage()){  include View::getView('index');  exit;  }  ?>

只要把从第6行到第9行的代码添加进去就可以了。


在使用phpcms V9时,经常出现调用文章时间标签会显示1970年的问题,虽然不知道真正的原因,但我找到了解决方法。方法很简单,使用php strtotime() 函数即可。

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

{date('Y',strtotime($updatetime))}         大写Y显示 2013, 小写 y 则显示 13{date('M-D',strtotime($updatetime))}     大写为英文月日, 小写为数字月日{date('Y',time($updatetime))} 获取当前时间戳

另外解释下phpcms标签里的updatetime和inputtime标签:

①updatetime是更新时间(也叫修改时间,就是后台的文章列表看到的时间);②inputtime是第一次写文章时的发布时间(就是添加文章或者修改文章时缩略图下方的时间)。

一般情况下,发布时间不会自动变动,但更新时间则会随着文章修改而变动。我们在前端页面写标签的时候,一般也都写发布时间,这样不会造成去年写的文章,修改后变成今年的文章。当然,如果写更新时间其实问题也不大。


很多时候,我们需要调用一些随机文章来提高用户体验度,以及网站文章的展现量。phpcms V9默认是没有调用随机文章的pc标签,所以我们只能自己动手丰衣足食了。实现效果的步骤很简单:

①打开\phpcms\libs\functions\extention.func.php文件,此文章是pc官方留给用户专门开发自定义函数库的,所以pc程序升级是不会涉及此文件的;

②添加以下函数代码:

/** 2013/04/23* 随机读取文章列表 * * @param $modelid 模型ID 必须* @param $catid 栏目ID 可选,为0或未指定调去全模型的数据* @param $siteid 站点ID 可选,默认为1* @param $thumb 是否必须有缩微图 可选,默认为0* @param $num 调用文章数量 可选,默认为10* @return array 返回随机文章列表数组*/function suiji($modelid, $catid, $siteid = 1, $thumb = 0, $num = 10){  if(!$modelid = intval($modelid))return false;  $sitid = intval($siteid) ? intval($siteid) : 1;  $catid = intval($catid);  $num = intval($num);  $thumb = intval($thumb) ? " AND thumb != ''" : '';  $CATEGORYS = getcache('category_content_'.$siteid,'commons');  if($CATEGORYS[$catid]['child']){  $catids_str = $CATEGORYS[$catid]['arrchildid'];  $pos = strpos($catids_str,',')+1;  $catids_str = substr($catids_str, $pos);  $sql = " AND catid IN ($catids_str)".$thumb;  }  elseif($catid) {  $sql = " AND catid='$catid'".$thumb;  }  else {  $sql = $thumb;  }  $c_db = pc_base::load_model('content_model');  $c_db->set_model($modelid);  $id = '';  for($i=1;$i<=$num;$i++){  $not = $id ? " AND id NOT IN ($id) " : '';  $rs = $c_db->query("SELECT * FROM $c_db->table_name AS t1 JOIN (SELECT ROUND(RAND()*(SELECT MAX(id) FROM $c_db->table_name WHERE status = 99 $sql)) AS id2) AS t2 WHERE t1.id>=t2.id2 and t1.status = 99 $sql $not ORDER BY t1.id ASC LIMIT 1");  while($r = mysql_fetch_array($rs,MYSQL_ASSOC)){  $return[]=$r;  $id = $id ? $id.','.$r['id'] : $r['id'];  }  }  return$return;  }

③前端页面调用方法(示例):

{php $data = suiji(1,0,1,0,15)}{loop $data $r}            <<>li><<>ahref="{$r[url]}"target="_blank"title="{$r[title]}">{str_cut($r[title], 51, '')}<a><li>{/loop}{/pc}

 好了,这种方法是不影响phpcms版本升级的。


我们在做内容站的时候,经常需要使用到文章排行榜,但phpcms默认的pc调用标签是需要具体栏目ID的,那么如何调用全站文章的点击排行榜呢?官方不给方法,我们只好自己创造方法了。步骤如下:

①打开\phpcms\modules\content\classes\content_tag.class.php文件;

②找个位置添加以下代码(首行时间可以自由修改,方便后期查询):

/** 2013年4月23日* sitehits站点点击排行    * @param $data*/function sitehits($data){          if(emptyempty($data['siteid'])) return false;          $siteid = intval($data['siteid']);          $this->hits_db = pc_base::load_model('hits_model');          $category_content = getcache('category_content','commons');          $catid = '';          //获取站点下所有栏目ID      foreach($category_contentas$key=>$val){              if($val==$siteid){                  $catid .= $comma.$key;                  $comma=',';              }  }          //获取点击排行        $r = $this->hits_db->select('catid in('.$catid.')','hitsid',$data['limit'],$data['order']);          $return = array();          $sitemodel_model_db = pc_base::load_model('sitemodel_model');          $this->db_config = pc_base::load_config('database');          $tablepre = $this->db_config['default']['tablepre'];          foreach($ras$key){              preg_match_all('/-(\d+)-/',$key['hitsid'],$modelid);              $id = substr($key['hitsid'],(strpos($key['hitsid'],'-',2)+1));              $tablename = $sitemodel_model_db->get_one(array('modelid'=>$modelid[1][0]),'tablename');              $this->db->table_name = $tablepre.$tablename['tablename'];            $return[] = array_merge($return,$this->db->get_one(array('id'=>$id)));          }  return$return;  }

③备份文件,以防后期pc程序升级时被覆盖;

④前端页面模板调用方法(示例):

{pc:content action="sitehits" siteid="4" num="10" order="views DESC" cache="3600"}  {loop $data$r}         "{$r[url]}" target="_blank">{$r[title]}  {/loop}  {/pc}

OK了。