WordPress插件开发记录
1.a标签在新的网页中打开内容
<a href="网址" target="_blank"></a>
2.PDO的$request->fetchAll(PDO::FETCH_ASSOC);
fetchAll
3.datatables waring(table id = 'xx'):cannot reinitialise datatable
如果出现这种错误是因为在一个网页中加载了两次DataTables
1.查找HTML网页中是否有两次加载js
2.查看JS代码是否有两次初始化DT
4.PHP解析JSON字符串
直接使用json_decode解析出来的类型为:对象
如果在使用中加上参数true解析出来的为:数组
<?php
$json = '{"a":"php","b":"mysql","c":3}';
$json_Class=json_decode($json);
$json_Array=json_decode($json, true);
print_r($json_Class);
print_r($json_Array);
?>
访问对象类型$json_Class的a的值:echo $json_Class->{'a'};
访问数组类型$json_Array的a的值:echo $json_Array['a'];
5.add_action 将函数连接到指定action(动作)。
http://www.wpdaxue.com/add_action.html
6.add_options_page
add_options_page(
$page_title:当菜单被选中时候,这个文本被显示在Title标记中
$menu_title:菜单的文本显示
$capability: 当前用户是否有权利浏览这个页面
$menu_slug: 菜单将引用这个slug的名字(对于菜单来说应该是唯一的)
$function:这个方法中的的内容将白调用输出到菜单说点击的页面
)
7.URLEncoder.encode("微信截图", "UTF-8");
8.查询删除表中的数据
DELETE FROM t_posts WHERE id IN ( select * from( SELECT id FROM t_posts WHERE post_content LIKE '%?resize=%') as t);
9.在删除t_topic表中的数据的时候,要除去post_content为空的记录。使用 delete from t_topic where post_content is null 不行。后来使用 = '' 才可以
10.MySql删除一列有相同内容的数据
select distinct(post_content) from t_posts
http://www.open-open.com/lib/view/open1404568229186.html
http://www.111cn.net/database/mysql/56725.htm
查询表中重复的记录:
select post_content from t_posts group by post_content having count(post_content) > 1
查询出表中内容重复的id
select id from t_posts group by post_content having count(post_content) >1
11.$draw = $_GET['draw']; //第几次请求
12.zTree
13.DataTable分页处理数据
1.在处理分页数据的时候,如果要使用服务器端分页,那么不能使用sAjaxSource进行ajax请求,只能使用ajax的方式请求。
2.如果要使用服务器分页,则需要设置字段serverSide为true,并使用ajax
3.还要注意查API文档,客户端会给服务器发送什么字段,服务器要返回什么字段。同时要注意字段的名称,在网上有很多种版本,参考官方。
http://datatables.club/manual/server-side.html
发送参数: 返回的数据:
1.draw 1.draw
2.start 2.recordsTotal 即没有过滤的记录数(数据库里总共记录数)
3.length 3.recordsFiltered 过滤后的记录数(如果有接收到前台的过滤条件,则返回的是过滤后的记录数)
14.在PHP查询中,如果查询的条件中含有字符串,那么在构建SQL语句时应该加上单引号
$query = "select keywords from topic where uuid = '$uuid'";
15.Undefined offset: 0 in
数组为空,然后直接使用$res[0]去获取值
16.在拼接字符串时出现的问题
<input type="button" name="sub" onclick="postData(\''+row.uuid+'\')" value="确认" class="btn btn-success btn-sm"/>
如果row.uuid为数字,那么正常 postData(1)
如果row.uuid为字幕,那么传递的参数为: postData(aaa),正确的为:postData('aaa')
17.aptana
18.PHP判断获取到的POST值是否为空
if(!empty($_POST['uuid'])){
$uuid = $_POST['uuid'];
}else{}
19.查看php-fpm状态
service php-fpm status
20.mysql语句怎么将数据库中某个字段的所有值全部替换成另一个值?
update table set a=REPLACE(a,'1','2');
a 为字段名 例:a字段中,把1改为2.
update t_posts set post_content = REPLACE(post_content,'www.goldenlauncher.com/wordpress','www.goldenmob.com');
21.PHP拼接字符串
$condition = $condition."uuid = '".$uuid."'";
select author,title,app_category,content,keywords,add_time,domain,image_count,uuid,tags,custom_tag from topic where {$condition} order by add_time desc limit {$start},{$length}
22.在DT进行搜索的时候,这个时候所查出来的总数会改变,有没有办法在一条SQL语句中,将当前的查询出来的条数查出来?
23.删除特定数据
DELETE
FROM
topic
WHERE
uuid IN (
SELECT
*
FROM
(
SELECT
uuid
FROM
topic
WHERE
content LIKE '<img src=%'
) AS t
);
24.显示在主菜单栏
public function register_my_custom_menu_page(){
if(function_exists('add_menu_page')){
add_menu_page("WP Fastest Cache Settings", "WP Fastest Cache", 'manage_options', "wpfastestcacheoptions", array($this, 'optionsPage'), plugins_url("wp-fastest-cache/images/icon-32x32.png"), "99.".time() );
wp_enqueue_style("wp-fastest-cache", plugins_url("wp-fastest-cache/css/style.css"), array(), time(), "all");
}
25.需要注意的是,由于在WordPress中可以配置wp-content/plugins/目录的位置,所以你必须使用plugin_dir_path()和plugins_url()两个函数来获取插件的路径。
plugin_dir_path 使用来获取插件绝对路径
wp_enqueue_script 用来将插件加载
/**
* Enqueue a script with jQuery as a dependency.
*/
function wpdocs_scripts_method() {
wp_enqueue_script( 'custom-script', get_stylesheet_directory_uri() . '/js/custom_script.js', array( 'jquery' ) );
}
add_action( 'wp_enqueue_scripts', 'wpdocs_scripts_method' );
protected function getWpContentDir(){
return WPFC_WP_CONTENT_DIR;
}
添加关键字 tags
设置等级