​★★★ Wordpress发表Post文章时,页面会出现评论框,如何禁止出现评论框。步骤如下:

一.使用wordpress的后台功能关闭文章评论依次进入"后台"—"设置"—"讨论",会出现下图所示设置页面:

二.主要就是上图中的两个选项了,如果想关闭全站评论就把那个自动关闭发布**天以后的文章评论,并把时间设置为0并打上勾。如果想关闭最新文章的评论就把第一个勾去掉。

★★★ 禁止wordpress上传图片时生成多余的缩略图:
1.在外观编辑里找到function.php文件或者在服务器下查找xx.com/wp-content/thems/xx主题/function.php.
2.打开function.php,查找add_theme_support,并注销。

3.继续查找add_image_size,并注销。

4.打开后台设置-多媒体,设置为下图所示,保存修改即可。

★★★查看站点时,会出现下面的现象:

解决方法是:打开后台-user-edit

去掉就可以啦。

★★★ 如何批量开启,关闭文章评论。

如果需要批量设置wordpress文章的评论选项,在phpmyadmin或者mysql命令行里运行sql语句即可:
批量关闭文章评论:
UPDATE `wp_posts` SET `comment_status` = 'closed' WHERE `wp_posts`.`ID` >1;
复制代码
批量开启文章评论:
UPDATE `wp_posts` SET `comment_status` = 'open' WHERE `wp_posts`.`ID` >1;
运行以上语句即可批量设置wordpress文章是否允许评论

★★★ 如何打开wordpress的评论框

在想打开的模板文件中输入<?php comment_form(); ?>即可调用wordpress的评论框

可以查看具体评论框开发https://www.wpdaxue.com/wordpress-comment_form.html

★★★ 阻止垃圾评论

五种防垃圾评论介绍:

https://www.freehao123.com/wordpress-spam/

// 垃圾评论拦截

class anti_spam {

function anti_spam() {

if ( !current_user_can('level_0') ) {

add_action('template_redirect', array($this, 'w_tb'), 1);

add_action('init', array($this, 'gate'), 1);

add_action('preprocess_comment', array($this, 'sink'), 1);

}

}

function w_tb() {

if ( is_singular() ) {

ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",

"textarea$1name=$2w$3$4/textarea><textarea name=\"comment\" cols=\"100%\" rows=\"4\" style=\"display:none\"></textarea>",$input);') );

}

}

function gate() {

if ( !empty($_POST['w']) && empty($_POST['comment']) ) {

$_POST['comment'] = $_POST['w'];

} else {

$request = $_SERVER['REQUEST_URI'];

$referer = isset($_SERVER['HTTP_REFERER'])   ? $_SERVER['HTTP_REFERER']         : '隐瞒';

$IP      = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] . ' (透过D理)' : $_SERVER["REMOTE_ADDR"];

$way     = isset($_POST['w'])      ? '手动操作'      : '未经评论表格';

$spamcom = isset($_POST['comment'])     ? $_POST['comment']     : null;

$_POST['spam_confirmed'] = "请求: ". $request. "\n来路: ". $referer. "\nIP: ". $IP. "\n方式: ". $way. "\n內容: ". $spamcom. "\n -- 记录成功 --";

}

}

function sink( $comment ) {

if ( !empty($_POST['spam_confirmed']) ) {

if ( in_array( $comment['comment_type'], array('pingback', 'trackback') ) ) return $comment;

//方法一: 直接挡掉, 將 die(); 前面两斜线刪除即可.

//die();

//方法二: 标记为 spam, 留在资料库检查是否误判.

add_filter('pre_comment_approved', create_function('', 'return "spam";'));

$comment['comment_content'] = "[ 判断这是 Spam! ]\n". $_POST['spam_confirmed'];

}

return $comment;
}
}
$anti_spam = new anti_spam();  

★★★ wordpress调取tag描述

<?php echo tag_description(); ?> 
// 分页

require get_template_directory() . '/inc/functions/pagenavi.php';

// 分页

function ality_page_nav( ) {

global $wp_query;

if ( $wp_query->max_num_pages > 1 ) : ?>

<nav id="nav-below">

<div><?php previous_posts_link( 上一页 ); ?></div>

<div><?php next_posts_link( 下一页 ); ?></div>

</nav>

<?php endif;

}

Function.php函数

<?php

function pagenavi( $before = '', $after = '', $p = 3 ) {

if ( is_singular() ) return;

global $wp_query, $paged;

$max_page = $wp_query->max_num_pages;

if ( $max_page == 1 ) return;

if ( empty( $paged ) ) $paged = 1;

echo $before.'<nav id="pagenavi">'."\n";

if ( $paged > 1 ) p_link( $paged - 1, '上页', '上页' );

if ( $paged > $p + 1 ) p_link( 1, '第一页' );

if ( $paged > $p + 2 ) echo '<span>...</span>';

for( $i = $paged - $p; $i <= $paged + $p; $i++ ) {

if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<span class='page-numbers current'>{$i}</span>" : p_link( $i );

}

if ( $paged < $max_page - $p - 1 ) echo '<span>...</span>';

if ( $paged < $max_page - $p ) p_link( $max_page, '最后一页' );

if ( $paged < $max_page ) p_link( $paged + 1,'下页', '下页' );

echo '</nav>'.$after."\n";

}

function p_link( $i, $title = '', $linktype = '' ) {

if ( $title == '' ) $title = "第 {$i} 页";

if ( $linktype == '' ) { $linktext = $i; } else { $linktext = $linktype; }

echo "<a href='", esc_html( get_pagenum_link( $i ) ), "' title='{$title}'>{$linktext}</a>";

}

?>  

★★★ wordpress给分类目录添加自定义字段,写在function.php文件中

//自定义字段

global $texonomy_slug_keywords;

$texonomy_slug_keywords='category';

add_action($texonomy_slug_keywords.'_add_form_fields','categorykeywords');

function categorykeywords($taxonomy){ ?>

<div>

<label for="tag-keywords">分类关键词</label>

<input type="text" name="tag-keywords" id="tag-keywords" value="" /><br /><span>请在此输入分类关键词。</span>

</div>

<?php }

add_action($texonomy_slug_keywords.'_edit_form_fields','categorykeywordsedit');

function categorykeywordsedit($taxonomy){ ?>

<tr>

<th scope="row" valign="top"><label for="tag-keywords">关键词</label></th>

<td><input type="text" name="tag-keywords" id="tag-keywords" value="<?php echo get_option('_category_keywords'.$taxonomy->term_id); ?>" /><br /><span>请在此输入分类关键词。</span></td>

</tr>

<?php }

add_action('edit_term','categorykeywordssave');

add_action('create_term','categorykeywordssave');

function categorykeywordssave($term_id){

if(isset($_POST['tag-keywords'])){

if(isset($_POST['tag-keywords']))

update_option('_category_keywords'.$term_id,$_POST['tag-keywords'] );

}

}  
//分类标题

global $category_slug_title;

$category_slug_title='category';

add_action($category_slug_title.'_add_form_fields','categorytitle');

function categorytitle($category){ ?>

<div>

<label for="tag-title">分类标题</label>

<input type="text" name="tag-title" id="tag-title" value="" /><br /><span>请在此输入分类标题。</span>

</div>

<?php }

add_action($category_slug_title.'_edit_form_fields','categorytitleedit');

function categorytitleedit($category){ ?>

<tr>

<th scope="row" valign="top"><label for="tag-title">分类标题</label></th>

<td><input type="text" name="tag-title" id="tag-title" value="<?php echo get_option('_category_title'.$category->term_id); ?>" /><br /><span>请在此输入分类标题。</span></td>

</tr>

<?php }

add_action('edit_term','categorytitlesave');

add_action('create_term','categorytitlesave');

function categorytitlesave($term_id){

if(isset($_POST['tag-title'])){

if(isset($_POST['tag-title']))

update_option('_category_title'.$term_id,$_POST['tag-title'] );

}

}

★分类目录添加自定义字段,读取字段的值:写在模板文件中:content.php/singel.php

**title展示**

<?php if ( is_category() ) { $category_info = get_the_category();

$category_id = $category_info[0]->cat_ID;$cat_title = get_option('_category_title'.$category_id);?><title><?php echo $cat_title;?>| <?php bloginfo('name'); ?></title><?php } ?>

**keywords获取值**

<?php

if(is_category()){

$category_info = get_the_category();

$category_id = $category_info[0]->cat_ID;

$cat_keywords = get_option('_category_keywords'.$category_id);

?>

<meta name="keywords" content="<?php echo $cat_keywords;?>"/>

★★★ wordpress规范url :www.xxx.com/xxx/ 写在function.php函数中

function nice_trailingslashit($string, $type_of_url) {

    if ( $type_of_url != 'single' )

      $string = trailingslashit($string);

    return $string;

}

add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);  

★★★WordPress 设置必须用户登录才能显示的隐藏内容

/***

*WordPress 设置必须用户登录才能显示的隐藏内容

*https://www.endskin.com/user-registered-display/

*/

function Bing_members_only_shortcode( $atts, $content = null ){

    if( is_user_logged_in() && !empty( $content ) && !is_feed() ) return $content;

    return __( '此内容必须登录才能查看', 'Bing' );

}

add_shortcode( 'members_only', 'Bing_members_only_shortcode' );  

在文章中使用简码(短代码)包裹起来要登录才能显示的内容:

[members_only]
此内容只能在登录后查看
[/members_only]

如果在 Feed 中则直不用登录也可以查看内容,如果你希望在 Feed 中无法插件此内容可以将一开始的代码替换成下边的:

1

2

3

4

5

6

7

8

9

/***

*WordPress 设置必须用户登录才能显示的隐藏内容

*Feed 中无法查看

*https://www.endskin.com/user-registered-display/

*/

function Bing_members_only_shortcode( $atts, $content = null ){

if( is_user_logged_in() && !empty( $content ) ) return $content;

if( is_feed() ) return;

return __( '此内容必须登录才能查看,Feed 中无法查看', 'Bing' );

}add_shortcode( 'members_only', 'Bing_members_only_shortcode' );

//隐藏部分内容

function login_to_read($atts, $content=null) {

extract(shortcode_atts(array("notice" => '

<span style="color: red;">温馨提示:</span>此处内容需要<a title="登录后可见" href="http://localhost/wordpress/wp-admin/">登录</a>后才能查看!

'), $atts));

if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )

                return $content;

        return $notice;

}

add_shortcode('vip', 'login_to_read')

?>  

只用在html文本编辑框中填写[vip]内容[/vip]即可。

★★★★★★★★★

如果你的WordPress根目录没有robots.txt,当有人访问这个文件时,WordPress程序会动态生成一个robots.txt给用户,如果你自己上传自己编写的robots.txt到网站根目录,用户和爬虫访问的就是你的文件,WP就不会再生成那个文件了。服务器找不到那个文件的时候WP才会生成那个文件。

Wordpress小技巧(一)的更多相关文章

  1. D3D9 优化小技巧

    此篇文章主要讲一些小技巧,针对前面转载的D3D9 GPU Hacks,我们可以做的一些优化. 在做延迟渲染或者其它需要深度的地方使用INTZ格式的纹理,这样可以直接对纹理进行操作,节省了显存和带宽,这 ...

  2. 一些实用的 Laravel 小技巧

    Laravel 中一些常用的小技巧,说不定你就用上了. 1.侧栏 网站一般都有侧栏,用来显示分类,标签,热门文章,热门评论啥的,但是这些侧栏都是相对独立的模块,如果在每一个引入侧栏的视图中都单独导入与 ...

  3. 前端网络、JavaScript优化以及开发小技巧

    一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...

  4. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  5. 分享两个BPM配置小技巧

    1.小技巧 流程图修改后发布的话版本号会+1,修改次数多了之后可能会导致版本号很高,这个时候可以将流程导出,然后删除对应的流程包再导入,发布数据模型和流程图之后,版本清零 2.小技巧 有的同事入职后使 ...

  6. linux系统维护时的一些小技巧,包括系统挂载新磁盘的方法!可收藏!

    这里发布一些平时所用到的小技巧,不多,不过会持续更新.... 1.需要将history创建硬链接ln 全盘需要备份硬链接 ln /etc/xxx /home/xxx 2.root用户不可以远程 /et ...

  7. JS处理事件小技巧

    今天,就分享一下我自己总结的一些JS的小技巧: ①防止鼠标选中事件 <div class="mask" onselectstart="return false&qu ...

  8. iOS:小技巧(不断更新)

    记录下一些不常用技巧,以防忘记,复制用. 1.获取当前的View在Window的frame: UIWindow * window=[[[UIApplication sharedApplication] ...

  9. css小技巧(1)

    1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...

  10. 最强 Android Studio 使用小技巧和快捷键

    写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...

随机推荐

  1. CSP 2021 入门级

    CSP 2021 入门级(DONE) 1.C 语言不支持面向对象. 2.计算机界的最高奖项"图灵奖"以英国的阿兰·艾伦·图灵命名,被称为"计算机界的诺贝尔奖". ...

  2. lodash已死?radash最全使用介绍(附源码详细说明)—— Array方法篇(1)

    相信很多前端同学甚至非前端都或多或少使用过lodash库,我们都知道lodash是一个非常丰富的前端工具库,比如最常用的防抖和节流,使用lodash都能很快实现,在github上更是有着58.7k的s ...

  3. #Tarjan,SPFA#洛谷 3627 [APIO2009] 抢掠计划

    题目 分析 首先重复走,钱只会计算一次,而且与路程长度无关,考虑有向图缩点,然后跑最长路,这里吧边权取反跑最短路,然后在酒吧结束也就是求\(-dis[col_x]\)的最大值,\(col_x\)也就是 ...

  4. #树状数组#洛谷 4113 [HEOI2012]采花

    题目 分析 与HH的项链类似 离线处理询问,按右端点排序,维护最近的颜色和第二近的颜色,修改以第二近的颜色为准 换句话说,若最近颜色的位置为\(pos2\),第二近颜色的位置为\(pos1\) 加入一 ...

  5. 资讯速递 | ArkUI-X 预览版已正式开源!

     OpenHarmony项目群技术指导委员会(以下简称"TSC")-跨平台应用开发框架TSG所孵化项目 -- ArkUI-X,近期已正式开源 ,开发者基于一套主代码,就可以将在Op ...

  6. 知识图谱增强的KG-RAG框架

    昨天我们聊到KG在RAG中如何发挥作用,今天我们来看一个具体的例子. 我们找到一篇论文: https://arxiv.org/abs/2311.17330 ,论文的研究人员开发了一种名为知识图谱增强的 ...

  7. 如何在HarmonyOS对数据库进行备份,恢复与加密

    数据库备份与恢复 场景介绍 当应用在处理一项重要的操作,显然是不能被打断的.例如:写入多个表关联的事务.此时,每个表的写入都是单独的,但是表与表之间的事务关联性不能被分割. 如果操作的过程中出现问题, ...

  8. 解密方舟的高性能内存回收技术——HPP GC

    原文:https://mp.weixin.qq.com/s/o8uuP1XViIyviveL4m-8ZQ,点击链接查看更多技术内容. 众所周知,内存是操作系统的一项重要资源,直接影响系统性能.而在应用 ...

  9. 进阶 stack smashing--canary 报错利用 && environ泄露栈地址

    进阶 stack smashing--canary 报错利用 && environ泄露栈地址 这部分是对进阶stack smashing的使用,以及对 environ的认识,我们可以看 ...

  10. 面向切面编程AOP[一](java 代码详解)

    前言 说句实话,在工作中,使用的aop不是特别多,但是特别重要,一般是辅助程序,在现代开发者辅助程序相当重要,比如说我们需要打印一些log,但是我们不可能去卸载我们的业务程序中,因为这太..... 正 ...