2016-05-21 8 views
1

Я совершенно новый, а не программист, я просто экспериментирую с файлом functions.php (в дочерней теме), чтобы узнать, могу ли я получить функцию работать.PHP Multisite Wordpress, нужно 2 функции для работы без нарушения сайта

Моя цель: Я использую многоуровневую установку Wordpress для веб-сайта на моделях. Когда администратор создает профиль для каждой модели, их имя используется на ПЛОЩАДКЕ 1 для своего уникального URL И SITE 2, чтобы сказать «добро пожаловать название модели»

SITE 1: общественный сайт для всех, чтобы увидеть SITE 2: частная модели только для просмотра и обновления личных данных

На САЙТЕ 1 у меня есть полный список всех моделей на странице для просмотра. Каждая модель имеет свой собственный уникальный URL профиля, который содержит их имя и фамилию. Например. http://www.domain.com/models/samantha-rebecca

НА САЙТЕ 2, когда модели регистрируются на сайте, мне нужна домашняя страница, чтобы показать использование двух имен. Одним из них является их отображаемое имя с использованием короткого кода, поэтому я могу сказать «Добро пожаловать Саманта Ребекка» (который я получил, используя этот код).

/* username in page content using [current_user] shortcode */ 

function custom_shortcode_func() { 
ob_start(); 
$current_user = wp_get_current_user(); 
echo $current_user->display_name; 
$output = ob_get_clean(); 
return $output; 
} 
add_shortcode('current_user', 'custom_shortcode_func'); 

Другое для кнопки на той же личной странице, на которую они могут нажать, чтобы перейти на страницу своего общего доступа. Это то, что мне нужна помощь, пожалуйста.

В идеальном мире, я хотел бы взять их имя и фамилию (все профили ADMIN созданы только) и поставить тире между ними, так что я могу использовать http://www.domain.com/models/[url_user], для которых я попробовать и использовать следующее:

/* username in url using [url_user] shortcode */ 

function custom_shortcode_func() { 
ob_start(); 
$current_user = wp_get_current_user(); 
echo $current_user->user_firstname . '-' . $current_user->user_lastname; 
$output = ob_get_clean(); 
return $output; 
} 
add_shortcode('url_user', 'custom_shortcode_func'); 

Но я не могу показаться, чтобы получить их работу, так и в то же время в файле функции без ошибки придумывает, как этот

Fatal error: Cannot redeclare custom_shortcode_func() (previously declared in /home/domain/public_html/wp-content/themes/child-theme/functions.php:47) in /home/domain/public_html/wp-content/themes/child-theme/functions.php on line 65 

Пожалуйста, может кто-то помочь мне получить эту работу, как одна эффективная функция. Спасибо.

+0

проверить мой ответ, у вас есть decalre имя функции дважды, поэтому ваша ошибка geeing. –

ответ

0

Я получил вашу проблему в обоих коротких кода, вы использовали то же имя функции, пожалуйста, измените второе имя функции, как показано ниже.

/* username in url using [url_user] shortcode */ 



function custom_shortcode_func_url_username() { 
    ob_start(); 
    $current_user = wp_get_current_user(); 
    $output = $current_user->user_firstname . '-' . $current_user->user_lastname; 

    return $output; 
    } 
    add_shortcode('url_user', 'custom_shortcode_func_url_username'); 

изменить свое второе имя функции, как указано выше, ваша проблема будет решена. вы получаете ошибку, потому что для обоих коротких кодов имя вашей функции такое же. имя функции должно быть уникальным. одно и то же имя несколько раз не допускается. Подробнее об использовании определите имя функции правила. More about used define functions

+0

Я скопировал и вставил код, который вы предложили, поэтому сначала я использую код выше, а затем прямо под ним вставил ваш код, но когда я нажимаю ссылку, он просто создает следующий URL-адрес: http://www.domain.com/models/- '(он игнорирует имя и фамилию) – Chamber

+0

попробуйте сейчас у меня есть код изменения. –

+0

@chamber у вас есть решение? –