- 22, Oct 2024
- #1
Я создал плагин, который вызывает список сообщений и получает данные внешнего API. Я использую get_posts для получения списка (потому что мне нужно передать массив ссылок в запрос API)
По какой-то причине любая попытка нумерации страниц либо полностью терпит неудачу, либо загружает одни и те же сообщения. Поскольку ничего из того, что я сделал, не помогло, на этом этапе я удалил всю нумерацию страниц.
add_action('admin_menu' , 'blgs_dashboard_snap');
function blgs_dashboard_snap() {
add_dashboard_page( 'Social Metrics', 'Social Metrics', 'read', 'blgs-social-metrics-snap', 'blgs_metrics_page');
}
function blgs_metrics_page() {
echo '<div class="wrap">';
echo '<div id="icon-blgs-metrics" class="icon32">';
echo '<br />';
echo '</div>';
echo '<h2>Social Metrics Dashboard</h2>';
echo '<div id="bg_social_page">';
echo '
<ul class="headers">
<li class="post_date">Publish Date</th>
<li class="post_title">Post Title</th>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/twitter.png', __FILE__ ).'" title="Твиттер" alt="Твиттер"></li>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/gplus.png', __FILE__ ).'" title="Гугл Плюс" alt="Гугл Плюс"></li>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/stumble.png', __FILE__ ).'" title="StumbleUpon" alt="StumbleUpon"></li>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/linkedin.png', __FILE__ ).'" title="LinkedIn" alt="LinkedIn"></li>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/delicious.png', __FILE__ ).'" title="Вкусный" alt="Вкусный"></li>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/reddit.png', __FILE__ ).'" title="Реддит" alt="Реддит"></li>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/digg.png', __FILE__ ).'" title="Дигг" alt="Дигг"></li>
<li class="social_icon social_total"><img src="'.plugins_url( '/img/facebook.png', __FILE__ ).'" title="Фейсбук" alt="Фейсбук"></li>
<li class="fb_total fb_comm">Comments</li>
<li class="fb_total fb_like">Likes</li>
<li class="fb_total fb_share">Shares</li>
</ul>
';
global $post;
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'order' => 'DESC',
'orderby' => 'date',
'posts_per_page' => 15,
);
$dash_posts = get_posts( $args );
// build out table
foreach( $dash_posts as $post ) : setup_postdata($post);
$link = get_permalink();
$grab = urlencode($link);
$request = new WP_Http;
$url = 'http://api.sharedcount.com/?url='.$grab.'';
$response = wp_remote_get ( $url );
if( is_wp_error( $response ) ) {
echo '<p>There was an error getting the data. Please try again later.</p>';
} else {
$output = json_decode( $response['body'] );
}
$title = get_the_title();
$edit = get_edit_post_link( $post->ID, $title );
$date = get_the_date('m/d/y');
// get my numbers
$stumble = $output->StumbleUpon;
$reddit = $output->Reddit;
$delicious = $output->Delicious;
$gplus = $output->GooglePlusOne;
$twitter = $output->Twitter;
$digg = $output->Diggs;
$linkedin = $output->LinkedIn;
// facebook sub counts
$fb_total = $output->Facebook->total_count;
$fb_cmbox = $output->Facebook->commentsbox_count;
$fb_click = $output->Facebook->click_count;
$fb_comms = $output->Facebook->comment_count;
$fb_like = $output->Facebook->like_count;
$fb_share = $output->Facebook->share_count;
// set even odd for some fancy
$altrows = ( ' altrow' != $altrows ) ? ' altrow' : '';
// now output the data
echo '
<ul class="numbers'.$altrows.'">
<li class="post_date">'.$date.'</li>
<li class="post_title"><a href="'.$edit.'">'.$title.'</a></li>
<li class="social_total">'.$twitter.'</li>
<li class="social_total">'.$gplus.'</li>
<li class="social_total">'.$stumble.'</li>
<li class="social_total">'.$linkedin.'</li>
<li class="social_total">'.$delicious.'</li>
<li class="social_total">'.$reddit.'</li>
<li class="social_total">'.$digg.'</li>
<li class="social_total">'.$fb_total.'</li>
<li class="fb_total fb_comm">'.$fb_comms.'</li>
<li class="fb_total fb_like">'.$fb_like.'</li>
<li class="fb_total fb_share">'.$fb_share.'</li>
</ul>
';
endforeach;
wp_reset_postdata();
echo '</div></div>';
}
есть какие-нибудь идеи о том, (а) как заставить его работать и (б) куда оно должно идти?
#нумерация страниц #get-posts #admin-menu