​★★★ 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. 实现一个简单的echarts词云图PythonFlask

    cloud.html 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta char ...

  3. redis单机部署出现READONLY You can't write against a read only

    (error) READONLY You can't write against a read only replica. 以上错误一般只会出现在主从集群配置中,可是我这里是redis单机配置,居然也 ...

  4. JVM—运行时数据区

    JVM-运行时数据区 运行时数据区概述 JVM运行时数据区如下图: 整个JVM构成里面,主要由三部分组成:类加载系统.运行时数据区.执行引擎. 按照线程使用情况和职责分成两大类: 线程独享(程序执行区 ...

  5. 3D Object Detection Essay Reading 2024.04.01

    Swin Transformer paper: https://arxiv.org/abs/2103.14030 (ICCV 2021) code:https://github.com/microso ...

  6. 您有一份OpenHarmony开发者论坛2023年度总结,请查收~

    2023 年 11 月,OpenHarmony 开发者论坛 1.0 版本正式上线. 感谢各位开发者对 OpenHarmony 的大力支持和热爱,成为 OpenHarmony 开发者论坛的第一批体验用户 ...

  7. WPS HW 漏洞 学习

    复现过程 2023 年 HW 出现 WPS 0day POC 影响版本: WPS Office 2023个人版<11.1.0.15120 WPS Office 2019企业版<11.8.2 ...

  8. mysql 必知必会整理—触发器[十五]

    前言 现在很多都是程序用于触发的,而不是触发器了. 正文 需要MySQL 5 对触发器的支持是在MySQL 5中增加的.因此,本章内容适用于MySQL 5或之后的版本. MySQL语句在需要时被执行, ...

  9. 重新整理 .net core 实践篇————防跨站脚本攻击[四十]

    前言 简单整理一下跨站脚本攻击. 正文 攻击原理是这样子的: 这种攻击被攻击的面挺多的,比如说只要有一个可以让用户输入的注入脚本就都是一个问题. 给网站注入脚本 然后用户访问给网站注入的脚本 脚本里面 ...

  10. JavaSE开发基础--包机制&JavaDoc&Scanner&循环结构&方法&数组

    包机制 如果文件在包中需要 在文件首行添加 package 地址 package pkg1.pkg2.pkg3 import package1 JavaDoc /** * @author作者名 * @ ...