<?php require(‘./wp-load.php’); ?>
のクォーテーションが全角だから?とかですか?
正しくは
<?php require('./wp-load.php'); ?>
ん~、何がしたいのでしょう?
a.テーマフォルダにテーマ以外の独自phpファイルを作成し起動したい。
→なんのため??テーマファイルを普通につくっちゃだめなの?
b.テーマフォルダではないが、別の場所に独自phpファイルを作成しWordPressの関数を使いたい。
→たまに見かけますが、この場合ちゃんとサーバールートからインクルードしないとだめ。(WordPressをルートにインストールしていて、そのルートに独自phpファイルを置いているわけじゃないよね?)
質問をするなら、具体的に何をしたいのか提示したほうが的確な回答が望めます。
遠まわしに情報を小出しにすると嫌がられますね;)
kvexさん、返信ありがとうございます。
お恥ずかしい、しかし修正しても
<?php require('./wp-load.php'); ?>
<?php
$data = $_REQUEST['data'];
$str = substr($data,35);
$post_id = $str;
$post = get_post($post_id);
$content = $post->$post_content;
$content = apply_filters('the_content',$content);
echo ($content);
?>
以下のエラーが表示されます。
Warning: require(./wp-load.php) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs2\wp\wp-content\themes\twentyten\ajaxpost.php on line 1
Fatal error: require() [function.require]: Failed opening required ‘./wp-load.php’ (include_path=’.;C:\xampp\php\PEAR’) in C:\xampp\htdocs2\wp\wp-content\themes\twentyten\ajaxpost.php on line 1
パスが間違っているんでしょうか。
shokun0803さん、返信ありがとうございます。
説明不足ですみません、気を付けます。
具体的には、ページ送りのアンカータグがクリックされたらjQuery(Ajax)からGETでhrefの値(url)をphpに渡して、受け取ったphpで記事を取得して、jQueryで記事を#contentにhtmlで置き換えています。つまりページ送りをAjax化してみたいと言う事です。
jQuery
jQuery(function(){
var url = "http://127.0.0.1:8080/wp/wp-content/themes/twentyten/ajaxpost.php";
jQuery("#nav-above div a,#nav-below div a").click(function(e){
e.preventDefault();
jQuery.ajax({
type: "GET",
url: url,
data: {data: this.href},
success: function(ajaxpost,status){
jQuery("#content").html(ajaxpost);
}
});
});
});
ajaxpost.php(テーマフォルダ内)
<?php require('./wp-load.php'); ?>
<?php
$data = $_REQUEST['data'];
$str = substr($data,35);
$post_id = $str;
$post = get_post($post_id);
$content = $post->$post_content;
$content = apply_filters('the_content',$content);
echo ($content);
?>
しかし以下のエラーが表示されます。
Warning: require(./wp-load.php) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs2\wp\wp-content\themes\twentyten\ajaxpost.php on line 1
Fatal error: require() [function.require]: Failed opening required ‘./wp-load.php’ (include_path=’.;C:\xampp\php\PEAR’) in C:\xampp\htdocs2\wp\wp-content\themes\twentyten\ajaxpost.php on line 1
なので、どこが悪いのか教えて頂けないでしょうか。
ajaxpost.phpをwp-load.phpと同じディレクトリに置いてくださいね。
umbrella_processさん、返信ありがとうございます。
ご指示どおりにしたところWordPressのタグが使える様になりました。
jQuery
jQuery(function(){
var url = "http://127.0.0.1:8080/wp/ajaxpost.php";
jQuery("#nav-above div a,#nav-below div a").click(function(e){
e.preventDefault();
jQuery.ajax({
type: "GET",
url: url,
data: {data: this.href},
success: function(ajaxpost,status){
jQuery("#content").html(ajaxpost);
}
});
});
});
ajaxpost.php
<?php require('./wp-load.php'); ?>
<?php
$data = $_REQUEST['data'];
$str = substr($data,35);
$post_id = $str;
$post = get_post($post_id);
$content = $post->post_content;
$content = apply_filters('the_content',$content);
echo $content;
?>
ありがとうございました。