Author: 迎迎 姚
在WordPress Feeds 里加入特色图片
编辑你的Feed模板基本与编辑你的主题模板一样。然而,Feed模板不集成到WordPress主题系统;如果你希望你的订阅的不同版本,你需要创建额外的模板。 自定义Feed模板 feed 模板位于/wp-includes/feed-{type}.php文件, 包括rdf格式、rss、rss和atom。他们是由feed重写规则使用一系列的行动中定义wp-includes /功能。使用 add_action wp-includes / default-filters.php php和附加。 为了覆盖需要清楚自己的模板默认行为叫load_template然后采取适当的步骤。使用一个模板为默认的一个示例rss2 feed 位于模板目录为自定义文章类型: remove_all_actions( ‘do_feed_rss2’ ); add_action( ‘do_feed_rss2’, ‘itc_feed_rss2’, 10, 1 ); function itc_feed_rss2( $for_comments ) { $rss_template = get_template_directory() . ‘/feeds/itc_feed_rss2.php’; if(get_query_var( ‘post_type’ ) == ‘post’ && file_exists( $rss_template ) ) load_template( $rss_template ); else do_feed_rss2( $for_comments ); // Call default function } 然后在你的主题里建立一个feeds…
HTML特殊字符显示 – ISO Latin-1字符集
ISO Latin-1字符集 HTML特殊字符显示 HTML字符实体(Character Entities) 有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的开始,这个小于号是不显示在我们最终看到的网页里的。那如果我们希望在网页中显示一个小于号,该怎么办呢? 这就要说到HTML字符实体(HTML Character Entities)了。 一个字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。 比如,要显示小于号,就可以写<或者<。 用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。 注意:Entity是区分大小写的。 如何显示空格 通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用 表示空格。 最常用的字符实体(Character Entities) Charactern 字符 Decimal code 十进制编码 Named entity 已命名实体 Character 字符 Decimal code 十进制编码 Named entity 已命名实体 — � — —  — —  — —  — —  — —  — —…
A simple way to schedule an Minutely event in WordPress
之前一直没有注意到要在执行任务计划之前先清除,以至于每隔1分钟就添加一个新的任务计划,最后内存枯竭。
怎么把自定义文章类型(Custom Post Types)加入到 WordPress 主RSS
你需要在你的主题函数里添加一个滤镜(filter),例如: function _feed_request($qv) { if (isset($qv[‘feed’])) $qv[‘post_type’] = get_post_types(); return $qv; } add_filter(‘request’, ‘_feed_request’); 这个滤镜修改了Wordpress的查询,保留默认的文字类型同时加入所有的自定义文章类型(Custom Post Types)。 但是如果只想指定的几个类型在你的feed里,你可以这样: function _feed_request($qv) { if (isset($qv[‘feed’]) && !isset($qv[‘post_type’])) $qv[‘post_type’] = array(‘post’, ‘event’, ‘product’); return $qv; } add_filter(‘request’, ‘_feed_request’); 这样在主feed里就会同时加入 post,event 和 product。
String translation not working when do wordpress Ajax with WPML
正常的配置 WPML 使用 PO/MO 文件 使用 Codestyling Localisation 创建 PO/MO 文件 问题是在时候 Ajax 的时候,函数 __() 失效, 因为,首先你需要加载所有关于当前语言的翻译。很奇怪的 WPML 不能正确的使用翻译文件,这可能是 WORDPRESS 和 WPML 的一些限制。暂时的,下面的方法可能对大家有些帮助。 如果你做一个搜索的功能,首先,添加一个隐藏域到表单里: if(defined(‘ICL_SITEPRESS_VERSION’) && defined(‘ICL_LANGUAGE_CODE’)){ echo ‘<input type=”hidden” id=”lang” name=”lang” value=”‘.ICL_LANGUAGE_CODE.'” />’; } 在 Ajax call: if(!empty($_REQUEST[‘lang’])) { global $sitepress; $sitepress->switch_lang($_REQUEST[‘lang’], true); $lang = get_template_directory() . ‘/language’; $unload = unload_textdomain(‘textdomain’); $load = load_textdomain(‘textdomain’, $lang…
Move Excerpt After Title Field in WordPress Backend
Just feel better if the excerpt div appear after title field function wpdevil_to_admin_head() { echo <<<EOF <script> jQuery(document).ready(function(cash) { if($(‘#postexcerpt’).length > 0){ var preexcerpt = $(‘#postexcerpt’); var curwysiwyg = $(‘#postdivrich’); curwysiwyg.prepend(preexcerpt); } }); </script> EOF; } add_action(‘admin_head’, ‘wpdevil_to_admin_head’);
List taxonomies and categories without link in WordPress
Maybe you wanna list taxonomies and categories by function the_terms(‘,’) or the_category(‘,’) but without the Links, these filter below can help make it. add_filter(‘the_terms’, ‘no_terms_links’, 10, 2); function no_terms_links($term_list, $taxonomy) { if (‘publication_category’ === $taxonomy){ return wp_filter_nohtml_kses($term_list); } return $term_list; } //the_category add_filter(‘the_category’, ‘no_category_links’, 10, 1); function no_category_links($thelist) { return wp_filter_nohtml_kses($thelist); }
wordpress add_action
说明 在指定的action上挂载(挂钩机制)一个函数。 对于这些动作,您可以在Plugin API/Action Reference上查看。当在Wordpress内部调用do_action()时,这些动作将被触发。 用法 <?php add_action( $tag, $function_to_add, $priority, $accepted_args ); ?> 参数 $tag (string) (参数必需) 动作的名字。 (对于这些动作,您可以在Plugin API/Action Reference上查看。) Default: 没有默认值 $function_to_add (callback) (参数必需) 动作触发时,被调用函数的名字。 注释:在PHP文档中 ‘callback’ 类型的语法解释是有效的。 Default: 没有默认值 $priority (int) (参数可选) 函数的优先级。改变这个值可以让您的函数在其他函数之前执行,或者是之后执行。默认值为10,例如把这个值设置为5将更早的被执行,设置为12将会晚一些执行。也就是小的值被优先执行。 Default: 10 $accepted_args (int) (参数可选) 函数参数的个数。在 WordPress 1.5.1+, 当匹配的 do_action() 或apply_filters()运行,钩子函数可以传入格外的参数。例如动作comment_id_not_found可以传入评论的ID。 Default: 1 示例 1、当文章发表的时候发邮件给朋友 function email_friends($post_ID) { $friends =…
There are something you can remove for WordPress
这些代码,可以帮助你去除 header 里一些不必要的元素,CSS 和 JS 引入链接后面的版本号,隐藏admin bar 里的评论icon,清理仪表盘里的众多 Widgets,甚至去除源码里链接的 域名 部分。
WordPress 多媒体库只显示当前用户上传的文件
在 wordpress 的 media library 里只显示当前用户上传的文件。也试用于 acf_form //wordpress show only media user has uploaded add_action(‘pre_get_posts’,’ml_restrict_media_library’); function ml_restrict_media_library( $wp_query_obj ) { global $current_user, $pagenow; if( !is_a( $current_user, ‘WP_User’) ) return; if( ‘admin-ajax.php’ != $pagenow || $_REQUEST[‘action’] != ‘query-attachments’ ) return; if( !current_user_can(‘manage_media_library’) ) $wp_query_obj->set(‘author’, $current_user->ID ); return; } is_a() 函数已废弃,自 PHP 5 起使用 instanceof 类型运算符。上例在 PHP 5…
Get first or last element from PHP array()
$stack = array(“orange”, “banana”, “apple”, “raspberry”); $last_value = array_pop($stack); // return “raspberry” $first_value = array_shift(array_values($stack)); // return “orange”
WordPress 参考函数:get_children
描述 get_children() 返回附件(attachments)、历史版本(revisions)或者根据父页面获取子页面。类似与 get_posts()。 概要 array $children =& get_children( mixed $args = “”, constant $output = OBJECT); 返回值 返回一个文章关联数组(参数 $output 决定输出的变量类型),以文章ID作为数组的Key。如果没有发现任何文章,返回空数组。 在版本2.9之前,如果没有发现任何文章则返回 false。 默认参数(版本2.7) $defaults = array( ‘post_parent’ => 0, ‘post_type’ => ‘any’, ‘numberposts’ => -1, ‘post_status’ => ‘any’ ); 参数 全部参数参考 get_posts()。 版本2.6以后,你必须通过一个非空的文章类型(post_type)参数(或附件(attachment)或页面(page))。 $args (混合型)通过一个数组设置多个参数。通过一个整形的文章ID或者一个文章对象可以获得该文章的子文章。如果是一个空的值,则可以获得当前文章或者页面的子文章或页面。 $args[‘numberposts’] (整形)获取子文章或页面的数量。可选的,默认 -1(无限制) $args[‘post_parent’] (整形)通过文章或页面的ID获取他们的子文章或页面。Pass 0 to get attachments without…
WordPress 参考函数:get_boundary_post
描述 获取发表的第一篇或最后一篇文章。 使用 <?php get_boundary_post( $in_same_cat, $excluded_categories, $start ); ?> 参数 $in_same_cat (布尔型)(可选)是否在同一分类。默认:false $excluded_categories (字符串)(可选)排除分类的ID。默认:’’ $start (布尔型)(可选)是否是第一篇。默认:true。 返回值 如果成功,返回文章对象。 如果全局变量 $post 没有设定,返回空。 如果没有相应的文章存在,返回空字符串。 注释 get_boundary_post() 将文章指向第一篇文章。 变更日志 版本2.8.0起 源码位置 get_boundary_post()在 wp-includes/link-template.php.
WordPress 参考函数:get_adjacent_post
描述 获取毗连的文章。 可以是前一篇或后一篇。 使用 <?php get_adjacent_post( $in_same_cat, $excluded_categories, $previous ) ?> 参数 $in_same_cat (布尔型)(可选的)文章是否在相同的分类。 默认:false。 $excluded_categories (字符串)(可选的)剔除分类的ID。默认:‘’ $previous (布尔型)(可选的)是否返回上一篇文章。默认:true 返回值 如果没有错误,返回文章对象。 如果全局变量 $post 没有设置,返回值是 Null。 如果不存在相匹配的文章,返回空字符串。 注释 使用全局变量:(对象)$post 使用全局变量:(对象)$wpdb Filters $adjacent 是 ‘previous’ 或者 ‘next’ “get_{$adjacent}_post_join”: $join, $in_same_cat, $excluded_categories “get_{$adjacent}_post_where”: $wpdb->prepare(“WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = ‘publish’ $posts_in_ex_cats_sql”, $current_post_date, $post->post_type), $in_same_cat, $excluded_categories…
Change position of Featured image Metabox in wordpress
特征图片的位置一开始已经写死在Wordpress 核心里了,如果你想把它移到左边区域,或者边栏的靠前位置,下面或许是一个解决方案。 首先是去除掉特色图片的metabox,然后使用 add_meta_box 重新添加。 post_thumbnail_meta_box 是一个已经定义好的函数,可以直接调用。 前提:你必须在模板里已经启用 Post Thumbnails add_theme_support( ‘post-thumbnails’ ); add_theme_support( ‘post-thumbnails’, array( ‘post’ ) ); // Posts only add_theme_support( ‘post-thumbnails’, array( ‘page’ ) ); // Pages only add_theme_support( ‘post-thumbnails’, array( ‘post’, ‘movie’ ) ); // Posts and Movies 然后: add_action(‘do_meta_boxes’, ‘customposttype_image_box’); function customposttype_image_box() { remove_meta_box( ‘postimagediv’, ”, ‘side’ ); add_meta_box(‘postimagediv’, __(‘Featured Image’),…