Форум программистов, компьютерный форум, киберфорум
Наши страницы
WordPress
Войти
Регистрация
Восстановить пароль
 
Kvinto
1 / 1 / 1
Регистрация: 20.11.2017
Сообщений: 4
1

Как через шорткод вставлять требуемое значение из файла php

20.11.2017, 10:57. Просмотров 434. Ответов 2
Метки нет (Все метки)

Приветствую всех форумчан! Помогите пжлст с шорткодом, который бы вставлял нужное мне значение из файла price.php
В этом файле указаны цены на товары в таком виде, он лежит в корне сайта
PHP
1
2
3
$price1=10;
$price2=11;
$price3=12;
и т.д.
Для вывода нужного значения на странице, после доработки function.php используется такой код php
<? include 'price.php'; echo $price1; ?>
Недавно решил попробовать плагин Elementor (пэйджбилдер), но он ни как не хочет обрабатывать php конструкции, я связался с разработчиком на предмет вывода в плагине php кода, на что мне был дан ответ, что нужно дописать вот такой шорткод в function.php

1. Open file /wp-content/themes/[your current theme]/functions.php for editing.

2. Paste the following code in the end of file:
PHP
1
2
3
4
function my_php_snippet_shortcode() {
     return "It works!";
}
add_shortcode('my_php_snippet', 'my_php_snippet_shortcode' );
3. Save (then upload to ftp if you open it locally)

4. Open any page or post for editing in Elementor, insert shortcode widget where you need it,
write this shortcode:
[my_php_snippet]

Да, это работает, на странице выводится It works! но как мне научить функцию выбирать нужное мне значение из файла price.php, которое я укажу в шорткоде?

Добавлено через 4 часа 4 минуты
Добавил в function вот такой код
PHP
1
2
3
4
5
6
function price_sc($prc) {
     include 'calcs/pricesiding.php'; /* это файл где лежат переменные в таком виде  $price1=10; $price2=11; $price3=12;*/
     $prc_o=$prc; /* пробовал по всякому..  что тут написать что бы переменной $prc присвоилось значение $price1 ?*/
     return $prc_o;
}
add_shortcode('my_php_snippet', 'price_sc' );
Пишу такой шорткод
[my_php_snippet prc="$price1"]

Добавлено через 27 секунд
Пишет array
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2017, 10:57
Ответы с готовыми решениями:

Как правильно вставлять PHP коды в странички WordPress?
Хочу вставить простейшие коды: &lt;?php echo &quot;Hello world&quot;; ?&gt; &lt;? the_field(...

Re: Как правильно вставлять PHP коды в странички WordPress?
Здравствуйте, пытаюсь написать простенький плагин, но пока что-то не...

Куда вставлять комментарии от ВК в single.php?
Вот код single.php: &lt;?php /** * The Template for displaying all single...

Как работает шорткод?
Написал свой шорткод, который инклудит статичные повторяющиеся блоки. вот код...

Как передать переменную в шорткод?
День добрый. Имеется такая конструкция (в wordpress) echo do_shortcode(''); ...

2
M-I-B
1 / 1 / 0
Регистрация: 16.01.2015
Сообщений: 9
20.11.2017, 23:39 2
Я не очень сведущ в шоткодах, только начинаю разбираться, но на первый взгляд:
при последовательности исполнения кода PHP -> HTML -> JavaScript переменная $price1 еще даже не определена.

В свое время делал вывод цен непосредственно из файла, но для этого в соответствующем месте кода шаблона я прописывал php жестко и вручную. Выглядело это как-то так:

Код
			
<div id="price_table">
				<div class="price_row">
					<span class="price_cell section-title section-heading h2">ДТ</span>
					<span class="price_cell section-title section-heading h2">АИ-95</span>
					<span class="price_cell section-title section-heading h2">АИ-92</span>
					<span class="price_cell section-title section-heading h2"></span>
				</div>
				<div class="price_row">
					<?php
					$filename = "fuel.txt";
					$handle = fopen($filename, "r");
					$contents = fread($handle, filesize($filename));
					fclose($handle);
					$price = explode(";",$contents);
					?>

					<span class="price_cell section-title section-heading h2"><?php echo $price[0]; ?></span>
					<span class="price_cell section-title section-heading h2"><?php echo $price[1]; ?></span>
					<span class="price_cell section-title section-heading h2"><?php echo $price[2]; ?></span>
					<span class="price_cell section-title section-heading h2"></span>
				</div>
Скажу сразу, что я не эксперт в области php - возможно код корявый, но результат достигнут.
Есть плагины, которые "превращают" php в шоткод, но или руки у меня кривые, или бубен не того диаметра - работали они через раз, а потому я от них отказался ...

Добавлено через 21 минуту
О! Вот, нашел тебе по теме: ссыль
Именно то, что тебе нужно - шоткод с пареметрами.
1
Kvinto
1 / 1 / 1
Регистрация: 20.11.2017
Сообщений: 4
21.11.2017, 06:15  [ТС] 3
Спасибо тебе друг! Но я вчера таки добил это вопрос при помощи другого форума и одного очень хорошего человека.

Вот код для файла function.php

PHP
1
2
3
4
5
6
7
function price_sc($prc) {
    include 'price.php';
     $prc = ltrim($prc['price'], '$'); 
    $prc_o=$$prc;
     return $prc_o;
}
add_shortcode('price_short', 'price_sc' );
Вот сам шорткод для вставки в редакторе wordpress а точнее для пэйджбилдера Elementor (там больше не че не работает)
[price_short price="price1"]
В файле price.php примерно следующий код, сам файл положил в папку с темой, но можно и в корень сайта, главное путь тогда исправить после include
Файл price.php
PHP
1
2
3
$price1=10;
$price2=20;
$price3=30;
Добавлено через 1 минуту
Все работает, только еще на хостинге пришлось включить output_buffering = On в файле php.ini, потому что выдавал какую то ошибку с heder'ами
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2017, 06:15

Как по нажатию на кнопку вызвать шорткод? - WordPress php
Главная задачf прикрутить форму для отправки писем и обеспечить их...

Как найти время, требуемое для передачи файла?
Кол-во времени требуемое для передачи файла объемом 18 Мбайт при скорости...

Как в tpl файлы вставлять php код или просто файл
Всем привет работаю с сайтом попросили прикрутить к нему голосование я написал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru