本文整理汇总了PHP中generic_ping函数的典型用法代码示例。如果您正苦于以下问题:PHP generic_ping函数的具体用法?PHP generic_ping怎么用?PHP generic_ping使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了generic_ping函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: do_all_pings
/**
* The ping method modified to use our enclosure method over WordPress'
*/
function do_all_pings()
{
global $wpdb;
// Do pingbacks
while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
$wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
pingback($ping->post_content, $ping->ID);
}
# Do enclosures if enabled, and if doing enclosures, use our custom method
if (get_option('pod_disable_enclose') != 'yes') {
// Do Enclosures
while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
$wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_encloseme';", $enclosure->ID));
$this->do_enclose($enclosure->post_content, $enclosure->ID);
}
}
// Do Trackbacks
$trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish'");
if (is_array($trackbacks)) {
foreach ($trackbacks as $trackback) {
do_trackbacks($trackback);
}
}
//Do Update Services/Generic Pings
generic_ping();
}
示例2: ryo_old2new
function ryo_old2new()
{
global $wpdb;
$hours = 24;
/*
* Set number of hours after which oldest will be made the newest
* If you have a lot of posts, a daily rotation may be okay. Otherwise we suggest you
* adjust this to a matter of days, weeks, or months.
* Note: If you are caching with WP_Cache updates may not be immediately visible at time expiration.
*/
// *** You Should Have No Need To Change Anything Below Here ***
$now = abs(strtotime(current_time('mysql')));
$newestposttime = $wpdb->get_var("SELECT post_date FROM {$wpdb->posts} WHERE post_date != '0000-00-00 00:00:00' AND post_status = 'publish' ORDER BY post_date DESC LIMIT 1");
if ($newestposttime && $now - abs(strtotime($newestposttime)) > $hours * 3600) {
$oldpost = $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE post_date != '0000-00-00 00:00:00' AND post_status = 'publish' ORDER BY post_date LIMIT 1");
if ($oldpost) {
$timestamp = current_time('mysql');
$gmtstamp = get_gmt_from_date($timestamp);
$oldposttime = $wpdb->get_var("SELECT post_date FROM {$wpdb->posts} WHERE ID = {$oldpost} LIMIT 1");
$wpdb->query("UPDATE {$wpdb->posts} SET post_date='{$timestamp}', post_date_gmt='{$gmtstamp}' WHERE ID='{$oldpost}'");
generic_ping($oldpost);
}
}
}
示例3: do_all_pings
/**
* Perform all pingbacks, enclosures, trackbacks, and send to pingback services.
*
* @since 2.1.0
*
* @global wpdb $wpdb WordPress database abstraction object.
*/
function do_all_pings()
{
global $wpdb;
// Do pingbacks
while ($ping = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
delete_metadata_by_mid('post', $ping->meta_id);
pingback($ping->post_content, $ping->ID);
}
// Do Enclosures
while ($enclosure = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
delete_metadata_by_mid('post', $enclosure->meta_id);
do_enclose($enclosure->post_content, $enclosure->ID);
}
// Do Trackbacks
$trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish'");
if (is_array($trackbacks)) {
foreach ($trackbacks as $trackback) {
do_trackbacks($trackback);
}
}
//Do Update Services/Generic Pings
generic_ping();
}
示例4: fwp_do_pings
function fwp_do_pings()
{
if (!is_null($fwp_held_ping) and $post_id) {
// Defer until we're done updating
$fwp_held_ping = $post_id;
} elseif (function_exists('do_all_pings')) {
do_all_pings();
} else {
generic_ping($fwp_held_ping);
}
}
示例5: do_all_pings
/**
* Perform all pingbacks, enclosures, trackbacks, and send to pingback services.
*
* @since 2.1.0
* @uses $wpdb
*/
function do_all_pings()
{
global $wpdb;
// Do pingbacks
while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
$mid = $wpdb->get_var("SELECT meta_id FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme' LIMIT 1");
do_action('delete_postmeta', $mid);
$wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE meta_id = %d", $mid));
do_action('deleted_postmeta', $mid);
pingback($ping->post_content, $ping->ID);
}
// Do Enclosures
while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
$mid = $wpdb->get_var($wpdb->prepare("SELECT meta_id FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_encloseme'", $enclosure->ID));
do_action('delete_postmeta', $mid);
$wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE meta_id = %d", $mid));
do_action('deleted_postmeta', $mid);
do_enclose($enclosure->post_content, $enclosure->ID);
}
// Do Trackbacks
$trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish'");
if (is_array($trackbacks)) {
foreach ($trackbacks as $trackback) {
do_trackbacks($trackback);
}
}
//Do Update Services/Generic Pings
generic_ping();
}
示例6: csyn_generic_ping
function csyn_generic_ping($post_id)
{
global $wpdb, $csyn_syndicator;
$dates = $wpdb->get_row("SELECT post_date, post_modified FROM {$wpdb->posts} WHERE id={$post_id}");
if ($csyn_syndicator->count <= 1 && $dates->post_modified == $dates->post_date && (strtotime($dates->post_modified < time()) || strtotime($dates->post_date) < time())) {
if (function_exists('_publish_post_hook')) {
_publish_post_hook($post_id);
} else {
generic_ping();
}
}
}
示例7: do_all_pings
function do_all_pings() {
global $wpdb;
// Do pingbacks
while ($ping = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme' LIMIT 1")) {
$wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
pingback($ping->post_content, $ping->ID);
}
// Do Enclosures
while ($enclosure = $wpdb->get_row("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
$wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
do_enclose($enclosure->post_content, $enclosure->ID);
}
// Do Trackbacks
$trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status = 'publish'");
if ( is_array($trackbacks) ) {
foreach ( $trackbacks as $trackback )
do_trackbacks($trackback->ID);
}
//Do Update Services/Generic Pings
generic_ping();
}
示例8: post_news
/**
* 依据给定的地址和规则采集并发表文章
* @package WordPress
* @subpackage Auto-Post-News
* @since 0.0.1
* @param array $news_args 所有需要用到的参数,参考示例
* @return bool 成功则返回文章ID,失败则返回具体原因
*/
function post_news()
{
$news_args = array('lock_file' => dirname(__FILE__) . '/post.lock', 'news_list_type' => 'rss', 'news_rss' => 'http://feeds.bbci.co.uk/news/business/rss.xml', 'news_max' => 2, 'auto_matche' => FALSE, 'news_pattern' => array(array('<!-- / story-body -->', '|<h1 class="story-header">([\\W\\w]*?)</h1>([\\W\\w]*?)</div><!-- / story-body -->|i'), array('<div id="page-bookmark-links-foot"', '|<h1 class="story-header">([\\W\\w]*?)</h1>([\\W\\w]*?)<div id="page-bookmark-links-foot"|i'), array('<table class="storycontent"', '|<table class="storycontent"[\\W\\w]*?<h1>([\\W\\w]*?)</h1>([\\W\\w]*?)<!-- body - End -->|i')), 'preg_replace' => array('|<noscript>[\\W\\w]*?</noscript>|i', '|<script[\\W\\w]*?</script>|i', '|<form[\\W\\w]*?</form>|i', '|<ul class="related-links-list">[\\W\\w]*?</ul>|i', '|<!--[\\W\\w]*?-->|i', '|<[a-z][^>]*></[^>]*>|i', '|<div class="read-more">[\\W\\w]*?</div>|i'), 'str_replace' => array("\n", "\t", "\r", "", "\v", ' ', 'Continue reading the main story'), 'has_content_post' => 'publish', 'no_content_post' => 'draft', 'author' => '1', 'category_name' => 'Business', 'rss_time' => FALSE, 'add_more' => array(TRUE, 1000, 500), 'publish_time' => TRUE, 'orgin_link' => TRUE);
if (lock('check', $news_args['lock_file']) == 'locked') {
return 'Locked';
}
ignore_user_abort(TRUE);
$rss = fetch_feed($news_args['news_rss']);
if (!is_wp_error($rss)) {
$items = $rss->get_items();
} else {
lock('delete', $news_args['lock_file']);
return $rss;
}
$post_guids = get_guids('numberposts=50&post_status=publish,draft');
$allowedposttags = array('address' => array(), 'a' => array('href' => array(), 'id' => array(), 'title' => array(), 'rel' => array(), 'rev' => array(), 'name' => array(), 'target' => array()), 'abbr' => array('title' => array()), 'acronym' => array('title' => array()), 'article' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'aside' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'b' => array(), 'big' => array(), 'blockquote' => array('id' => array(), 'cite' => array(), 'lang' => array(), 'xml:lang' => array()), 'br' => array('class' => array()), 'caption' => array('align' => array(), 'class' => array()), 'cite' => array('dir' => array(), 'lang' => array(), 'title' => array()), 'code' => array(), 'col' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'span' => array(), 'dir' => array(), 'valign' => array(), 'width' => array()), 'del' => array('datetime' => array()), 'dd' => array(), 'details' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'open' => array(), 'xml:lang' => array()), 'dl' => array(), 'dt' => array(), 'em' => array(), 'figure' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'figcaption' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'font' => array('color' => array(), 'face' => array(), 'size' => array()), 'footer' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'h1' => array('align' => array(), 'id' => array()), 'h2' => array('align' => array(), 'id' => array()), 'h3' => array('align' => array(), 'id' => array()), 'h4' => array('align' => array(), 'id' => array()), 'h5' => array('align' => array(), 'id' => array()), 'h6' => array('align' => array(), 'id' => array()), 'header' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'hgroup' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'hr' => array('align' => array(), 'noshade' => array(), 'size' => array(), 'width' => array()), 'i' => array(), 'img' => array('alt' => array(), 'align' => array(), 'border' => array(), 'height' => array(), 'hspace' => array(), 'longdesc' => array(), 'vspace' => array(), 'src' => array(), 'width' => array()), 'ins' => array('datetime' => array(), 'cite' => array()), 'kbd' => array(), 'li' => array('align' => array(), 'class' => array()), 'menu' => array('type' => array()), 'p' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'pre' => array('width' => array()), 'q' => array('cite' => array()), 's' => array(), 'span' => array('dir' => array(), 'align' => array(), 'lang' => array(), 'title' => array(), 'xml:lang' => array()), 'section' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'strike' => array(), 'strong' => array(), 'sub' => array(), 'summary' => array('align' => array(), 'dir' => array(), 'lang' => array(), 'xml:lang' => array()), 'sup' => array(), 'table' => array('align' => array(), 'bgcolor' => array(), 'border' => array(), 'cellpadding' => array(), 'cellspacing' => array(), 'dir' => array(), 'id' => array(), 'rules' => array(), 'summary' => array(), 'width' => array()), 'tbody' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), 'td' => array('abbr' => array(), 'align' => array(), 'axis' => array(), 'bgcolor' => array(), 'char' => array(), 'charoff' => array(), 'colspan' => array(), 'dir' => array(), 'headers' => array(), 'height' => array(), 'nowrap' => array(), 'rowspan' => array(), 'scope' => array(), 'valign' => array(), 'width' => array()), 'tfoot' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), 'th' => array('abbr' => array(), 'align' => array(), 'axis' => array(), 'bgcolor' => array(), 'char' => array(), 'charoff' => array(), 'colspan' => array(), 'headers' => array(), 'height' => array(), 'nowrap' => array(), 'rowspan' => array(), 'scope' => array(), 'valign' => array(), 'width' => array()), 'thead' => array('align' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), 'title' => array(), 'tr' => array('align' => array(), 'bgcolor' => array(), 'char' => array(), 'charoff' => array(), 'valign' => array()), 'tt' => array(), 'u' => array(), 'ul' => array('type' => array()), 'ol' => array('start' => array(), 'type' => array()), 'video' => array('autoplay' => array(), 'controls' => array(), 'height' => array(), 'loop' => array()), 'preload' => array(), 'src' => array(), 'width' => array());
$count_post = 0;
foreach ($items as $item) {
$news_matche = array();
$post = array();
if (in_array($item->get_id(), $post_guids)) {
continue;
}
$news = get_news($item->get_id());
//提取正文
if ($news == FALSE) {
$post_content = $item->get_content();
$post_status = $news_args['no_content_post'];
} else {
foreach ($news_args['news_pattern'] as $pattern) {
if (!$news_args['auto_matche'] && stripos($news, $pattern['0'])) {
preg_match($pattern['1'], $news, $news_matche);
break;
} else {
preg_match($pattern['1'], $news, $news_matche);
}
}
// print_r($news_matche);
if (!empty($news_matche)) {
$post_content = $news_matche['2'];
$post_status = $news_args['has_content_post'];
} elseif ($item->get_content()) {
$post_content = $item->get_content();
$post_status = $news_args['no_content_post'];
} else {
continue;
}
}
$post_content = custom_replace($post_content, $news_args['str_replace'], $news_args['preg_replace']);
$post_content = wp_kses($post_content, $allowedposttags);
$post_content = wptexturize($post_content);
$post_content = popuplinks($post_content);
$post_content = make_link_absolute($post_content, $item->get_id());
if ($news_args['add_more']['0'] && strlen($post_content) > max(600, $news_args['add_more']['1'])) {
$post_content = substr_replace($post_content, '<!--more-->', stripos($post_content, '</p>', max(300, $news_args['add_more']['2'])) + 4, 0);
}
if ($news_args['publish_time']) {
$post_content .= '<br />Published at ' . $item->get_date(get_option('date_format') . ' ' . get_option('time_format')) . ' GMT';
}
if ($news_args['orgin_link']) {
$post_content .= '<br />From: <a target="_blank" title="' . $item->get_title() . '" href="' . $item->get_id() . '">' . $item->get_title() . '</a>';
}
// echo $post_content . '<hr />';
$post_category = term_exists($news_args['category_name'], 'category');
if (!$post_category && $news_args['category_name']) {
$post_category = wp_insert_term($news_args['category_name'], 'category');
}
$post = array('post_status' => $post_status, 'post_author' => $news_args['author'], 'post_category' => $post_category ? array($post_category['term_id']) : '', 'post_date' => $news_args['rss_time'] ? $item->get_date() : '', 'post_content' => $post_content, 'post_excerpt' => $item->get_description(), 'post_title' => $item->get_title(), 'tags_input' => '', 'guid' => $item->get_id());
generic_ping(wp_insert_post($post));
if (++$count_post >= $news_args['news_max']) {
break;
}
sleep('1');
}
lock('delete', $news_args['lock_file']);
}
示例9: fwp_do_pings
function fwp_do_pings () {
if (!is_null($fwp_held_ping) and $post_id) : // Defer until we're done updating
$fwp_held_ping = $post_id;
elseif (function_exists('do_all_pings')) :
do_all_pings();
else :
generic_ping($fwp_held_ping);
endif;
}
示例10: while
while ($enclosure = $wpdb->get_row("SELECT ID, post_content, meta_id FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme' LIMIT 1")) {
delete_metadata_by_mid('post', $enclosure->meta_id);
do_enclose($enclosure->post_content, $enclosure->ID);
}
}
// Do Trackbacks
if (apply_filters('vip_do_trackbacks', false)) {
$trackbacks = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE to_ping <> '' AND post_status = 'publish' LIMIT 10");
if (is_array($trackbacks)) {
foreach ($trackbacks as $trackback) {
do_trackbacks($trackback);
}
}
}
// Do Update Services/Generic Pings
generic_ping();
});
}
/**
* On Go, all API usage must be over HTTPS for security
*
* Filter `rest_url` to always return the https:// version
*
* If this must be disabled for local development, the filter
* can be removed, but be aware that HTTPS is enforced at the web server
* level in production, meaning non-HTTPS API calls will result in a 406 error.
*/
add_filter('rest_url', '_vip_filter_rest_url_for_ssl');
function _vip_filter_rest_url_for_ssl($url)
{
$url = set_url_scheme($url, 'https');