• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「関数リファレンス/get extended」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(全体を和訳&補足。用例を追加。)
(最新のマージ 138172}}<!-- 16:30, 17 November 2013‎ Mistercat -->)
 
13行目: 13行目:
 
</div>
 
</div>
  
  <?php get_extended( $post ) ?>
+
  <?php get_extended( $post_content ) ?>
  
 
<div id="Parameters">
 
<div id="Parameters">
19行目: 19行目:
 
</div>
 
</div>
  
{{Parameter|$post|文字列|投稿の本文}}
+
{{Parameter|$post_content|文字列|投稿の本文}}
  
 
<div id="Return_Values">
 
<div id="Return_Values">
30行目: 30行目:
 
== 用例 ==
 
== 用例 ==
 
</div>
 
</div>
<!-- Need creative examples. Feel free to link to external examples. -->
 
  
'続きを読む' リンクをクリックする度に、投稿本文の <code>&lt;!--more--&gt;</code> 以降の表示/非表示を切り替える:
+
<div id="Displaying small excerpts from latest posts.">
<pre>while ( have_posts() ) :
+
=== 最新の投稿から抜粋を表示する ===
  the_posts();
+
</div>
  $content = get_extended( $post );
+
  echo '<p>' . $content['main'] . '</p>';
+
  if ( !empty( $content['extended'] ) :
+
    ?>
+
    <a href="#more" class="more">続きを読む</a>
+
    <?php
+
    echo '<p class="extended">' . $content['extended'] . '</p>';
+
  endif;
+
endwhile;</pre>
+
  
style.css:
+
If you want to display the latest posts on your WordPress blog, but only the content which comes before the <tt><nowiki><!--more--></nowiki></tt> tag, you can use this:
<pre>p.extended{display:none;}</pre>
+
  
my-script.js:
 
 
<pre>
 
<pre>
jQuery(document).ready( function($) {
+
<ul>
  $('a.more').click( function() {
+
<?php
     $(this).next('p.extended').toggle();
+
global $post;
     return false;
+
$args = array( 'numberposts' => 5 );
  });
+
$myposts = get_posts( $args );
});
+
foreach( $myposts as $post ) : setup_postdata( $post ); 
 +
     $content_arr = get_extended (get_the_content() ); ?>
 +
     <li>
 +
      <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
 +
      </br>
 +
      <?php echo $content_arr['main']; //Display the part before the more tag  ?> 
 +
    </li>
 +
<?php endforeach; ?>
 +
</ul>
 
</pre>
 
</pre>
  
 +
'''Note:''' ''<tt>$content_arr['extended']</tt> contains the contents after the more tag.''
 
<div id="Notes">
 
<div id="Notes">
 
== 注 ==
 
== 注 ==
77行目: 74行目:
  
 
<div id="Related">
 
<div id="Related">
== 関連資料 ==
+
== 関連 ==
 
</div>
 
</div>
<!--
+
 
    To Do:
+
* <tt>[[関数リファレンス/the_excerpt | the_excerpt()]]</tt>
    Need to find related functions.
+
* <tt>[[関数リファレンス/get_the_excerpt | get_the_excerpt()]]</tt>  
    Need to create groups of functions and create templates to add them to a page quickly.
+
    Some functions may be related to many groups of functions.
+
-->
+
  
 
{{Tag General Tags}}
 
{{Tag General Tags}}
 
{{Tag Footer}}
 
{{Tag Footer}}
 
{{DEFAULTSORT:Get_extended}}
 
{{DEFAULTSORT:Get_extended}}
{{原文|Function Reference/get extended|79551}}<!-- 19:16, 21 October 2009 Grizzdesign -->
+
{{原文|Function Reference/get extended|138172}}<!-- 16:30, 17 November 2013‎ Mistercat -->
 
[[Category:関数]]
 
[[Category:関数]]
 
[[en:Function Reference/get extended]]
 
[[en:Function Reference/get extended]]

2015年8月16日 (日) 09:17時点における最新版

投稿本文を <!--more--> で区切った内容を各々取得します。戻り値は mainextend のキーからなる連想配列です。main キーの配列には <!--more--> より前の本文、extend キーの配列には <!--more--> より後の本文が入っています。

2つ目のダッシュ(-)と 'more' の間にはスペースは入れないでください。'more' の後のスペースは無視されます。

「続きを読む」のカスタマイズ も見てください。

使い方

<?php get_extended( $post_content ) ?>

パラメータ

$post_content
文字列) (必須) 投稿の本文
初期値: なし

戻り値

(array) 
<!--more--> の前 ('main') と後 ('extended') の投稿本文。

用例

最新の投稿から抜粋を表示する

If you want to display the latest posts on your WordPress blog, but only the content which comes before the <!--more--> tag, you can use this:

<ul>
<?php
global $post;
$args = array( 'numberposts' => 5 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata( $post );  
    $content_arr = get_extended (get_the_content() ); ?>
    <li>
       <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
       </br>
       <?php echo $content_arr['main']; //Display the part before the more tag  ?>   
    </li>
<?php endforeach; ?>
</ul>

Note: $content_arr['extended'] contains the contents after the more tag.

投稿本文中に <!--more--> が無い場合は、array['main'] に投稿全文が入り、array['extended'] は空文字になります。

変更履歴

  • 1.0 : 新規導入

ソースファイル

get_extended()wp-includes/post.php に含まれています。


記事

コードドキュメンテーション

  • クラス: WP_Query - WP_Query クエリの詳細概要
  • オブジェクト: $wpdb - $wpdb オブジェクトの使い方概要
  • 関数: get_query_var()
  • 関数: query_posts() - 追加カスタムクエリの作成
  • 関数: get_post() - 項目の ID を使ってその投稿のレコードをデータベースから取得する
  • 関数: get_posts() - 項目の配列を返す特別な関数。
  • 関数: get_pages() - ページの配列を返す特別な関数。
  • 関数: have posts() - クエリが記事を返すかどうか判断する条件分岐。
  • 関数: the_post() - クエリの後に自動的にループを設定するのに使われる。
  • 関数: rewind_posts() - 現在のループをクリアする。
  • 関数: setup_postdata() - ループ内で単一クエリ結果のデータを設定する。
  • 関数: wp_reset_postdata() - 以前のクエリを復元する(通常、ループ内のもう一つのループで使われる)。
  • 関数: wp_reset_query()
  • 関数: is_main_query() - 変更するのがメインクエリであるよう保証する。
  • アクションフック: pre_get_posts - 実行される前に WordPress クエリを変更する。
  • アクションフック: the_post - 投稿オブジェクトをクエリの後に変更する。
  • フィルターフック: found_posts - found_posts WP_Query オブジェクトの値を変更する


関連

固定ページ: get_all_page_ids(), get_ancestors(), get_page_link(), get_page_by_path(), get_page_by_title(), get_page_children(), get_page_hierarchy(), get_page_uri() /en, get_pages(), is_page(), page_uri_index() /en, wp_list_pages(), wp_page_menu()


リスト・ドロップダウン関数: wp_list_authors(), wp_list_categories(), wp_list_pages(), wp_list_bookmarks(), wp_list_comments(), wp_get_archives(), wp_page_menu(), wp_dropdown_pages(), wp_dropdown_categories(), wp_dropdown_users()


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/get extended最新版との差分