<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
	<channel>
				<title><![CDATA[add_filter 안에 또 다른 add_filter 사용할 수 있나요?]]></title>
		<link>https://www.cosmosfarm.com/threads/rss/document/48652</link>
		<description><![CDATA[<p>안녕하세요.</p>

<p>아래와 같이 하나의 필터를 적용한 func 안에 또 다른 필터를 또 써도 되나요..?</p>

<pre>
<code class="language-php">if(!function_exists('application_end_date_extends_setting_update')){
	add_filter('kboard_extends_setting_update', 'my_extends_setting_update', 10, 2);
	function my_extends_setting_update($meta, $board_id){
		$board = new KBoard($board_id);
		$board-&gt;meta-&gt;my_date = isset($_POST['my_date'])?$_POST['my_date']: '';
		

		add_filter('kboard_is_writer', 'no_more_writing', 10, 3);
		function no_more_writing($is_writer, $board, $meta){
			if(!$board-&gt;isAdmin() &amp;&amp; $board == $this){
				$current_date = date('YmdHis', current_time('timestamp'));
				$my_date = $board-&gt;meta-&gt;my_date;
		
			if($current_date &gt;= $my_date){
				$is_writer = false;
			}
		}
		return $is_writer;
		}


	}
}</code></pre>

<p> </p>]]></description>
		<copyright>Copyright 2026, 코스모스팜</copyright>
				<item>
			<title><![CDATA[필터에 등록된 파라미터를 임의로 수정할 경우 정상적으로 동작하지 않습니다.

또한 코드를 분리하면 ...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/48666</link>
			<description><![CDATA[<p>필터에 등록된 파라미터를 임의로 수정할 경우 정상적으로 동작하지 않습니다.</p>

<p>또한 코드를 분리하면 해결되실 듯합니다.</p>

<p>올려주신 코드 대신 아래의 코드로 교체해보시겠어요?</p>

<pre>
<code class="language-php">add_filter('kboard_extends_setting', 'my_extends_setting', 10, 3);
if(!function_exists('my_extends_setting')){
	function my_extends_setting($html, $meta, $board_id){
		if(in_array($board_id, array('1'))){	//마감일시 적용할 게시판의 id 추가 - 현재는 2 만.
			$board = new KBoard($board_id);
			
			echo '&lt;table class="form-table"&gt;&lt;tbody&gt;';
			$current_date = date('YmdHis', current_time('timestamp'));
			$my_date = $board-&gt;meta-&gt;my_date ? $board-&gt;meta-&gt;my_date :'';
			
			echo '&lt;tr valign="top"&gt;';
			echo '&lt;th scope="row"&gt;마감일시 입력&lt;/th&gt;&lt;td&gt;';
			echo '&lt;input type="number" id="my_date" name="my_date" style="width: 20%;" value="'.$my_date.'" placeholder="'.$current_date.'"&gt;';
			echo '&lt;p class="description"&gt;날짜형식 : yyyymmddhhiiss&lt;/p&gt;';
			echo '&lt;/td&gt;&lt;/tr&gt;';
			
			echo '&lt;/tbody&gt;&lt;/table&gt;';
			
			return $html;
		}
	}
}

//확장기능 업데이트(저장) 클릭하면 실행
add_filter('kboard_extends_setting_update', 'my_extends_setting_update', 10, 2);
if(!function_exists('my_extends_setting_update')){
	function my_extends_setting_update($board_meta, $board_id){
		$board_meta-&gt;my_date = isset($_POST['my_date'])?$_POST['my_date']: ''; //my_date를 set
	}
}

//my_date가 되면 작성 제한
add_filter('kboard_is_writer', 'no_more_writing', 10, 2);
if(!function_exists('no_more_writing')){
	function no_more_writing($is_writer, $board){
		if(!$board-&gt;isAdmin() &amp;&amp; $board-&gt;id == '1'){ // 실제 게시판 id로 적용해주세요.
			$current_date = date('YmdHis', current_time('timestamp'));
			$my_date = $board-&gt;meta-&gt;my_date;
			
			if($current_date &gt;= $my_date){
				$is_writer = false;
			}
		}
		return $is_writer;
	}
}</code></pre>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Mon, 14 Dec 2020 08:49:38 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[답변 감사합니다.

특정 날짜를 설정하여 해당 날짜가 지나면 글 수정을 제한하고자 하는 기능입니다.

...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/48661</link>
			<description><![CDATA[<p>답변 감사합니다.</p>

<p>특정 날짜를 설정하여 해당 날짜가 지나면 글 수정을 제한하고자 하는 기능입니다.</p>

<p>이 기능을 게시판 관리자 페이지 - 확장 탭에 추가하려고 아래와 같은 코드를 작성해 보았습니다.</p>

<p> </p>

<pre>
<code>//마감일시 설정 - 관리자 확장기능에 추가
if(!function_exists('my_extends_setting')){
add_filter('kboard_extends_setting', 'my_extends_setting', 10, 3);
	function my_extends_setting($html, $meta, $board_id){
		if(in_array($board_id, array('2'))){	//마감일시 적용할 게시판의 id 추가 - 현재는 2 만.
			
		echo '&lt;table class="form-table"&gt;&lt;tbody&gt;';
		$current_date = date('YmdHis', current_time('timestamp'));
		$my_date = $board-&gt;meta-&gt;my_date ? $board-&gt;meta-&gt;my_date :'';
		
		echo '&lt;tr valign="top"&gt;';
		echo '&lt;th scope="row"&gt;마감일시 입력&lt;/th&gt;&lt;td&gt;';
		echo '&lt;input type="number" id="my_date" name="my_date" style="width: 20%;" placeholder="'.$current_date.'"&gt;';
		echo '&lt;p class="description"&gt;날짜형식 : yyyymmddhhiiss&lt;/p&gt;';
		echo '&lt;/td&gt;&lt;/tr&gt;';
		
		echo '&lt;/tbody&gt;&lt;/table&gt;';
		
		return $html;
		}
	}
}


//확장기능 업데이트(저장) 클릭하면 실행
if(!function_exists('my_extends_setting_update')){
	add_filter('kboard_extends_setting_update', 'my_extends_setting_update', 10, 2);
	function my_extends_setting_update($meta, $board_id){
		$board = new KBoard($board_id);
		$board-&gt;meta-&gt;my_date = isset($_POST['my_date'])?$_POST['my_date']: ''; //my_date를 set
		
		
		//my_date가 되면 작성 제한
		add_filter('kboard_is_writer', 'no_more_writing', 10, 3);
		function no_more_writing($is_writer, $board, $meta){
			if(!$board-&gt;isAdmin() &amp;&amp; $board == $this){
				$current_date = date('YmdHis', current_time('timestamp'));
				$my_date = $board-&gt;meta-&gt;my_date;
		
			if($current_date &gt;= $my_date){
				$is_writer = false;
			}
		}
		return $is_writer;
		}


	}
}</code></pre>

<p> </p>]]></description>
			<author>비유네스</author>
			<pubDate>Mon, 14 Dec 2020 07:55:12 +0000</pubDate>
			<category>KBoard</category>
		</item>
				<item>
			<title><![CDATA[안녕하세요~^^

워드프레스 필터나 액션 함수 내부에 또 다른 필터나 액션을 추가하실 수 있지만

상황...]]></title>
			<link>https://www.cosmosfarm.com/threads/document/48656</link>
			<description><![CDATA[<p>안녕하세요~^^</p>

<p>워드프레스 필터나 액션 함수 내부에 또 다른 필터나 액션을 추가하실 수 있지만</p>

<p>상황에 따라서는 동작하지 않을 수도 있습니다.</p>

<p>올려주신 코드를 보니 함수 안에 함수가 새로 정의되어 있는데요.</p>

<p>이럴 경우 코드가 정상적으로 동작하지 않을 수도 있습니다.</p>

<p>올려주신 코드는 어떤 용도로 추가하셨는지</p>

<p>좀 더 구체적인 상황을 설명해주시겠어요?</p>

<p>고맙습니다.</p>]]></description>
			<author>스레드봇</author>
			<pubDate>Mon, 14 Dec 2020 06:38:54 +0000</pubDate>
			<category>KBoard</category>
		</item>
			</channel>
</rss>