WordPress Rest Requests

Overview While the WordPress REST API may be called internally within other WordPress code via PHP, the REST API is designed to be used remotely over HTTP. HTTP is the …

修复WordPress后台图片显示,使用AliyunOSS插件时

WordPress 使用 AliyunOSS 插件 如(OSS Aliyun)将图片上传到OSS服务。如果选择 不上传缩略图,使用 oss 截图功能生成缩略图的话, 后台一些地方缩略图显示会有问题,如 特色图片,和 媒体库。 使用下面的代码可以解决改问题,使用 OSS缩略图功能代替 WordPress生成的缩略图。

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

WordPress 获取相关文章

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

怎么定制 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 …

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

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

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

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) { …

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

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 …

降低 Yoast metabox 的优先级

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

Remove Mappress metabox from WP admin except specific page template

Mappress 是一个很好用的google地图插件,但是它在后台的每个编辑页面里都添加了一个Metabox,大多时候这都不是我们想要的,所以我创建了一个 page-contact.php 的页面模板。让它出现在选择了该页面模板的页面。 if (is_admin()) : function remove_plugin_metaboxes(){ global $post; //var_dump(get_page_template_slug($post->ID)); if(get_page_template_slug($post->ID) != “page-templates/page-contact.php”){ remove_meta_box(‘mappress’, ‘page’, ‘normal’); remove_meta_box(‘mappress’, ‘page’, ‘side’); } } add_action( ‘do_meta_boxes’, ‘remove_plugin_metaboxes’ ); endif;

Remove classes and id from wp_nav_menu

function my_special_nav_class( $classes, $item ) { foreach($classes as $key=>$class){ if(preg_match(‘/^menu-item(.*)|^page(.*)/i’,$class)){ unset($classes[$key]); } } return $classes; } add_filter( ‘nav_menu_css_class’, ‘my_special_nav_class’, 10, 2 ); this filter will remove all the classes beginning …