CakePHP から wordpress のデータを扱う


 CakePHP 調

v1.3.x  Model::findAll  Model::find(all) 

find ::  ::  :: CakePHP ::  :: 1.3 :: The Cookbook
http://book.cakephp.org/ja/view/1018/find

 findAll 使findAllBy (findAll )

wordpress 11

Amazon.co.jp PHPWordPress2.8 :  : 
[amazon http://www.amazon.co.jp/dp/4883376745]

2.8 


wp_posts: 稿/

wp_comments: 

wp_users: 





wp_terms

wp_term_taxonomy

wp_term_relationships




CakePHP 使

wp_CakePHP  prefix 使
class DATABASE_CONFIG {
 var $default = array(
  'driver' => 'mysql',
  'persistent' => false,
  'host' => '127.0.0.1',
  'login' => 'manabook',
  'password' => 'manabook',
  'database' => 'manabook',
  'prefix' => 'wp_', ★
 );

wp_posts Post 

URL

CakePHP  | Moonmile Solutions Blog
http://www.moonmile.net/blog/archives/1753 

 url 
http://servername/posts





PostsController 
<?php
class PostsController extends AppController {

 var $name = 'Posts';
 // ひとまず一覧
 function index() {
  $this->set('Posts',$this->Post->findPublish());
 }
 // 最近の一覧
 function recent() {
  $this->set('Posts',$this->Post->findRecentPosts(5));
 }
}
?>

 findPublish  findRecnetPosts  wp_posts (post_status)
 Post 




<!-- models/post.php -->
<?php
class Post extends AppModel
{
 var $name = 'Post';

 var $belongsTo = array(
     'User' => array(
   'className' => 'User',
   'foreignKey' => 'post_author' ));

 function findPublish() {
  return parent::find('all',
   array('conditions' => array('Post.post_status'=>'publish'),
      'order'=>'post_date'));
 }
 // 最近投稿した記事を取得する
 function findRecentPosts($max = 5) {
  return parent::find('all',
   array('conditions' => array('Post.post_status'=>'publish'),
      'order'=>'post_date desc',
      'limit'=>$max));
 }
}
?>

Model::find Post.post_status  $conditions  order by 

Model::$belongsTo 稿(wp_user)




<table>
 <tr>
  <th>ID</th>
  <th>post_date</th>
  <th>post_title</th>
  <th>guid</th>
 </tr>
 <?php foreach($Posts as $item) : ?>
 <tr>
  <td><?php echo $item['Post']['ID']; ?>
  <td><?php echo $item['Post']['post_date']; ?>
  <td><?php echo $item['Post']['post_title']; ?>
  <td><?php echo $item['Post']['guid']; ?>
 </tr>
 <?php endforeach ; ?>
</table>



http://wpcake.moonmile.net/posts

稿

wordpress 稿(recent posts)
<h2>最近投稿した記事</h2>
<table>
 <tr>
  <th>ID</th>
  <th>post_date</th>
  <th>post_title</th>
 </tr>
 <?php foreach($Posts as $item) : ?>
 <tr>
  <td><?php echo $item['Post']['ID']; ?>
  <td><?php echo $item['Post']['post_date']; ?>
  <td><?php echo $item['Post']['post_title']; ?>
  <td><?php echo $item['Post']['post_author']; ?>
  <td><?php echo $item['User']['user_nicename']; ?>
  <td><?php echo $item['Post']['guid']; ?>

 </tr>
 <?php endforeach ; ?>
</table>
<h2>最近投稿した記事(リンク版)</h2>
<ul>
<?php foreach($Posts as $item) : ?>
 <li>
  <a href="<?php echo $item['Post']['guid']; ?>"><?php echo $item['Post']['post_title']; ?></a> by <?php echo $item['User']['user_nicename']; ?> at <?php echo $item['Post']['post_date']; ?>
 </li>
<?php endforeach; ?>
</ul>





http://wpcake.moonmile.net/posts/recent


カテゴリー: CakePHP, Wordpress パーマリンク

CakePHP から wordpress のデータを扱う への1件のコメント

  1. masuda のコメント:


    post_status = pusblish 2

コメントは停止中です。