1

私はカスタムワードプレスのホームページに取り組んでいます。ヘッダーの別のdivにロードされていることを望みます。

ヘッダーは、すべてのページの#contentdivをロードするようになりました。ただし、ホームページが読み込まれた場合は、#contenthomedivを読み込ませたいと思います。

私はこのphpコードを使用しています:

<?php if (is_page_template('template-home.php'))  { ?>
<div id="contenthome">
<?php } else { ?>
<div id="content">
<? } ?>

私はphpにかなり慣れていません。だから私はあなたたちが私を助けることができることを願っています:)

どうもありがとう。

4

3 に答える 3

2

またはこれ:

if(is_home())
{
    <div id="contenthome">
<?php } else { ?>
    <div id="content">
<? } ?>

個人的には、このような場合は速記で書くのが好きです。これを使用してコードを短縮することも検討してください。

<div id="<?php echo is_home() ? 'contenthome' : 'content'; ?>">

追記: <body>タグにWordpress body_class()が追加されている場合、同じテンプレートを使用している場合でも、CSSを使用して個々のページをほぼターゲットにできます。ホームページには、他のページと同様に、その特定のページをターゲットにできる独自のボディクラスが適用されます。

したがって、CSSを使用したテンプレートに関係なく、特定のページをターゲットにできることが問題である場合は、必ずしもページに一意のdivを適用する必要はありません。例えば:

<style type="text/css">
#content{display:block;}
.home #content{display:none;}
</style>

これにより、ホームページでのみコンテンツdivが非表示になります。それはおそらくあなたが望んでいることではありませんが、ページ自体がデフォルトの動作をオーバーライドするためにどのようにターゲットにされているかを見ることができます。

更新:最新の質問によると、その条件を使用するために別の特定のページが必要な場合は、次のようにis_page()を使用してください。

長いコード:

if(is_home() || is_page('posts_page_title'))
{
    <div id="contenthome">
<?php } else { ?>
    <div id="content">
<? } ?>

速記:

<div id="<?php echo is_home() || is_page('posts_page_title') ? 'contenthome' : 'content'; ?>">

必要に応じて、is_page('posts_page_ID')またはis_page('posts_page_slug')を使用することもできます。それをいじって、あなたに最適なものを見てください。詳細はこちら:http ://codex.wordpress.org/Function_Reference/is_page

于 2012-04-27T13:41:10.990 に答える
0

この投稿を参照してこれを試してみてください....

$pagename = get_query_var('pagename');
if ($pagename = 'template-home.php') {

<div id="contenthome">

<?php } else { ?>

<div id="content">

<? } ?>
于 2012-04-27T13:15:17.543 に答える
0

ホームページ専用のテーマですでにファイルを作成していて、それをtemplate-home.phpと呼んでいるようです。

この時点から、2つのオプションがあります。

1)定数(または変数)を定義し、定義されている場合にのみ使用するdivを決定できます。変数を使用する場合は、header.phpでは実際には関数(get_header)内にあり、それにアクセスするにはグローバルを使用する必要があることに注意してください。

2)メインページと残りのワードプレスの間のヘッダーの構造に他の違いがあると予想される場合は、ヘッダーに別のファイルを使用できます。これを行うには、template-home.phpファイルで、get_header('home')のようにget_header関数にパラメーターを指定します。

これを行うと、header.phpの代わりにheader-home.phpがロードされます

于 2012-04-27T13:16:58.320 に答える