私はパートナーのリストを作りたいです。現時点では、私は "リンク"機能を試してみました、問題は私は説明フィールドにHTMLタグを使用することはできないということです。したがって、私は別の解決策を探しています。誰か提案がありますか?
NW Techがコメントしたように、あなたはそれのためにカスタム投稿タイプを使うべきです。 register_post_type のコーデックを確認してください。
あなたはこのようなことを試すことができます:
function partners_custom_init() {
$labels = array(
'name' => 'Partners',
'singular_name' => 'Partner',
'add_new' => 'Add New',
'add_new_item' => 'Add New Partner',
'edit_item' => 'Edit Partner',
'new_item' => 'New Partner',
'all_items' => 'All Partners',
'view_item' => 'View Partner',
'search_items' => 'Search Partners',
'not_found' => 'No Partners found',
'not_found_in_trash' => 'No Partners found in Trash',
'parent_item_colon' => '',
'menu_name' => 'Partners'
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'partner' ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' )
);
register_post_type( 'partner', $args );
}
add_action( 'init', 'partners_custom_init' );
Functions.phpのそのコードであなたが投稿やページを追加するときあなたはパートナーを追加することができます。
どこに結果を表示したいのか説明しないでください。あなたはあなたのどこにでも カスタム投稿タイプテンプレート または カスタムクエリ を使うことができます。それらを表示するためのファイル.
それはカスタム投稿タイプを支持するように「廃止予定」のようなものです(私はそれが可能ではないと信じています、後方互換性のために - 関連するコアチケット )、私は好きです Links 機能性.
次のコードでは、Description
フィールド、およびNotes
にHTMLタグを使用できます。 - )フィールド(説明用の単一行textarea
フィールドではなく、大きなtext
であるため)。
remove_filter( 'pre_link_description', 'wp_filter_kses' );
remove_filter( 'pre_link_notes', 'wp_filter_kses' );
add_filter( 'pre_link_description', 'wp_filter_post_kses' );
add_filter( 'pre_link_notes', 'wp_filter_post_kses' );
テーマのfunctions.php
ファイルに貼り付けることができますが、スタンドアロンのプラグインとして配置するほうが適切です(したがって、テーマに依存しません)。
こちらのQ&Aを参照してください。 私のコードを置く場所:pluginまたはfunctions.php?
このプラグインも興味深いかもしれません、私はそれをWordPress Answersのトピックに基づいて行いました: Featured Link Image 。
約束されたように、これは私が過去に使ったハードコーディングされた解決策です。しかし、注意点として、私は間違いなくカスタム投稿タイプのソリューションを好むと言わざるを得ないでしょう。チャンスがあれば、おそらく戻って自分で実装します。
//edit here to add/remove sponsors
// array('Sponsor Name','name of logo in images folder','url of sponsor site')
$sponsors = array(
array('Sponsor 1','logo1.jpg','http://www.site1.com'),
array('Sponsor 2','logo2.png','http://www.site2.com'),
array('Sponsor 3','logo3.png','http://www.site3.com'),
array('Sponsor 4','logo4.png','http://www.site4.com')
);
$src = get_stylesheet_directory() . '/images/logos/';
?>
<div id='sponsors'>
<?php $i=1;
foreach ($sponsors as $sponsor) {
echo '<a target="_blank" class="sponsors" href="'.$sponsor[2].'" title="'.$sponsor[0].'">
<img class="color" src="'. esc_attr( $src .$sponsor[1] ).' alt="'.$sponsor[0]. ' Logo" class="sponsors" /></a>';
$i++;
} ?>
</div>