Author: 迎迎 姚

  • FlexSlider 从这里开始

    FlexSlider 从这里开始

    Step 1 – Link files Add these items to theof your document. This will link jQuery and the FlexSlider core CSS/JS files into your webpage. You can also choose to host jQuery on your own server, but Google is nice enough to take care of that for us! <!– Place somewhere in the <head> of…

  • 在WordPress Feeds 里加入特色图片

    在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…

  • WordPress 获取相关文章

    WordPress 获取相关文章

    或许有点用,不过只适用与文章类型。 设想是: 首先获取拥有相同标贴的文章 如果数量不足,获取拥有部分相同标签的文章 如果数量还不足,获取拥有相同分类的文章 再不足,获取部分相同分类的文章.

  • WordPress 如何在 Child Theme 重写 Parent 里的 shortcode
  • HTML特殊字符显示 – ISO Latin-1字符集

    ISO Latin-1字符集 HTML特殊字符显示 HTML字符实体(Character Entities) 有些字符在HTML里有特别的含义,比如小于号<就表示HTML Tag的开始,这个小于号是不显示在我们最终看到的网页里的。那如果我们希望在网页中显示一个小于号,该怎么办呢? 这就要说到HTML字符实体(HTML Character Entities)了。 一个字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。 比如,要显示小于号,就可以写&lt;或者&#60;。 用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。 注意:Entity是区分大小写的。 如何显示空格 通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用&nbsp;表示空格。 最常用的字符实体(Character Entities) Charactern 字符 Decimal code 十进制编码 Named entity 已命名实体 Character 字符 Decimal code 十进制编码 Named entity 已命名实体 — &#00; — — &#01; — — &#02; — — &#03; — — &#04; — — &#05; — —…

  • A simple way to schedule an Minutely event in WordPress

    A simple way to schedule an Minutely event in WordPress

    之前一直没有注意到要在执行任务计划之前先清除,以至于每隔1分钟就添加一个新的任务计划,最后内存枯竭。

  • 怎么定制 Yoast breadcrumb

    怎么定制 Yoast breadcrumb

    一般来说Yoast SEO 的 breadcrumb 功能已经很好了。 但是有的时候有的情况下还是需要一定的定制。 如果你有一个自定义文章 custom post type 叫 product,默认情况下, custom post type archive 页面会自动列出所有的 products,但是如果你想更容易的定制 product list 页面,我觉得最好还是创建一个页面模板, page-products.php, 然后创建一个页面来使用这个模板,这样你可以使用 custom fileds 来为这个页面定制更多可控制的内容。 为什么我不使用 custom post type archive page: archive page 的url 用的是 post-type, 也就是你的链接会是 domian.com/product/, 然而这个情况下的话我觉得用 domain.com/products/ 更有道理些。 如果 product archive 页面还有其他内容,banner 图片,描述,等等,这样你就很难去设置,而通过页面custom fileds 就很容易解决。 在使用 WPML 的时候更高的兼容性。 但是这样的设置在使用 Yoast breadcrumb 的时候会出现一个问题,就是你在 product…

  • 怎么把自定义文章类型(Custom Post Types)加入到 WordPress 主RSS

    怎么把自定义文章类型(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

    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

    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

    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

    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

    There are something you can remove for WordPress

    这些代码,可以帮助你去除 header 里一些不必要的元素,CSS 和 JS 引入链接后面的版本号,隐藏admin bar 里的评论icon,清理仪表盘里的众多 Widgets,甚至去除源码里链接的 域名 部分。

  • WordPress 多媒体库只显示当前用户上传的文件

    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()

    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

    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

    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

    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’),…

  • 降低 Yoast metabox 的优先级

    Yoast 是一款非常优秀的 SEO 插件,但是它生产的 metabox 总是觉得优先级太高,通过下面的filter可以降低它的优先级,将Yoast的metabox排到后面去。 if (is_admin()) : add_filter( ‘wpseo_metabox_prio’, function() { return ‘low’;}); endif;