web-dev-qa-db-ja.com

_contentフィルタで利用可能なパラメータは何ですか?

私はどのようなパラメータが私のフィルタ関数に渡されるのか探しています。コーデックスのどこでそのような情報を見つけることができますか?

http://codex.wordpress.org/Plugin_API/Filter_Reference/the_content は多くの情報を提供していませんでした

私はその記事が他の人の子供であるかどうか知りたいと思いました

3
JM at Work

それ自体the_contentに渡される追加のパラメータはないと思いますが、$ postのようなグローバル変数にアクセスできます。

だから、このような何かがうまくいくでしょう:

add_filter( 'the_content', 'check_for_post_parent' );

function check_for_post_parent($content) {
     global $post;
     if ($parent_id == $post->post_parent) {
          //do what you want to $content here, 
          //now that you know $parent_id
          //...
          }
     return $content;
     }
6
goldenapples

wp-includes/post-template.phpには、フィルタが適用される場所があります。

/**
 * Display the post content.
 *
 * @since 0.71
 *
 * @param string $more_link_text Optional. Content for when there is more text.
 * @param string $stripteaser Optional. Teaser content before the more text.
 */
function the_content($more_link_text = null, $stripteaser = 0) {
    $content = get_the_content($more_link_text, $stripteaser);
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]>', $content);
    echo $content;
}

唯一のパラメータはコンテンツテキストです。

しかし、現在使用されている投稿に関するより多くの情報を得るために、あなたは常にグローバル変数$ postを使うことができます。テーマのfunctions.phpに次のスニペットを試してください。

/*
 * Priority 100 to let other filters do their work first.
 */
add_filter( 'the_content', 'debug_post_info', 100 );
/**
 * Print information about the current post.
 *
 * @param  string $content
 * @return string
 */
function debug_post_info( $content )
{
    return $content . '<hr><pre>' . var_export( $GLOBALS['post'], TRUE ) . '</pre>';
}

子ページには、いくつかのNiceデータがあります。

stdClass::__set_state(array(
   'ID' => 2168,
   'post_author' => '2',
   'post_date' => '2007-09-04 09:52:18',
   'post_date_gmt' => '2007-09-03 23:52:18',
   'post_content' => 'This page has a parent.',
   'post_title' => 'Child page 2',
   'post_excerpt' => '',
   'post_status' => 'publish',
   'comment_status' => 'open',
   'ping_status' => 'open',
   'post_password' => '',
   'post_name' => 'child-page-2',
   'to_ping' => '',
   'pinged' => '',
   'post_modified' => '2007-09-04 09:52:18',
   'post_modified_gmt' => '2007-09-03 23:52:18',
   'post_content_filtered' => '',
   'post_parent' => 2167,
   'guid' => 'http://wpthemetestdata.wordpress.com/parent-page/child-page-1/child-page-2/',
   'menu_order' => 0,
   'post_type' => 'page',
   'post_mime_type' => '',
   'comment_count' => '0',
   'ancestors' => 
  array (
    0 => 2167,
    1 => 2166,
  ),
   'filter' => 'raw',
))

'post_parent' => 2167は、親投稿のIDです。親のないページでは、パラメータは0に設定されています。

11
fuxia