ドキュメントの読み込み後にjQueryを使用して動的データを読み込みたい。たとえば、タグクラウドとします。
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#sidebar-tags').load('<?php echo bloginfo('template_url'); ?>/tag_cloud.php');
});
</script>
そしてtag_cloud.phpでは次のようなものです:
<? wp_tag_cloud(''); ?>
そしてofcozそれは動作しません、「内部サーバーエラー」。このアイデアを機能させるにはどうすればよいですか?
解決済み:
Plamen Nikolovのリンクをたどって、これを思いついた:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery.ajax({
type : "post",
dataType : "json",
url : "/wp-admin/admin-ajax.php",
data : ({action: "get_tag_cloud"}),
success: function(response) {
alert(response);}
})
});
</script>
およびfunctions.php内:
add_action('wp_ajax_get_tag_cloud', 'get_tag_cloud');
add_action('wp_ajax_nopriv_get_tag_cloud', 'get_tag_cloud');
function get_tag_cloud() {
echo json_encode(wp_tag_cloud('echo=0'));
die();
}
ほぼ機能します。Firebugで確認すると、応答は表示されますが、アラートはポップアップしません。