워드프레스 망보드 로그인 로그아웃 버튼 (with ChatGPT) (WordPress Mangboard Signup&Signin Button with ChatGPT)
1번째 방법 망보드에서 알려준 기본적인 방법
<?php
if(mbw_is_login()){
if(mbw_get_user("fn_user_name")!="") $output = '<li><span class="text-user-welcome">'.mbw_get_user("fn_user_name").'님 안녕하세요!</span></li>';
$output .= '<li><a href="'.mbw_get_user_url("user_info").'" >회원정보1</a></li>';
$output .= '<li><a href="'.site_url().'/?mb_user=logout" >로그아웃</a></li>';
}else{
$output = '<li><a href="'.mbw_get_user_url("login").'" >로그인1</a></li>';
$output .= '<li><a href="'.mbw_get_user_url("register").'" >회원가입</a></li>';
}
echo $output;
?>
2번째 방법 1번에서 php와 html을 구분한 코드
<?php if(mbw_is_login()) {?>
<li><a href="<?=mbw_get_user_url('user_info')?>">회원정보2</a></li>
<li><a href="<?=site_url()?>/?mb_user=logout">로그아웃</a></li>
<?php }else{ ?>
<li><a href="<?=mbw_get_user_url('login')?>">로그인2</a></li>
<li><a href="<?=mbw_get_user_url('register')?>">회원가입</a></li>
<?php } ?>3번째 방법 2번을 좀 더 간결하게 php화해서 출력해주는 방법
<?php
$url = mbw_is_login() ? ['user_info' => '회원정보', 'logout' => '로그아웃'] : ['login' => '로그인', 'register' => '회원가입'];
foreach ($url as $key => $value) {
$link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
echo "<li><a href='{$link}'>{$value}</a></li>";
}
?>4번째 방법 디자이너와 퍼블리셔가 보기 좋게 php 코드와 html 코드를 분리함
<?php
$menu_items = mbw_is_login()
? [
['url' => mbw_get_user_url('user_info'), 'label' => '회원정보'],
['url' => site_url() . '/?mb_user=logout', 'label' => '로그아웃'],
]
: [
['url' => mbw_get_user_url('login'), 'label' => '로그인'],
['url' => mbw_get_user_url('register'), 'label' => '회원가입'],
];
?>
<!-- 메뉴 항목 시작 -->
<?php foreach ($menu_items as $item) : ?>
<li>
<a href="<?= $item['url'] ?>">
<?= $item['label'] ?>
</a>
</li>
<?php endforeach; ?>
<!-- 메뉴 항목 끝 -->
5번째 방법 function
php
<?php
function display_user_menu_items() {
$menu_items = mbw_is_login()
? [
['url' => mbw_get_user_url('user_info'), 'label' => '회원정보'],
['url' => site_url . '/?mb_user=logout', 'label' => '로그아웃'],
]
: [
['url' => mbw_get_user_url('login'), 'label' => '로그인'],
['url' => mbw_get_user_url('register'), 'label' => '회원가입'],
];
// 메뉴 항목 시작
foreach ($menu_items as $item) {
echo "<li><a href='{$item['url']}'>{$item['label']}</a></li>";
}
// 메뉴 항목 끝
}
?>html 템플릿
<?php display_user_menu_items(); ?>
5번째 방법 function (2)
<?php
function display_user_menu_items() {
$url = mbw_is_login()
? ['user_info' => '회원정보', 'logout' => '로그아웃']
: ['login' => '로그인', 'register' => '회원가입'];
foreach ($url as $key => $value) {
$link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
echo "<li><a href='{$link}'>{$value}</a></li>";
}
}
?>5번째 방법 function(3)
<?php
function display_user_menu_items() {
if (mbw_is_login()) {
echo "<li><a href='" . mbw_get_user_url('user_info') . "'>회원정보2</a></li>";
echo "<li><a href='" . site_url() . "/?mb_user=logout'>로그아웃</a></li>";
} else {
echo "<li><a href='" . mbw_get_user_url('login') . "'>로그인2</a></li>";
echo "<li><a href='" . mbw_get_user_url('register') . "'>회원가입</a></li>";
}
}
?>6번째 방법
<?php
$url = mbw_is_login() ? ['user_info' => '회원정보', 'logout' => '로그아웃'] : ['login' => '로그인', 'register' => '회원가입'];
foreach ($url as $key => $value) :
$link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
?>
<li><a href="<?=$link?>"><?=$value?></a></li>
<?php endforeach; ?>
7번째 방법 6번의 코드를 PHP Function과 HTML Template 코드로 분리하는 방법
1) PHP Function
<?php
function get_user_menu_items() {
$menu_items = mbw_is_login()
? ['user_info' => '회원정보', 'logout' => '로그아웃']
: ['login' => '로그인', 'register' => '회원가입'];
$items = [];
foreach ($menu_items as $key => $value) {
$link = ($key === 'logout') ? site_url() . '/?mb_user=logout' : mbw_get_user_url($key);
$items[] = ['link' => $link, 'value' => $value];
}
return $items;
}
?>2) HTML Template
<?php
$menu_items = get_user_menu_items();
foreach ($menu_items as $item) :
?>
<li><a href="<?=$item['link']?>"><?=$item['value']?></a></li>
<?php endforeach; ?>1번, 2번을 제외하고는 chatgpt를 이용해서 코드를 작성했습니다.
사람이 작성해서 사람이 보는 가독성과 AI가 짜주는 코드를 실제로 사람이 눈에 쉽게 보는 것과는 차이가 있네요.
여러분은 어느게 더 간결해보이시나요?
참조
https://www.mangboard.com/tip/?board_pid=13&mode=view
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없어요
이 글에 대한 생각을 가장 먼저 남겨보세요.