我正在从事一个项目,它要求在单个帖子上显示页面访问计数。
我猜,在wordpress中如何做到这一点,我必须将它们存储在同一个wordpress数据库中?
我正在从事一个项目,它要求在单个帖子上显示页面访问计数。
我猜,在wordpress中如何做到这一点,我必须将它们存储在同一个wordpress数据库中?
您可以为此使用自定义字段。我的建议是设置一个快捷码,您可以在任何页面上显示计数器。对于一个没有HTML格式的非常基本的示例,可以执行以下操作:
add_shortcode( \'examplecounter\', \'counter_shortcode\' );
function counter_shortcode( $atts, $content = null ) {
global $post;
if( isset( $post->ID ) ) {
$current_count = get_post_meta( $post->ID, \'_counter_custom_field\', true );
$new_count = $current_count === \'\' ? 1 : $current_count + 1;
update_post_meta( $post->ID, \'_counter_custom_field\', $new_count );
return $new_count;
}
}
现在你可以[examplecounter]
在帖子中的任何地方,它都应该开始为您计数。:)function k99_post_hits( $id, $action ) {
$k99_HitMetaField = \'_k99_post_hits\'; // Your Custom field that stores the views
$k99_PostHits = get_post_meta($id, $k99_HitMetaField, true);
switch ($action) {
case \'count\' :
if ( $k99_PostHits ==\'\' ) {
$k99_PostHits = mt_rand(200,950); //debug joke
delete_post_meta( $id, $k99_HitMetaField);
add_post_meta( $id, $k99_HitMetaField, $k99_PostHits );
}
$k99_PostHits++;
update_post_meta( $id, $k99_HitMetaField, $k99_PostHits );
break;
case \'display\' :
echo \'this page was viewed: \' , $k99_PostHits ;
}
}
Edit I: neewbie note-忘记解释如何使用:把这个放在你想要计算的页面中,最好放在循环之外的任何其他内容之前。
<?php k99_post_hits( $post->ID, \'count\' ); //adding post counter?>
将下一行放在要显示计数的位置:<?php k99_post_hits( $post->ID, \'display\' ); //adding post counter display ?>
我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register