`

WordPress实现前台发布文章

 
阅读更多

1、在当前使用的主题根目录下建一个模板:

 

<?php
/**
* Template Name: Front Post(前台发布文章)
* 作者:碎石头
* 博客:http://sheng.iteye.com
*
*/
if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'post' ) {
  if (!is_user_logged_in() ) auth_redirect();
  if(!current_user_can( 'publish_posts' ) ) {
    wp_redirect( get_bloginfo( 'url' ) . '/' );
    exit;
  }
  check_admin_referer( 'new-post' );
  $user_id  = $current_user->user_id;

  if (isset ($_POST['title'])) {
    $title =  $_POST['title'];
  } else {
    echo '请输入文章标题!';
  }
  if (isset ($_POST['content'])) {
    $content = $_POST['content'];
  } else {
    echo '请输入文章内容!';
  }
  $tags = $_POST['post_tags'];
  $post = array(
    'post_author'   => $user_id,
    'post_title'    => $title,
    'post_content'  => $content,
    'post_category' => array($_POST['cat']),
    'tags_input'    => $tags,
    'post_status'   => 'publish',
    'post_type'     => $_POST['post_type']
  );
  wp_insert_post($post);
  wp_redirect( home_url() );
}
do_action('wp_insert_post', 'wp_insert_post');
?>


<?php get_header(); ?>

<div style="width:100%; text-align: center;">
  <div style="width:96%; text-align: left; padding: 0 20px 0 20px;">
<?php
if( current_user_can( 'publish_posts' ) ) {
?>
<div style="width: 100%; font-size: 20px; font-weight: bold; text-align: center;">发布新文章</div><br/>
<!--以下为发表文章的表单-->
<script type="text/javascript">
function log_check(){
  if(new_post.title.value=="" || new_post.title.value=="输入文章标题"){
    alert("请输入文章标题!");
    new_post.title.focus();
    return false;
  }
  if(new_post.post_tags.value=="" || new_post.title.value=="输入文章TAGS,用单引号隔开"){
    alert("请设置文章标签!");
    new_post.post_tags.focus();
    return false;
  }
  if(new_post.description.value==""){
    alert("请输入文章内容!");
    new_post.description.focus();
    return false;
  }
  if(new_post.cat.value=="" || new_post.cat.value=="-1"){
    alert("请选择文章分类!");
    new_post.cat.focus();
    return false;
  }
}
</script>

<form id="new_post" name="new_post" method="post" action=" " onsubmit="return log_check();">
  <p><label for="title">文章标题:</label><input type="text" id="title" value="输入文章标题" onfocus="this.value==this.defaultValue?this.value='':null;" onblur="this.value==''?this.value='输入文章标题':null;" tabindex="1" size="80" name="title" /></p>
  <p><label for="post_tags">文章标签:</label><input type="text" value="输入文章TAGS,用单引号隔开" onfocus="this.value==this.defaultValue?this.value='':null;" onblur="this.value==''?this.value='输入文章TAGS,用单引号隔开':null;" tabindex="5" size="80" name="post_tags" id="post_tags" /></p>
  <p><label for="cat">文章分类:</label><?php /*wp_dropdown_categories( 'show_option_none=选择文章分类&tab_index=4&taxonomy=category' );*/wp_dropdown_categories( 'tab_index=4&taxonomy=category' ); ?></p>
  <p><label for="content">文章内容:</label>
<?php wp_editor( '', content, $settings = array(
                    'quicktags'=>1,
                    'tinymce'=>0,
                    'media_buttons'=>0,
                    'textarea_rows'=>4,
                    'editor_class'=>"textareastyle"
) ); ?></p>
  <input type="hidden" name="post_type" id="post_type" value="post" />
  <input type="hidden" name="action" value="post" />
  <p style="width: 100%; text-align: center;">
  <input type="submit" value="发  布" tabindex="6" id="submit" name="submit" class="inputy"/>
  <input type="reset" value="重  置" id="reset" name="" class="inputn"/>
  </p>
  <?php wp_nonce_field( 'new-post' ); ?>
</form>
<?php
}else{
?>
对不起,您没有发布文章的权限!
<?php
}
?>
  </div>
</div>
<?php get_footer(); ?>
 

 

二、新建一个页面,模板选择刚才新建的“Front Post”;

 

三、通过
http://<域名>/?page_id=<刚才新建的页面ID>

即可访问发布文章页面。

 

 

分享到:
评论

相关推荐

    wordpress用户中心汉化版

    首先,这款插件允许用户在网站的前端自由发表文章,这极大地提升了用户的互动性。用户不再需要登录后台才能发布内容,只需在前台完成编辑、上传图片等操作,即可快速分享自己的想法和见解。这一特性使得网站更具活力...

    WordPress实现网站投稿者也可以上传图片的方法

    在WordPress中,网站投稿者通常只具有发布文章的基础权限,而不包括上传图片或媒体文件的能力。这可能会限制用户提交丰富内容的积极性。然而,通过简单的代码调整,我们可以为投稿者赋予上传图片的功能,使得他们...

    WordPress BT电影资源BT种子采集网站源码+手机端

    1、内置大量文章,安装后即可运营省时省力; 2、内置高效率采集插件,每天自动采集一次(间隔可自行修改),真正做到无人值守; 3、内置11个采集规则; 4、内置缓存插件一个,减轻前台访问压力; 5、网站管理简单快捷...

    wordpress RiPro子主题V8.1开心版 小八子主题v8.1版

    支持卡密,任务发布,自助广告,在线工单,充值,积分,会员,高级筛选,推广佣金,作者佣金,前台创建文章,统计,自定义币种,自定义会员标识,全站功能实现AJAX,图片全站真正懒加载,支持SEO,注册邮件验证码,...

    WordPress 投稿插件 ucan post 附中文语言包.rar

    今天为大家介绍一个功能强大的WordPress投稿插件,可以为网站实现一个功能强大的投稿功能,这个插件就是Ucan post,插件开发不到三个月,但是功能很强大,相信不久就会为大家所知。 插件可以实现强大的投稿功能,你...

    博客模板(前台模板+后台模板)

    博客模板是一种设计用于在线发布和展示内容的网页模板,它通常包括前端用户界面(前台模板)和后端管理界面(后台模板)。这款博客系统模板涵盖了整个博客网站的完整功能,从用户浏览文章到管理员管理内容的全过程。...

    基于PHP的贤诚php文章管理系统 动态版.zip

    【标题】"基于PHP的贤诚php文章管理系统 动态版.zip" 提供的是一个采用PHP编程语言开发的动态文章管理系统。...管理员可以通过后台管理系统进行文章的发布、编辑和管理,而访客则可以在前台浏览、搜索和互动。

    网站后台管理静态页面及前台模板页面

    - 内容管理:允许管理员添加、编辑或删除网站的内容,如文章、产品信息等。 - 用户管理:用于管理用户账户,包括注册审核、权限分配、密码重置等功能。 - 设置:提供系统配置选项,如网站主题、SEO设置、邮件...

    简单了解将WordPress中的工具栏移到底部的小技巧

    随着新版Chrome和WordPress的发布,这些问题可能已经得到了解决。因此,用户在采用上述方法移动工具栏后,应确保使用的浏览器和WordPress版本都已更新到最新,以避免兼容性问题导致的显示异常。 此技巧的介绍也提醒...

    Java博客系统Zblog2.zip

    文章/页面发布、分类、统计阅读次数。 提供文章形式的RSS聚合。 提供链接的添加、归类功能。 附件上传添加管理功能。 评论的管理,垃圾信息过滤功能。 文章静态html页面生成。 会员注册登录,...

    buddypress的buddyblog插件

    1. **前台写作**:用户可以直接在网站前端撰写文章,无需进入WordPress后台,简化了发布流程。 2. **好友文章查看**:用户可以浏览和查看他们的好友所发表的文章,促进社区内的信息交流和互动。 3. **个性化设置**:...

    Arabic WordPress-开源

    1. **内容创作**: WordPress提供了一个直观的编辑器,用户可以轻松创建、编辑和发布文章、页面和其他类型的内容。支持丰富的文本格式,包括图片、视频和链接。 2. **媒体管理**: 内置的媒体库让用户可以方便地上传...

    新闻门户系统_新闻文章发布系统.rar

    在“新闻文章发布系统”中,具体实现可能涉及的技术包括PHP、Java、Python等后端开发语言,MySQL、Oracle等数据库管理系统,以及HTML、CSS、JavaScript等前端技术。此外,框架如WordPress、Drupal、Django等也可能被...

    fancy-todo-list:用于WordPress的插件,添加了待办事项列表

    发布或更新内容后,访问前台页面即可看到已生成的待办事项列表。用户还可以根据需要自定义插件设置,如任务样式、默认任务状态等。 总的来说,fancy-todo-list插件是提升WordPress网站互动性和实用性的一个优秀工具...

    日主题v2 Ripro-V2 v4.8 付费资源下载主题+正版

    支持卡密,充值,积分,会员,高级筛选,推广佣金,作者佣金,前台创建文章,统计,自定义币种,自定义会员标识,全站功能实现AJAX,图片全站真正懒加载,支持SEO,注册邮件验证码,等等等等!最新支付接口已集成...

    php内容管理系统

    这些系统通常包括文章发布、用户管理、权限控制、模板引擎等功能,为构建企业网站、博客、论坛等提供了便利。 二、PHP CMS设计模式 1. MVC(Model-View-Controller)模式:在PHP CMS中,MVC模式被广泛采用,模型...

    Erphpdown.rar

    "前台商品购买下载"功能意味着Erphpdown支持与支付系统的集成,允许用户为下载资源设定价格,实现付费下载。这为网站提供了一种盈利模式,用户在完成支付后即可获得下载权限。该功能可能涉及到与支付宝、微信支付等...

    日主题Ripro-v2 v3.9知识付费主题

    支持卡密,充值,积分,会员,高级筛选,推广佣金,作者佣金,前台创建文章,统计,自定义币种,自定义会员标识,全站功能实现AJAX,图片全站真正懒加载,支持SEO,注册邮件验证码,等等等等!最新支付接口已集成...

    BLOG网站源代码

    4. **API接口**:源代码可能包含API接口,允许其他应用或服务与博客进行交互,例如通过RESTful API发布文章或获取评论。 5. **用户认证和授权**:为了保护用户数据,源代码会实现用户注册、登录、权限控制等功能。...

    TearSnow Fan

    ② 关于内置的图片暗箱效果的使用,添加图片后,需要把图片链接到原图片,即在img标签再外套一个a标签方能实现图片暗箱(简单点就是图片或文章的链接是一张图片的地址,点击便自动使用暗香功能,本文介绍前面的文字...

Global site tag (gtag.js) - Google Analytics