web-dev-qa-db-ja.com

Link、Logo、textを使ってパートナーのリストを作りましょう

私はパートナーのリストを作りたいです。現時点では、私は "リンク"機能を試してみました、問題は私は説明フィールドにHTMLタグを使用することはできないということです。したがって、私は別の解決策を探しています。誰か提案がありますか?

1
otmezger

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のそのコードであなたが投稿やページを追加するときあなたはパートナーを追加することができます。

どこに結果を表示したいのか説明しないでください。あなたはあなたのどこにでも カスタム投稿タイプテンプレート または カスタムクエリ を使うことができます。それらを表示するためのファイル.

1
chifliiiii

それはカスタム投稿タイプを支持するように「廃止予定」のようなものです(私はそれが可能ではないと信じています、後方互換性のために - 関連するコアチケット )、私は好きです 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

0
brasofilo

約束されたように、これは私が過去に使ったハードコーディングされた解決策です。しかし、注意点として、私は間違いなくカスタム投稿タイプのソリューションを好むと言わざるを得ないでしょう。チャンスがあれば、おそらく戻って自分で実装します。

//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>
0
helgatheviking