您好,欢迎来到jQuery吧!QQ群:193687763(钱端开发)

jQuery吧-Write Less, Do More | 注重前端开发

  • WordPress不同分类调取不同侧栏代码

    WordPress不同分类调取不同侧栏代码

    WordPress不同分类调取不同侧栏代码
    Wordpress不同分类调取不同侧栏代码。其实并不只可以调取不同侧边栏,还可以用于调取不同的头部内容,这样每个分类的头部就不一样了,可以让你做出各种漂亮的头部,让你的博客给用户新鲜感。

    <?php$post = $wp_query->post;if ( in_category('7') ) {include(TEMPLATEPATH . '/single-view.php');}else if ( in_category('3')) {include(TEMPLATEPATH . '/single-case.php');}else if ( in_category('42') ) {include(TEMPLATEPATH . '/single42.php');}else {include(TEMPLATEPATH . '/archive-other.php');}?>

    举一反三,可以用来调取不同头部。

    补充:后来在网路看到有人反应代码有点问题,如果不同的single文件都是以single开头命名的话,可能会调取有误,解决办法,改名,比如single-case.php',改成case-single.php

    但是如果想要更多的分类呢?给出用array的方法:

    <?php$post = $wp_query->post;if ( in_category( array('3′,'4′,'5′,'6′,'7′) )) {include(TEMPLATEPATH . '/moban-single.php');}else {include(TEMPLATEPATH . '/other-single.php');}?>

    下面是调取指定分类文章代码

    <?php $posts = get_posts( "category=4&numberposts=10" ); ?><?php if( $posts ) : ?><ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?><li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a><?php endforeach; ?></ul><?php endif; ?>
  • WordPress实现调用Discuz论坛文章

    WordPress实现调用Discuz论坛文章

    WordPress实现调用Discuz论坛文章
    WordPress实现调用Discuz论坛文章。WordPress对于广大博主来说应该都很了解了。WordPress是世界上使用最多的搭建博客的开源程序,很多个人独立博客都是用WordPress的。有时候自己弄了一个博客,又折腾了一个Discuz论坛,就想把Discuz论坛的文章能在wordpress上展示出来。这样调用论坛里面的帖子可以达到全站更新的目的。虽然Discuz提供了JS调用方案,但是大家都知道,JS调用是非常不符合SEO优化的,调用过来的东西搜索引擎抓取不到,对你的wordpress网站是没有任何用处的。
    虽然WordPress调用Discuz的方法多种多样,但是这里提供的方法是最好也是最有效的方法,我们把它称为WordPress调用Discuz的终极方法。代码如下:

    <ul><?php//截取utf8字符串function utf8Substring($str, $from, $len){return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str);}//建立数据库链接$conn = @mysql_connect("localhost", "数据库用户名", "数据库密码") or die("数据库链接错误");//指定要链接的数据库mysql_select_db("数据库", $conn);//使用UTF-8中文编码;mysql_query("set names 'UTF-8'");//指定版块的所有文章中取10条最新帖子$SQL="SELECT tid,subject FROM 表名 where fid in (版块1,版块2……) ORDER BY tid DESC LIMIT 0,10";$query=mysql_query($SQL);//循环显示结果while($row=mysql_fetch_array($query)){echo "<li><span><a title=".$row[subject]." href=http://www.vpsko.com/seo/seo-".$row[tid]."-1-1.html target=_blank>".utf8Substring($row[subject], 0, 40)."</a></span></li>";}//关闭链接mysql_close($conn);?></ul>

    如果调用的时候出现了错误试着把上面代码的如下部分删除:

    //关闭链接mysql_close($conn);

    注:我自己利用这段代码,发现调用出来的中文文章乱码,后来把mysql_query("set names 'UTF-8'"); 改成mysql_query("set names 'UTF8'");
    解决问题。

    附录的另外一段代码

    <ul><?php//截取utf8字符串function utf8Substring($str, $from, $len){return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s','$1',$str);}//建立数据库链接$conn = @mysql_connect("localhost", "数据库用户名", "数据库密码") or die("数据库链接错误");//指定要链接的数据库mysql_select_db("数据库", $conn);//使用UTF-8中文编码;mysql_query("set names 'UTF-8'");//指定版块的所有文章中取10条最新帖子$SQL="SELECT tid,subject FROM 表名 where fid in (2,37,38,39,40,41,42,43,44,45) ORDER BY tid DESC LIMIT 0,10";$query=mysql_query($SQL);//循环显示结果while($row=mysql_fetch_array($query)){echo "<li><span><a title=".$row[subject]."href=http://www.vpsko.com/thread-".$row[tid]."-1-1.html target=_blank>".utf8Substring($row[subject], 0, 40)."</a></span></li>";}//关闭链接mysql_close($conn);?></ul>

    wordpress调用phpwind或discuz论坛指定版块帖子

    动手前,需要确认两项:1.wordpress和phpwind是否公用一个数据库;2.使用的字符集编码是否一致。
    这里我的情况是,wordpress和phpwind各用一个数据库,用的都是UTF-8字符集。如果看这篇文章的你和我情况不一样,请酌情修改。

    $connbbs = mysql_connect("localhost", "数据库用户", "数据库密码")or die("数据库链接错误");mysql_select_db("数据库名", $connbbs);mysql_query("set names 'UTF8'");$sql = 'SELECT `tid`, `subject` FROM `pw_threads` WHERE `fid` in (1,2) ORDER BY tid DESC LIMIT 0,10';$result = mysql_query($sql);while($row = mysql_fetch_array($result)){echo "<li><a href=http://论坛地址/read.php?tid=".$row[tid]." target=_blank>".$row[subject]." </a></li>";}mysql_close($connbbs);

    我这里是调取的论坛版块ID=1和2的最新贴10篇,phpwind数据库表使用的默认前缀pw_,使用时候根据自己需要修改相关参数。

    如果wordpress和phpwind在同一数据库内,那就更方便了,可直接使用wordpress自带的wpdb操作数据库。

    $bbsposts = $wpdb->get_results('SELECT `tid`, `subject` FROM `pw_threads` WHERE `fid` in (1,2) ORDER BY tid DESC LIMIT 0,10');foreach($bbsposts as $bbspost) {echo('<li><a href=http://论坛地址/read.php?tid=' . $bbspost->tid . ' target=_blank>' . $bbspost->subject . '</a></li>');

    以上就是phpwind指定版块的最新贴调用方法,接下来说一下discuz的调用,非常简单,改一下那句SQL。

    'SELECT `tid`, `subject` FROM `pw_threads` WHERE `fid` in (1,2) ORDER BYtid DESC LIMIT 0,10'

    修改成

    'SELECT `tid`, `subject` FROM `cdb_threads` WHERE `fid` in (1,2) ORDER BYtid DESC LIMIT 0,10'

    同时把“http://论坛地址/read.php?tid”修改为“http://论坛地址/viewthread.php?tid”。
    至此大功告成!

    字符集编码不一致,可以用使用iconv函数转码。

  • wordpress添加nofllow常用代码集合

    wordpress添加nofllow常用代码集合

    wordpress添加nofllow常用代码集合
    nofllow标签能够让搜索引擎自动识别,不对该链接进行爬取,用的好的话能有效防止网站权.重分散,有效提高页面权.重,对于网站的搜索优化很有用。收集了些wordpress各种添加nofollow的方法及代码。

    为文章标签添加rel=”nofollow”

    在 functions.php中添加如下代码即可:

    add_filter(‘the_tags’,'the_tags_nofollow’);function the_tags_nofollow($tag){$tag=preg_replace(‘/<a /’,'<a rel=”nofollow” ‘,$tag);return $tag;}

    为标签云添加rel=”nofollow”

    同样在 functions.php中添加如下代码即可:

    add_filter(‘wp_tag_cloud‘,’tag_cloud_nofollow’);function tag_cloud_nofollow($cloud){$tag=preg_replace(‘/<a /’,'<a rel=”nofollow” ‘,$cloud);return $cloud;}

    为WordPress“继续阅读”添加Nofollow标签

    在 functions.php中添加如下代码:

    function my_more_link($link){//禁止more标签自动跳转$link=preg_replace(‘/#more-\d+/i’,”,$link);//more标签外围加了一层 p$link=str_replace(‘<a’,'<p><a rel=”nofollow” title=”继续阅读: ‘.get_the_title($post->post_title).’”‘,$link);//闭合新包裹的 p$link=str_replace(‘</a>’,'</a></p>’,$link);return $link;}add_filter(‘the_content_more_link’,'my_more_link’);

    或者在functions.php中找到read-more并加入rel=“nofollow”就可以了

    记住nofollow书写规范为:

    为文章内容中不是本站链接添加NOFOLLOW

    同样在functions.php中添加代码,

    add_filter(‘the_content’,'web589_the_content_nofollow’,999);function web589_the_content_nofollow($content){preg_match_all(‘/href=”(.*?)”/’,$content,$matches);if($matches){foreach($matches[1] as $val){if( strpos($val,home_url())===false ) $content=str_replace(“href=\”$val\”", “href=\”$val\” rel=\”external nofollow\” “,$content);}}return $content;}

    为@**评论链接添加nofollow

    在functions.php添加代码。

    function add_nofollow_to_comments_popup_link(){ return ‘ rel=”nofollow” ‘; }add_filter(‘comments_popup_link_attributes’, ‘add_nofollow_to_comments_popup_link’);

    为评论作者链接添加external nofollow并在新窗口打开

    在functions.php添加代码,

    function comment_author_link_window() {global $comment;$url = get_comment_author_url();$author = get_comment_author();if ( empty( $url ) || ‘http://’ == $url )$return = $author;else$return = “<a href=$url rel=’external nofollow’ target=’_blank’>$author</a>”;return $return;}add_filter(‘get_comment_author_link’, ‘comment_author_link_window’);

    而external意为“外部”。

    友情链接如何添加Nofollow标签

    1.找到

    “/wp-admin/includes/meta-boxes.php”

    文件;
    2.查找

    “<table cellpadding=”3″ cellspacing=”5″>”;

    3.在合适位置插入代码:

    <label for=”Nofollow”> <input class=”valinp” type=”checkbox” name=”physical” value=”nofollow” id=”nofollow” <?php xfn_check(‘physical’, ‘nofollow’); ?> /> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e(‘加nofollow’) ?></label>

    不过自wordpress3.5版本以后后台“链接”选项被去掉了,但是之后的版本都有保留这个功能,要想调出来,可在functions.php中添加

    /*启用友情链接*/add_filter( ‘pre_option_link_manager_enabled’, ‘__return_true’ );?>

    调用的时候请确定代码在functions.php中的之间。

  • WordPress 4.2 禁用 Emoji 表情 和修复仪表盘评论头像错位

    WordPress 4.2 禁用 Emoji 表情 和修复仪表盘评论头像错位

    WordPress 4.2 一改之前的图片表情,改为使用 Emoji 表情 ,而且是直接远程调用api,可惜的是,这个api服务在国内是无法正常访问的,这就导致了网站加载缓慢,之前的表情无法显示等问题。好吧,下面就来禁用这个 Emoji 表情,恢复之前的图片表情。

    禁用 Emoji 表情

    在主题的 functions.php 添加代码的代码即可:

    /*** Disable the emoji's */function disable_emojis() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );}add_action( 'init', 'disable_emojis' );/** * Filter function used to remove the tinymce emoji plugin. * * @param array $plugins * @return array Difference betwen the two arrays */function disable_emojis_tinymce( $plugins ) { return array_diff( $plugins, array( 'wpemoji' ) );}

    恢复之前的图片表情

    在主题的 functions.php 添加代码的代码即可:

    <?phpfunction smilies_reset() { global $wpsmiliestrans, $wp_smiliessearch; // don't bother setting up smilies if they are disabled if ( !get_option( 'use_smilies' ) ) return; $wpsmiliestrans = array( ':mrgreen:' => 'icon_mrgreen.gif', ':neutral:' => 'icon_neutral.gif', ':twisted:' => 'icon_twisted.gif', ':arrow:' => 'icon_arrow.gif', ':shock:' => 'icon_eek.gif', ':smile:' => 'icon_smile.gif', ':???:' => 'icon_confused.gif', ':cool:' => 'icon_cool.gif', ':evil:' => 'icon_evil.gif', ':grin:' => 'icon_biggrin.gif', ':idea:' => 'icon_idea.gif', ':oops:' => 'icon_redface.gif', ':razz:' => 'icon_razz.gif', ':roll:' => 'icon_rolleyes.gif', ':wink:' => 'icon_wink.gif', ':cry:' => 'icon_cry.gif', ':eek:' => 'icon_surprised.gif', ':lol:' => 'icon_lol.gif', ':mad:' => 'icon_mad.gif', ':sad:' => 'icon_sad.gif', '8-)' => 'icon_cool.gif', '8-O' => 'icon_eek.gif', ':-(' => 'icon_sad.gif', ':-)' => 'icon_smile.gif', ':-?' => 'icon_confused.gif', ':-D' => 'icon_biggrin.gif', ':-P' => 'icon_razz.gif', ':-o' => 'icon_surprised.gif', ':-x' => 'icon_mad.gif', ':-|' => 'icon_neutral.gif', ';-)' => 'icon_wink.gif', // This one transformation breaks regular text with frequency. // '8)' => 'icon_cool.gif', '8O' => 'icon_eek.gif', ':(' => 'icon_sad.gif', ':)' => 'icon_smile.gif', ':?' => 'icon_confused.gif', ':D' => 'icon_biggrin.gif', ':P' => 'icon_razz.gif', ':o' => 'icon_surprised.gif', ':x' => 'icon_mad.gif', ':|' => 'icon_neutral.gif', ';)' => 'icon_wink.gif', ':!:' => 'icon_exclaim.gif', ':?:' => 'icon_question.gif', );}smilies_reset();

    解决仪表盘头像错位

    WordPress 4.2 开始,仪表盘的“活动”小工具的头像就出现撑破现象,
    将下面的代码添加到主题的 functions.php :

    function fixed_activity_widget_avatar_style(){ echo '<style type="text/css"> #activity-widget #the-comment-list .avatar { position: absolute; top: 13px; width: 50px; height: 50px; } </style>';}add_action('admin_head', 'fixed_activity_widget_avatar_style' );

    刷新你的仪表盘,看看是否OK啦!相信官方会在后续修复这个问题的,到时就不需要这个代码了。

  • wordpress去掉category分类免插件避免nginx 404

    wordpress去掉category分类免插件避免nginx 404

    wordpress去掉category分类免插件避免nginx 404
    使用wordpress地址中去掉category,第一个可能想到插件,很方便.其实很简单不使用插件也可以有.
    如果你是刚开的wordpress可以试试这个
    登陆wordpress仪表盘(后台)→设置→固定链接
    20150510182429
    这样就没问题了
    如果你是老站,有不少文章数据,那得三思了

  • WordPress 禁止多个人同时登录一个账号

    WordPress 禁止多个人同时登录一个账号

    WordPress 禁止多个人同时登录一个账号
    对于开放注册的 WordPress 站点来说,尤其是有会员购买服务的站点,可能需要禁止用户共享账号,也就是要禁止多个人同时登录一个账号。

    /** * Detect if the current user has concurrent sessions * * @return bool */function pcl_user_has_concurrent_sessions() { return ( is_user_logged_in() && count( wp_get_all_sessions() ) > 1 );} /** * Get the user's current session array * * @return array */function pcl_get_current_session() { $sessions = WP_Session_Tokens::get_instance( get_current_user_id() ); return $sessions->get( wp_get_session_token() );} /** * Only allow one session per user * * If the current user's session has been taken over by a newer * session then we will destroy their session automattically and * they will have to login again to continue. * * @action init * * @return void */function pcl_disallow_account_sharing() { if ( ! pcl_user_has_concurrent_sessions() ) { return; } $newest = max( wp_list_pluck( wp_get_all_sessions(), 'login' ) ); $session = pcl_get_current_session(); if ( $session['login'] === $newest ) { wp_destroy_other_sessions(); } else { wp_destroy_current_session(); }}add_action( 'init', 'pcl_disallow_account_sharing' );

    加入functions即可

  • wordpress提速之Gravatar 头像被墙及解决方案

    wordpress提速之Gravatar 头像被墙及解决方案

    wordpress提速Gravatar 头像被墙及解决方案
    调用ssl 头像链接
    https还是没被墙的,而且速度还不错,直接调用这个最简单了。
    如果你的网站启用了ssl则不需要了,否则functions.php 加入如下代码

    function get_ssl_avatar($avatar) { $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar); return $avatar;}add_filter('get_avatar', 'get_ssl_avatar');

    反正天外飞仙博客上面关闭了评论也没有啥其他用户上传头像大小的事情,最直接最简洁目前推荐这个!

  • Nginx下让WP Super Cache支持”mod_rewrite”模式

    Nginx下让WP Super Cache支持”mod_rewrite”模式

    Nginx下让WP Super Cache支持"mod_rewrite"模式
    Nginx-super-cache-rewrite
    WP Super Cache设置页面,勾选以下选项:
    mod_rewrite 缓存模式(必选)
    “缓存重建”和“移动设备支持”(可选)
    当有新文章或页面的发布或更新时清除之前的缓存文件(可选)
    当某页面有新评论时,只刷新该页面的缓存(必选)
    其它以上未提及的选项一律取消!包括一些未提及到但官方推荐勾选的功能!将底部的垃圾回收期缓存超时时间更改为0秒:
    至此WP Super Cache已可以正常运行,reload或者重启下VPS吧,如果你觉得那几个“Mod rewrite 模块可能未安装!”“重写规则必须被更新”过于碍眼的话,可以在主题文件functions.php中加入如下代码:

    add_filter('got_rewrite', 'nginx_has_rewrites');function nginx_has_rewrites() { return true;}
  • 优化wordpress关闭wordpress站内搜索功能

    优化wordpress关闭wordpress站内搜索功能

    优化wordpress关闭wordpress站内搜索功能,jQuery吧现在用百度的搜索速度还是挺好的再也没有wordpress/?s=$key
    1215
    function.php中加入

    function fb_filter_query( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; if ( $error == true ) $query->is_404 = true; }}add_action( 'parse_query', 'fb_filter_query' );add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

jQuery吧-Write Less, Do More | 注重前端开发

jQuery吧-Write Less, Do More | 注重前端开发

Copyright © 2013 jqueryba.com, All Rights Reserved.奔跑在阿里云

免责声明:本站所有内容来源于互联网。如果本站部分内容侵犯您的权益,请您告知,站长会立即处理 苏ICP备12059471号

站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!