если (is_page (** PAGE ID **)) не работает
-
-
Вы перепроверили,что находитесь на странице с ID 346,верно?You did double-check that your are on the page with ID 346, right?
- 1
- 2014-03-19
- kraftner
-
Если это другой тип содержимого,попробуйте использоватьif (get_the_ID ()==346).If this is another contenttype, try using `if ( get_the_ID() == 346 )`.
- 3
- 2014-03-19
- fischi
-
Да,крафтнер.Я изменил такт и начал использовать [WP Content Experiments & Event Tracking] (http://wordpress.org/plugins/wp-content-experiments-event-tracking/),который мне подходит.Yes kraftner. I changed tact and started using [WP Content Experiments & Event Tracking](http://wordpress.org/plugins/wp-content-experiments-event-tracking/), which works for me.
- 0
- 2014-03-19
- Steve
-
8 ответ
- голосов
-
- 2017-01-06
вы можете использовать это для
<?php global $post; if( $post->ID == 346) { ?> <!-- do your stuff here --> <?php } ?>
вы можете использовать это где угодно в заголовке или где-нибудь еще.
you can use this for
<?php global $post; if( $post->ID == 346) { ?> <!-- do your stuff here --> <?php } ?>
you can use this anywhere either in header or anywhere else.
-
Что,если я хочу добавить функцию PHP в ?Я просто использую ` Phpif ($post-> ID==346) { }?> `What if I want to add a PHP function in ? Do I just use `ID == 346) { } ?>`
- 0
- 2018-11-16
- Telarian
-
Да,вы можете вызывать свою функцию вYes you can call your function in
- 0
- 2018-11-17
- Waqas Shakeel
-
Хм.У меня не работает.Полагаю,сделаю пост.Hmm. Not working for me. I suppose I'll make a post.
- 0
- 2018-11-19
- Telarian
-
- 2014-03-19
Более простым решением будет передача
title
илиslug
в качестве аргумента вis_page()
.У вас не будет проблем,если вы скопируете эту страницу на другом сервере.<?php if (is_page( 'Page Title' ) ): # Do your stuff endif; ?>
A simpler solution will be to pass the
title
or theslug
as argument inis_page()
. You won't have issues if you duplicate that page on another server.<?php if (is_page( 'Page Title' ) ): # Do your stuff endif; ?>
-
Использование пули - лучшее решениеUsing the slug is the best solution
- 1
- 2018-08-10
- Rob
-
Если администратор решит изменить заголовок сообщения в будущем,нарушит ли это это условие?If the admin decides to change the slug of the post in the future, would that break this condition?
- 0
- 2020-04-15
- Viktor Borítás
-
@ ViktorBorítás Да,будет.Если вы обычно используете функции импорта/экспорта WordPress во время разработки,вам не гарантируется,что на всех ваших серверах будет одинаковый идентификатор страницы.Если вы будете развертывать всю базу данных каждый раз,вы получите один и тот же идентификатор страницы.В противном случае вы можете использовать заголовок страницы или заголовок.@ViktorBorítás Yes it will. If you usually use the WordPress Import/Export features during development you're not guaranteed to have the same page ID on all your servers. If you deploy the whole database each time, then you'll get the same page ID. Else you can use Page title or slug.
- 1
- 2020-04-21
- RRikesh
-
@RRikesh прав,однако,на мой взгляд,ссылка на идентификатор страницы по-прежнему является самой безопасной стратегией в долгосрочной перспективе (особенно,если причудливое внутреннее перенаправление WP было перезаписано разработчиками),чтобы сломать как можно меньше вещей в возможном slug/Title/nameизменение.Это может случиться слишком легко.;) Думаю/надеюсь,что в большинстве случаев разработчики обычно зеркалируют всю БД,поэтому идентификаторы страниц остаются прежними.@RRikesh right, however in my opinion referring to page ID is still the safest strategy on the long run (especially if WP's fancy native internal redirection got overwritten by Devs), to break as few things as possible at a possible slug/Title/name change. That can happen just too easily. ;) I guess/hope in most cases Devs usually mirror the whole DB, so page ID-s stay the same.
- 1
- 2020-04-28
- Viktor Borítás
-
- 2018-08-04
Хуки,такие как
init
,не будут работать вообще.Вы должны подключить хотя бы
parse_query
.Все,что ниже,будет работать:
is_page(198); # ID (int) is_page('198'); # ID (string) is_page('Some Title'); # Title, case-sensitive is_page('some-title'); # Slug
Но он должен быть перехвачен как минимум в
parse_query
или любой другой перехватчик после него.Вы можете увидеть порядок обработчиков WordPress здесь: https://codex.wordpress.org/Plugin_API/Action_ReferenceHooks such as
init
will not work at all.You have to hook at least on
parse_query
.Everything bellow will work:
is_page(198); # ID (int) is_page('198'); # ID (string) is_page('Some Title'); # Title, case-sensitive is_page('some-title'); # Slug
But it must be hooked at least in
parse_query
or any other hook after it. You can see WordPress hook order here: https://codex.wordpress.org/Plugin_API/Action_Reference -
- 2017-03-16
попробуйте использоватьis_single ($post)
в вашем случаеis_single (346) илиis_single ('346') оба должны работать
try to use is_single($post)
in your case is_single(346) or is_single('346') both should work
-
- 2019-10-05
Сначала вы должны понять разницу между страницей и постом .После этого вы можете выбрать,использовать ли is_page или is_single .
Если вы имеете дело со страницами WordPress,то пишите так ниже.Обратите внимание,в этом примере используется массив на всякий случай,если вы хотите реализовать его на многих страницах:
<?php if (is_page( array( 1, 529, 'or post title' ) ) ) : ?> <!-- Do nothing --> <?php else : ?> <!-- Insert your code here --> <?php endif; ?>
Но если вам нужно,чтобы это повлияло и на ваши сообщения,добавьте также следующие строки:
<?php if (is_single( array( 1, 529, 'or post title' ) ) ) : ?> <!-- Do nothing --> <?php else : ?> <!-- Insert your code here --> <?php endif; ?>
First you have to know the difference between a page and post. Once you have done that then you can choose whether to use is_page or is_single.
If you are dealing with WordPress pages, then write in this way below. Note, this example is using array just in case if you want to implement it in many pages:
<?php if (is_page( array( 1, 529, 'or post title' ) ) ) : ?> <!-- Do nothing --> <?php else : ?> <!-- Insert your code here --> <?php endif; ?>
But if you need it to take effect also on your posts, then add this lines too:
<?php if (is_single( array( 1, 529, 'or post title' ) ) ) : ?> <!-- Do nothing --> <?php else : ?> <!-- Insert your code here --> <?php endif; ?>
-
- 2016-08-29
Пожалуйста,попробуйте удалить
''
(одинарные кавычки) из идентификационного номера & amp;это будет работать:is_page(34)
Please try to remove
''
(single quotes) from ID number & it will work:is_page(34)
-
Этот ответ требует дополнительного объясненияThis answer needs some more explanation
- 2
- 2016-08-29
- cjbj
-
- 2020-01-28
Для одиночных сообщений используйте
if ( is_single( '1346' ) )
Для отдельных страниц используйте
if ( is_page( '1346' ) )
Где
'1346'
- идентификатор вашей публикации или страницы.is_page НЕ будет работать с отдельными сообщениями и is_single не будет работать с отдельными страницами.
-
- 2020-01-28
function test_run(){ if (is_page( 'Page Title' ) ): //you can use is_page(int post id/slug/title) # Do your stuff endif; } add_action('parse_query', 'test_run');
заполнение ответа @Lucas Bustamante
function test_run(){ if (is_page( 'Page Title' ) ): //you can use is_page(int post id/slug/title) # Do your stuff endif; } add_action('parse_query', 'test_run');
completing @Lucas Bustamante 's answer
Я подписываюсь на это руководство по добавлению кода Google Content Experiments в
header.php
.Я добавил в
header.php
следующий код:Это не привело к созданию кода эксперимента с контентом в интерфейсе пользователя. Я пробовал:
Это тоже не сработало.
Вы понимаете,почему этот код не работает? Спасибо.