关键词:
<?php
/**
* Create a new custom yoast seo sitemap
*/
add_filter( 'wpseo_sitemap_index', 'ex_add_sitemap_custom_items' );
add_action( 'init', 'init_wpseo_do_sitemap_actions' );
// Add custom index
function ex_add_sitemap_custom_items()
global $wpseo_sitemaps;
$date = $wpseo_sitemaps->get_last_modified('CUSTOM_POST_TYPE');
$smp ='';
$smp .= '<sitemap>' . "\n";
$smp .= '<loc>' . site_url() .'/CUSTOM_KEY-sitemap.xml</loc>' . "\n";
$smp .= '<lastmod>' . htmlspecialchars( $date ) . '</lastmod>' . "\n";
$smp .= '</sitemap>' . "\n";
return $smp;
function init_wpseo_do_sitemap_actions()
add_action( "wpseo_do_sitemap_CUSTOM_KEY", 'ex_generate_origin_combo_sitemap');
function ex_generate_origin_combo_sitemap()
global $wpdb;
global $wp_query;
global $wpseo_sitemaps;
$post_type = 'CUSTOM_POST_TYPE';
wp_reset_query();
$args = array(
'posts_per_page' => -1,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => $post_type,
'post_status' => 'publish',
'suppress_filters' => true
);
query_posts( $args );
wp_reset_postdata();
//echo '<pre>';print_r($url);echo '</pre>';
$posts_array = get_posts( $args );
$output = '';
if( !empty( $posts_array ) )
$chf = 'weekly';
$pri = 1.0;
foreach ( $posts_array as $p )
$p->post_type = $post_type;
$p->post_status = 'publish';
$p->filter = 'sample';
$url = array();
if ( isset( $p->post_modified_gmt ) && $p->post_modified_gmt != '0000-00-00 00:00:00' && $p->post_modified_gmt > $p->post_date_gmt )
$url['mod'] = $p->post_modified_gmt;
else
if ( '0000-00-00 00:00:00' != $p->post_date_gmt )
$url['mod'] = $p->post_date_gmt;
else
$url['mod'] = $p->post_date;
$url['loc'] = site_url().'/sample/all/'.$p->post_name;
$url['chf'] = $chf;
$url['pri'] = $pri;
$output .= $wpseo_sitemaps->sitemap_url( $url );
// Clear the post_meta and the term cache for the post, as we no longer need it now.
// wp_cache_delete( $p->ID, 'post_meta' );
// clean_object_term_cache( $p->ID, $post_type );
// Grab last modified date
$sql = $wpdb->prepare(" SELECT MAX(p.post_modified_gmt) AS lastmod
FROM $wpdb->posts AS p
WHERE post_status IN ('publish') AND post_type = %s ", $post_type );
$mod = $wpdb->get_var( $sql );
// Generate terms URLs
$practitioner_terms = get_terms( 'TAXONOMY', 'orderby=count&hide_empty=0' );
if( !empty( $practitioner_terms ) )
$pri = 1;
$chf = 'weekly';
foreach ($practitioner_terms as $key => $term )
$url = array();
$url['loc'] = site_url().'/sample/'.$term->slug;
$url['pri'] = $pri;
$url['mod'] = $mod;
$url['chf'] = $chf;
$output .= $wpseo_sitemaps->sitemap_url( $url );
// Generate permutation & combinations
if( ( !empty( $practitioner_terms) ) && ( ! empty($posts_array ) ) )
$pri = 1;
$chf = 'weekly';
wp_reset_postdata();
foreach ($practitioner_terms as $key => $term )
$args = array(
'posts_per_page' => -1,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => $post_type,
'post_status' => 'publish',
'suppress_filters' => true,
'tax_query' => array(
array(
'taxonomy' => 'TAXONOMY',
'field' => 'slug',
'terms' => $term->slug,
'operator' => 'IN'
),
),
);
$posts_array = get_posts( $args );
//echo '<pre>';print_r($posts_array);echo '</pre>';
$url = array();
foreach ($posts_array as $key => $p )
$url['loc'] = site_url().'/sample/'.$term->slug.'/'.$p->post_name;
$url['pri'] = $pri;
$url['mod'] = $mod;
$url['chf'] = $chf;
$output .= $wpseo_sitemaps->sitemap_url( $url );
if ( empty( $output ) )
$wpseo_sitemaps->bad_sitemap = true;
return;
//Build the full sitemap
$sitemap = '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ';
$sitemap .= 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" ';
$sitemap .= 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
$sitemap .= $output . '</urlset>';
//echo $sitemap;
$wpseo_sitemaps->set_sitemap($sitemap);
/*********************************************************
* OR we can use $wpseo_sitemaps->register_sitemap( 'CUSTOM_KEY', 'METHOD' );
********************************************************/
add_action( 'init', 'ex_register_my_new_sitemap', 99 );
/**
* On init, run the function that will register our new sitemap as well
* as the function that will be used to generate the XML. This creates an
* action that we can hook into built around the new
* sitemap name - 'wp_seo_do_sitemap_my_new_sitemap'
*/
function ex_register_my_new_sitemap()
global $wpseo_sitemaps;
$wpseo_sitemaps->register_sitemap( 'CUSTOM_KEY', 'ex_generate_origin_combo_sitemap' );
add_action( 'init', 'init_do_sitemap_actions' );
function init_do_sitemap_actions()
add_action( 'wp_seo_do_sitemap_our-CUSTOM_KEY', 'ex_generate_origin_combo_sitemap' );
为自定义 wordpress 插件加载 js 和 css 文件
】为自定义wordpress插件加载js和css文件【英文标题】:Loadjsandcssfilesforcustomwordpressplugin【发布时间】:2014-04-0403:46:27【问题描述】:在我的wp-contents/pugins文件夹中,我有program-registration。在这个插件里面我有js/registration.js和css/regis... 查看详情
androidgradle插件自定义gradle任务⑪(gradle任务分组|为自定义gradle任务指定分组|为自定义gradle任务指定任务描述|代码示例)(代码片段)
文章目录一、Gradle任务分组二、为自定义Gradle任务指定分组(DefaultTask#setGroup函数|DefaultTask#getGroup函数)三、为自定义Gradle任务指定任务描述(DefaultTask#setDescription函数)四、代码示例AndroidPluginDSLReference参考文档:AndroidStudio构建配置官... 查看详情
androidgradle插件gradle自定义plugin插件④(为自定义gradle插件的扩展配置扩展|在自定义插件中获取扩展属性)(代码片段)
文章目录一、AndroidGradle插件扩展的扩展二、为自定义Gradle插件的扩展配置扩展并获取扩展属性AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.... 查看详情
androidgradle插件gradle自定义plugin插件④(为自定义gradle插件的扩展配置扩展|在自定义插件中获取扩展属性)(代码片段)
文章目录一、AndroidGradle插件扩展的扩展二、为自定义Gradle插件的扩展配置扩展并获取扩展属性AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.... 查看详情
androidgradle插件自定义gradle任务⑤(为自定义gradle任务添加依赖任务|gradle任务依赖执行顺序控制)(代码片段)
文章目录一、为自定义Gradle任务添加依赖任务二、Gradle任务依赖执行顺序控制AndroidPluginDSLReference参考文档:AndroidStudio构建配置官方文档:https://developer.android.google.cn/studio/build添加构建依赖项参考文档:https://developer.android.google.cn/stud... 查看详情
WordPress ACF:为自定义帖子类型添加默认行到管理部分的中继器字段类型
...:2016-12-1010:23:23【问题描述】:WordPress的高级自定义字段插件提供了一个中继器类型字段。我已经知道如何通过代码向其中添加行,但我不知道如何让自定义帖子 查看详情
Spring Boot Test 无法使用 JUnit 5 为自定义集成测试源集加载应用程序上下文
...oot后端服务的一些集成测试开始。因此我添加了一个gradle插件来帮助我添 查看详情
.htaccess 用 WordPress 插件重写
】.htaccess用WordPress插件重写【英文标题】:.htaccessrewritewithWordPressplugin【发布时间】:2018-03-0808:19:33【问题描述】:我正在为自定义WordPress多站点网络构建一个WordPress插件,并且有一些文件使用URL变量从第二个数据库(不是WordPre... 查看详情
分隔插件不起作用
】分隔插件不起作用【英文标题】:Separatorinsetsnotworking【发布时间】:2014-01-1114:08:21【问题描述】:我在Storyboard中有一个UITableView,我已将分隔符插入配置为自定义(0,0)以及原型单元(0,0)。虽然我可以看到分隔线现在是表格宽度... 查看详情
jQuery 插件创建和面向公众的方法
】jQuery插件创建和面向公众的方法【英文标题】:jQueryplugincreationandpublicfacingmethods【发布时间】:2012-10-0412:28:33【问题描述】:我创建了一个插件,可以使用DIV将HTML选择框转换为自定义下拉菜单。一切正常,但我想让它变得更... 查看详情
在 Android 上为自定义形状添加阴影
】在Android上为自定义形状添加阴影【英文标题】:AddshadowtocustomshapeonAndroid【发布时间】:2011-03-0418:40:05【问题描述】:是否可以在Android中为自定义形状添加阴影?浏览文档后,我只看到了一种应用文本阴影的方法。我试过这个... 查看详情
将表转换为自定义类型数组
】将表转换为自定义类型数组【英文标题】:Converttableintoarrayofcustomtypes【发布时间】:2015-09-1808:26:58【问题描述】:一列表转一维数组很容易;my_arrayinteger[];my_array:=ARRAY(SELECT*FROMsingle_column_table);但就我而言,我需要将包含多列... 查看详情
快速将数据解析为自定义数据对象
】快速将数据解析为自定义数据对象【英文标题】:Parsedatatocustomdataobjectinswift【发布时间】:2018-03-1410:03:58【问题描述】:我正在尝试在swift4中使用codable将comming数据解析为自定义对象,但仍然不知道确切。这是我的自定义类:... 查看详情
自动为自定义异常添加前缀
】自动为自定义异常添加前缀【英文标题】:Automaticallyaddprefixtocustomexception【发布时间】:2016-07-1515:14:34【问题描述】:对于C++std:exception处理,我很怀疑。这是我在网上找到的一些示例代码,我目前正在使用。classMyBaseException:pu... 查看详情
为自定义类设置委托对象
】为自定义类设置委托对象【英文标题】:Setdelegateobjectforcustomclass【发布时间】:2014-08-2718:44:38【问题描述】:我制作了一个自定义视图。我设置了两种启动方式,1.initWithFrame(用于代码初始化)2.initWithCoder(用于情节提要初... 查看详情
为自定义类型扩展 spdlog
】为自定义类型扩展spdlog【英文标题】:Extendspdlogforcustomtype【发布时间】:2019-11-1709:00:21【问题描述】:在使用格式化时,有没有办法扩展spdlog以支持自定义结构作为项目?所以当我有一个structpintx;inty;intz;;pmy_p;我想做spdlog::info... 查看详情
为自引用表设置一对多关系
】为自引用表设置一对多关系【英文标题】:settingupaonetomanyrelationshipforaselfreferencingtable【发布时间】:2020-06-0705:25:33【问题描述】:我有一个Project实体,它有一个非自动生成的id字段和一个后继字段。这个继任者就是接下来的... 查看详情
为自定义 UITabBarItem 着色
】为自定义UITabBarItem着色【英文标题】:TintcustomUITabBarItem【发布时间】:2013-12-3015:24:54【问题描述】:在我的iPad应用程序中,我有自定义的UITabBarItem图像。我设置了选中和未选中的图标。选中的图标是红色的,未选中的图标是... 查看详情