一个文章的所有附件,是通过POSTS数据表中的post_parent挂钩的,以及post_type为attachment来标识的。
理解这句后,查看下面这段代码:
/* 获取指定post下的所有图片附件. */
$attachments = get_children(
array(
'post_parent' => 指定日志的ID,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID',
'suppress_filters' => true
)
);接下来的工作就是foreach读出附件的相关信息即可。
我们通常会在 WordPress 文章内容中手动插入一些相同的文本或者简码,因为这种方法不是固定的,很灵活。比如,不同的文章当中往往都有相同的文本(一些单词或短语),有时想将它们替换成别的文本,但是文章数量很多,不可能逐篇修改;又比如我以前就是使用简码嵌入谷歌地图的,非常方便。但是后来我不想使用这种方法了,便把曾经放在 functions.php 中相应的功能函数撤掉了,没有想到的是,之前调用的简码仍然留在许多文章当中,让访问者看到很不雅观,如果手动逐一删除未免费时费力,怎么办呢?
这篇文章说明两种简单的方法,只使用简单的几句代码就能够轻而易举地将众多文章中相同的文本和简码批量替换掉。
一.批量替换文章中的文本内容
将这段函数添加到主题的 functions.php 文件中:
function replace_text_wps($text){
$replace = array(
// '我是要被替换的文本' =>'我是被替换后的文本'
'wordpress' =>'',
'excerpt' =>'',
'function' =>''
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}
add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');
注释:上面代码中第四、五、六行的 wordpress,excerpt 及 function 就是要被替换的文本;相应的,及 就是被替换后的文本,很明示,它们都被替换成链接文本了。最后的两条函数的意思分别为:
1.add_filter('the_content', 'replace_text_wps'); ——>替换文章正文中的文本内容
2.add_filter('the_excerpt', 'replace_text_wps'); ——>替换文章摘要中的文本内容
Via wprecipes
二.批量删除或替换文章中的文本内容(这里以删除简码为例):
方法也许很多,但我觉得这种是最好的,那就是执行 SQL 查询语句进行批量删除,非常彻底,不过涉及WordPress 数据库重要数据表,所以事前得做好数据库的备份。
登录数据库管理中心,执行以下语句即可:
UPDATE wp_posts
SET post_content = REPLACE( post_content, '[adsense]', '' );
说明:这里我要删除的是一条已经没有用的简码“[adsense]”,使用时请修改为要删除的内容。
如果我们想将 [adsense] 替换成 [related_posts] 这样的内容,可以写成这样:
UPDATE wp_posts
SET post_content = REPLACE( post_content, '[adsense]', '[related_posts]' );
wordpress调用指定ID的文章链接、标题及内容,发现昨天那个方法不够爽,今天找到个更好的,等会儿再来一个: wordpress调用指定ID的页面链接、标题及内容。
$post_id = 1; // 文章ID,可以在WP后台找到
echo get_post( $post_id )->post_content; // 输出文章的内容
?>
以下是关于文章的所有信息:
// 调用方法:
echo get_post( $post_id )->post_title; // 输出文章的标题
// post_author :文章作者的编号
// post_data :文章发表的日期和时间(YYYY-MM-DD HH-MM-SS)
// post_data_gmt :文章发表的格林尼治标准时间(GMT) (YYYY-MM-DD HH-MM-SS)
// post_content :文章内容
// post_title :文章标题
// post_category :文章类别的编号。注意:该值在WordPress 2.1之后的版本总为0。定义文章的类别时可使用 get_the_category()函数。
// post_excerpt :文章摘要
// post_status :文章状态(publish|pending|draft|private|static|object|attachment|inherit|future)
// comment_status :评论状态(open|closed|registered_only)
// ping_status :pingback/trackback状态(open|closed)
// post_password :文章密码
// post_name :文章的URL嵌套
// to_ping :要引用的URL链接
// pinged :引用过的链接
// post_modified :文章最后修改时间(YYYY-MM-DD HH-MM-SS)
// post_modified_gmt:文章最后修改GMT时间(YYYY-MM-DD HH-MM-SS)
// post_parent :父级文章编号(供附件等)
// guid :文章的一个链接。注意:不能将GUID作为永久链接(虽然在2.5之前的版本中它的确被当作永久链接),也不能将它作为文章的可用链接。GUID是一种独有的标识符,只是目前恰巧成为文章的一个链接。
// post_type :(字符)(日志 | 页面 | 附件)
一、安装WP-AutoPost
您可以通过从您的WP-AutoPost.ORG帐户下载ZIP文件手动安装WP-AutoPost。
如果您想手动安装WP-AutoPost,请按照下列步骤操作:
登录您的WP-AutoPost.ORG帐户。
转到“账户”部分。
下载您需要的WP-AutoPost插件(ZIP 文件)。
将下载的 ZIP 文件上传到您网站的'wp-contents/plugins'目录。
解压该ZIP 文件。这将创建一个目录。
登录到您的网站,转到“插件”,并启用它。
二、创建任务及基本设置
创建任务
点击“新建任务”后,输入任务名称,即可创建新任务,创建好新任务之后可以在任务列表中查看到该任务,就可对该任务进行更多设置。
基本设置
点击 “设置” 之后,可在 “基本设置选项卡” 下,进行如下设置:
任务名称:修改任务名称
分类目录:该任务采集文章发布到的分类目录
作者:该任务采集文章的发布作者,必须是wordpress里的注册用户
更新时间间隔:间隔多长时间检测一次该采集任务下是否有新文章可以更新
字符集:采集目标网站的字符集编码,默认为UTF8,如果目标网页字符集编码不是UTF8,抓取的网页会出现乱码,设置正确的字符集即可解决该问题(如何正确设置字符集)
下载远程图片:如果该任务下采集的文章里包含图片,可以选择是否下载远程图片到本地服务器,选择下载远程图片可以做以下更多设置:
将下载的图片保存到wordpress媒体库中
将图像保存到 Flickr
将图像保存到七牛云存储
将下载的第一张图片自动设为特色图片
下载的图片自动添加水印,可添加文本水印或图片水印
选择设置图片地址的属性 (如果包含源图片地址的属性不是src,可以在这里做设置)
下载远程附件:如果该任务下采集的文章里包含其他类型附件,可以选择是否下载这些附件文件到本地服务器,选择下载后可以做以下更多设置:
将下载的附件信息保存到wordpress媒体库中
自动标签:选择是否使用自动标签
标签列表:使用自动标签后如果文章包含列表里的关键词,将自动添加标签
匹配完整的单词:该设置对英文文章有效,中文文章请勿启用该设置
自动摘要:可自动将文章中第一段或前面几段文字设为摘要
发表状态:采集发布后文章的状态,可以是:已发布,草稿,等待复审
手动选择性采集:选择是,将手动选择哪些文章可以采集并发布
三、文章来源设置
文章来源设置
在该选项卡下我们需要设置文章来源的 文章列表网址 及 具体文章的匹配规则
以上是如何在WordPress中调用单篇文章中的所有附件图片的详细内容。更多信息请关注PHP中文网其他相关文章!