私は実験をしていて、許可するためにcontenteditablehtml5プロパティを利用するWordPressテーマを探しています。ライブWebサイトでのコンテキスト編集(認証された管理者ユーザー向け)。
例はありますか?
私はテーマについて知りませんが、私はしばらく前に編集可能なdivの中に内容を包み込み、nonceと共に隠しtextareaでデータを送る「概念の教授」としてこれを書きました:
if (!class_exists('contentEditable')){
/**
* contentEditable class
* @author Ohad Raz
*/
class contentEditable
{
public $nonce;
public $nonce_action;
/**
* class constructor
* @author Ohad Raz
*/
function __construct()
{
if(!is_admin()){
$this->nonce = 'ce__wpnonce';
$this->nonce_action = 'ce_editor';
$this->all_checks = false;
add_filter('the_content',array($this,'editable_content'),10);
add_action('get_header',array($this,'check_submit'));
}
}
/**
* check_submit
* function to check if the form has been submited
* if so call the update post function
* @author Ohad Raz
* @return void
*/
public function check_submit(){
if (isset($_POST['content_editable_Save']) && $_POST['content_editable_Save'] == "submit"){
$this->updated_post();
}
}
/**
* editable_content
* function that adds the form to the content
* @author Ohad Raz
* @param string $content
* @return string
*/
public function editable_content($content){
global $post;
//early exit if not needed
if (!current_user_can('edit_post', $post->ID))
return $content;
wp_enqueue_script('jquery');
add_action('wp_footer',array($this,'submit_js'));
return '<form action="contentEditable_submit" method="POST" accept-charset="utf-8">
<div id="editable" contenteditable="true">'
.$content
.'</div>
<textarea id="h_content" name="content" style="display:none;"></textarea>
<input type="hidden" name="pid" value="'.$post->ID.'">
<input type="hidden" name="content_editable_Save" value="submit">'
.wp_nonce_field($this->nonce_action, $this->nonce,true, false)
.'<input type="submit" id="submit_editable" name="save" value="'.__('Save changes').'">
</form>';
}
/**
* updated_post
* the function that actually updates the post and redirects to the newly modified post
* @author Ohad Raz
* @return VOID
*/
public function updated_post(){
if ($this->_verify_nonce()){
$p['ID'] = intval($_POST['pid']);
$p['post_content'] = $_POST['content'];
$n = wp_update_post($p);
wp_redirect(get_permalink($n));
exit;
}
}
/**
* _verify_nonce
* nonce check
* @author Ohad Raz
* @return boolean
*/
public function _verify_nonce()
{
$n = isset($_REQUEST[$this->nonce]) ? $_REQUEST[$this->nonce]: '';
if ('' === $n) return false;
if (!function_exists('wp_verify_nonce'))
require_once(ABSPATH .'wp-includes/pluggable.php');
return wp_verify_nonce($n, $this->nonce_action);
}
/**
* submit_js
* some jQuery magic
* @author Ohad Raz
* @return void
*/
public function submit_js(){
?>
<script type="text/javascript">
jquery(document).ready(function($){
$("#submit_editable").click(function(){
$("#h_content").val($("#editable").html());
return true;
});
});
</script>
<?php
}
}//end class
}//end if
new contentEditable();
プラグインをチェックしてください...それを待ってください... WPContentEditable 。私は簡単にソースを閲覧しました、そしてそれは満足のいく属性を使用しているようです、私はフォールバックがあると思いますが。それはあなたが整理するためです、私は:)と思います